전체 글

개발에 관련된 학습 내용들을 기록하는 공간입니다.
Spring

javax/xml/bind/ValidationException 예외 발생

최근 Spring legacy project에서 HSQL 기반 Mybatis로 스프링 기초에 대해 학습하던 중 pom.xml에 Mybatis 의존성을 추가하면 javax/xml/bind 관련 예외가 발생하였다. 알고보니 최신 JDK 환경(11이상)은 Java EE(Java Platform, Enterprise Edition) 모듈이 Deprecated되면서 포함되어있지 않아 발생하는 문제였다. 아래 dependency 태그를 pom.xml에 추가하면 정상 작동한다. javax.xml.bind jaxb-api 2.3.0-b170201.1204

Spring

[eclipse] Spring Legacy Project - MVC project 생성하는 법

실행환경 - window 10 최신 개발 환경은 legacy project를 생성하기에 불친절한 부분이 있다. 필자도 Spring legacy project를 생성하기 위해 여러 방법을 시도하였는데, 그 과정에 대해 공유하고자 한다. 개인의 경험을 포스팅한 것이기에, 생략 가능한 과정이나 다른 방법이 존재할 수 있다. STS 설치 우선 이클립스에서 Spring 개발 환경을 구축하기 위해 Spring Tools Suite (aka. STS)라는 플러그인이 필요하다. 플러그인을 설치하기 위해 Help -> Eclipse Marketplace 로 들어간다. 검색창에 STS를 검색하고 Spring Tools Add-On for Spirng Tools을 찾아, Install. 이후 Confirm -> 약관 동의 ..

Language/Principle

객체 지향의 4대 특성

OOP (Object Oriented Programming) - 객체 지향 프로그래밍은 기존의 절차적/구조적 프로그래밍에서 보다 현실세계를 반영하자는 취지에서부터 시작되었다. 우리가 현실세계에서 인지하는 사물, 곧 객체를 인지하는 방식대로 프로그램을 만들자는 것이다. 그것이 객체 지향이고 Java는 객체 지향을 가장 잘 나타내는 언어들 중 하나로 대표되고 있다. 이러한 객체 지향에는 다음과 같은 4가지 특성이 있다. 상속(Inheritance) : 재사용 추상화(Abstraction) : 모델링 캡슐화(Encapsulation) : 정보 은닉 다형성(Polymorphism) : 사용 편의 클래스 : 객체 클래스와 객체에 대한 이야기를 할 때 가장 많이 볼 수 있는 잘못된 예시가 있다. 바로 클래스를 공장..

Language/Java

[Java] 문자열 분리를 위한 StringTokenizer

자바는 문자열을 위한 다양한 클래스가 존재한다. 문자열을 이어 붙이기 위한 StringBuffer / StringBuilder 부터, 문자열 사이나 앞, 뒤에 구분자를 추가해주는 StringJoiner까지 그 종류는 다양하다. 그 중 java.util 의 StringTokenizer 클래스는 문자열을 토큰(token)의 형태로 나누어 처리 할 수 있도록 한다. StringTokenizer 생성자 StringTokenizer의 생성자는 다음과 같이 3가지 종류가 있다. StringTokenizer(String str) - 매개변수로 받은 문자열을 띄어쓰기 기준으로 분리. StringTokenizer(String str, String delim) - 매개변수로 받은 문자열을 두번째 매개변수로 받은 문자를 기..

IDE/eclipse

eclipse(이클립스) - Git hub(깃허브) 연동

깃허브 repository에 이클립스 프로젝트 연동 깃허브 저장소(Repository) 생성. 깃허브에 이클립스 프로젝트를 연동하기 위해 먼저, 새로운 repository(저장소) 를 만들어 줍니다. 프로필 아이콘에서 Your-repository를 누르고 상단 초록색 New 버튼을 클릭. 다음과 같은 화면에서 'Repository name' 탭에 저장소 이름을 입력해주고 옵션을 선택한 후, 초록색 버튼 Create repository 을 클릭. Public / Private = public은 누구나 볼 수 있는 공개 저장소, private는 특정한 사람만 볼 수 있는 저장소 1 - Add a README file = 저장소에 대한 설명을 할 수 있는 README.md 파일을 추가할 것 인지 선택. 2 -..

Language/Summary

I/O

- Input과 Output은 JVM기준으로 실행된다. - java.io 패키지에는 Byte 기반의 데이터를 처리하기위한 Stream(InputStream, OutputStream), char기반의 데이터를 처리하기 위한 Reader, Writer 클래스가 존재한다. - JDK 1.4 부터는 NIO의 등장으로 Buffer와 Channel 기반으로 데이터를 처리하기 시작했다. 기존 방식보다 성능이 좋다. ㆍFile - File 클래스의 객체는 파일, 파일의 경로를 포함할 수 있는 클래스이다. - java7 에서 NIO2가 도입됨에 따라 java.nio.file 패키지의 Files 클래스에서 File 클래스의 메소드들을 대체하여 사용. File은 객체를 생성하여 처리해야하지만, Files 클래스는 모든 메소..

KAispread
기억의 정류장