기타

· 기타
배경현재 회사에서 FastAPI를 쓰고 있다. 자바를 전문적으로 쓸 수 있는 개발자도, 팀장님도 잘 모르시는 상황이기에 (혹은 여러가지 이유로 인해) 자바가 아닌 상대적으로 다루기 쉬운 파이썬을 사용하고 있으며, 그 중에 FastAPI 프레임워크를 사용하고 있고 앞으로도 그렇게 사용할거 같다.  둘 다 사용해본 입장에서 성능 측면에서는 컴파일러이니까 springboot가 fastapi보다 빠르다고 생각은 하지만 얼마나 성능차이가 날까 궁금해서 한 번 직접 더미 데이터로 실험을 해보려고 한다.   컴퓨터 사양은 다음과 같고더보기프로세스 : 12th Gen Intel(R) Core(TM) i7-12700F (20 CPUs), ~2.1GHz메모리 : 16384MB Springboot와 FastAPI에 대한 사..
· 기타
MSA의 장점 **유연성과 확장성**: 각 마이크로서비스는 독립적으로 개발되고 배포될 수 있기 때문에, 필요한 서비스만을 선택적으로 확장할 수 있습니다. 이는 시스템 전체의 확장성을 크게 향상시킵니다. **개발 효율성의 증가**: 서비스가 작고 분리되어 있어 개발자들이 더 빠르게 개발하고 테스트할 수 있습니다. 다양한 프로그래밍 언어와 기술 스택을 사용할 수 있는 유연성도 제공합니다. **고장 격리**: 한 서비스의 실패가 전체 시스템을 다운시키는 것을 방지합니다. 오류가 발생해도 해당 서비스만 영향을 받고, 시스템의 나머지 부분은 정상 작동을 계속할 수 있습니다. **배포 용이성**: 각 마이크로서비스는 독립적으로 배포될 수 있어, 새로운 기능을 빠르게 시장에 출시하고, 버그 수정을 신속하게 반영할 수..
· 기타
SHA-1: 이제는 지나간 보안 기준 SHA-1은 160비트의 해시 값을 생성하는 알고리즘으로, 한 때는 디지털 서명, SSL 인증서, 소프트웨어 패키지 검증 등에 널리 사용되었습니다. 하지만 2017년, Google과 CWI Amsterdam의 연구팀이 SHA-1 충돌을 성공적으로 시연하며, 이 알고리즘의 취약성이 명확하게 드러났습니다. 이후로 SHA-1은 더 이상 안전하지 않은 것으로 간주되며, 새로운 프로젝트나 시스템에서의 사용이 권장되지 않습니다. SHA-2: 강화된 보안성을 제공하는 현대의 선택 SHA-2는 SHA-1의 후속으로 개발되었으며, 224, 256, 384, 512비트 등 여러 버전의 해시 값을 생성할 수 있는 능력을 가집니다. 이 알고리즘은 현대의 보안 요구사항을 충족시키며, 현재 ..
· 기타
보안은 디지털 세계에서 가장 중요한 요소 중 하나입니다. 데이터의 무결성과 인증은 모든 소프트웨어 개발 프로젝트에서 우선시되어야 합니다. 이러한 보안 요구 사항을 충족하기 위해 HMAC(Hash-based Message Authentication Code)이 널리 사용됩니다. 이 블로그 글에서는 HMAC의 기본 개념, 작동 방식 및 개발자가 이를 알아야 하는 이유를 살펴보겠습니다. HMAC이란 무엇인가? HMAC은 특정 데이터의 무결성과 인증을 보장하기 위해 해시 함수를 사용하는 메시지 인증 코드입니다. 이는 데이터가 전송 중에 변경되지 않았으며, 신뢰할 수 있는 소스로부터 왔음을 확인하는 데 사용됩니다. HMAC 구현은 두 가지 주요 구성 요소에 의존합니다: 강력한 암호화 해시 함수(예: SHA-256..
· 기타
서론: 인터넷 상에서 안전한 정보 교환은 어떠한 웹 서비스에서도 필수적인 부분입니다. 이를 위해 개발된 다양한 기술 중 하나가 바로 JWT (JSON Web Token)입니다. JWT는 간결하고 자가 수용적인 방법으로 정보를 안전하게 전달할 수 있게 해줍니다. 본 글에서는 JWT의 기본 구조와 그것이 어떻게 작동하는지에 대해 알아보겠습니다. JWT의 구조: JWT는 크게 세 부분으로 구성되어 있습니다: 헤더(Header), 페이로드(Payload), 그리고 서명(Signature). 각 부분은 점(.)으로 구분되며, Base64Url 인코딩 방식으로 인코딩됩니다. 헤더(Header): 헤더는 토큰의 타입과 사용된 알고리즘에 대한 정보를 담고 있습니다. 예를 들어, 알고리즘은 HS256이나 RS256과 같..
· 기타
mcrouter의 기본 라우팅 기법 mcrouter를 사용하면서 특별한 설정을 하지 않았다면, mcrouter는 다음과 같은 기본 또는 가장 일반적인 라우팅 설정을 사용하게 됩니다: Consistent Hashing: 분산 캐시 시스템에서 널리 사용되는 라우팅 방식으로, 키를 기반으로 요청을 캐시 서버에 일관적으로 분산시킵니다. Pool Route: 캐시 서버들을 그룹화하여 구성된 풀을 통해 요청을 라우팅합니다. 이는 가장 기본적인 형태의 라우팅 설정입니다. 설정 파일을 통한 라우팅 기법 확인 및 조정 mcrouter의 동작은 설정 파일을 통해 세부적으로 조정할 수 있습니다. JSON 형식의 이 파일에서는 서버 풀, 라우팅 정책, 복제 및 샤딩 설정 등을 포함하여 다양한 옵션을 지정할 수 있습니다. 설정..
· 기타
### 제목 "싱글톤 패턴에서의 무상태 설계: 왜 중요한가?" ### 내용 싱글톤 패턴은 객체 지향 프로그래밍에서 특정 클래스의 인스턴스가 하나만 생성되도록 보장하는 디자인 패턴입니다. 이러한 싱글톤 패턴에서 "무상태(stateless)"라는 개념은 매우 중요한 역할을 합니다. 그렇다면 무상태가 무엇이며, 왜 중요한 것일까요? #### 무상태(Stateless)란? 무상태라는 용어는 객체가 어떠한 상태도 유지하지 않는다는 의미입니다. 즉, 인스턴스의 작동은 전적으로 입력에 의존하며 이전의 작업이 후속 작업에 영향을 미치지 않습니다. #### 싱글톤 패턴에서 무상태의 중요성 싱글톤 패턴은 전역 상태를 공유하기 때문에, 객체 내부에 상태를 저장하면 여러 부분에서의 동시 액세스로 인해 예기치 않은 동작이 발생..
· 기타
1. 동기(Synchronous) 요청과 동시에 응답이 오는 경우를 의미한다. 요청과 응답은 거의 동시에 일어난다 보면 됨 요청과 응답에 대한 작업단위를 트렌젝션(Transcation) 이라 부른다. 요청을 하는 데 도중에 오류가 발생하면 응답값을 받을 수 없는 상황이기에 동기화가 이루어 질 수 없음 예) 사이트 접속, 카드결제 사이트 접속을 하는데 도중에 오류가 걸리면 응답값을 받을 수 없는 상황이기에 페이지 화면을 제대로 못 봄 2. 비동기(Asynchronous) 동기와 반대로 요청과 동시에 응답이 바로 오지 않음 요청을 한 후 응답이 오길 기다리지 않고, 다른 요청을 할 수 있기 때문에 자원을 효율적으로 쓸 수 있음 예) 이메일 상대방에게 이메일을 보낼지라도 해당 회신이 즉시 오지 않을 수 있다.
개발만파볼까
'기타' 카테고리의 글 목록