일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 데이터베이스
- 스프링 배치
- 해커톤
- 컨테이너
- Java
- vm
- JPA
- spring boot
- Spring Security
- mysql
- 영속성 컨텍스트
- computer science
- 스프링 부트
- Spring
- CS
- 백엔드
- virtualization
- 도커
- CI/CD
- Redis
- 스프링
- Container
- 배포
- spring cloud
- 스프링 시큐리티
- 가상화
- Hackathon
- 웹 서버
- 자바
- ORM
- Today
- Total
목록전체 글 (157)
개발 일기

작년부터 정말 참여하고 싶었던 해커톤이었던 JUNCTION이 8월 22일~24일 포항에서 개최됐다!작년에 아는 형이 참가하는 모습을 보고 분위기도 멋져 보여서 ‘나도 내년에 꼭 나가야겠다’고 마음먹었던 해커톤이었다. 그래서 이번 해커톤을 대학 생활의 마지막 대회로 정하고, 꼭 수상하겠다고 다짐했었다. 22일에 면접이 있었어서 따로 미리 경상북도에 관련된 이슈에 대해 미리 알아갈 여유는 없었지만 타 해커톤과 다르게 학생, 직장인 할거 없이 참여한다고해서 비록 수상이 목표이긴했지만 즐기고 오자는 생각으로 참여했다. 미리 말하자면 전체 1등은 아니었지만, 포항공대·마이크로소프트·경상북도 트랙에서 1등을 차지했고, 트랙 대표로 발표까지 하게 되었다.직장인 참가자도 있었고, 실력 있는 사람들도 많았으며, 인스타그..
만약 RAM보다 더 큰 데이터가 Redis에 저장될때이 전에도 다뤘듯이 레디스는 C언어 코드로 작성된 In-memory cache 솔루션이며 caching, 세션 관리, pub/sub, 순위표, 처리율 제한(sorted set) 등 다양한 곳에 활용되지만 In-memory cache답게 시스템 성능을 높이기 위해 캐시 시스템으로 많이 사용된다. 이때, 어쨋든 물리적인 RAM 용량은 한정되어 있을텐데 이 RAM이 부족하면 어떻게 될까?OS가 더 이상 메모리를 못 주면 Redis가 “Redis: OOM(Out of memory) command not allowed when used memory than‘maxmemory’” 에러를 일으킨다고 한다. 그런데 이때 만약 Swap 메모리 설정 시, 메모리가 부족하..

최근에 Redis Cluster CLI 툴을 개발해봤는데 Redis Cluster에 대해 조금 더 깊이 이해해보고자 작성하려고 한다. LY Corporation Tech Blog의 글을 참고해서 현업에서 어떻게 하는지 대략 알아보고 구체적으로 뜯어보고자 한다.해당 글 작성자를 그냥 개발자님이라고 칭하겠다.장애 발생?개발자님께서는 입사 초기 팀원들 그리고 일을 하면서 뼈저리게 느끼는 부분이 "장애는 언제든지 발생할 수 있다는 점"이라고 한다.SW라면 개발 능력의 범주 안에서 직접 트러블 슈팅을 하거나 리소스를 많이 사용한다면 로직을 개선하며 최적화하는 등을 할 수 있지만,HW를 구성하는 CPU, RAM 등 부품 중 어느 하나라도 문제가 발생하면 PM(Physical Machine) 혹은 HV(Hypervi..

https://ai-back-end.tistory.com/176 [Redis] Redis 뜯어보기 1 - 내부 구조 및 동작 방식(feat. I/O-Multiplexing)https://ai-back-end.tistory.com/98 [Redis] Redis(Remote Dictionary Server) 이해하고 사용하기OAuth2.0+JWT에서 Refresh Token을 백엔드 단에서 소유하고 있기 위해 Redis에 저장했다. 그냥 다들 그렇게하니까 그렇게 처리ai-back-end.tistory.comRedis 프로세스가 어떻게 명령어를 받고 처리하는지에 대해서 알아봤었는데 이번에는 Redis하면 빠질 수 없는 Pub/Sub에 대해서 알아보려고한다.https://www.youtube.com/watch?..

이전 글에서는 Redis가 클라이언트로부터 들어오는 명령어를 독립적으로 처리하거나, 파이프라인으로 한 번에 받더라도 I/O 멀티플렉싱을 통해 싱글 스레드에서 처리하는 구조를 살펴봤습니다. 이번 글에서는 소켓으로 들어온 명령어가 파싱된 이후 Redis 내부에서 어떻게 처리되는지, processCommand()를 중심으로 자세히 들여다보겠다.Redis 명령어 처리 및 전파 흐름시작에 앞서 전체적인 흐름은입력 버퍼에서 명령어를 파싱 → 타입별 Command 함수 호출 → DB 접근 → 클라이언트 응답 → AOF/Replication 전파Redis에서 클라이언트 명령어가 들어오면, 싱글 스레드 기반의 이벤트 루프가 이를 I/O Multiplexing을 통해 처리한다.전체 흐름을 단계별로 보면 다음과 같다. 첫번..

https://ai-back-end.tistory.com/98 [Redis] Redis(Remote Dictionary Server) 이해하고 사용하기OAuth2.0+JWT에서 Refresh Token을 백엔드 단에서 소유하고 있기 위해 Redis에 저장했다. 그냥 다들 그렇게하니까 그렇게 처리해봤는데 정확히 알고 쓴다는 느낌이 없어서 이번 기회에 Redis에 대해 이해ai-back-end.tistory.com 작년 9월에 한 번 Redis에 대해 공부했지만, 이제는 Redis와 더 친숙해졌고 어떨때 사용되는지 더 와닿고 있는데, 그래서 이번에는 단순한 사용법이 아니라 내부 동작 원리까지 깊게 이해하고자 합니다.최근 SLASH 23 - 실시간 시세 데이터 안전하고 빠르게 처리하기 영상을 보았는데, 발표자..

처음 https://www.acmicpc.net/problem/10986 해당 문제에서 누적합을 활용해서 이중 for문을 통해 계산을 했었다.// 처음 내 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken(..

https://www.acmicpc.net/problem/20291백준 20291 파일정리 실버3 문제에서 TreeMap을 적용해볼 기회가 있어서 TreeMap을 적용해봤다.import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter((new OutputStreamWriter(System.out))); int T = I..