profile
좋은 사람, 좋은 개발자 (되는중.. :D)

자바는 왜 함수형 프로그래밍을 도입했을까?

함수형 프로그래밍 “반도체 회로의 성능은 18개월마다 2배씩 빨라진다.” 생명공학을 졸업한 저도 여러번이나 들어왔던 유명한 무어의 법칙은 20년도 더 지난 2000년대 초반 이미 깨졌습니다. CPU 성능 향상은 어느덧 한계에 다다랏고, 그로 인해 CPU 싱글 코어

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

Microservic architecture(MSA)란?

2019년 기준 전세계 모든 인터넷 통신의 12.6%는 넷플릭스로 흘러들어가고 있습니다. (2018년 15%)어떻게 이런 어마무식한 트래픽을 한 곳에서 감당 할 수 있는 것일까요??답은 Microservice Architecture, MSA에 있습니다.넷플릭스의 초창기

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

스프링 핵심 원리 09] 빈 스코프

본 포스트는 Inflearn 김영한 선생님 강의를 정리한 것 입니다! 빈 스코프란? 스코프를 영한사전에서 찾아보면 "범위", "영역"이라고 나옵니다. 빈 스코프는 말 그대로 빈이 생존(?)해 있는 범위를 의미하는 것 입니다. 지금까지 우리는 스프링 빈이 스프링 컨

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

스프링 핵심 원리 08] 빈 생명주기 콜백

본 포스트는 Inflearn 김영한 선생님 강의를 정리한 것 입니다!

2022년 1월 18일
·
0개의 댓글

스프링 핵심 원리 07] 컴포넌트 스캔

본 포스트는 Inflearn 김영한 선생님 강의를 정리한 것 입니다!지난 포스트에서는 @Configuration이 붙은 AppConfig.class 구성정보를 상요해 스프링 컨테이너에 빈을 등록하는 과정에 대해 알아보았습니다.AppConfig에 구성 정보만 기입하면 모

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

스프링 핵심 원리 06] 싱글톤 컨테이너

본 포스트는 Inflearn 김영한 선생님 강의를 정리한 것 입니다! 스프링 컨테이너는 모든빈을 싱글톤 패턴으로 관리합니다. 이번 포스트에서는 싱글톤 패턴이 무었인지 그리고 왜 빈을 싱글톤으로 관리야하는지 알아보겠습니다. 1. 웹 애플리케이션과 싱글톤 스프링은

2022년 1월 11일
·
0개의 댓글

스프링 핵심 원리 05] 스프링 컨테이너와 스프링 빈

본 포스트는 Inflearn 김영한 선생님 강의를 정리한 것 입니다!지난 포스트까지 객체 지향 프로그래밍에 대해 설명하였고, 스프링이 왜 만들어지게 되었는지, 어떤 일을 도와주는지에 대해서 알아보았습니다.그럼 이번 포스트부터는 진짜 스프링에 대해 알아볼텐데요.그중 가장

2022년 1월 10일
·
0개의 댓글

스프링 핵심 원리 04] 객체 지향 원리 적용

본 포스트는 Inflearn 김영한 선생님 강의를 정리한 것 입니다!안녕하세요\~~지난 포스트에서 간단한 주문 프로그램을 다형성의 특징을 잘 살려 개발해보았습니다.그러나 우리가 만들었던 프로그램은 SOLID원칙중 DIP, OCP두가지를 위반하고있어 객체 지향적으로 2%

2022년 1월 7일
·
0개의 댓글

스프링 핵심 원리 03] 예제 만들기

본 포스트는 Inflearn 김영한 선생님 강의를 정리한 것 입니다! 1. 프로젝트 생성 이번 시간에는 순수 자바로 이루어진 작은 프로젝트를 만들어보겠습니다. 이후 포스트에서 이를 스프링 프로젝트로 전환 시키며 스프링이 어떤일을 해주는지 하나씩 알아보도록 하겠습니

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

스프링 핵심 원리 02] 객체 지향 설계 5원칙 (SOLID)

Inflearn 김영한 선생님 강의를 정리한 것 입니다.클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리한 것 입니다.• SRP: 단일 책임 원칙(single responsibility principle)• OCP: 개방-폐쇄 원칙 (Open/

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

스프링 핵심 원리 01] 객체지향 설계와 스프링

