목록분류 전체보기 (344)
정구리의 우주정복

redis 연결하고 데이터 넣기 ? 어렵지 않다 우하하연결하고 -> redisTemplate 작성하고 -> 내용 뿍 넣으면 된다연결하기일단 local 에 redis 하나 띄워주겠다 (이미 떠있는거 있으면 그거 쓰삼 !!!)docker run -d --name redis-local -p 6379:6379 redis:latest그리고 프로젝트에 설치한걸 연결해주자build.gradleimplementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive'나는 r2dbc 사용중이라 reactive 를 해줬다 만약 jdbc 라면 spring-boot-starter-data-redis 를 쓰세용application.ymlspring: da..
Spring mvc 사용할땐 @Transactional 을 사용하면 모든게 다 해결 되었지만 .. WebFlux 를 사용하면 그렇지 않다 슬프다 ! 그럼 어떻게 해야할까 바로바로 TransactionalOperator 를 사용해야한다 ! 일단 build.gradle 에 해당 내용을 추가해준다 특이하게 aop 를 추가해야함 implementation 'org.springframework.boot:spring-boot-starter-aop:3.4.5'implementation 'org.springframework.boot:spring-boot-starter-webflux' 그리고 ReactiveTransactionManager 를 설정해줘야함 !!!package com.example.toygry.webflu..

피그마 공부를 해두면 어디가서든 써먹을 것 같아서 개인 포폴때 화면 기획을 피그마로 해보려 한다맨날 남들이 만든거 보고 댓글 달 줄만 알았지 직접 만들어본건 처음이라 쉽지 않다 .. 아이콘 추가하기 나는 + 모양 아이콘을 추가하고싶었다 plugins & widgets 클릭 후 Iconify 검색 (이게 사용량이 제일 많은듯) 클릭 후 save 나 run 을 누르자 나는 자주 쓸 듯하여 save 를 했다 원하는 아이콘을 검색하고 클릭하자 하단에 있는 걸 클릭해서 내 피그마에 소환시키면 된다 어려워 ..

https://www.acmicpc.net/step/48 누적합 죠패보겠음 https://www.acmicpc.net/problem/11659 11659 구간 합 구하기 4import sysinput = sys.stdin.readlinedata_no , quiz_no = map(int, input().split())numbers = list(map(int, input().split()))sum_list = [0]sum = 0# 누적합 구하기for i in numbers: sum += i sum_list.append(sum)# 입력 받은거 구하기for j in range(quiz_no): start, end = map(int, input().split()) print(sum_list[..
비동기 처리할때 사용하는 WebFlux 에 대해서 정리해보려 한다 ! 써봤는데 남들에게 설명해줄 수준은 아니라 .. 정리해보기 전통적인 Spring MVC와의 차이종류SpringWebFlux프로그래밍 방식동기 (블로킹)비동기 (논블로킹)기반 APIServlet APIReactive Streams (Project Reactor)스레드 사용요청당 스레드 하나적은 수의 스레드로 수많은 요청 처리Return 타입String, Model, ResponseEntityMono, Flux 기존에도 자바에는 Thread 나 Virtual Thread 와 같은 비동기 처리들이 있는데 이들과는 어떤 차이가 있는지 알아보장 내가 이해한 바로는 WebFlux는 프로젝트 전체가 비동기로 돌아가는 거고,Thread나 Virtual..
프로젝트를 하다보면 Response 가 제각각이라 이녀석이 성공인지 실패인지 어떤 상태인지 표현하기가 어렵다그래서 오늘은 공통 Response 를 정의해서 Http status 값과 ,message 그리고 Data 를 넣어보려 한다 어렵지 않음 !!!"기존 Response 를 한번 더 감싸준다"라고 생각하면 쉽다 data class BaseResponse( val status: HttpStatus, val message: String, val data: T? = null) 나는 status , message, data 를 넣었지만 자기한테 필요한 형태로 커스텀 해서 사용 가능하다 만약 기존에 ResponseEntity 이렇게 사용했다면 ResponseEntity> 이렇게 정의해주면 된..
Hash 는 key:value 형태를 가지고 있는 자료구조이다 전화번호부를 예로들 수 있음이름: 번호 이런 형태 !! Hash 의 가장 대표적인 특징은 ``모든 데이터 타입으로 접근 가능`` 하다는 점이다배열을 ['h','e','l','l','o] 이렇게 있을때 각 값에 접근하기 위해선 0~4 까지의 정수로 접근이 가능하다 하지만 hash 의 경우에는{'a':'1234','b':'5678') 이렇게 key 인 a,b 로도 접근이 가능하다 hash 는 주로 언제 쓰이냐면 string 기반으로 정보를 기록하고 관리할 때에 쓰인다 몇문제 풀어보면서 든 생각은dict 랑 set 을 끝내주게 잘 사용할 줄 알면 문제들을 풀 수 있을 것ㄱ 같다
1. 키 (Key) 조회키가 존재하는지 확인 (in 연산자)my_dict = {"apple": 3, "banana": 5, "cherry": 2}print("apple" in my_dict) # ✅ Trueprint("orange" in my_dict) # ❌ False in 연산자를 사용하면 해시 테이블을 이용해 O(1)로 빠르게 키를 검색 가능2. 값(value) 조회특정 값이 딕셔너리에 존재하는지 확인print(2 in hash_map.values()) 3. 키(key) + 값(value) 조회 (items())모든 (key, value) 쌍을 조회할 때 O(n)for key, value in hash_map.items(): print(f"{key}: {value}") 4. 특정 값(valu..