Coding/Server 14

[내일배움캠프] Java 문법 종합반

Hello Java! - 자바 특징: 플랫폼 독립성 예전의 컴퓨터 세계는 복잡하고 다루기 어려운 언어들로 가득했다. 당시, C, C++ 같은 언어들은 운영체제마다 코드가 다르게 작동하는 문제가 있었다.이와 다르게 Java는 플랫폼 독립성이라는 특징을 가지고 있어, 프로그램이 JVM이 설치된 환경이면 어느 환경이던 실행될 수 있다. Javac(컴파일러)는 자바파일(.java)를 바이트코드(.class)로 변경하고, 해당 바이트코드 파일을 이용해 JVM이 프로그램을 실행시킨다.*자바 파일을 실행시키면 out 폴더에 .class가 생성되는 것을 볼 수 있다. 여기서 Javac와 JVM을 모두 포함하는, 자바 프로그램을 개발할 때 필요한 개발 도구 모음을 JDK라고 한다.컴퓨터의 기억 방식컴퓨터는 정보를 기억하..

Coding/Server 2025.03.06

[항해99] 단기 스킬업: Redis를 활용한 대규모 트래픽 처리 3주차 회고(동시성 제어)

3주차 시나리오3주차는 동시성 이슈 해결에 초점을 맞췄다. 단계별로 Lock을 적용하고, Redisson 라이브러리에 Lua script가 작성된 것을 확인한다. 또한, 성능 최적화를 위해 AOP 분산락에서 함수형 분산락으로 변경하는 경험을 합니다.API예약 API 를 구현합니다.LockPessimistic Lock, Optimistic Lock, Distributed Lock 의 단계별 적용을 통해, 각 Lock 에 대한 특징을 이해 합니다.단계별 구현의 마지막 형태는 Distributed Lock + Optimistic Lock 형태가 되도록 합니다.Redisson tryLock 내부 로직 살펴보기Distributed Lock 을 구현하는 라이브러리(e.g redisson) 에 Lua script 가..

Coding/Server 2025.02.03

[항해99] 단기 스킬업: Redis를 활용한 대규모 트래픽 처리 2주차 회고(부하 테스트)

2주차 시나리오2주차에는 1주차에 작성한 API를 바탕으로 성능 개선 및 부하 테스트를 진행하였다. Redis와 인덱싱을 활용한 성능 개선과 부하 테스트는 실무에서 많이 사용하는 기술들이다. 혼자서 적용해본 경험은 있지만 알맞게 구현을 한건지 의문을 가지고 있었는데, 2주차 과제를 통해 관련된 피드백을 받을 수 있을 수 있어 기대가 되었다. API Refactoring1주차에 구현한 조회 API에 검색 기능 추가검색 기능 추가 이후 부하 테스트 진행Indexing1주차와 2주차 비즈니스 요구사항을 참고하여, 적절한 Index를 생성하고, 부하 테스트 진행Caching메인 페이지 성능을 위해 Redis 캐싱을 활용하고 부하 테스트 진행새로 알게 된 내용부하테스트란?부하테스트란, 시스템이 어느 정도의(부하=..

Coding/Server 2025.01.22

[항해99] 단기 스킬업: Redis를 활용한 대규모 트래픽 처리 1주차 회고(멀티 모듈 설계)

지금까지 여러 프로젝트를 진행하였지만, 실력이 비슷한 동료들과 함께하다보니 코드 구현을 올바르게 했는지 확신이 서지 않았다. 또한 항상 마감기한이 정해져있다보니 새로운 기술을 사용하기보다 항상 알고 익숙한 기술들만 사용했다. 즉, 백엔드 개발자로서 API 구현은 가능하지만 실무에서 요구하는 대규모 트래픽 처리, 성능 최적화, 멀티 모듈 등에 대한 경험을 쌓고 싶었다. 내가 원하는 프로그램을 찾던 중, 항해 99에서 진행하는 단기 스킬업 과정을 보게 되었다. 해당 과정은 다른 부트캠프나 프로그램과는 다르게, 학습을 위한 강의가 따로 제공되지 않는다. 대신, 매주 제공된 시나리오에 대한 과제를 풀면 현직자의 꼼꼼한 코드 리뷰를 받을 수 있게 된다. 또한, 슬랙 플랫폼을 통하여 현직자에게 질문 또한 자유롭게 ..

Coding/Server 2025.01.13