post-thumbnail

모던 자바 인 액션 - 4장

NPE를 방지하고 더 명시적이고 안전한 API를 설계하기 위해 등장한 것이 바로 java.util.Optional 클래스null은 참조형 변수에 값이 없다는 것을 의미하지만, 명확한 의미 전달이 어렵고 예외 발생 가능성이 크다.특히 연쇄적인 호출이 많은 도메인 모델에서

어제
·
0개의 댓글
·

모던 자바 인 액션 - 3장

새로운 컬렉션 API의 기능1\. 작은 리스트, 집합, 맵을 쉽게 만들 수 있도록 자바 9에 새로 추가된 컬 렉션 팩토리를 살펴본다. 2\. 자바 8의 개선 사항으로 리스트와 집합에서 요소를 삭제하 거나 바꾸는 관용 패턴을 적용하는 방법을 배운다. 3\. 맵 작업과 관

2025년 5월 1일
·
0개의 댓글
·

모던 자바 인 액션 - 2장

많은 요소를 담는 컬렉션 데이터를 처리할 때 기존 방식은 코드가 복잡하고 가독성이 떨어질수도멀티코어 CPU를 효과적으로 활용하기 위해 병렬 처리 필요복잡한 루프 기반 코드는 유지보수와 디버깅이 어려움👉 Java 8의 스트림 API는 이러한 문제를 선언형 방식으로 간결

2025년 4월 23일
·
0개의 댓글
·
post-thumbnail

모던 자바 인 액션 - 1장 기초

정리쉽게 말해 멀티코어, 병렬, 간결한 코드라는 요구사항 스트림 API를 도입해서 해결한다. 이는 동작 파라미터화와 인터페이스의 디폴트 메서드를 기반으로 가능 어떻게 병렬처리? 쉽게 말하면, 라이브러리 내부에서 멀티 CPU를 이용해서 병렬 처리 걱정되는 부분: 데이터

2025년 4월 19일
·
0개의 댓글
·
post-thumbnail

로그 관리

로그를 남긴다는 것은 모니터링과 바로 직결되는 이야기이기 때문에 무엇을 남길지는 직접 생각해야한다.

2025년 1월 31일
·
0개의 댓글
·

Fixture Monkey

사용 이유 > 사이드 프로젝트를 하면서 테스트 코드 작성 시 Stub을 생성하는 과정에서 테스트용 데이터를 쉽게 만들 수 있는 방법에 대해 고민해보다가 해당 라이브러리를 활용하게 되었다. 결론 > Fixture Monkey는 이를 간단한 코드로 처리할 수 있어 개발

2024년 11월 10일
·
0개의 댓글
·

백엔드 통신 디자인패턴

Short Polling 클라이언트가 주기적으로 서버에 요청을 보내 최신 데이터를 받음 연결은 요청마다 새로 생성 실시간성이 낮고, 트래픽이 많아질 수 있음 Http Request Connection Request를 계속 보내기 때문에 클라이언트가 많아진다면? 연결, 끊기 자체가 부담스럽다 실시간 정도의 빠른 응답 기대하기 어렵다 H...

2024년 10월 14일
·
0개의 댓글
·

코테 준비를 통한 알고리즘 찍먹

알고리즘을 어떻게 공부할지 몰라 일단은 코딩테스트 연습을 하면서 익히고 있다.stream을 사용했을 때, 코드의 가독성, 유지보수성은 좋아보인다. 하지만, 문제를 풀다보면 그냥 ArrayList 가지고 for문 로직으로 했을 때보다 속도가 많이 느리기도 했다.Strea

2024년 9월 23일
·
0개의 댓글
·

토비의 스프링 이해와 원리

공부하기 전 나의 상황스프링부트에 중독되어 스프링의 동작 원리가 가물가물해졌다.스프링의 다양한 기술을 사용해보았으나, 여기에 적용된 공통적인 동작 원리까지 생각하진 못했다.결론스프링이 개발자에게 무엇을 요구하고 어떤 코드를 기대하는지 알게 되었다.더 격하게 테스크 코드

2024년 8월 21일
·
0개의 댓글
·

타임리프를 쓰면서 느낀점

이전 회사에서는 풀스택 개발자로서 UI 개발은 SPA 기반인 React나 Next.js로 개발을 주로 했었다. 하지만, 이번 회사에서는 기술스택으로서 타임리프를 사용하게 되었다. 타임리프를 제대로 사용해본 것은 처음이기에 배웠던 점, 느꼈던 점 위주로 작성한다. vs

