목록Programming (7)
여행을 개발하다
너무 습관적으로만 사용했던 HttpServletRequest 인터페이스에 대해 공부해보았다. 인터페이스명을 그대로 뜯어보면 Http + Servlet + Request인데, Http는 프로토콜, Request는 말 그대로 요청이다. Servlet은 익히 들어왔지만 이의 정확한 의미와 작동 원리는 무엇일까... 본격적으로 HttpServletRequest에 대해 이야기하기 전에 간단하게 정리를 해봤다. 1. Servlet 정확히 말하면 'Java Servlet'을 의미하는데, 자바를 사용하여 동적으로 웹 페이지를 만들어주는 서버 측 프로그램 혹은 사양을 의미한다. (참조 : 위키백과, 검색어 : 자바 서블릿) 일반적으로 불리는 웹 서버(Web Server)는 클라이언트의 요청에 정적인 페이지(Javascr..
제가 앞선 포스팅에서 IDE를 Pycharm으로 사용한다고 말씀드렸습니다. 그래서 간단히 Pycharm을 이용한 Python Project 관리 요령을 공유하겠습니다. 설치가 완료되신 분이라면 바탕화면에서 위와 같은 아이콘을 확인하실 수 있습니다. 'JetBrains PyCharm Community Edition 2017.3.2 x64' (참고로 파이참은 커뮤니티 버전으로 설치하였습니다.) 여기서 'Create New Project'를 선택하여 실행합니다. 사용자가 원하는 이름으로 프로젝트명을 입력하시면 되고, 저의 경우 저장 위치는 찾아보기 쉽게 최상위 폴더인 C드라이브로 지정했습니다. 프로젝트명과, 저장위치가 지정되면 하단의 'Create' 버튼을 누르시면 됩니다. 작업이 완료되면 위와 같은 화면이 ..
JAVA, Python, C, C++, JSP... 여러가지 이름만 들어본 프로그래밍 언어 중에 파이썬을 선택한 이유는 가장 쉽고, 입문어로 적합하다는 후기가 많아서였습니다. 대학 생활 Corpus linguistic이라는 과목을 수강할 때, Perl Script를 다뤄본 적이 있습니다. 그래서 '설치' 과정 자체는 어렵지 않았습니다. cmd 실행, 명령어 'print'는 친숙하게 시작했던 첫 날이었습니다. 앞으로 제가 사용할 파이썬 버전과 IDE입니다. 착오 없으시길. ------------------------------------------------------------------------------------------ * Python version information : Python 3.5..
안녕하세요!! 오늘은 JSP로 파일을 업로드 하는 법에 대해 알아보겠습니다. 모두 웹 상에서 한 번 쯤은 파일을 업로드 해보셨을텐데요. 사용자가 파일을 첨부할 수 있도록 하기 위해서는 어떻게 코딩을 해야 하는지, 차근차근 알아보도록 하겠습니다. 1. 사전 준비 작업 - cos.jar 라이브러리에 추가 파일 업로드를 위해서는 cos.jar이라는 파일을 라이브러리에 추가해야 합니다. 다운로드 링크는 여기에 있어요! Servlets.com 홈페이지에 접속 후, 스크롤을 내리시면 Download 메뉴가 있는데요. 이 압축 파일을 다운로드 받으시고, 압축을 해제해주세요. 그럼 lib 폴더 안에 cos.jar이라는 파일이 있을꺼에요. 이 파일을 jsp 프로젝트의 WEB-INF->lib 폴더에 넣어주시면 됩니다. 2..
안녕하세요!! 오늘의 포스팅 주제는 '인터페이스(Interface)'입니다. 지난 포스팅에서 Java는 다중 상속이 금지되어 있으며, 그 이유를 C++에서 다중 상속 시 발생 우려가 있는 Diamond of Death 현상으로 설명하였습니다. 인터페이스(Interface)는 이러한 Java의 한계점을 보완하기 위해 마련된 기능이라고 보시면 됩니다. 즉, 다른 클래스를 상속 받은 서브 클래스들의 공통점을 추출해서 사용이 가능하도록 돕습니다. 그럼 지금부터 인터페이스의 특징에 대해 알아보겠습니다. 1. 인터페이스(Interface)의 정의 - 무조건 정적(static) 멤버 변수(상수)와 추상 메소드로만 구성되는 클래스의 특별한 형태. C++에서도 '어떤 클래스로부터 상속을 받을지'에 대한 모호성으로 다중 ..
안녕하세요! 오늘 포스팅 할 내용은 'Random 메소드'입니다. 프로그래밍을 할 때, 가끔 정해지지 않은 임의의 숫자가 필요할 때가 있습니다. 게임, 복권 추첨 프로그램을 짤 때가 그 예가 되겠죠? 우리의 다재다능한 Java가 어떻게 이러한 난수를 발생켜주는지 한 번 살펴보도록 하겠습니다. * Random 메소드란? - 한 번 호출할 때마다 0에서 1사이의 난수를 발생시켜 리턴해주는 메소드. - 소속은 math 클래스이다. - 기본 리턴 타입은 double(실수)이다. - 형식 : Math.random() random 메소드를 한 번 호출해보겠습니다. 0.81951429514... 긴 숫자가 출력되네요! 이번엔 한 개가 아니라 여러 개를 출력해보겠습니다. 엄청난 숫자들이 나오네요...ㅎㅎ 그런데 0부터..
안녕하세요! 오늘은 String class의 객체로 생성된 String 자료형을 비교하는 알고리즘에 대해 포스팅하겠습니다. 먼저 String이라는 class로 str1과 str2를 선언하고, 동일하게 "AAA"라는 값을 넣어줍니다. 그리고 str1과 str2가 같으면, "같다"라고 출력하고, 다르면 "다르다"라고 출력시켜보겠습니다. 결과 값은 당연히 '같다'가 나옵니다. "AAA"와 "AAA"는 누가 봐도 같기 때문입니다. 하지만 컴퓨터는 사람과 조금 다르게 인식합니다. 왜냐하면 class로 선언된 변수들의 값은, 변수의 값이 생성되어 있는 주소로 비교를 하기 때문입니다. 결국 위의 예제에서 str1과 str2의 "AAA"는 동일한 메모리에 저장된 것이고, 컴퓨터는 메모리의 주소가 같다는 이유로 "같다"..