오늘
-
매우 화나는 깃 - 하위 모듈 push rejected 해결?오늘/Error 2024. 11. 29. 20:39
결과 스포 프로젝트 전체 삭제 후 다시 만듦 하면 안되는 행동 목록 1. 모듈 remote 금지처음엔 main -> 이곳이 비어있어서 remote해줬는데 절대 이러면 안된다. 루트디렉토리만 push가 되고 하위 모듈들은 푸시를 거절당하게 된다. 나처럼 이런 실수를 저질렀다면 위와 같이 해당 디렉토리로 이동해 명령어를 실행하면된다.인텔리제이 파워쉘 명령어이기 때문에 본인의 설정에 맞춰 진행하면 된다.아무것도 안뜨면 성공한 것이다. Get 하기 귀찮으면 폴더에서 .git 파일을 찾아보면 된다. 그 다음으로 진행한 해결방식들 대체 왜..rebase로 양쪽을 맞춰보기도 했지만 결과는 같았다.여전히 커밋만 되고 깃허브에 푸시는 안되는 상태 git status로 상태를 보니 order와..
-
레디스오늘/Today I.. 2024. 11. 25. 16:00
cache hit (캐시 적중) → 캐시에서 찾음cache miss (캐시 누락) → 캐시에서 못찾음eviction policy (삭제 정책) → 캐시에 공간이 부족할 때 어떻게 공간을 확보할지에 대한 정책 Cache - Aside 레이지 로딩이라고도 함데이터를 조회할 때 항상 캐시를 먼저 확인캐시에 데이터가 있으면 캐시에서 데이터를 가져오고, 없으면 원본에서 데이터를 가져온 뒤 캐시에 저장필요한 데이터만 캐시에 보관됨최초 조회 시 캐시를 확인하기 때문에 최초 요청은 상대적으로 오래 걸림반드시 원본을 확인하진 않기 때문에 데이터가 최신이라는 보장이 없음 Write - Through 데이터를 작성할 때 항상 캐시에 작성하고, 그 후 원본에도 작성하는 전략캐시는 항상 최신 데이터임이 보장됨자주..
-
레디스 명령어 (4) Hash, Sorted Set오늘/Today I.. 2024. 11. 24. 01:48
Redis의 Hash는 Hash데이터를 가져오기 위해 Key를 사용하고 Key에 저장된 Hash데이터에 Field - Value 쌍을 넣어주는 식으로 동작한다. HSET HSET user:1 name boy age 20 city seoul # 하나의 키에 복수의 필드와 밸류가 담김 HGET String 과는 다르게 키 와 필드까지 넣어서 확인해야함HMGET 2개 이상의 필드 지정 가능HGETALL 데이터 다 가져옴HGET user:1 name # boy 반환HMGET user:1 name age # boy 20 반환HGETALL user:1 # name boy age 20 city seoul 반환 HKEYS Hash에 포함된 모..
-
레디스 명령어 (3) set오늘/Today I.. 2024. 11. 24. 01:10
Set (문자열의) 집합 SADD 로 데이터를 만들고 넣어준다.SADD alpha "a" "b" "c" "d" # {"a", "b", "c", "d"}SADD alpha "a" "e" # {"a", "b", "c", "d", "e"} SMEMBERS 로 모든 요소를 반환한다.SMEMBERS alpha # {"a", "b", "c", "d", "e"} SREM remove로 요소를 제거한다.SREM alpha "e" # {"a", "b", "c", "d"} SISMEMBER 특정 요소가 집합에 포함되어있는지 확인 (존재하면 1 존재하지않으면 0)SISMEMBER alpha "a" # {"a", "b", "c", "d"}Output: 1 SCARD ..
-
레디스 명령어 (2) list오늘/Today I.. 2024. 11. 24. 01:08
레디스에서 List라고 하면Doubly Linked List의 형태로 데이터를 저장다만 작은 크기의 리스트나 간단한 데이터인 경우 압축리스트 ziplist로 저장 이중연결리스트이기 때문에 push pop 명령어 실행 시 L, R을 지정해줘야함 LPUSH a:list 2LPUSH a:list 1RPUSH a:list 3RPUSH a:list 4 # 1234 순으로 저장된다. get은 문자열에서만 사용할 수 있는 명령어 이므로pop으로 꺼내거나,LRANGE로 특정 범위의 값을 가져오거나,LINDEX로 특정 인덱스의 값을 가져올 수 있다.(pop은 L, R 명시해줘야하지만, range와 index는 R이 없다.) LRANGE a:list 0 -1 # -1을 줄경우 처음부터 끝까지 가져온다. ..
-
레디스 명령어 (1) String오늘/Today I.. 2024. 11. 23. 20:41
SETGET문자열 데이터를 저장하고 조회한다. SET K V EX # 초 단위 만료SET K V PX # 밀리초 단위 만료SET K V NX # 새 키만 저장SET K V XX # 기존 키만 업데이트위와 같은 기능을 추가해서 저장할 수 있다.DEL을 쓰면 삭제도 가능하다. 또한최대 512MB까지 저장 가능데이터형식은 텍스트, 숫자, JSON, 바이너리 등 어떤 형식의 데이터든지 문자열로 저장가능 하다. 문자열 값이 정수일 경우 (문자열, 소수점 있으면 에러남)SET count 10INCR count # ++ 되어 11이 됨DECR count # -- 되어 10이 됨INCRBY count 10 # +10이 되어 20이 됨INCRBY count -10 # -10이 되어 ..
-
MySQL 과 PostgreSQL오늘/Today I.. 2024. 11. 19. 17:29
항목MySQLPostgreSQL설계 철학간단하고 빠른 성능고급 기능과 확장성, 표준 준수를 중시라이센스오픈소스오픈소스SQL 표준 준수SQL 표준을 완벽히 준수하지 않음SQL 표준 준수도가 높음데이터 타입지원하는 데이터 타입이 제한적(ex. JSON 지원 제한적)많은 데이터 타입 지원(JSON, JSONB, HSTORE, UUID 등)확장성제한적인 확장성 (플러그인 시스템은 존재)높은 확장성(C-language, PL/pgSQL, 파이썬으로 확장 가능)트랜잭션 관리InnoDB 엔진 사용 시 ACID 지원기본적으로 ACID 지원.더 강력한 트랜잭션 제어 기능 제공복제 및 클러스터링읽기 복제를 쉽게 설정 가능하지만기본 제공 클러스터링은 부족복제, 클러스터링 및 분산 처리에 뛰어남(BDR, Patroni 등)J..
-
이거 왜 안됨..? (2) 해결오늘/Error 2024. 11. 18. 18:47
could not initialize proxy [com.spartaordersystem.domains.UserAddress.entity.UserAddress#059b97ba-1884-4694-984e-6aa523add7e0] - no Session 라는 에러가 터졌고 그래서 categoryRepository.save(category); 이걸할 수 없다고 한다. Caused by: org.hibernate.LazyInitializationException: could not initialize proxy [com.spartaordersystem.domains.UserAddress.entity.UserAddress#059b97ba-1884-4694-984e-6aa523add7e0] - no Session..