| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- CS
- spring boot
- 스프링 부트
- 자바
- spring cloud
- Java
- 가상화
- vm
- virtualization
- JPA
- computer science
- Spring Security
- 영속성 컨텍스트
- mysql
- CI/CD
- ORM
- 배포
- 컨테이너
- Container
- 스프링 배치
- Spring
- 백엔드
- 도커
- 스프링
- 데이터베이스
- Redis
- 스프링 시큐리티
- 해커톤
- 웹 서버
- Hackathon
- Today
- Total
목록분류 전체보기 (159)
개발 일기
최근 빅테크 기업 면접에서 생성형 AI와 관련된 다양한 질문을 받았습니다.예를 들면, '생성형 AI 시대에 대비해 내가 가진 강점은 무엇인지?', '생산성을 높이기 위해 AI를 어떻게 활용하고 있는지' 와 같은 내용이었습니다.면접 마지막에는, 해당 기업에 정말 가고 싶지만 혹시 결과가 좋지 않을 경우 어떤 개발자로 성장해야 할지 조언을 부탁드렸습니다. 어느 한 면접관님께서는 '생성형 AI를 능숙하게 활용해 생산성을 극대화하는 개발자가 되면 경쟁력을 갖출 수 있을 것 같다'라는 식으로 말씀을 해주셨습니다. 면접 당시에는 이러한 생성형 AI 면접 질문들에 대해 머릿속에서 정리가 되지 않아 제 생각을 충분히 전달하지 못한 점이 아쉬웠습니다. 면접관님들께 제 모습을 온전히 보여드리지 못했다는 아쉬움도 남았습니다..
대학교 3학년 Computer Network 과목에서 Computer Networking - A Top-Down Approach 라는 전공 서적으로 수업을 했었고 교수님께서는 TCP/IP 4계층이라는 모델에 대해 언급만 해주시고 OSI 7계층을 중점적으로 가르쳐 주셨었다.그렇게 사실 OSI 7계층에 대해서는 꾸준히 학습을 해왔으나, TCP/IP 4계층에 대해서는 항상 공부를 미뤄왔던 것 같다.그러다가 이번에 기업 직무 인터뷰에서 관련 질문이 나왔고 관련해서 대답을 하지 못해 한번 정리하고 가고자 한다. 참고로, 내가 받았던 질문은1. OSI 7계층이 이미 있는데 TCP/IP 4계층 모델이 등장한 이유는?2. TCP/IP 4계층 모델의 한계/개선점은?정도이다.TCP/IP 4계층 모델의 등장 배경과거에는 네..
최근 기업 코딩테스트에서 HashMap의 key로 객체를 사용하는 과정에서 equals()와 hashCode()를 별 생각 없이 외워서 기계적으로 오버라이딩해 사용했다. 하지만 이런 방식은 바람직하지 않다는 생각이 들었고, 왜 이런 메서드를 반드시 재정의해야 하는지 내부 동작 원리부터 제대로 이해해보고자 정리하게 되었다. equals()우선, equals()부터 보면, 모든 클래스는 Object를 상속하기 때문에 기본적으로== → 참조값(메모리 주소) 비교equals() → 기본 구현이 ==과 동일한 주소 비교로 결국 동등성이 아니라 동일성을 판단해준다.그러나, 문자열 String 참조 변수 필드의 동등성을 비교하는 과정에서 equals()를 썼는데 이때 나는 값 비교를 의도로 해당 코드를 작성했었고, ..
작년부터 정말 참여하고 싶었던 해커톤이었던 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을 통해 처리한다.전체 흐름을 단계별로 보면 다음과 같다. 첫번..