본문 바로가기

CS3

[CS/WEB] OAuth (+ JWT) OAuth OAuth는 인증을 통해 권한을 획득하는 표준 프로토콜이다. 인터넷 사용자들이 비밀번호를 제공하지 않고, 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있다. Google, Naver, Github 등에서 제공하는 간편 로그인 기능은 OAuth 프로토콜을 이용한 것이다. 간편 로그인 외에도 외부 웹 어플리케이션에 Google로 로그인하면 API를 통해 연동된 계정의 연락처나 캘린더의 일정을 가져올 수 있다. OAuth Flow OAuth 프로토콜의 참여자는 크게 3가지로 구분할 수 있다. 유저: 계정을 가지고있는 개인 서비스: 자원 제공자에 접속해 정보를 가지고오고자 하는 웹 어플리케이션 자원 제공자: 자원을 보유하고 있는 서버, 계정정보 등을 저장하.. 2022. 9. 22.
[CS/JAVA] 자바가상머신 (JVM) 구조 및 컴파일 과정 JVM Java Virtual Machine 의 약자로, OS에 종속받지 않고 CPU 가 Java를 인식, 실행할 수 있게 하는 가상 컴퓨터이다. JVM은 JRE에 포함되어있으며 스택기반의 가상머신, 포인터를 지원하지만 C와 같이 주소값을 임의로 지정하거나 변경할 수 없다는 특징이 있다. JVM의 기능은 크게 2가지이다. 자바 프로그램이 어느 기기나 운영체제 상에서도 실행될 수 있도록 하는 것 프로그램 메모리를 관리하고 최적화하는 것 JVM 구조 자바 컴파일러 자바 소스코드(.java)를 바이트 코드(.class)로 변환시켜준다. 여기서 Java compiler는 JDK를 설치하면 bin 에 존재하는 javac.exe를 말한다. 클래스 로더 JVM은 런타임시에 처음으로 클래스를 참조할 때 해당 클래스를 .. 2022. 8. 10.
API란? 위키 백과에서 API의 정의를 알아보면 API(Application Programming Interface)는 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 하는 인터페이스이다. 라고 한다. 여기서 인터페이스라는 용어가 나오는데 이것도 위키백과에서 찾아보자. 인터페이스(interface)는 서로 다른 두 개 이상의 독립된 컴퓨터 시스템 구성 요소 간에 정보를 교환하는 공유 경계이다. 컴퓨터와 사용자 간의 통신이 가능하도록 하는 장치나 프로그램을 의미하기도 한다. 인터페이스에는 UI(User Interface), GUI(Graphical User Interface), 소켓 인터페이스 등이 있다. GUI는 터미널로 사용자와 컴퓨터가 상호작용하는 CLI(Command Line Interface).. 2022. 5. 16.