2024년 6월 30일
·
0개의 댓글
·
post-thumbnail

이메일 유효성 검증 by MX 레코드

이메일 검증을 통해 해결할 수 있는 문제들이 있다.유저의 이메일 기재 실수이메일을 통해 뭔가 하려고 할 때악의적인 이메일 방지 등이메일 형식 유효성 검사이메일 길이 유효성 검사이메일 도메인 주소가 유효한지이메일이 실제 유효한 이메일인지? (메일을 수신할 수 있는지)Ja

2024년 6월 24일
·
0개의 댓글
·

직렬화와 역직렬화

위 내용은 스프링 개발자로서의 관점에서 작성하였습니다. 직렬화와 역직렬화란? 서로 다른 비즈니스 서비스 간의 통신은 인터페이스를 통해 구현되어야 합니다. 두 서비스 간에 데이터 객체를 공유하려면 객체를 이진 스트림으로 변환한 후 네트워크를 통해 다른 서비스로 전송하

2024년 6월 7일
·
0개의 댓글
·

Polling과 Redis

key 수신이벤트Redis에는 키 및 값의 변경 사항을 실시간으로 수신할 수 있는 Pub/Sub 기능을 제공Redis EVENT NOTIFICATIONRedisMsgListeneronMessage에서 만료되었을 때 메시지설정EventSource 객체의 속성은 다음과 같

2024년 5월 19일
·
0개의 댓글
·
post-thumbnail

Redis 정리

!youtube92NizoBL4uA!youtube6BhuIvMpNYk!youtubetVZ15cCRAyE고가용성 \- AWS ElastiCache는 자동 장애 감지와 복구 기능을 제공데이터 복구 \- ElastiCache는 자동 백업과 스냅샷 기능을 지원확장성 \-

2024년 3월 17일
·
0개의 댓글
·
post-thumbnail

AWS 악의적인 IP 차단 자동화

2023년 8월 4일
·
0개의 댓글
·
post-thumbnail

스프링 시큐리티 개요

스프링 시큐리티 내용이 많다보니 개요와 전체적인 흐름, 사용법을 나눠서 정리하겠다. 시작하면서 > 스프링 시큐리티, 이름도 거창하다. 특히 국비지원 학원을 다닐 때도 프로젝트에 꼭 넣었으면 좋겠다고들 하지만, 정작 진행하려고 하면 너무 어려워서 그냥 복붙했던 것 같다

2023년 7월 28일
·
0개의 댓글
·
post-thumbnail

OAuth2 Client (with Security and Redis)

OAuth2 Client 위주로 설명할 것이고, Security와 Redis는 필요한 부분만 설명할 것이다.간단한 과정: OAuth2 client를 사용하여 OAuth2 코드 발급 -> 이 코드를 가지고 토큰 발급 -> 이 토큰을 가지고 유저 정보 조회 과정을 간단하게

2023년 7월 20일
·
1개의 댓글
·
post-thumbnail

6월 5째주 새로운 지식들

선정한 이유: 대규모 트래픽을 감당하기 위해 로드밸런싱할 줄 아냐고라는 질문에 뭔 소리인지 몰라서 선택하였다. 로드밸런서는 컴퓨터 네트워크 기술의 일종으로, 서버에 가해지는 부하, 요청(=로드)를 분산(=밸런싱)해주는 장치 또는 기술분산: 둘 혹은 셋이상의 중앙처리장치

2022년 6월 27일
·
0개의 댓글
·
post-thumbnail

6월 4주차 새로운 지식- content-type, 사이드 랜더링, Custom Exception, ResponseEntity, PWA, Passkeys

웹 개발의 정석인 mozilla를 참고하자!(MIME type, Media type이라고도 할 수 있다)참고 content-type header 영상 Content-type -HTTP 링크주제 선정 이유: Postman을 계속 사용하면서 header 부분이 궁금해졌다.

2022년 6월 20일
·
0개의 댓글
·
post-thumbnail

6월 3주차 새로운 지식- Spring6, GraphQL, Client Side Validation

취업 준비를 하는데, 이러한 지식들이 이해도 안되고 당장에 쓸모가 없어보일 수 있다. 하지만 개발자는 안주하는 것이 아니라 새로운 지식과 문제 해결방법을 찾는 것이 당연하다.지금 미리 습관을 들이고 싶다.무엇보다 새로운 것을 알다가 이전에 이해가 안됬던 것이 지금 와서

2022년 6월 12일
·
0개의 댓글
·