
CTRL + SHIFT + R : 파일 찾기(Open Resource) 원하는 파일을 찾기 위해서 Project Explorer나 Package Explorer의 트리를 사용해서 찾을 수도 있지만, 폴더와 파일이 많으면 빨리 찾기가 쉽지 않습니다. 파일 이름을 어느정도 알고 있다면 단축기 CTRL + SHIFT + R 키를 눌러 Open Resource 창을 열고 파일 이름의 전부 또는 일부를 타이핑하여 쉽게 원하는 파일을 찾을 수 있습니다. 문자에 * 을 넣으면 포함하는 임의의 모든 파일들을 조회 할 수 있습니다. CTRL + SHIFT + O : Organize Imports 파일내의 import 문장을 재구성 합니다. 필요없는 import는 제거하고 필요한 import는 자동으로 삽입합니다.

Gabage Collection, 줄여서 약어로 GC라고 부른다. 영어로 그대로 읽어서 가비지 컬렉션이라고 부릅니다. 메모리 관리 방법 중에 하나로, 말그대로 안쓰는 쓰레기(자원)를 수집(회수)한다고 생각하면 됩니다. 시스템에서 더이상 사용하지 않는 동적 할당된 메모리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 것으로 시스템에서 가비지 컬렉션을 수행하는 부분을 가비지 컬렉터라고 부릅니다. 가령 C언어는 개발자가 메모리를 할당한(malloc) 뒤 수동으로 해제(free) 작업을 직접 관리하여야 한다. 그래서 메모리를 할당해 놓고 필요없어진 뒤에도 해제를 안하는 일 등이 생겨서 메모리 누수가 생기거나 거꾸로 해제했던 메모리를 다시 사용하는 실수등 버그가 생기게 된다. 하지만, 가비지 컬렉션 기..

Java에서 문자열을 다루는 대표적인 클래스로 String, StringBuilder, StringBuffer가 있습니다. 이 세가지 클래스 모두 문자열을 저장하고 관리하는 클래스이며 연산이 많지 않을때에는 이 중 어떠한 클래스를 사용해도 이슈가 발생할 가능성은 거의 없습니다. 각 클래스의 특징에 맞게 상황에 따라 적절하게 사용해주면 됩니다. | String VS StringBuilder / StringBuffer String은 immutable(불편)하고 StringBuilder,StringBuffer는 mutable(가변)하다는 차이로 나눌 수 있습니다. HelloWorld 라는 문자열을 예시로 보겠습니다. HelloWorld 라는 문자열을 만들기 위해 먼저 할당된 'Hello' 문자열을 생성했다고 ..

String 문자열에서 원하는 특정 문자들을 잘라서 사용해야 할 때가 자주 있습니다.이번 포스팅은 이런 문자열을 자르는 방법들에 대해서 알아보겠습니다. substring() - 특정 인덱스를 기준으로 자른 문자열을 반환📄substring(int index) - index부터 문자열 끝까지 문자열을 리턴(String)📄substring(int beginIndex, int endIndex) - beginIndex 부터 endIndex전까지 문자열을 리턴(String)String으로 구성된 문자열은 기본적으로 char형태의 한개의 문자를 여러개로 구성한 형태인데이러한 String을 특정 index를 중심으로 자르는 방법으로 substring() 메소드를 사용합니다. subString은 특정 인덱스의 숫자를..

이번 포스팅은 실무에서 주로 날짜 데이터를 다룰때가 있는데 그때마다 주로 사용하는 방법들을 정리해보려고 합니다. 1. 경과된 밀리세컨드(millisecond)를 현재시간에서 빼기1234567891011// millisecond 값이 String으로 주어졌을때 // 2412716459밀리세컨드 만큼의 값이 흘렀을 때 현재시간에서 밀리세컨드를 뺀 날짜를 구하기String strMilliSeconds = "2412716459";Long MilSeonds = Long.parseLong(value.toString()); Date nowDate = new Date(); long wantMilSecs = nowDate.getTime() - MilSeonds; Date wantDate = new Date(wantMil..

Project Explorer > Link with Editor 선택 (그림 빨간영역)파일을 선택하면 프로젝트에 파일들을 자동으로 펼쳐서 해당파일이 선택됩니다!

데이터를 받는 방식인 동기와 비동기. 이 둘의 개념과 차이에 대해 알아보겠습니다. 동기 (Synchronous : 동시에 일어나는)동시에 일어난다는 뜻이다. 요청과 그 결과가 동시에 일어난다는 약속이다.바로 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 한다.요청과 결과가 한 자리에서 동시에 일어난다.장점 : 설계가 매우 간단하고 직관적단점 : 결과가 주어질 때까지 아무것도 못하고 대기해야 한다. 비동기 (Asynchronous: 동시에 일어나지 않는)동시에 일어나지 않는다를 의미한다. 요청과 결과가 동시에 일어나지 않을 것이라는 약속이다.요청한 그 자리에서 결과가 주어지지 않는다.노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다.장점 : 결과가 주어지는데 시간이 걸리더라도 ..

