post-thumbnail

@Autowired의 원리와 스프링 팀에서 @Autowired의 사용을 지양하라고 하는 이유? (추가 수정 필요..)

스프링의 철학은 POJO(Plain Old Java Object)로 스프링 프레임워크를 나중에 걷어내더라도 코드가 정상적으로 동작할 수 있도록 프렘웍에 의존적인 코드를 작성하지 않는 것인데 그런 의미에서 @Autowired 보다는 다른 방법을 이용하는 것이 좋다고 공부

2022년 9월 28일
·
0개의 댓글
·
post-thumbnail

훌륭한 자바 개발자가 되기 위한 소양 기르기 (2) Java Garbage Collection

GC를 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것Stop the world가 발생하면 GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 모두 작업을 멈춘고, GC 작업을 완료한 이후에 중단했던 작업을 재개한다. 그래서 대개의 경우 GC 튜닝의 관건은 Stop

2022년 9월 23일
·
1개의 댓글
·
post-thumbnail

훌륭한 자바 개발자가 되기 위한 소양 기르기 (1) JVM

자바 바이트 코드를 실행하는 모든 하드웨어는 JVM을 통해 모든 하드웨어에서 자바 실행 코드를 변경하지 않고 실행할 수 있도록 합니다. 이는 플랫폼 의존적이지 않음을 의미합니다.JVM의 특징스택 기반의 동작 : JVM은 피연산자를 저장하고 가져올 때 스택을 활용한다.

2022년 9월 22일
·
0개의 댓글
·

필터와 인터셉터

공통 관심사를 해결할 수 있는 방법에는 서블릿 필터 또는 스프링 인터셉터 그리고 스프링 AOP가 존재한다. Servlet이 제공하는 기능리소스에 대한 요청(서블릿 또는 정적 콘텐츠)이나 리소스의 응답 혹은 둘 다에 대해 필터링 작업을 수행하는 객체필터 사용의 예1) A

2022년 9월 18일
·
0개의 댓글
·
post-thumbnail

자바 예외 회고

네이버 웹툰 프리인터뷰 면접을 통해자바에서 Error와 Exception이 있는데 이 둘의 차이는 무엇일까요?NullPointException은 checkedException일까요? uncheckedException일까요?checkedException, unchecke

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

트랜잭션

데이터베이스의 상태를 변화시키는 작업의 단위를 트랜잭션이라고 한다.원자성(Atomicity)한 트랜잭션 내에서 실행되는 작업들은 하나의 단위로 처리된다.한 트랜잭션 내에서 실행한 작업들은 모두 성공하거나, 반대로 전부 실패되는 성질일관성(Consistency)데이터베이

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

테스트를 학습하며

무엇을 테스트할 것인가?가 제일 중요한 포인트스프링 부트에서는 애플리케이션 테스트를 도와주는 다양한 유틸리티와 어노테이션을 제공한다.테스트는 두 가지 모듈에 의해서 제공된다.spring-boot-test : 핵심 기능을 포함spring-boot-test-autoconf

2022년 5월 26일
·
0개의 댓글
·
post-thumbnail

미션 중 발견한 커스텀 Exception 클래스에 존재하는 serialVersionUID는 무엇일까?

ATDD 미션을 수행하는 중 커스텀 Exception을 만들 일이 필요했고, 기존에 구현된 UnAuthenticationException 그리고 UnAuthorizedException과 같은 커스텀 Exception에 serialVersionUID가 있는 것을 발견했다

2022년 5월 16일
·
0개의 댓글
·

[모던 자바 인 액션] - 병렬 데이터 처리와 성능

자바 7이 등장하기 전에는 데이터 컬렉션을 병렬로 처리하기가 어려웠다.데이터를 서브파트로 분할하고, 분할된 서브파트를 각각의 스레드로 할당하고, 레이스 컨디션이 발생하지 않도록 동기화 문제에도 신경써야 했고, 마지막으로 부분 결과를 합치는 일련의 과정들을 거쳐야 했다.

2022년 5월 9일
·
0개의 댓글
·
post-thumbnail

[웹 개발자를 위한 웹을 지탱하는 기술] - HTML

마크업 언어란 태그로 문서의 구조를 표현하는 컴퓨터 언어마크업 언어를 이용한 마크업 구조를 가진 문서를 ‘구조화 문서(Structured Document)’HTML은 4.01 버전은 SGML 기반으로 개발되었지만 SGML 문법이 복잡하여 처리 프로그램을 생성하기 힘들었

2022년 5월 3일
·
0개의 댓글
·

[웹 개발자를 위한 웹을 지탱하는 기술] - HTTP 헤더

