이 글을 읽기전에 IP주소의 개념과 네트워크 클래스를 알 필요가 있다. 따라서 이 글을 읽기 전에 링크를 참고하기를 추천한다. [Network]IP주소(IP Address)http://hyoje420.tistory.com/10 [Network]네트워크 클래스(Network Class)http://hyoje420.tistory.com/31 서브넷 탄생배경 클래스 단위로 네트워크를 분류하다보니, 어떤 기업에서는 적은 양의 호스트 주소가 필요한데, B Class 네트워크를 할당받아서 IP주소에 여유가 생기게 되고, 어떤 기업에서는 많은 양의 호스트 주소가 필요한데, C Class 네트워크를 할당받아서 IP주소가 부족해지는 현상이 생기게 된다. 따라서 클래스로만 네트워크를 분류하는 것은 비효율적이라는 결론이 나..
터미널에서 프로그램을 실행시킬 때 가장 큰 장점으로 꼽히는 것중에 하나가 다중 명령어를 사용할 수 있다는 것이다. 이를 잘 사용한다면, 일련의 작업들을 한 줄의 명령어로 작성하여 효율적으로 실행시킬 수 있게 된다. 리눅스에서 여러개의 명령어를 순차적으로 실행시키고자 할 때 구분자를 사용한다. 평소에 세미콜론을 많이 사용했었는데, 구분자의 종류가 여럿 존재하고, 각 구분자마다 특징이 있다는 것을 알았다. 각 구분자들은 현재 실행된 명령어의 성공여부에 따라 다른 동작을 하기도 하며, 앞의 실행결과를 뒤의 명령어의 실행의 데이터로 사용하는 경우도 있다. 아래에서 어떤 종류가 있는지 확인해 보고 각 구분자의 특징들을 짚어보자. 세미콜론(;) 세미콜론으로 각 명령어를 구분하게 되면, 단순하게 하나의 명령어 라인에..
우분투 환경에서 어플리케이션을 설치할때 apt-get 으로 설치가 되는 것도 있지만, 몇몇 어플리케이션들은 tar.gz파일처럼 리눅스 압축파일로 제공되기도 하고, 설치파일이 제공되어서 내가 설치 경로를 지정해 줘야하는 경우가 종종 있다. 그래서 그런 어플리케이션들을 설치할 때 어떻게 하면 좋을지 이 포스트에서 정리해보도록 하자. opt 우분투를 설치하면 루트폴더 아래 opt라는 폴더를 찾을 수 있을 것이다. 이 폴더는 처음에 아무것도 없는 비어있는 상태로 설치된다. 당연히 비어있을 수 밖에 없다. 왜냐하면, 이 폴더는 apt-get으로 제공되지 않는 서드파티 어플리케이션이 설치되는 경로이기 때문이다. 이 컴퓨터에는 위와 같은 어플리케이션이 opt폴더 아래에 설치되어 있다. 아마 저 google이라는 폴더..
3일 정도 웹 페이지 하나를 직접 퍼블리싱해 보았다. 컴퓨터공학부 학생으로써 디자인적인 부분을 다룰 수 있는 기회가 많이 없었는데, JSP공부에 들어가기 전에 이런 퍼블리싱 경험도 큰 도움이 된다고 하여 진행해 보았고, 그 소감을 바탕으로 이 글을 작성한다. 웹 퍼블리싱(Web Publishing) 웹 퍼블리싱이란 웹 디자이너에 의해서 디자인된 웹 페이지를 HTML, CSS, Java Script를 통해 브라우저에서 나타날 수 있도록 웹 페이지화 하는 것이다. 내 생각에 퍼블리싱의 최고 목표는 디자이너의 의도를 잘 이해하여 웹 페이지를 시각적으로 보기좋게 표현하고, 프로그래머가 퍼블리싱 된 페이지를 가지고 프로그래밍을 하기에 편하게 제작하는 것이라고 생각한다. 한마디로 디자인과 프로그래밍의 연결고리가 주..
이 글은 Java와 Tomcat, Eclipse가 정상적으로 설치되어 있다는 것을 바탕으로 작성되었으니 참고하기를 바란다. 처음에 자바를 배울때 나는 단순히 이클립스의 자바 프로젝트만 생성해 왔기에 JSP 프로젝트를 생성하는 방식이 낯설었다. 그래서 나같은 사람이 조금이라도 도움을 받을 수 있을까 하여 이 글을 작성한다. 프로젝트 생성 먼저 프로젝트를 생성해야 한다. 아래의 스크린샷을 확인하면서 따라가 보자. 1. 이클립스의 상단 메뉴에서 [File] - [New] - [Other...] 메뉴를 클릭한다. 2. 프로젝트 생성 창이 나오면 [Web] - [Dynamic Web Project] 를 선택하고 [Next] 버튼을 클릭한다. 이 때 Web 항목이 없다면, Eclipse Java EE가 정성적으로 ..
웹의 전반적인 구조를 알고 있다면, 클라이언트가 서버에게 요청한 페이지를 서버에서 잘 가공하여 다시 클라이언트에게 응답하는 간단한 구조는 알고 있을 것이다. 여기서 어느 측에서 요청을 처리하느냐에 따라서 클라이언트 사이드 스크립트 언어(Client Side Script Language)와 서버 사이드 스크립트 언어(Server Side Script Language)로 나뉘게 되는데, 말 그대로 클라이언트에서 실행되는 스크립트 언어를 클라이언트 사이드 스크립트 언어라고 하고, 서버에서 실행되는 스크립트 언어를 서버 사이드 스크립트 언어라고 한다. 이 중 오늘은 서버 사이드 스크립트 언어들을 비교하는 글을 작성할까 한다. 오늘 비교하려는 언어는 JSP, ASP, PHP, Python으로 현재 대표적으로 많이..
우리가 HTML로 어떤 양식의 데이터를 전송할 때 반드시 다음과 같은 형식으로 form 태그를 달아 주어야 한다. 여기서 우리는 '이 태그 안에 있는 폼 데이터들은 action 속성에 명시된 index.jsp 스크립트 파일에 의해서 method 속성에 명시된 get 방식으로 처리하시오.'라는 말로 받아들일 수 있다. 여기서 항상 궁금했던 부분이 있다. method 속성이다. 이 속성은 get 과 post 이 두 가지를 값으로 가질 수 있다. 그렇다면 각 값을 달리했을 때의 차이점을 알아보도록 하자. GET vs POST 별 생각 없이 긴 글은 post, 몇 개의 짧은 데이터들은 get 방식으로 사용한다고 지금까지 생각했었다. 하지만 문득 겨우 이런 이유로 나눠놨을까? 하는 생각이 들었다. 찾아보니 각 방..
자바에서 문자열을 다루고 싶을 때 우리는 별 의심없이 String 클래스를 사용하곤 한다. 하지만 상황에 따라서 어떤 문자열 클래스를 사용하느냐에 따라 자원을 더 절약할 수 있고, 능률이 올라갈 수 있는 법이다. 따라서 여러 문자열 클래스에 대해 정리해 보도록 하겠다. String vs StringBuffer vs StringBuilder 위 세 클래스는 모두 문자열 클래스이다. 자바에서는 왜 이렇게 다양한 클래스들을 만들어 놓았을까? 각 클래스의 차이점을 아래 코드를 통해 확인해 보도록 하자. public class StringTest { public static void main(String[] args) { String str = new String("Hello"); StringBuffer strb..