이번에는 DB를 좀 더 쉽게 다루기 위해서 SQLyog를 다운받고 DB테이블을 생성해보도록 하겠습니다. sqlyog.softonic.kr/download SQLyog 그래픽 인터페이스를 사용하여 MySQL 데이터베이스 관리 용이성 sqlyog.softonic.kr 링크를 통해 SQLyog를 다운받습니다. 설치가 완료되면 이전 포스팅에 설치했던 MariaDB를 연결합니다. 연결 테스트가 성공되면 연결을 통해 접속을 합니다. 로컬호스트에 우측클릭을 하여 데이터베이스를 생성합니다. 생성후에 게시판 테이블과 회원정보 테이블을 생성해 주도록 합니다. 게시판 테이블 DDL CREATE TABLE BOARD( BNO INT NOT NULL AUTO_INCREMENT,-- 게시판 고유 번호 (자동증가) TITLE VA..

단일 컴포넌트 # 전역수준 컴포넌트 문제점 컴포넌트 관리가 어렵고 재사용성이 낮아진다. 빌드 단계가 없으므로 ES2015, TypeScript와 같은 최신 버전 자바스크립트 문법을 사용할 수 없다. (ES 2015 전 문법 작성만 가능) CSS를 지원하지 않는다. 컴포넌트들은 고유한 스타일 정보를 포함하는 경우가 많으나, 전역 컴포넌트에서는 CSS 스타일을 빌드하고 모듈화하는 기능을 제공하지 않는다. css를 방식이 아니라 모듈 처럼 참조(import)할 수 없다. → 모듈 처럼 사용할 경우 빌드 거치면 자체적으로 link 태그를 만든다. 컴포넌트들의 템플릿이 작성될 때, HTML 파일 안에 여러 개의 태그가 작성되어 식별하기 어렵다. 또한 템플릿마다 고유한 ID를 부여하고 컴포넌트들도 고유한 이름을 지..

스프링으로 게시판을 만들어보는 포스팅을 작성해보려고 합니다. 최종적인으로 완성 형태는 Vue, Spring, MariaDB을 사용한 형태로 완성하려고 합니다. 일단 이전 포스팅에서 작성한 프로젝트를 기반으로 사용합니다. Lombok을 사용하여 Java 개발시에 자주 사용되는 getter/setter, toString(), 생성자등을 변수를 선언한 것만으로도 자동으로 생성해줘서 코드를 줄이는데 유용합니다. Lombok 다운로드는 http://prprojectlombok.org/에서 jar 파일 형태로 다운 받을수 있습니다. 받은 lombok.jar를 실행킵니다. Quit Installer 눌러서 설치를 해주세요 이제 pom.xml에 lombok의 라이브러리를 추가해주고 Log4j 라이브러리는 1.2.15로..

자바에서 데이터의 객체 타입이 뭔지 비교가 필요하여 해당 객체가 어떤 객체인지 파악할 때가 있어서 사용을 해봤습니다. 예시는 객체 데이터의 값이 어떤 객체인지를 확인하기 위한 예제입니다. // 키 값이 String, 값이 Object인 dataMap이 있다고 가정합니다. Map dataMap = new HashMap(); // dataMap에 첫번째는 String, 두번째는 Boolean 세번째는 Int 값을 넣습니다. dataMap.put("first", "StringValue"); dataMap.put("second", true); dataMap.put("third", 3); // for 문으로 각각의 키값 반복문을 통하여 값에 따른 객체의 형태를 알아봅시다. for (String key : data..

지난번 프로젝트를 실행하면 Hello world와 현재 시각이 나오는데 한글부분이 깨져서 ?로 나오는 것을 확인할 수 있습니다. 이 부분을 UTF-8로 변환하여 한글로 나오게 처리합니다. 프로젝트를 선택한 후 Project > Properties로 들어갑니다. Resource > Text file Encoding에서 Other을 클릭하여 UTF-8로 바꿔준 후 Apply and Close하여 적용합니다. Window > Preferences로 들어가서 General > Workspace에 들어가서 똑같이 UTF-8로 설정해줍니다. 그 후 프로젝트를 클릭해서 src > main > webapp > WEB-INF > web.xml에 들어가가서 source를 클릭합니다. 그럼 다음과 같은 서블릿 관련 xml파..