헤더는 메시지의 바디에 대한 부가적인 정보, 즉 메타 데이터를 표현HTTP의 최초 버전 0.9에는 헤더가 없었지만 전자메일의 스펙의 헤더 형식을 빌려오는 식으로 추가되었다.HTTP 헤더에도 역시 문자 인코딩 제한이 있어, 라틴 알파벳을 위한 문자 인코딩인 ISO 885

2022년 4월 25일
·
0개의 댓글
·

[웹 개발자를 위한 웹을 지탱하는 기술] - 스테이터스 코드

스테이터스 코드는 클라이언트의 움직임을 좌우하는 중요한 역할을 담당응답에 어떤 스테이터스 코드를 포함하느냐는 중요하다스테이터스 라인프로토콜 버전스테이터스 코드텍스트 프레이즈스테이터스 코드에 대응하는 설명구스펙에 예시된 이외의 문구도 포함 가능, 단 사람이 읽을 수 있도

2022년 4월 25일
·
0개의 댓글
·

[모던 자바 인 액션] - 스트림으로 데이터 수집

중간 연산한 스트림을 다른 스트림으로 변환하는 연산여러 연산을 연결할 수 있습니다.스트림 파이프라인을 구성하며, 스트림의 요소를 소비하지 않습니다.최종 연산스트림의 요소를 소비해서 최종 결과를 도출합니다.스트림 파이프라인을 최적화하면서 계산 결과를 짧게 생략하기도 합니

2022년 4월 8일
·
0개의 댓글
·

[웹 개발자를 위한 웹을 지탱하는 기술] - HTTP 메서드

CRUD란?Create(작성), Read(읽기), Update(갱신), Delete(삭제)지정한 URI의 정보를 가져옵니다.어떤 리소스에 대한 서브 리소스의 작성응답에는 201 Craeted 스테이터스 코드 반환기존의 리소스에 데이터를 추가해당 데이터를 리소스의 끝에

2022년 4월 4일
·
0개의 댓글
·

Optional 을 사용하는 목적

Optional 클래스의 참조 변수에 데이터가 저장되어있지 않을 경우 NoSuchElementException이 발생합니다. 모던 자바 인 액션을 통해 프로그래밍 언어를 개발하면서 범했던 가장 큰 실수 중 하나가 null 값을 허용했던 것이라고 공부했었는데요. NPE(

2022년 3월 31일
·
0개의 댓글
·
post-thumbnail

[웹 개발자를 위한 웹을 지탱하는 기술] - HTTP의 기본

HTTP란 하이퍼텍스트 전송용 프로토콜, 실제로는 하이퍼텍스트 뿐만 아니라 컴퓨터에서 다룰 수 있는 데이터라면 무엇이든 전송 가능HTTP는 REST의 중요한 특징인 Uniform 인터페이스, 스테이트리스 서버, 캐시 등을 구현하고 있는 Web 기반의 프로토콜HTTP는

2022년 3월 28일
·
0개의 댓글
·

[웹 개발자를 위한 웹을 지탱하는 기술] - URI 설계

좋은 URI란 무엇인가?좋은 URI를 Cool URI라 부름.Cool URIs don’t changeURI가 잘 변경되지 않도록 하기 위해서는 프로그래밍 언어에 의존적인 부분을 배제해야 한다.URI는 리소스의 이름이기 때문에 명사여야 합니다.URI와 HTTP 메서드의

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

[모던 자바 인 액션] - 스트림 활용

스트림의 요소를 선택하는 방법프레디케이트(불리언을 반환하는 함수)를 인수로 받아서 프레디케이트와 일치하는 모든 요소를 포함하는 스트림을 반환합니다.스트림은 고유 요소를 반환하는 distinct 메서드를 지원합니다.고유 여부는 만든 객체의 hashCode, equals로

2022년 3월 27일
·
0개의 댓글
·

[웹 개발자를 위한 웹을 지탱하는 기술] - URI 스펙

리소스를 통일적으로 식별하는 ID웹상에 존재하는 리소스를 표현하는 방식간단한 URI의 예URI SchemeURI가 이용하는 프로토콜을 나타내는 것이 일반적URI 스키마와 그 뒤에 이어지는 부분은 ‘://’로 구분http호스트 명DNS에서 이름을 해석할 수 있는 도메인명

2022년 3월 14일
·
0개의 댓글
·
post-thumbnail

[모던 자바 인 액션] - 스트림 소개

👨🏻‍💻 스트림이란? 자바 8 API에 새로 추가된 기능입니다. 선언형(즉, 데이터를 처리하는 임시 구현 코드 대신 질의로 표현할 수 있다)으로 컬렉션 데이터를 처리할 수 있습니다. filter, sorted, map, collect 같은 여러 빌딩 블록 연산을

2022년 3월 14일
·
0개의 댓글
·