본문 바로가기

전체 글62

[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.
SSAFY 웰컴킷 후기 두둥..! 오프라인 수업 중에 싸피 웰컴킷이 왔다는 소식을 들었습니다. 싸피 지원할 때 정말 많이 보였고, 저런 합격 키트를 받아본 적도 없어서 엄청 기대했던 웰컴킷! 가족들이 먼저 뜯어서 후드색 스포당했는데 (ㅋㅋ) 원했던 검정후드를 받게 되어 기뻤습니다. 사이즈도 원했던 95 사이즈가 와서 빨고나면 교육장에서 잘 입을 예정입니다(삼성 에어컨 빵빵하게 틀어주셔서 가끔 춥습니다...ㅋㅋㅋㅋ) 텀블러는 흰색을 원했는데 까만색이 왔지만 까만색이 생각보다 예뻐서 좋았습니다. 로고가 예쁘게 박혀있네요! 웹캠도 받았는데 빨리 모니터 연결 성공해서 써보고싶습니다ㅋㅋ 사진을 따로 찍지 않았는데 에코백을 제일 잘 쓸 것 같습니다. 크로스 끈이랑 내부 포켓, 자석 버튼도 있어 활용도 굿굿! 당장 오늘부터 오프라인 교육장.. 2022. 7. 22.
220626 📝 JAVA JUnit 실수 0으로 나누기 자바에서 정수를 0으로 나누면 DivideByZeroException이 발생하지만 실수를 0으로 나누면 무한대infinity가 나온다. 위의 예제에서의 0은 double형으로, '실수 0은 완벽한 0이 아니기 때문에 발생한다'고 생각했지만..... 1 / 0.0 = ∞, -1 / 0.0 = -∞로 정의해서 infinity가 나오는 것이다! 실수타입은 IEEE 745 표준을 따르는데 여기서 그렇게 정의했다고 한다. @Test public void testDivByZero() { assertTrue(Double.isInfinite(calc.div(num1, 0))); } 위 예제의 calc.div 함수는 num1(미리 정의된 실수, 0이 아님), 0을 double .. 2022. 6. 26.