본문 바로가기

PROGRAMMING

MAVEN(메이븐)의 정의 MAVEN(메이븐)이란 도대체 무엇인가? 메이븐은 라이브러리에 대한 의존 관계를 관리하는 기능 외에도 프로젝트 빌드에 필요한 기능을 지원하는 툴이라고 할 수 있다. maven 공식 사이트(http://maven.apache.org)의 가이드에 따르면 이렇게 나와 있다. At first glance Maven can appear to be many things, but in a nutshell Maven is an attempt to apply patterns to a project's build infrastructure in order to promote comprehension and productivity by providing a clear path in the use of best practic.. 더보기
MVC1 vs MVC2 MVC1과 MVC2의 차이를 말로 설명할 수 있게끔 정리해보고자 포스팅을 할까한다.우선 MVC1과 MVC2의 차이를 논해보기 전에 MVC가 무엇인지 살피고 넘어가자. 1. MVC란?: MVC는 Model, View, Controller의 줄임말이다. MVC는 사용자와 상호작용하는 S/W를 디자인함에 있어 세가지 요소로 쪼개어 하는 것을 가르킨다.1) Model: 모델은 프로그램의 내부 상태, 즉 프로그램의 정보(데이터)를 말하는 것이다. JSP를 통해 예시를 들자면 Bean 안에 있는 정보를 model에 해당한다고 할 수 있는 것이다.2) Controller: 데이터와 비즈니스 로직 간의 상호 작용을 뜻한다. 말 그대로 정보를 조종(control)하는 것이다.3) View: 사용자 인터페이스 요소를 뜻하.. 더보기
IP, subnet, gateway, DNS_기본 용어 정리 공유기를 사용하면서 알게 된 용어에 대해 정리해볼까 한다. 기본적인 내용이라 모두들 알고 있겠지만 나같은 무지인들을 위해 여러 곳에서 본 내용을 엮어엮어 최대한 상세한 정보를 담고자 한다. IP는 Internet과 Protocol이 합쳐진 말이다. 그렇다면 Internet을 먼저 살펴보자. Internet은 이름처럼 [inter + network]이다. 여러 개의 소규모 네트워크들이 연결되어 거대한 네트워크를 이룬 것을 말한다. 가령 학교 전산실에 있는 컴퓨터들을 이더넷(ethernet) 케이블 등을 이용해서 물리적으로 연결하면 소규모 네트워크가 되는데 이를 LAN(Local Area Network)이라 한다. 이 LAN이 또 다른 LAN과 연결이 되고 또 다른 LAN과 연결이 되면서 큰 네트워크에 연결.. 더보기
커넥션 풀(Connection Pool) 오늘은 커넥션 풀에 대한 포스팅을 해볼까 한다. 커넥션 풀이란 무엇일까?'풀'이란 단어를 보니, 수영장 풀이 생각나는 듯하다.그럼 연결...수영장....뭘까? 1) 커넥션 풀: 데이터 베이스와 연결된 커넥션을 미리 만들어서 풀(pool) 속에 저장해 두고 있다가 필요할 때에 커넥션을 풀에서 가져다 쓰고 다시 풀에 반환하는 기법을 의미한다.이렇게 풀 속에 미리 생성되어 있는 커넥션을 가져다가 사용하고, 사용이 끝나면 커넥션을 풀에 반환한다. 2) 커넥션 풀의 특징 - 풀 속에 미리 커넥션이 생성되어 있기 때문에 커넥션을 생성하는 데 드는 연결 시간이 소비되지 않는다. - 커넥션을 계속해서 재사용하기 때문에 생성되는 커넥션 수가 많지 않다. ☞ 커넥션 풀을 사용하면 커넥션을 생성하고 닫는 시간이 소모되지 않.. 더보기
Cygwin에서의 JSP 개발환경 설정. Cygwin이라는 응용프로그램을 이용해 JSP 프로그램을 개발하기 위해 Cygwin의 개발환경설정을 해보도록 하겠다. * Cygwin은 무엇일까?Cygwin은 윈도우 OS에서 컴퓨터 OS가 리눅스인 것 처럼 리눅스의 프로그램/유틸리티들을 사용할 수 있도록 하는 프로그램을 얘기한다. Cygwin에서 JSP를 하기 위해서는 가장 먼저 Cygwin을 다운로드해줘야 하고, 그 다음에는 jdk, tomcat, ant가 필요하다. * 다운로드 사이트 - Cygwin : http://www.cygwin.com/ [미러링 사이트는 빠르다고 생각되는 사이트 선택]- tomcat : http://tomcat.apache.org/ [tar.gz 파일을 다운로드할 것.]- ant : http://ant.apache.org/ .. 더보기
간단정리) tar, cp, mv, alias 명령어 1) 파일 아카이브 : tar * 아카이브 : 파일을 묶어 하나로 만든 것 압축 : 파일을 묶어 하나로 만들고 그 묶은 파일의 용량을 줄이는 것 tar(tape archive) 명령은 원래 여러 파일이나 디렉토리를 묶어서 이동식 저장 장치에 보관하기 위해 사용하는 명령이었다. 현재는 다른 시스템과 파일을 주고받거나, 백업을 하기 위해 여러 파일이나 디렉토리를 하나의 아카이브 파일로 생성하거나, 기존 아카이브에서 파일을 추출하기 위해 사용한다. 기능키 - c : 새로운 tar 파일 생성 - t : tar 파일의 목차 출력 - x : tar파일에서 원본 파일 출력 - r : 새로운 파일 추가 - u : 수정된 파일 업데이트옵션 - f : 아카이브 파일이나 테이프 장치를 지정. 파일 이름을 "-"로 지정하면 .. 더보기
파일 링크 : ln - 하드 링크(Hard Link), 소프트 링크(Soft Link) 유닉스 시스템을 사용할 때, 디렉토리 계층 구조를 따라 들어가고 들어가고 들어가서 실행해야 하는.. 그것도 자주 사용하는 파일이라면 매 번 찾아가기 번거롭다.마치 내가 물건 하나 찾으려면 여기 뒤지고 저기 뒤지고 하지만 엄마에게 물어보면 단 한번에 어디에 있는지 찾아주는 이치! :-) 어쨌거나 오늘은 내가 편하게 유닉스를 사용할 수 있게 도와주는 링크에 대해서 포스팅해보겠다. 우선 링크를 들어가기 전에 i-node에 대해서 알아볼까? * i-node 란????: 파일이 생성될 때 마다 고유의 번호가 주어지는데, 그 번호를 i-node라고 한다.사람들이 각 각 주민번호를 갖는 것과 같이 생각하면 된다. 파일의 목록을 조회하는 ls 명령어에서 -i 옵션값을 주면 i-node를 확인할 수 있다. 1) vi 편.. 더보기
'==' , compareTo(), equals() - 서로간의 차이점에 대해 알아보자 연산자 ==, String 메서드 equals와 compareTo. 이 셋은 모두 비교를 할 때 쓰이는 연산자와 메서드이다. 그렇다면 과연 이 셋의 차이점을 무엇일까? 일단 API를 보며 이 셋을 분석해보자. 1) compareTopublic int compareTo(String anotherString) Compares two strings lexicographically. The comparison is based on the Unicode value of each character in the strings. The character sequence represented by this String object is compared lexicographically to the character seq.. 더보기
잠깐) 보수법 최근 공부를 하다가 음수인 2진수를 10진수로 바꾸는 방법을 몰랐던 일이 있었다. 또잉~그래서 보수법에 관해 질문을 하였고 가르침 받은 토대로 보수법에 관해 정리한 포스팅이다. 보수법(complement) 이란?: 원래 컴퓨터 내부에서 음의 수가 양의 수와 마찬 가지로 계산될 수 있도록 표현하기 위해 고안된 1의 보수가 있었다. 하지만 0이 00000000과 10000000, 이렇게 두가지로 표현되는 문제가 나타났다. 이를 보완하기 위해 1의 보수 후 1을 더해 완성하는 2의 보수법이 나왔고 현재는 1의 보수는 쓰이지 않는다. 컴퓨터는 '1+1 = 2' 라고 인식한다.하지만 '3 - 2 = ' 을 인식하지 못한다. 왜냐하면 (-) 기호 연산자를 지원하지 않기 때문이다.그렇다면 저 식을 어떻게 읽어 내는가.. 더보기
4. 상속(inheritance) 이번엔 상속에 대해 알아보자.상속이 무엇일까? - 상속(inheritance) : 부모가 소유하고 있는 재산의 일부를 자식이 물려받는 것을 말한다. 즉, 클래스를 가져다가 확장해서 새로운 클래스를 만드는 기술. 가져다가 확장? 잘 이해가 되지 않는 분들을 위해 그림을 통해 설명을 하겠다.출처 : 뇌를 자극하는 Java 프로그래밍, 한빛미디어, 김윤명 저 상속을 통해 기존에 있던 클래스를 고스란히 가져와 내가 추가해야 할 부분만 추가하면 클래스가 새로 만들어지는 것이다. 이렇게 상속을 통해 장점이 생기는 것이다. 1) 잘 설계된 클래스를 재사용 가능하다.2) 재사용으로 인해 코드의 간결성이 높아진다.3) 잘 정의된 super 클래스가 있다면, sub 클래스의 작성이 간편해지고 개발 시간이 단축된다. 그렇다.. 더보기