BackEnd 8

Java Garbage Collection

현재 배포하고있는 Spring Project에서 GC관련 이슈가 발생하여 이를 해결하기 위해 GC에 대해 정리합니다. Garbage CollectionGarbage Collection은 더 이상 유효하지 않은 주소(Dangling Pointer)를 정리해주는 프로그램을 의미합니다.JVM 상에서 Java Application을 실행하다보면 주소를 잃어버려서 사용할 수 없는 메모리가 생긴다. 이를 Garbage라고 하는데, 이 메모리들은 사용하지는 않지만 메모리에서 공간을 차지하고 있게 됩니다. 이 공간을 다시 사용할 수 있도록 해소해주는 역할을 하는 것이 Garbage Collection입니다.Stop-the-world말그대로 Garbage Collection을 실행시키기 위해, JVM에서 돌고있는 Jav..

BackEnd 2019.09.20

토비의 스프링 STS 환경설정

토비의 스프링 3.1을 학습하기 전에 예제를 따라하기 위해 Windows OS에서 Spring 개발환경을 구축해보려고합니다.STS 다운로드구글에 STS로 검색합니다.제일 상위에 표기되는 Spring Tools 4를 클릭합니다. 원하는 IDE를 선택하여 다운로드합니다.저는 주로 사용하고있는 IDE인 Eclipse를 사용하기위해 Spring Tools 4 for Eclipse를 다운로드 하겠습니다. VS Code에서 사용을 원하시는 분은 VSCode에서 Spring시작하기 게시물을 참고해주시면 갑사하겠습니다.다운로드된 spring-tool-suite-4-4.3.1.RELEASE-e4.12.0-win32.win32.x86_64.zip의 압축을 풀고 sts-4.3.1.RELEASE 내부의 SpringToolSu..

BackEnd/Spring 2019.08.07

Spring Controller 메소드 리턴타입 정리

스프링의 @Controller에서 @RequestMapping 어노테이션을 사용할 경우, 대표적으로 ModelAndView, String 등 여러가지 타입으로 정의할 수 있다. 0. 설정 1. application.properties spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp view를 /WEB-INF/jsp/ 내의 .jsp파일로 지정하였다. 2. Host, Port http://localhost:8080 1. ModelAndView @Controller public class HelloController { @RequestMapping("/hello") public ModelAndView hello() { ModelAndView ..

BackEnd/Spring 2019.03.08

VS code에서 Spring 시작하기

VS code에서 Spring 시작하기 드디어! VS code에서도 Spring Tools 4 를 사용할 수 있게 되었습니다! Eclipse 환경에서만 개발을 하곤 했는데 Spring을 사용할 수 있는 곳이 Atom과 VS code가 늘어 선택의 폭이 넓어졌습니다. 저는 오늘 Window10 64bit 환경에서 VS code를 사용하여 Spring의 개발환경을 구축해보려 합니다. JAVA_HOME 설정 Spring Tools는 JDK를 필수로 합니다. 2019년 이후, Java의 라이센스 문제가 생겼기 때문에 우선 OpenJDK를 사용하여 JAVA_HOME 설정을 하려 합니다. OpenJDK8 다운로드 https://github.com/ojdkbuild/ojdkbuild 으로 이동합니다. 하단의 Read..

BackEnd/Spring 2019.03.02

제어의 역전 (IoC)

제어의 역전? 제어의 역전( IoC : Inversion of Control )라는 말을 이해하기 위해서는 '제어의 역전'에서 의미하는 제어가 무엇인지, 그리고 이를 왜 역전시키는지에 대해 알아야합니다. 어떤 프로그램을 만들 때, 각 기능들을 만들어 두더라도 이 기능들이 필요에 따라 순서대로 작동하지 않는다면 그 프로그램은 제대로 작동할 수 없습니다. 따라서 각 기능들이 순서대로 작동하게 하기 위해서 제어(Control)가 필요합니다. 위에서 이야기한 제어할 항목들이 적다면 프로그래머가 기능의 순서를 알고 관리할 수 있습니다. 하지만 기능들이 늘어나서 수천, 수만개의 제어할 항목들이 생긴다면 이를 관리하는 것은 불가능에 가까워집니다. 따라서 이 제어를 프레임워크가 관리 하는 것을 역전(In..

BackEnd/Spring 2019.01.28

STS 설치하기

STS 설치 구글에 spring tool suite 검색 후, Tools-Spring을 눌러 Spring 사이트로 이동합니다. 자신의 개발환경에 맞는 STS 다운로드합니다. 다운로드 한, spring-tool-suite-3.9.3.RELEASE-e4.7.3-win32-x86_64.zip 을 원하는 디렉토리에 넣고 압축을 풀어줍니다. ( D:\tobyspring 에 압축을 풀고 진행하였습니다. ) D:\tobyspring\sts-bundle\sts-3.9.3.RELEASE 로 이동, STS.exe 실행 원하는 경로를 선택 후, [Launch] 버튼을 누릅니다. ( workspace 폴더를 생성하여 소스코드를 관리하는 것이 좋습니다.) 실행화면을 확인합니다. MAVEN Spring, jdbc, junit, ..

BackEnd/Spring 2019.01.27

iBatis vs MyBatis

Apache project 팀에서 google code 팀으로 이동하면서 명칭이 변경. 01. MyBatis란? [MyBatis 설명] 개발자가 지정한 SQL, 저장프로시저(쿼리의 집합) 그리고 몇가지 고급 맵핑을 지원하는 퍼시스턴스 프레임워크이다. MyBatis는 JDBC(Java DataBase Connectivity)로 처리하는 상당부분의 코드와 파라미터 설정 및 결과 맵핑을 대신해준다. MyBatis는 데이터베이스 레코드에 원시타입과 Map 인터페이스 그리고 자바 POJO를 맵핑하기 위해 XML과 애노테이션(참조링크 참조)을 사용할 수 있다. [MyBatis 특징] 간단하다 생산성 : 코드의 양이 줄고 설정이 간단하다. 성능 : 데이터 접근 속도를 높여주는 Join 맵핑을 한다는 구조적 강점이 있..

BackEnd/Spring 2019.01.14