본문 바로가기

전체 글101

[DB] 관계형 데이터베이스 JOIN (LEFT JOIN, INNER JOIN, FULL JOIN, EXCLUSIVE JOIN) 개념정리 및 사용방법 1. JOIN이란 두개 이상의 테이블을 결합하여 데이터를 검색하는 방법입니다. 자신이 검색하고 싶은 데이터가 한개의 테이블이 아니라 여러개의 테이블에 나누어져 있다면 각테이블의 컬럼을 한개씩 가져와서 그 컬럼을 접점으로 이용하여 여러 테이블에 나누어져 있는 데이터를 한번에 검색하는데요 보통 접점으로 사용하는 컬럼은 Primary Key 혹은 Foreign Key로 두 테이블을 연결합니다. 물론 두 컬럼을 접점으로 비교하기 위해서는 같은 데이터타입을 사용하는 컬럼이어야 하는 것은 당연합니다. 그렇다면 왜 데이터를 한개의 테이블에 넣지 않고 두개의 테이블에 나누어서 넣은 후에 Join이라는 과정을 거쳐서 데이터를 가져오는지 생각해 볼 필요가 있습니다. 아래의 테이블을 게시판의 DB테이블이라고 가정을 하고 생.. 2019. 7. 14.
[Eclipes] 이클립스의 유용한 단축키 모음정리 1. 검색관련 기능 Ctrl + H : 메소드 또는 클래스 호출위치 찾기 Ctrl + K : 다음검색 Ctrl + Shift + K : 이전검색 Ctrl + Shift + R : 리소스 찾기 2. 문자열의 이동관련 기능 Alt + Up & Down : 문자열의 이동 Ctrl + D : 줄 삭제 3. 디버깅 관련 기능 F5 : Debug 라인 단위로 실행(함수 내부로 들어감) F6 : Debug 라인 단위로 실행 F8 : Debug 계속 진행 F11 : 디버깅 시작 2019. 7. 13.
[Oracle] 오라클 sql문에서 NULL값을 원하는 값으로 치환하는 함수 NVL, NVL2 1. NVL, NVL2 함수란? DB를 사용하다보면 특정값의 결과가 NULL일경우 원하는 값으로 치환을 하고 싶은 경우가 있습니다. 이때 사용하는 함수가 NVL, NVL2입니다. 물론 NVL, NVL2 대신에 DECODE를 이용해서 치환도 가능하지용도에 맞는 명시적인 함수를 사용하는게 더 좋을것입니다. 2. NVL 함수 사용방법 NVL함수는 값이 NULL일 경우 지정한 값으로 출력합니다. - NVL("값", "지정값") SELECT NVL('NULL이 아닙니다', 'NULL값 입니다') AS "결과" FROM DUAL; SELECT NVL(NULL, 'NULL값 입니다') AS "결과" FROM DUAL; 3. NVL2 함수 사용방법 NVL2함수는 값이 NULL일 경우 지정값2로 출력하고 NLL이 아닐경.. 2019. 7. 13.
[Oracle] 오라클 sql문에서 특정값을 치환하는 함수 Replace 1. Replace 함수란? Replace함수는 DB에서 어떤 값을 출력할때 개발자가 출력값 내에 존재하는 특정 문자열을 원하는 문자열로 1:1 치환하는 함수입니다. 기본적으로 DB인 Oracle에서 지원하는 함수이기 때문에 바로 가져다 사용하시면 되는데 대부분의 관계형데이터베이스의 sql문에서 공통적으로 사용되기 때문에 Oracle외에도 다른 곳에서도 사용이 가능합니다. 2. Replace 함수 사용방법 사용방법은 너무나 간단합니다. 아래에 적힌 쿼리문처럼 3가지의 파라메타를 입력해 주면됩니다. REPLACE('수정할 값', '검색할 문자열', '치환할 문자열') AS "결과" FROM DUAL; 아래의 예시를 통해서 한번 살펴보겠습니다. SELECT REPLACE('I Love You',' ', ''.. 2019. 7. 11.
<JAVA>메모리 사용용량 체크하기 자바 개발을 하다 보면은 내가 작성한 코드가 어느정도의 메모리를 사용하는지 확인해 보고 싶은 상황이 있다. 이때 사용하는 메모리양을 체크할 수 있는 코드를 작성해 보았다. 참고로 기본으로 리턴되는 메모리 용량단위는 byte이다. package main; public class MainClass { public static void main(String[] args) { // Garbage Collection으로 메모리 초기화 System.gc(); // 실행전 메모리 사용량 조회 long before = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); // 측정하고싶은 코드 int j = 0; for(int i=0; i 2019. 6. 8.
<JAVA> 코드 실행 시간 측정하기 System.currentTimeMillis() 자바 개발을 하다보면은 내가 작성한 코드가 실행되는데 걸리는 시간이 궁금할 때가 있다. 이때 사용하는 함수를 알아보자. 참고로 시간의 단위는 ms이다. package main; public class MainClass { public static void main(String[] args) { long start = System.currentTimeMillis(); // 시작하는 시점 측정 // 측정하고싶은 자바 로직 작성 int j = 0; for(int i=0; i 2019. 6. 8.
[Java] 접근 지정자 - private, public, protected, default 1. 접근 지정자란? 접근 지정자는 클래스혹은 클래스내의 멤버앞에 붙어서 다른 클래스의 접근을 제한하는 역할을 한다. 대표적으로 private, public , protected, default가 있다. 2. 접근지정자별 접근 권한 ● public : 모든 접근을 허용. 어떠한 클래스가 접근을 하든 모두 허용. ● protected : 상속받은 클래스 또는 같은 패키지에서만 접근이 가능. ● default : 기본 제한자로써 아무것도 붙지 않고, 자신 클래스 내부와 같은 패키지 내에서만 접근이 가능. ● private : 외부에서 접근이 불가능. 즉, 같은 클래스 내에서만 접근이 가능. 한정자 클래스 내부 동일 패키지 상속받은 클래스 그 외의 영역 public ● ● ● ● protected ● ● ● .. 2019. 6. 2.
Session 사용방법, 개념 1. Session이란? Session은 클라이언트의 정보가 서버에 저장되는 공간을 말한다. 클라이언트가 서버에 접속하면 클라이언트마다 고유의 Session공간이 생기는데 이 영역에 클라이언트의 정보를 저장하여 필요시에 사용하는데 주로 로그인정보를 담아 특정페이지로 이동시 해당페이지의 열람권한이 있는지 없는지 여부를 세션에 저장된 아이디값을 가져와 체크를 하는데 사용한다. 2. Session 사용방법 Session은 HttpServletRequest객체에서 얻어올 수 있다. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession.. 2019. 6. 2.
[Spring] 에서 Mybatis 세팅 및 설정하기 1. Mybatis란 무엇일가? Mybatis는 일종의 DB프레임워크 입니다. Mybatis를 사용함으로써 얻는 장점은 다음과 같습니다. - 코드의 길이가 줄어든다 - 작업 분배에 도움이 된다 - 기능별로 구분되어 관리되기 때문에 유지보수에 도움이 된다 - SQL문이 애플리케이션 소스 코드로부터 분리하여 관리된다 - 어떤 프로그래밍 언어로도 구현이 가능해진다(높은 이식성) - 무료이다... 2. Mybatis Spring프레임워크에 설정하기 Spring에 Mybaits를 설정하기 위해서는 우선 Pom.xml에 dependency를 추가하여 라이브러리를 받아야 합니다. Mybatis뿐만 아니라 별도의 jdbc와 연관된 라이브러리들도 같이 받아야 하는데요 아래의 내용들을 pom.xml에 추가만 하면 되기 때.. 2019. 5. 19.
[Xml]이란 무엇일까 XML개념정리 1. Xml이란 무엇일까? XML(eXtensible Markup Language)은 해석하면 확장 마크업 언어라는 뜻을 가지고 있다. 이렇게 설명하면 어려울 테니 좀더 풀어서 이야기 해보자면 주고받는 데이터를 보기좋게 기술하기 위한 마크업 언어라고 생각하면 된다. 만약 우리가 신세계라는 영화의 정보인 제목, 점수, 평론, 좋아요 횟수등의 여러가지 정보를 전달할 때 [신세계, 95, 평론좋음, 53234] 식으로 데이터를 보낸다면 그렇게 보기좋은 형태의 데이터는 아닐 것이다. 이 때 XML을 통하여 해당 데이터를 보기 좋게 기술을 하는데 그 예시는 아래의 소스 코드와 같다. 신세계 95 매우 좋음 12022 범죄와의 전쟁 85 보통 11011 위의 코드에서 사용한 , 과 같은 태그들은 실제로 사용가능한 .. 2019. 5. 19.
<Servlet>이란 무엇일까? 서블릿 개념정리 1. Servlet 이란? 웹의 시대가 오면서 사람들은 고민하기 시작했다. Java로 웹을 개발할 수 없을까? 라고 말이다. 초창기의 Java는 웹개발을 염두해두고 만든 언어가 아니기 때문에 웹을 개발할 수가 없었다. 그래서 J2EE라는 것이 등장했다. 쉽게 말해 웹을 개발할 수 있도록 업그래이드 된 자바의 기능들 이라고 생각하면 된다. 이렇게 등장한 J2EE의 기술중에 한가지가 Servlet이고 그 외에도 JDBC등등이 있다. J2EE를 통해 등장한 Servlet은 url주소를 맵핑하여 웹 브라우저에서 url주소로 자바의 클래스 파일을 호출 할수 있게 만들었고 이렇게 호출된 Servlet이라는 자바클래스는 자바로 짜여진 코드를 브라우저가 이해할수 있는 html로 변환하여 브라우저에게 전달해서 우리가 보.. 2019. 5. 18.
[서브넷 마스크 - Subnet Mask]란 무엇일까? 개념정리 - 미완성 1. 서브넷 마스크(Subnet Mask)란? 2. 2019. 5. 18.