[IT Info] 인증서비스 SSO(Single Sign-on)와 SLO(Single Log-Out)의 차이점
·
IT Information
오늘은 로그인 인증서비스 중에서 자주 이용되는 SSO와 SLO에 소개해드리려고 합니다.각각 개념을 설명하고 누구나 좋아하는 에버랜드를 예로들어 설명드리겠습니다. 1. SSO (Single Sign-On)SSO는 사용자가 여러 시스템 또는 애플리케이션에 대해 단 한 번의 인증으로 접근할 수 있는 기능입니다. 사용자는 SSO 시스템에 로그인 하면, SSO 시스템은 여러 시스템에 대한 인증을 처리하여 사용자(본인)를 인증하고 인증된 사용자에게 해당 시스템에 대한 접근 권한을 부여합니다. 이를 통해 사용자(본인)은 여러 시스템에 대해 각각 로그인할 필요가 없이 한번의 인증으로 접근이 가능합니다.  예시에버랜드 입장권을 예로 들어보겠습니다. 에버랜드는 SSO를 도입하여 여러 애플리케이션( 티켓팅 시스템, 멤버십 ..
[Java] 2. Java 핵심 라이브러리
·
Java
2번 째 시간으로 Java 핵심 라이브러리에 설명 드리겠습니다. 자바 핵심 라이브러리에는 다양한 기능과 클래스들이 포함되어 있습니다. 주요한 자바 핵심 라이브러리의 개념과 예시를 설명드리겠습니다. 1. 자바 컬렉션 프레임워크 자바 컬렉션 프레임워크는 데이터를 관리하는데 유용한 인터페이스와 클래스들의 모음입니다. 1) ArrayList: 가변 크기의 배열 구현체로, 원소들을 순차적으로 저장하고 접근할 수 있습니다. 2)LinkedList: 노드의 연결로 구현된 리스트로, 원소들이 연결되어 있으며 삽입, 삭제가 용이합니다. 3) HashMap: 키와 값을 매핑하여 데이터를 저장하는 해시 테이블 구현체입니다. 빠른 검색과 삽입이 가능합니다. 4) TreeSet: 정렬된 순서로 원소를 저장하는 이진 검색 트리 ..
[Java] 1. What is Java?
·
Java
세상에는 여러 종류의 코딩 언어가 있습니다. C, C++, Java, Python 등.. 해당 블로그에서는 Java가 무엇이고, 어떤 언어인지 한번 알아보겠습니다. 1. Java 기본 개념 이해하기 자바는 객체지향 프로그래밍 언어로, 다른 프로그래밍 언어와 달리 자바 가상머신(JVM) 위에서 동작합니다. 이는 자바가 플랫폼 독립성을 가지며, 다양한 운영체제에서 실행될 수 있음을 의미합니다. 또한, 자바는 강력한 라이브러리와 개발도구를 제공하므로 개발자들이 빠르고 효율적으로 프로그램을 작성할 수 있습니다. 여기서 잠깐! 객체지향 프로그램이 뭐야? 라고 하실 분들 위해 간단하게 말씀드리겠습니다. 객체지향 프로그래밍이랑 문제를 여러 개의 객체 단위로 나눠 작업하는 방식을 말합니다. Objdect-Oriente..
[Network] telnet, ipconfig 안 될 때(telnet client)
·
Network
내부망에서 프로젝트를 진행하는데 통신 상태를 보려고 cmd에 들어가 telnet을 쳤는데.. "'telnet'은 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다"라고 뜨더라구요. 몇가지 이유가 있을텐데 차근차근 따라해보세요. 1. Windows에는 Telnet 클라이언트가 설치되어 있는지 확인하기 과거의 Windows 버전에서는 기본적으로 Telnet 클라이언트가 포함되어 있었지만, 최신 버전의 Windows에서는 Telnet 클라이언트가 기본 설치되어 있지 않습니다. 이는 보안상의 이유로 인해 발생한 변경 사항입니다. 다운로드 되어있지 않다면 Windows 기능을 추가하시면 됩니다. 1) 제어판에서 "프로그램 및 기능" 또는 "애플리케이션 및 기능"을 연다 2) "Windo..
[Web]Eclipse에서 Maven으로 War 파일 생성
·
Server/Web
이클립스를 쓴다고 가정하고 Maven으로 War파일을 생성해보겠습니다. 아주 간단합니다. 1. 이클립스에서 Maven 프로젝트 생성하기 이클립스를 열고, 상단 메뉴에서 'File' -> 'New' -> 'Other'를 선택합니다 'New' 창에서 'Maven' 폴더를 펼치고, 'Maven Project'를 선택한 후 'Next'를 클릭합니다. 'Create a simple projext'옵션을 선택하고 'Next'를 클릭합니다. 'Group Id'와 'Artifact Id'를 입력하고, 'Finish'를 클릭하여 Maven 프로젝트를 생성합니다. 2. Maven Dependencies 추가 Maven 프로젝트가 생성되면 pom.xml 파일이 열리는데 이 파일이 Maven 프로젝트의 설정파일이라 생각하시면..
[IT Info] 버전을 표기하는 방법?
·
IT Information
프로그래밍 공부를 하다보면 아마도 XX 프로그램 7.3.2 버전과 같은 말들을 듣거나 본 적이 있을겁니다. 대충 보면 그냥 새버전과 구(이전)버전을 구분하는 숫자겠지하고 단순히 넘어가실 수도 있는데, 사실 버전의 숫자와 숫자 자리에는 의미가 있습니다. 시맨틱 버저닝(Semantic Versioning Specification, SemVer) 표기 방식 앞서 언급한 3개의 숫자를 사용해서 버전을 표기하는 방식을 시맨틱 버저닝이라고 합니다. 모든 사람이 해당 방식을 쓰는 건 아니지만 가장 널리 쓰이는 방식이기도 합니다. 시맨틱 버저닝 방식으로 표기하는 대표 기술인 장고를 예를 들어 설명드리겠습니다. 1. 첫 번째 숫자 예를 들어 장고의 버전이 9.0.5로 표기되었다고 봅시다. 첫 번째 숫자인 9는 무엇을 의..
[GIT] GIT - 2(Git 명령어)
·
VCS(Version Control System)/Git
저번 챕터에서 Git에 대해 알아봤습니다. 오늘은 Git 명령어에 대해 간단하게(그림과 함께) 알아보도록 합시다. 1. init init이라나 새로운 Git 저장소를 초기화하는 명령어 입니다. 이 명령어를 실해앟면 해당 디렉토리에 .git 폴더가 생성되고 버전 관리를 시작할 수 있습니다. 2. clone [ clone(클론)하라는데 무슨말이지..? ] 회사 생활을 하다보면 clone(클론)이라는 말을 한번은 꼭 듣게 될텐데요. 저도 처음에 프로젝트에 투입될 때, 팀장님께서 투입되는 프로젝트를 클론하라고 말씀하셨는데요. 그 말은 원격저장소(저희는 GitLab을 사용한답니당)에서 자신의 로컬(노트북이나 자신이 작업할 환경)에 내려받으라는 뜻입니다. 즉 원격 저장소를 로컬에 복제한다고 생각하시면 됩니다. 3...
[GIT] GIT - 1(Git이 뭐야?)
·
VCS(Version Control System)/Git
IT개발자라면 다른 건 몰라도 git은 무조건!!알고있어야 한다고 생각합니다. 처음에는 이해가 되지 않아도 계속보면서 git이 무엇인지, 어떤 역할을 하는지 계속해서 곱씹으시길 바랍니다. 1. What is the git? git의 사전적 정의는 다음과 같습니다. - Git은 분선 버전 관리 시스템으로, 협업과 소스코드의 버전 관리를 용이하게 해주는 도구입니다. 분산 버전 관리 시스템은 중앙서버에 의존하지 않고 로컬 저장소에서 작업을 할 수 있어 개발자들의 협업을 간편하게 합니다. 즉 다른 사람과 협업을 할 때 쓰이는 도구라고 생각하시면 편합니다. 혼자 간단한 프로젝트를 하는 거 아닌 이상 개발자들은 협업을 통해 프로젝트의 덩치를 키워 나갑니다. 2. GIt의 특징 1) 분산 버전 관리 : Git은 중앙..
[IT info] Hash Function(해시 함수)
·
IT Information
IT공부해본 사람이라면 한번은 들었을 '해시 함수'에 대해서 설명드리도록 하겠습니다. 해시 함수를 설명하기 전에 .. 개발자라면 한번쯤 비밀번호 시스템을 구현하죠. 여러분은 비밀번호가 어떻게 저장되는지 아시나요? 예를 들어 여러분이 네이버 계정을 만드는데 비밀번호를 '12345'라고 입력한 뒤, 네이버 DataBase에 '12345'라고 그대로 저장된다면 어떻습니까? 굉장히 불안하겠죠? 왜나면 해커가 네이버 DataBase를 해킹하면 비밀번호가 그대로 보일테니까요. 여러분의 비밀번호를 안전하게 저장하기 위해 '해시 함수'라는 것을 구현합니다. 1. 해시함수란? 해시 함수는 임의의 길이를 가진 데이터를 고정된 길이의 해시 값으로 매핑하는 수학적 알고리즘입니다. 해시 함수는 다양한 목적으로 사용되며, 주요 ..
[DB] SQL(관계형 데이터베이스)과 NosSQL(비관계형 데이터베이스)의 특징과 차이
·
DB
데이터베이스를 공부하다보면 SQL과 NoSQL을 접하게 되는데요. 이 둘의 차이가 무엇인지 궁금하신 분들을 위해 설명드리겠습니다. 일단 이름부터 살펴보자구요. SQL = 관계형 데이터베이스 NoSQL = 비관계형 데이터베이스 이름만 봤을 때는 뭔가 서로 상반될 것 같은데요. 관계형 데이터베이스 부터 하나하나 살펴보자구요. 1. SQL(관계형 데이터베이스) 1) SQL의 정의 : SQL은 structured query language의 줄임말인데요, 의미를 해석해보면 -> SQL은 데이터베이스에 어떤 질문 또는 문의를 하기 위해 어떤 구조를 가진 언어라고 해석할 수 있습니다. 즉 데이터베이스를 다루는 언어인셈이지요. 2) SQL의 특징 - 구조화된 데이터를 저장하고 관리하는 데 사용됩니다. - 테이블 형태..