1. 스프링이란? 1) 스프링 생태계 스프링이란 여러가지 스프링 기술의 총칭입니다. 스프링 프레임워크 스프링의 핵심이 되는 기술들을 제공하는 프레임워크 스프링 부트 예전에 "스프링은 설정이 반이다" 라는 말이 나올정도로 극악의 난이도를 보여줬다. 이를 손쉽게 해

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

JPA - @Query 어노테이션

이번 시간에는 @Query 어노테이션을 이용해 JPQL, native SQL query를 사용하는 방법에대해 알아보겠습니다.참고@Query 어노테이션은 @NamedQuery어노테이션 혹은 orm.xml에 정의해놓은 named queries보다 우선순위가 높습니다.@Q

2021년 12월 24일
·
0개의 댓글

HTML - 파일 전송에 사용되는 multipart / form-data 란?

HTML form 태그는 우리가 인터넷에서 회원가입을 하거나, 글을 작성하는등 정보를 서버로 전송할 때 정말 많이 사용되는 아이입니다.이 form에는 여러가지 타입이 존재합니다. 그중에서 이번시간에는 파일을 전송할 때 사용하는 multipart / form-data에

2021년 12월 22일
·
0개의 댓글

spring - 컴포넌트 스캔(Component Scan)

스프링 빈을 등록하는 전통적인 방식은 XML의 을 통해 등록하거나 아래처럼 자바 코드의 @Bean을 이용해 config파일에서 나열하는 것 입니다.등록할 빈이 몇개 안된다면 큰 문제 없고 오히려 한눈에 보기 편할 수 있겠지만, 빈이 수십 수백개가 된다면 일일이 등록하는

2021년 12월 21일
·
0개의 댓글

JPA - JPA Query(JPQL)로 여러 객체 받아오기

JPA Query를 이용해 여러 객체를 한번에 받아오는 법에 대해 알아보겠습니다. 예시를 들어 설명하기 위해 사용자가 유튜브 채널을 구독하는 어플리케이션이 있다고 가정하겠습니다. 이 어플리케이션을 구현하기 위해 세가지 Entity가 필요합니다.여러 객체를 한번에 반환

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

Spring - API 예외처리

지난 포스트에서 웹 애플리케이션 내 오류가 발생하면 WAS가 /error 경로로 다시 요청을 보내고, 스프링의 BasicErrorController는 /error 경로를 받아 자동으로 HTML 오류 페이지를 제공한다고 이야기 했습니다.사실 BasicErrorContro

2021년 11월 25일
·
0개의 댓글

WAS의 동시 처리

사용자가 웹 애플리케이션에 요청을 날리면, WAS는 아래 그림처럼 서블릿을 호출해 JSON이나 HTML페이지를 만들고 사용자에게 응답을 날립니다.그럼 서블릿 객체는 누가 호출 할까?쓰레드는 개발자가 코딩한 내용을 읽고 실제로 일을 수행하는 일꾼에 비유할 수 있습니다.따

2021년 11월 23일
·
0개의 댓글

Spring - 스프링 부트 예외처리

웹 어플리케이션에서 예외를 처리하는 흐름은 아래 그림과 같습니다.서블릿으로 예외를 처리하고 오류 페이지를 보여주기 위해서는 WebServerCustomizer 클래스를 만들고 예외 종류에 따라 ErrorPage를 추가하고, 오류 페이지를 위한 전용 컨트롤러를 만들어 주

2021년 11월 23일
·
0개의 댓글

Servlet - 예외처리와 오류 페이지 (Exception)

서블릿이 예외(Exception)를 받는 경우는 두가지 입니다.첫번째로 서블릿 내에서 발생한 예외가 서블릿 밖으로 나온경우, 그리고 response.sendError()메서드가 호출된 경우입니다.response.sendError()메서드는 우리가 임의로 만들어주는 에러

2021년 11월 19일
·
0개의 댓글

Spring - 인터셉터(Interceptor)

스프링에서 제공하는 인터셉터는 서블릿에서 제공하는 필터와 거의 비슷한 기능을 합니다.서블릿 필터모든 컨트롤러에서 공통으로 처리해야 할 로직을 각 컨트롤러마다 작성하는 것은 매우 비효율 적일 뿐만 아니라, 이와 관련된 로직이 변경될 경우 모든 컨트롤러에 손을 대야하는 불

2021년 11월 17일
·
0개의 댓글