일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- jsonb
- 파이썬 #python #전역변수 #지역변수 #eval
- 파이썬 #python #enumerate
- aws
- 파이썬 #python #lambda #람다
- EC2
- PostgreSQL
- 파이썬 #python #예외처리 #exception
- 약수 수하기
- 사용자정의예외
- 프로그래머스
- 파이썬 #python #os #os.path #glob
- 배포
- docker
- spring boot
- 파이썬 #python #file #i/o #input #output
- aw3
- 연산자메서드
- 민감 정보 관리
- 파이썬 #python #지역함수
- 파이썬 #python #모듈 #module #import #random #time #calendar #sys
- 파이썬 #python #함수 #function
- 파이썬 #python #docstring
- 파이썬기본문법 #파이썬 #python
- redis
- Git
- 파이썬 #python #가변매개변수 #키워드가변매개변수 #args #kwargs
- 파이썬 #python #class #클래스 #상속
- 파이썬 #python #filter #map #reduce
- 파이썬 #python #Comprehension
- Today
- Total
목록전체 글 (170)
Yeonnnnny
✅ JWT (Json Web Token)Json 기반의 인증 토큰으로, 사용자의 신원과 권한 정보를 안전하게 포함하는 토큰이다. JWT의 구조Header : 어떤 알고리듬을 사용할지 정의 (HS256 등)Payload : 사용자 정보 (userId, role 등) 포함Signature : 위변조 방지 (비밀키로 생성됨) JWT의 특징자체적으로 정보를 포함 (stateless) -> DB 조회 없이 인증 가능서명 (Signature) 덕분에 위변조 방지 가능인증 시마다 서버의 상태를 확인하지 않아도 돼서 MSA환경에 적합 ✅ Access Token & Refresh Token Access TokenRefresh Token역할API 요청 시 인증Access Token이 만료되었을 때 새로 발급저장 위치클라..
✅ 분산 트랜잭션 여러 개 독립된 시스템이나 DB에서 동시에 일어나는 트랜잭션을 일관되게 관리하는 방식 트랜잭션DB의 상태 변환 작업 단위, ACID 보장Atomicity : 전부 성공 or 전부 실패.. 부분적인 작업 수행 XConsistency : 트랜잭션 완료 후에도 DB는 모든 무결성 제약 조건 유지Isolation : 동시 실행되는 트랜잭션이 서로 간섭하지 않도록 보장Durability : 트랜잭션이 성공적으로 완료된 후의 결과는 시스템 장애가 발생해도 영구적으로 유지2PC Two Phase Commit분산 트랜잭션 관리 프로토콜로, 준비(Prepare)와 커밋(Commit) 단계로 나누어 처리준비 : 트랜잭션 준비 상태 확인 후 준비 완료됨을 마스터 노드에 알림커밋 : 마스터노드가 준비 완료..

✅ Cache의 기본용어 캐시를 확인하는 것도 결국 약간의 지연이다.Cache Hit : 캐시 접근 시 찾고 있는 데이터가 있는 경우Cache Miss : 캐시 접근 시 찾고 있는 데이터가 없는 경우Eviction Policy : 캐시에 공간 부족 시 어떻게 공간 확보할 지에 대한 삭제 정책Caching Strategy : 언제 캐시에 데이터를 저장하고, 언제 캐시를 확인하는지에 대한 전략 ✅ Cache 전략 📢 목표 : 캐시 Hit의 가능성은 높이고, Miss의 가능성은 낮추자 !! 1. Cache - AsideJPA의 Lazy Loading과 유사함주로 조회 목적단점첫 요청은 일단 DB를 거치고, 캐시에 추가까지 해야하므로 느릴 수 밖에 없음최신 보장이 어려움 2. Write - Through최신..

✅ 문제https://school.programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✅나의 풀이a와 b가 같은 경우 a 반환a와 b가 1차이나는 경우, a+b 반환a와 b의 합이 짝수인 경우ex) a = 1, b= 5 => 1,2,3,4,5 mid = 6//2=3mid+ (a+b)*abs(b-mid) = 3 + 6*2 = 3+12 = 15a와 b의 합이 홀수인 경우ex) a = 100, b = 1 => 100, 99, 98, ..., 3, 2, 1 mid = 101//2 = 50mid*(a+b) = 50*101 ..

✅ 요구 사항보통 Redis는 RDBMS처럼 데이터를 오래 보관할 목적으로 사용하지 않는다. 주로 임시데이터를 넣어주는 목적으로 활용을 한다. 그래서 실제 엔티티를 만들지 않고, Redis에 데이터만 저장하는 실습을 해보고자 한다. 설계할 API article 조회 요청 시 해당 article의 조회수 증가조회수가 가장 높은 article과 해당 article의 조회수 요청참고 사항Redis의 문자열은 저장된 정수라면, INCR, DECR 등으로 값을 쉽게 조정할 수 있다.추가로 존재하지 않는 데이터에 대해서 실행할 경우 0으로 초기화한다.Spring boot로 진행할 예정이다. (Spring boot version : 3.4.3, jdk : 17) ✅설계 진행 1. build.gradle 의존성 추가..

✅ 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12947?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✅ 나의 풀이 def solution(x): answer = True value = 0 a = x n = len(str(a)) for i in range(n): value+=(a%10) a //= 10 return True if x%value==0 else False ✅ 다른 사람의 풀이 def solution(x): ..
-- String-- ~~~SET user:email alex@example.comGET user:email-- 정수가 문자열로 저장된 경우-- INCR, DECR : ++, --set user:count 1get user:countincr user:countdecr user:count-- MSET, MGET (Multiple Set, Get)mset user:name kdy user:email kdy@example.commget user:name user:email-- 문자열 -> toCharArray() toByteArray()-- 문자열 -> 이미지, 음성, 영상, 파일, HTML (512MB)-- Simple is the Best!-- List: Linked List-- 스택, 큐-- PUSH..

✅ Docker Compose란 ?다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구docker-compose.yaml 파일 하나로 애플리케이션의 서비스, 네트워크, 볼륨 등 정의 가능 ✅ docker-compose.yml 파일YAML 형식으로 작성version: '3.8'services: service-a: image: img-service-a ports: - "18080:8080" environment: - SERVICE_B_URL=http://service-b:8080 depends_on: - service-b service-b: image: img-service-b ports: - "18081:8080"net..