본문 바로가기

Programming

(111)
AWS 란? AWS 란? Amazon Web Services의 약자로서 아마존이 웹을 통해 제공하는 서비스를 통칭하는 말이다. 웹에서 서비스하고 있다고 해서 모든 사람이 서비스 대상은 아니다. 아마존 웹서비스를 사용하는 주 대상은 개발자들이다. 보통 프로그램 개발 시 해당 프로그램을 돌릴 수 있는 장비와 환경들이 필요하게 된다.(Web Server, WAS, DB Server 등)이런 것들을 개인이 구축하려 하면 물리적인 서버장비를 구입하는것부터 시작해서, 서버 장비에 웹서버,애플리케이션 서버, DB등을 설치해야하기 때문에 시간도 시간이지만 노력이 엄청나게 들어가는 작업이다. 그런데 AWS를 사용하게 되면 아마존 사이트에 접속해서 로그인하고,약간의 설정을 통해 이런 작업들을 완료할 수 있다. 그리고 AWS가 더 좋은..
JPA(Java Persistence API)란? JPA(Java Persistence API)란? JPA는 여러 ORM 전문가가 참여한 EJB 3.0 스펙 작업에서 기존 EJB ORM이던 Entity Bean을JPA라고 바꾸고 Java SE, Java EE를 위한 영속성(Persistence) 관리와 ORM을 위한 표준 기술이다. 그렇다면 ORM은 무엇일까?ORM(Object Relational Mapping)이란 RDB 테이블을 객체지향적으로 사용하기 위한 기술이다.RDB테이블은 객체지향적 특징(상속, 다형성, 레퍼런스, 오브젝트 등)이 없고 자바와 같은 언어로 접근하기쉽지 않다. 때문에 ORM을 사용해 오브젝트와 RDB사이에 존재하는 개념과 접근을 객체 지향적으로다루기 위한 기술이다. JPA를 쓰는 이유?먼저 JPA를 제외하고 자바를 통해 DB에 ..
[SpringBoot] 스프링 부트 시작하기 전에 스프링부트를 시작하기 전에 많은 낯선 용어로 어려움을 겪었다. 먼저 스프링부트란 무엇인가?스프링 프레임워크를 사용한 프로젝트를 아주 간편하게 SETUP 할 수 있는 스프링프레임워크의 서브프로젝트이다. WAR파일을 배포할 필요없이 내장된 Tomcat, Jetty, Unertow 를 이용해 실행만 시키면 내장 서버에 배포되어 바로 실행된다.많이 사용하는 라이브러리를 모아놓은 (Starter)POM 파일로 관리가 쉽다.자동설정으로 인해 더 이상 XML 설정이 필요하지 않다. 그렇다면 스프링부트를 왜 사용할까?위에서도 장점을 설명했지만, 기존의 스프링 프레임워크를 이용한 개발 구축은 많은 XML 설정 파일등의 작성량을 요구했다.그래서 잘 만들어놓은 설정파일을 복사해서 사용하거나 검색을 통해 얻은 정보를 그대로 ..
[Spring] 기본 초기 셋팅 Spring을 사용하기 전에 간단한 개발 환경의 설정이 필요하다. 1. JDK 버전의 처리STS를 이용해서 스프링 MVC 프로젝트를 생성하고 나면 JDK의 버전은 1.6버전을 기준으로 생성된다.JDK 1.7 이상의 버전을 사용하고 싶다면 해당 프로젝트의 'Project Facets'를 변경해주어야 한다. 프로젝트를 선택하고 마우스 오른쪽을 이용해서 Properties를 조정할 수 있다. 'Project Facets' 메뉴 조금 위쪽에는 'Java Compiler' 메뉴가 있다. 이를 이용해서 현재 프로젝트의컴파일 환경 역시 같이 확인해주어야 한다. 2. 스프링 프레임워크의 버전 변경스프링 프로젝트를 사용하면 가끔은 스프링의 버전을 개별적으로 설정해야되는 경우가 발생할 수 있다.http://projects..
[Java] 스트링 비교 (equals와 ==의 차이) 기본적으로 자바에서 스트링을 비교할 때 eqauls() 함수 또는 == 식을 이용한다.둘 다 boolean값을 리턴해준다는 공통점이 있지만 차이점이 존재한다. 형태의 차이equals()는 객체끼리 내용(값)을 비교할 수 있는 '메소드'이다.==는 객체의 참조(주소)값을 비교하는 '연산자'이다. 비교방식의 차이앞서 말했듯이 equals()는 내용 자체를 비교하고, ==는 주소를 비교한다.이는 Call By Reference, Call By Value에 대한 이해가 필요하다. 예를 들어, 다음과 같은 문자열을 생성한다.String a = "Test";String b = a;String c = new String("Test"); 변수 a, b, c 모두 "Test"라는 내용을 가지고 있지만, 주소값은 다르다...
Spring Boot(스프링부트)를 왜 사용해야 하는가? 스프링 부트(Spring Boot)는 스프링 프레임워크를 사용하는 프로젝트를 아주 간편하게셋업할 수 있는 스프링 프레임웍의 서브프로젝트다. 스프링 프레임웍은 우리나라에서 국가 표준이므로 대부분의 자바 프로젝트에서 채택하는 명실상부한 1위 프레임웍이다. 개발자가 직접 만들기 힘든 기능들을 아주 맛깔스럽게 빚어놓음으로써 개발자들의 본 업무 외적인 시스템 내부 작업을 아주 간편하게 해결해주고 있다. 그런데 스프링의 다양한 장점에 비해 개발자들의 이해도는 낮은 편이며 남들이 해놓은 것을 가져다수정해서 쓰는 “ctrl-c, ctrl-v” 방식 개발이 현장에는 만연해 있다.또한 스프링을 충분히 활용하려면 초기 셋업부터 중요한데 일반 개발자는 거의 손을 못대는 경우가 많다.진화하고 있는 스프링 프레임웍에 비해 우리나..
[Java] 문자열 자르기 ( split() / StringTokenizer ) Java에서 문자열을 자르는데 사용되는 메소드는 StringTokenizer 와 split 두 가지가 있다. StringTokenizer 로 문자 자르기 예를 들어 다음과 같은 코드가 있다.String str = "학교,집,회사,게임방"; StringTokenizer tokens = new StringTokenizer( str, "," ); for( int x = 1; tokens.hasMoreElements(); x++ ){ System.out.println( "문자" + x + " = " + tokens.nextToken() ); } 결과값은 다음과 같이 나온다.문자1 : 학교문자2 : 집문자3 : 회사문자4 : 게임방 하지만 중간에 문자가 비었을 경우에 문제가 발생한다.예를 들어 다음과 같은 코드가..
[Bootstrap] .row / .col-*-* ※ .row.container 또는 .container-fluid 안에 .row로 행을 만든다. ※ .col-*-*.row안에 .col-*-*로 열을 만든다. 첫번째 * 에는 xs, sm, md, lg 중에 하나를,두번째 *에는 1부터 12까지의 수 중 하나를 작성한다.xs : 항상 적용된다.sm : 가로 해상도 768px 이상에서 적용된다.md : 가로 해상도 992px 이상에서 적용된다.lg : 가로 해상도 1200px 이상에서 적용된다.1 - 12 : 행을 12등분하여 그 중 몇개를 사용할지 지정한다. 예를 들어 .col-xs-6은 항상 행의 크기를 6/12을 가로 크기로 한다는 것이다..col-sm-6은 가로 해상도 768px 이상에서 행의 6/12을 가로 크기로 한다는 것이다.만약 가로 해상도가..