본문 바로가기
반응형

CS8

[CS] REST API 성숙도가 있어? Rechardoson의 REST API 성숙도 모델 성숙도 모델은 총 4단계로 이루어져 있으며 각 단계의 조건에 만족할 수록 REST API에 가까워 진다.   Level 0Level 0은 웹 매커니즘을 사용하지 않고 HTTP를 원격 호출을 위한 전송 시스템으로 사용하는 경우이다.하나의 End-point를 사용 HTTP Method도 POST만 사용, 매개변수를 통해서 다르게 동작하도록 설계 RequestPOST /api/user{ "function": "getUser", "arguments" : { "1" }} ResponseHTTP/1.1 200 OK{ "result" : { "id" : "1", "name" : "honey" }} CRUDCREA.. 2025. 1. 3.
[CS] 클린 코드 책 요약 클린 코드(Clean Code)는 소프트웨어 개발자와 프로그래머를 위한 필독서로, 로버트 C. 마틴(Robert C. Martin, '아저씨'라는 애칭으로도 불림)이 집필한 책이다. 이 책은 유지보수 가능하고 효율적인 소프트웨어 개발을 위한 원칙과 실천법을 다룬다. 1. 클린 코드란?클린 코드는 읽기 쉽고, 이해하기 쉬우며, 변경에 용이한 코드를 의미한다. "코드는 읽히기 위해 작성된다"라는 철학을 중심으로, 다른 개발자가 쉽게 이해할 수 있도록 작성된 코드는 장기적으로 생산성을 높이고, 유지보수 비용을 줄일 수 있다. 2. 클린 코드를 위한 원칙로버트 마틴은 클린 코드를 작성하기 위한 여러 가지 원칙과 가이드를 제시한다. 2.1 가독성의미 있는 이름 사용: 변수, 함수, 클래스 이름은 그 목적을 명확히.. 2024. 12. 27.
[CS] CORS는 무엇일까? CORS(교차 출처 리소스 공유)브라우저가 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체계 등장 배경원래 보안을 위해 다른 출처의 리소스를 접근하는 것이 불가능했지만, 웹 생태계가 다양해지면서 여러 서비스들끼리 자유롭게 데이터 주고 받아질 필요가 생겼다.다른 사이트 간의 요청들을 브라우저가 막고 있기 때문에 이를 허용해주기 위해 어떠한 기준을 충족시키면 리소스 공유할 수 있도록 CORS가 만들어졌다. CORS를 이해하기 위해 필요한 3가지 개념Origin(출처)Protocol과 Host, Port까지 합친 것을 의미한다.즉, 서버의 위치를 찾아가기 위해 필요한 가장 기본적인 것들을 합쳐 놓은 것.. 2024. 12. 26.
[CS] Test Double 테스트 대상 객체가 다른 객체와 의존성이 있는 경우 이런 경우 실제 구현체 대신 해당 객체의 동작을 모방하는 객체를 만들어 테스트에 영향이 없도록 만들어야 한다.이 때 의존성이 있는 객체의 모방하는 객체를 Test Double라 부른다. Test DoublesTest Doubles는 외국에서는 스턴트맨을 Stunt Double이라고 부르는데 여기서 따온 말이다.스턴트맨이 배우를 대신 하는 것처럼 Test Doubles도 실제 객체를 대신해 동작하기 때문  Test Doubles의 종류DummyStubFakeSpyMock Test Doubles 예시class UserProfileFetcher( private val userRepository: UserRepository, private val c.. 2024. 12. 19.
[OAUTH] OAuth 2.1 OAuth 2.0 살펴보기Authrozation(인가)에 초점을 맞춘 기술 주요 용어Authentication(인증)접근 자격이 있는지 검증하는 단계를 의미Autorization(인가)자원에 접근할 권한을 부여인가가 완료되면 리소스 접근 권한이 담긴 AccessToken이 클라이언트에게 부여AccessToken리소스 서버에게서 리소스 소유자의 보호된 자원을 획득할 때 사용되는 만료 기간이 있는 TokenRefreshTokenAccessToken 만료시 이를 갱신하기 위한 용도로 사용하는 Token RefreshToken은 일발전으로 AccessToken보다 만료 시간이 길다.  OAuth 2.0 의 4가지 역할Resource Owner리소스 소유자 또는 사용자Client보호된 자원을 사용하려고 접근 요청.. 2024. 12. 14.
[CS] JOSE JOSE개발을 하다 보면 JWT를 마주칠 때가 있다. JOSE는 JWT가 속한 프레임워크라고 할 수 있는데 오늘은 JOSE에 대해서 자세히 살펴보고자 한다.JOSE는 JSONObject Signing and Encryption의 약자로 쉽게 설명하면 JSON을 암호화했다는 내용이다. JOSE는 당사자 간에 claim을 안전하게 전송하기 위한 프레임워크(Claim : Key/value 쌍의 client 메타 정보) JOSE 프레임워크 규격JOSE 안에는 JWT 뿐만 아니라 다른 스펙들도 존재한다.JWT, JWS, JWE, JWK 4가지의 스펙이 존재하는데 모두 JOSE 프레임워크 안에 속하게 된다. JWT(JSON Web Token) : JWS or JWEJWS(JSON Web Signature) JWE(.. 2024. 12. 11.