| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 리눅스
- Xcode
- 오라클
- 스프링부트
- CI
- 다이어리
- IOS
- 네트워크
- 42seoul
- jenkins
- AI
- JPA
- javascript
- springboot
- 스프링
- 스프링부트 웹 소켓
- 인공지능
- 프로그래밍언어론
- 티스토리챌린지
- libasm
- sql
- MySQL
- DBMS
- swift
- 아이패드다이어리
- CD
- 소켓
- 데이터베이스
- Spring
- 오블완
- Today
- Total
목록전체 글 (180)
Hi yoahn 개발블로그
벌써 2026년이라니! 작년은 치열하게 고민하며 정말 열심히 살았던 한 해였다. 2025년에 우연한 계기로 야구를 접한 뒤로 야구에 빠져버려 야구 시즌에는 야구를 보러 다니는 사람이 됐고이전에 치던 드럼을 꾸준히 치고 있으며시간 날 때 클라이밍을 다니고틈틈이 친구들도 만나면서연말에는 스프링 스터디도 시작해서 1월에 끝났다! 현재 회사에서는 팀에 너무 잘 적응해서 업무도 잘 해내고 있다. spring, java 버전 업그레이드도 java17, springboot 2.7 까지 완료해서 jdk21, springboot 3 으로 올려보려고 한다 어드민에서 계속 슬로우쿼리가 발생해서 쿼리 최적화도 했었는데, 최근 결제건수가 늘어나면서 또 슬로우쿼리가 발생해서 이번엔 아예 데이터브릭스로 옮기는 중이다.기존에 커넥션..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
Java 가비지 컬렉션더 이상 사용되지 않는 객체를 자동으로 메모리에서 회수하는 JVM의 핵심 기능 중 하나입니다.즉, 개발자가 free() 같은 메모리 해제 코드를 작성하지 않아도, JVM이 자동으로 힙 메모리를 관리해 줍니다. 가비지 컬렉션 대상참조되지 않는 객체는 수거 대상이 됨 가비지 컬렉션 방식Mark And SweepMark: Root Space 로부터 그래프 순회를 통해 연결된 객체들을 찾아 마킹Sweep: 참조하고 있지 않은 객체들을 제거한다Compact: Sweep 후에 분산된 객체들을 Heap 의 시작 주소로 모아 메모리가 할당된 부분을 압축가비지 컬렉션 동작 과정JVM 의 힙 영역동적으로 데이터가 저장되는 공간으로, 가비지 컬렉션 대상 공간Heap 영역의 설계 전제1. 대부분의 객체는..
2025 년을 맞아 회고를 해볼까 한다. 작년 초에는 취업 준비하느라 바빴고, 3월에 입사해서 6월에 지금 팀으로 옮긴게 가장 큰 일이었던 것 같다. 취업하면서 기술 공부도 꾸준히 하고 싶었는데, 하긴 했지만 만족스럽지는 않아서 아쉬움이 있다. 결제 파트로 오게 되어서 팀 옮긴 후 결제 & 배송 & 정산 시스템을 인수인계 받았는데,다른 시스템보다 상태관리도 해야되고 그 플로우도 이해하고 있어야 다른 팀 문의나 운영 이슈에 대응이 가능해서 대응하면서 시스템에 대해 더 익힐 수 있었던 것 같다. 그리고 이번에 메인으로 참여한 프로젝트를 진행하면서 이전 프로젝트를 여러번 리드했던 경험이 이번 프로젝트를 진행시키는 부분에 있어 많이 도움이 됐다고 느꼈다. 큰 문제 없이 프로덕트팀이랑 소통하며 잘 마무리했..
리액티브 프로그래밍 지원을 위한 주요 API 들이 추가되었다. 리액티브 프로그래밍이란?응답이 빠르고, 탄력성과 회복성이 좋으며, 메시지 기반으로 통신하는 비동기 non-blocking 방식의 프로그래밍 Reactive Streams- 구성 인터페이스: Publisher / Subscription / Subscriber(Processor - Subscriber 와 Publisher 역할 모두 수행)Publishersubscribe(Subscriber subscriber)- 구독 요청- subscriber 에게 onSubscribe(subscription) 을 통해 subscription 을 전달해줌SubscriberonSubscribe(Subscription subscription)- 구독onNext(T ..
제 블로그는 제가 공부한 내용들을 기록하고 나중에 기억이 안날때를 대비해 제가 보기 위한 용도로 작성하고 있습니다.그럼에도 불구하고 구독해주신분들이 계셔서 감사,, 1. 확장된 try-with-resources개발자가 직접 닫아줘야했던 자원을 try( ) 안에 선언하여 try 로직이 끝날때 자동으로 해당 자원을 닫는 기능이다.이때 자원은 AutoCloseable 구현하고 있어야 함try (Resource resource = new Resource()) { // job}자바 8까지는 try() 바깥에서 선언한 변수에 대해서는 try-with-resources 구문을 사용할 수 없었지만 자바9 부터 final 혹은 초기화한 이후 값이 변경되지 않은 변수인 경우에 try() 안에 변수 이름을 한번 더 쓰..
취준을 하거나 일을 하다보면, 소통을 잘하는 방법에 대해 관심을 갖게 되는데, 관련된 얘기를 접하게 되서 주절주절 써보려고 한다. 토스 SLASH24 에 갔었는데 듣고싶었던 스페셜 세션은 다른 세션과 겹쳐 참여하지 못해 아쉬웠다.그래서 발표 자료를 따로 찾아서 봤는데, 소프트 스킬에 관한 얘기가 적혀있었다.하드 스킬도 중요하지만 소프트스킬도 중요하고, 하드스킬은 성장의 더하기가 된다면, 소프트스킬은 곱하기가 된다는 것이었다.나는 아직 주니어(신입) 이다보니 곱하기인지는 아직 체감되지 않지만, 소프트스킬은 머리로 아는것보다 실제로 그걸 적용해본 경험이 중요하다고 생각된다. 다른 사람과 소통할 때, 누군가는 정말 딱 필요한것만 물어보는 사람이 있고, 누군가는 이유나 배경을 상세하게 설명하며 물어보는 경우가 ..
가상 면접 사례로 배우는 대규모 시스템 설계 기초 212장 전자 지갑스터디하다가 기록해두면 좋을것 같은 주제가 나와 오랜만에 글을 작성해 본다 분산 트랜잭션 하면 2Phase Commit - 2PC 만 알고 있었는데 종류가 많아서 정리!분산 락이랑 분산 트랜잭션이랑 어떻게 다른지도 찾아봐야겠다 분산 시스템에서 한 트랜잭션에는 여러 노드의 프로세스가 관여할 수 있다. 분산 트랜잭션은 이들 프로세스를 하나의 트랜잭션으로 묶는 것.분산 트랜잭션의 구현법으로는 저수준과 고수준 방안이 있다.1. 2PC (2단계 커밋) - 저수준 방안저수준 방안 - 데이터베이스에 의존하는 방안 1. 조정자가 DB 1, 2 에 읽기 & 쓰기 작업을 수행 -> 1, 2 에 Lock 이 걸린다.2. Prepare: 애플리케이션이 트랜잭..
42gg 프로젝트에 처음 들어간지 1년이 다 되어간다. 들어가게 되었던 계기는 취준만 하니까 지루하고 쳐져서 하게된것도 있었고, 실제 서비스 운영 경험을 갖고 싶었다. 3기로 들어갈때 쯤에는 운영 경험이라고 하면 뭔가 대단해보이고, 깊은 지식을 얻을 수 있는 것들을 기대했었다. 근데 막상 3기로 들어가서 개발을 해보니까 그냥 개발이랑 뭐가 다른건지 의문이 들었던것 같다. 그런데 개발하다 보니 운영중에 발생하는 버그도 마주치며 해결해보고, 기능 개선을 위해 팀을 설득시키는 경험도 해보면서 그냥 하고싶다고 할 수 있는것도 아니고, 그걸 지금 해결해야할 만큼 중요한 일인가도 생각해보게 되고, 다른 사람들을 설득시키려다보니 이제 왜?라는 물음에 그냥!이 아니라 명확한 이유와 근거를 들어야 한다는 것도 깨달을 수..