스프링은 뭘까? 스프링은 자바언어를 기반으로 한 웹 프레임워크로 현재 제일 많이 사용하는 웹 프레임워크 표준이다. 스프링의 시작 스프링의 시작은 EJB(Enterprise Java Bean)의 문제점에서 부터 시작 되었다. EJB는 대규모 엔터프라이즈 애플리케이션을 개발하기 위해 만들어진 기술로 한때 표준으로 사용 했다. 하지만 사용하는데 많은 어려움(강한 결합, 높은 가격, 무거움) 등의 문제가 존재했다. 이때 스프링의 창시자 "로드 존슨"이 책을 하나 출간하게 되는게 이 책의 내용이 현재 스프링의 핵심 개념 즉 기반 코드가 들어 있었다. 책 출간 후에 유겐 휠러, 얀 카로프가 로드 존슨에게 오픈소스 프로젝트를 제안하게 돠었고 지금의 스프링이 탄생하게 되었다. 스프링의 의미는 시린 겨울인 EJB를 지나..
포스트

저번에 포스팅 한 테마에 이어서 플러그인에 대한 설정을 이어서 작성한다. 플러그인도 정말 다양하게 지원하고 있는데 그중에서 사용할만한 것들을 블로그 조사를 통해 선정했다. Korean Language Pack / 한국어 언어 팩 (바로가기) 인텔리제이는 기본적으로 영어를 제공해주고 있는데 해당 플러그인을 통해서 한글 버전을 사용할 수 있다. IDE는 영어로 사용하는게 설정 문제에 있어서 좀더 검색이 수월하기는 하겠지만 그래도 설치해주면 편하다. Atom Material Icons (바로가기) IDE에서 프로젝트 파일들에 아이콘을 추가해서 시각적인 편의성을 증대한 플러그인 이다. CodeGlance Pro (바로가기) 소스코드의 라인이 수백줄이 넘어갈 경우 어떠한 코드에서 문제가 발생한지 확인하기 위한 일..

자바 그리고 자바 스프링 개발자를 하게 되면서 사용하게 되는 IDE는 보통 이클립스 또는 인텔리제이를 흔히 말할 수 있는데 최근 추세는 인텔리 제이 사용을 하는 듯싶다. 개발을 진행하는 데 있어서 자신에게 맞는 개발 환경을 만드는 건 나는 개인적으로는 좋다고 생각했고 다양한 개발자들이 만든 다양한 툴을 사용해서 개발 시간을 단축시키는 건 당연히 효율성에 좋다. 해당 글은 나중에 내가 다시 인텔리제이 설정을 해야 할 때를 위해서 글로 남겨본다. 지금 사용하고 있는 테마는... Monokai Pro Theme (바로가기) 지금 내가 메인으로 사용하고 있는 테마로 댜앙한 테마 중에 제일 깔끔해서 선택했다. 내가 테마를 선택하는 기준은 일단 눈에 보기 편해야 하고 코드의 색상 배치가 좋아야 한다 그래야지 보기 ..

백엔드 부트캠프를 진행한 지 벌써 3개월 지났습니다. 하... 정말 어렵더군요 아 이게 바로 스프링의 맛인가? 아직도 몇개의 부분은 이해가 안 가서 좀 더 복습을 해보고자 생각하고 있습니다. 그래도 배우는 과정을 통해서 스프링의 진가를 알 수 있었습니다. 하지만 스프링을 어느정도 활용이 가능하다고 물어본다면 그건 아니라고 생각합니다. 많이 부족한점을 깨닫고 좀 더 스프링에 대해서 보강하고자 합니다. 그래서 토비의 스프링 책을 구매했고 저번 주 주말에 도착해서 확인 해봤는데 무지막지하게 두껍더군요 그래도 차근 차근 개념을 익혀가고자 합니다. 그리고 인프런에서 김영한 님 스프링 강의를 이미 구매했는데 안 듣고 있었습니다 이것도 들으면서 스프링과 친숙해져야 하겠습니다... Keep 있는가 싶기는 하지만 그래도..

벌써 어느새 두달간의 부트캠프 과정이 끝나간다... 뭐지 왜이리 빠른거지..? 무엇을 배웠는가.. 느끼고 배운점 섹션 2에서는 컴퓨터 공학 지식부터 알고리즘 그리고 스프링의 기초에 대해 학습을 진행했고 이를 통해서 좀더 개발자에 다가갈 수 있다는 느낌을 받을 수 있었다. 코드를 작성하기 위해서는 컴퓨터의 원리에 대해서 알아야 하고 그 컴퓨터의 원리는 바로 컴퓨터 사이언스 즉 CS라고 불리는 지식을 알고 있어야 한다 왜냐하면 언어는 컴퓨터 로직에 우리가 지시를 전달하기 때문이다. 비록 깊은 CS 지식을 공부하지는 못했지만 기본적으로 개발자가 알고 있어야 하고 쓸 수 있는 지식에 대해서 배울 수 있었다 개인적으로는 알고리즘이 꽤나 어려웠다 수학을 잘하지 못했던 아니... 못했던 수포자 이기 때문이다. 컴퓨터..

관점 지향 프로그래밍 (AOP) 스프링에서 핵심관점으로 다루며 또한 객체 지향 프로그래밍 에서의 부족한 부분을 보완하기 위한 목적으로 개발되었다. AOP는 Aspect 라는 것을 기반으로 부가기능을 모듈화 해서 핵심적인 비즈니스 로직에서 분리하여 재사용하는 목적을 가지고 있다. 핵심 기능: 업무 로직을 포함하는 기능들을 의미 부가 기능: 핵심 기능의 로직을 도와주는 부가적인 기능들을 의미 상단의 이미지를 통해 알 수 있는데 AOP는 즉 각 클래스에서 중복되는 코드를 관점으로 나누어서 그 관점을 기준으로 각각의 모듈로 나누는 방식이라 할 수 있을것이다. AOP를 통해 각 관점별로 나누어진 모듈을 통해서 소프트웨어 개발을 한다면 중복되는 코드를 줄일 수 있고 또한 유지 보수 측면에서 크나큰 이점이 생긴다. ..