본문 바로가기

반응형

Programming

(163)
[OAuth 2.0] Refresh Token Refresh Token Access Token은 수명이 있다. 그 수명이 끝나면 더이상 Resource Server에서 리소스를 가져올 수 없다. 리소스에 다시 접근하기 위해 Access Token을 발급 받아야 하는데, 번거로운 일이 될 수 있다. 이 문제를 좀 더 손쉽게 해결하기 위해 방법으로 Refresh Token이 있다. Refresh Token은 Authorization Server에 의해 발급되어 Client에게 전해지는데, 현재의 Access Token이 유효하지 않거나 수명이 끝났을 때 새로운 Access Token 개념으로 발급된다. 또는 필요에 의해 기존 Access Token이 가진 리소스 접근 범위를 넘은 리소스에 접근하고자 할 때 추가로 발급되는 Access Token 개념으로..
[Java] main 메소드 Java 실행 프로그램은 반드시 class 블록과 main() 메소드 블록으로 구성되어야 한다. 메소드 블록은 단독으로 작성될 수 없고 항상 클래스 블록 내부에 작성되어야 한다. 다음은 "Hello World" 문자열을 출력하는 코드이다. public class Hello{ public static void main(String[] args){ System.out.println("Hello World"); } } class 이름은 개발자가 마음대로 정할 수 있다. 하지만 main() 메소드는 java에서 JVM(Java Virtual Machine)을 구동시키면 가장 먼저 찾아서 실행시키는 entry point역할을 하는 메소드이기 때문에 이름을 마음대로 바꾸면 안 된다. main() 메소드의 구문은 언..
[OAuth 2.0] OAuth2.0 개요 OAuth 2.0 "Open Authorization(인가/권한 부여)"을 뜻하며, 웹 사이트나 애플리케이션이 사용자 대신 다른 웹 앱에서 호스팅 하는 리소스에 접근할 수 있도록 설계된 표준이다. OAuth 2.0은 사용자의 자격증명 없이 허가된 액세스를 제공하거나, 특정 리소스에 대한 접근을 제한할 수 있다. OAuth 2.0의 기본 개념 OAuth 2.0은 인증 프로토콜(authentication protocol)이 아니라 권한 부여 프로토콜(authorization protocol)이다. 따라서 원격 API 또는 유저 정보와 같은 리소스들에 액세스 권한을 부여하는 수단으로 설계되었다. OAuth 2.0는 액세스 토큰(Access Token)을 사용하는데, 이 액세스 토큰은 사용자 대신 리소스에 액세..
[Java] 기본 데이터 타입(Primitive Data Types) 자바의 데이터 타입은 기계/운영체제에 상관없이 항상 일정하다. 문제 풀다가 헷갈리는 부분이 있어 두고두고 눈에 익히려고 작성한다. 자칫 대수롭지 않게 넘기기 쉬운 부분인데, 기초인 만큼 확실히 알아두면 분명 도움이 되리라 생각한다. byte(-128 ~ 127) 저장공간: 8-bit 최대값: 127 최소값: -128 public class Main { public static void main(String args[]) { System.out.println(Byte.MAX_VALUE); System.out.println(Byte.MIN_VALUE); // 127 // -128 } } short(-32,768 ~ 32,767) 저장공간: 16-bit 최대값: 32,767 최소값: -32,768 public..
[Node.js] express.Router express.Router 클래스를 이용해 모듈러(modular)와 마운트 가능한 핸들러(handler)를 생성할 수 있다. 이를 통해 공통된, 반복된 작업량을 줄일 수 있다. 아래 코드는 애플리케이션의 엔트리 포인트(entry-point)인 main.js 클래스에 Welcome 메시지를 로드하는 indexRouter라는 미들웨어 모듈을 마운트하는 내용이다. /routes/index.js var express = require('express'); var router = express.Router(); var template = require('../lib/template.js'); router.get('/', (request, response) => { var title = 'Welcome'; var ..
[CodeUp] 정수 1개 입력받아 나누어 출력하기 문제 다섯 자리로 이루어진 하나의 정수를 입력받는다. 입력받은 정수를 자릿수 별로 분리한 후 아래와 한 줄에 하나씩 [ ] 속에 넣어 출력한다. (단, 10,000
[Java] 자바 표준 입출력 제어 자바에서는 사용자 요청사항에 대한 응답 메시지를 전달하기 위해 System 이라는 표준 입출력 클래스를 제공한다. System 클래스는 다음 세 가지 필드를 가지고 있다. err : PrintStream / 표준 에러 출력 스트림 in : InputStream / 표준 입력 스트림 out : PringStream / 표준 출력 스트림 * '스트림(stream)' 이라는 말은 '데이터의 흐름' 정도로 이해할 수 있겠다. 세 가지 필드 중에서 출력을 담당하는 out 필드를 사용하면, System.out 의 형태가 된다. 여기에 추가로 어떤 형태로 출력할지를 결정하는 메소드를 사용한다. print() println() printf() print() console에 문자를 출력한다. 줄 구분을 위한 Escape..
[Java] 이스케이프 문자 이스케이스(escape) 문자는 출력하는 문장 안에서 원하는 형식에 맞추어 출력할 수 있도록 줄을 바꾸는 등의 특별한 의미들을 나타내기 위해 사용된다. 역슬래시('\') 문자를 사용하며, 글꼴 설정에 따라 '\' 혹은 왼쪽에서 오른쪽 방향의 대각선 사선 모양의 문자로 표현된다. \n 개행(줄바꿈) \t 스크린 커서를 다음 탭으로 옮김 \r 캐리지 리턴(carriage return). 그 줄의 맨 앞으로 커서를 보냄. \\ 역슬래시 문자 출력 시 사용. 주로 파일 경로 표시할 때 활용된다. \' 작은 따옴표(single quotation mark) 표현 \" 큰 따옴표(double quotation mark) 표현

반응형