본문 바로가기

전체보기

(216)
Spring MVC의 핵심 객체 DispatcherServlet에 대한 모든 것(DispatcherServlet이 하는 역할 정리, 동작 프로세스) DispatcherServlet 스프링 MVC는 모든 요청(Request)을 받아 실제 작업은 다른 컴포넌트로 위임하는 DispatcherServlet 을 두어 프론트 컨트롤러 패턴으로 디자인되었습니다. DispatcherServlet 은 Servlet 사양에 맞게 선언되어야 하고 매핑되어야 합니다. 스프링에서는 web.xml 파일에 정의하고, 요새는 스프링과 스프링부트에서는 자바 설정을 사용해서 정의합니다. 결과적으로, DispatcherServlet 은 스프링 설정을 사용하여 위임할 컴포넌트를 찾습니다. (해당 컴포넌트는 Request Mapping, View Resolution, Exception handling, ...의 작업을 합니다.) 아래 코드는 자바 스프링 설정을 이용한 Dispatcher..
Kotlin 공식 Example로 공부하기 - Collections#2(associateBy, groupBy, partition, flatMap, sorted, withDefault, zip, getOrElse) Collections (2) 저는 전문 번역가도 아니고, 의역을 넘어 오역, 심지어 그냥 제가 읽고 싶은대로 읽은 내용이 있을 수 있습니다. 개인 공부를 한 것을 포스트로 남기고 있으며 틀린 부분이 있으면 지적해주시면 수정하도록 하겠습니다. 원문 : https://play.kotlinlang.org/byExample/05_Collections/01_List Collections 부분은 꽤 길어서 나누어 작성했습니다. associateBy, groupBy associateBy 함수와 groupBy 함수는 지정된 키(Key)에 의해 인덱싱된 컬렉션의 원소로부터 Map을 만듭니다. 키(Key)는 KeySelector 파라미터에서 정의됩니다. 뿐만 아니라 옵션으로 valueSelector 를 정의할 수 있습니다..
Spring Environment 스프링 애플리케이션의 환경에 접근하여 설정 값을 얻어오는 방법(feat. ApplicationContext의 다른 기능, profiles, @Profile) Environment 스프링(Spring)에서 제공하는 인터페이스 중 Environment에 대해서 알아볼 예정이다. Environment 는 말 그대로 스프링 환경이자 설정과 관련된 인터페이스다. (구글에 검색하면 Environment의 동의어로 Setting이 있다.) 어떤 환경 설정에 접근할 수 있는 인터페이스일까? 바로 Profiles 설정과 Property 설정에 접근할 수 있다. 아까부터 포스트의 제목을 포함해서 자꾸 접근한다고 하는데, 그 이유는 설정 값을 변경하는 건 불가능하고 접근해서 값을 가져올 수만 있기 때문이다. (ConfigurableEnvironment 인터페이스로 캐스팅하여 설정 값을 추가할 순 있지만 Environment 인터페이스로는 불가능하다.) ApplicationCon..
Servlet에 대한 개념없이 스프링을 했네요? (급하게 알아보는 스프링 기반 기술 Servlet, Servlet Context, Application Context, ...) 급하게 알아보는 스프링 기반 기술 이름은 아주 거창하게 "스프링 기반 기술" 이라고 지어봤습니다. 배경 최근에 첫 이직을 했습니다. 낯설기도하고 약간의 긴장감과 약간의 두려움이 합쳐져서 우당탕탕(?)하고 있습니다. 그러다가 이제 회사 프로젝트(소스 코드)를 좀 보려고하니, 스프링(Spring)이었습니다. 스프링부트(Springboot)를 써왔어서 큰 거부감은 없었기때문에 볼 만 하겠지 했는데... 음? Servlet, ServletContext, ApplicationContext, ContextLoaderListener, ... 다양한 ~Context의 향연이 펼쳐지며 아차 싶었습니다. 스프링부트에서도 자바 소스(Java Config)로 설정을 했었지만 Servlet으로 자바 소스 설정을 하니까 기본기(..
Kotlin IN ACTION 2장 정리(코틀린 기초 : 변수, 함수, 클래스, enum, 프로퍼티, for, while, is, exception) 2장 코틀린 기초 변수, 함수, 클래스, ... 변수 선언 방법 val question = "코틀린 기초는 몇 장인가" val answer = 2 //val answer:Int = 2 타입을 적어도 되고 실제 값에서 추론이 가능하면 생략해도 됨 val pi = 3.14 //Double 추론 val vs var val : 값을 뜻하는 value에서 따온 것으로, 불변(Immutable)값을 저장하는 변수다. 자바의 final 처럼 초기화하고 나면 다른 값으로 재대입이 불가능하다. var : 변수를 뜻하는 variable에서 따온 것으로, 가변(mutable)값을 저장하는 변수다. 재대입이 가능하다. val languages = arrayListOf("Java") languages.add("Kotlin") ..
Kotlin 공식 Example로 공부하기 - Collections#1(List, Set, Map, filter, map, any, all, none, first, last, lastOrNull,firstOrNull, find, findLast, count) Collections (1) 저는 전문 번역가도 아니고, 의역을 넘어 오역, 심지어 그냥 제가 읽고 싶은대로 읽은 내용이 있을 수 있습니다. 개인 공부를 한 것을 포스트로 남기고 있으며 틀린 부분이 있으면 지적해주시면 수정하도록 하겠습니다. 원문 : https://play.kotlinlang.org/byExample/05_Collections/01_List Collections 부분은 꽤 길어서 나누어 작성했습니다. List 리스트(List)는 순서가 있는 아이템의 컬렉션입니다. 코틀린에서 리스트는 둘 중에 하나가 될 수 있습니다. (mutable(MutableList), read-only(List)) 리스트를 생성하기 위해서 표준 라이브러리 함수를 사용합니다. listOf : 읽기 전용 리스트 muta..
Kotlin IN ACTION 1장 정리(코틀린의 철학, 코틀린의 특징, 코틀린 공부 로드맵) 오프라인 스터디에서 "Kotlin IN ACTION"이라는 책을 선정하여 학습하는 중에 정리의 필요성을 느꼈고, 책을 읽는 것만으로 내 것이 되지 않는 것 같다고 생각하여 아주 작은 미니 프로젝트를 만들어봐야 겠다는 생각을 했습니다. 1장 코틀린이란 무엇이며, 왜 필요한가? 코틀린의 철학 *참고* 개인적인 해석이 포함되어 있습니다. "자바(Java)와의 상호운용성을 고려하고 실용성을 갖춘 언어를 개발한다." 코틀린이라는 언어의 목적은 다른 언어처럼 임베디드 환경에 최적화된 언어, 인공 지능 개발 언어, 성능 최적화된 언어, ... 같은 목적이 아니라, 딱 자바와의 상호운용에 문제가 없으면서도 실용성을 갖추는게 목적입니다. 코틀린이 실용성 을 갖췄다는 건 무엇일까요? 다음과 같은 개선으로 애플리케이션 개발..
개발자 커뮤니티 활동의 중요성(with KSUG 페이스북 커뮤니티 1만명 가입 이벤트 당첨 후기) 개발자 커뮤니티 활동의 중요성 지금까지 개발과 관련된 포스트만 작성해왔습니다만, 이번을 계기로 필자(개인)의 생각도 가끔씩은 적어보려고 합니다. KSUG(Korea Spring User Group) 멤버 1만 이벤트 당첨 후기 KSUG(Korea Spring User Group)라는 우리나라 대표 스프링 커뮤니티에서 페이스북 멤버 1만을 달성하여 이벤트를 진행했었습니다. 그리고 제가 그 이벤트에서 당첨이 되었습니다..!! (KSUG 화이팅! 멤버 1만 달성 축하드립니다!!) KSUG와 Spring에 대한 저의 생각을 댓글로 남기면 추첨을 통해 인프런 강의 쿠폰, 책 등을 선물로 받는 것이었는데요. 저는 이동욱님이 쓰신 화제의(?) IT 도서. "스프링 부트와 AWS로 구현하는 웹서비스"라는 책을 당첨 선..