목록분류 전체보기 (104)
여행을 개발하다

제가 앞선 포스팅에서 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..

안녕하세요! 오늘은 지난 번 데이터베이스를 생성했던 것에 이어, 관계 데이터 모델의 구조에 대해 포스팅을 하고자 합니다. 관계 데이터 모델이란 자료의 저장 형태를 2차원 구조의 표로 표현한 것을 의미하는데요. 구조에 대해 설명하기에 앞서, 전 포스팅에서 데이터베이스를 생성하는 것부터 이야기했었습니다. 너무 급했다면 급했네요. 그래서 이 참에 관계 데이터 모델의 구조도 함께 살펴보겠습니다. 1. 관계 데이터 모델의 구조 관계 데이터 모델의 구조를 릴레이션, 속성, 튜플, 테이블 등으로 나누어서 살펴보겠습니다. 다음과 같은 표가 있다고 가정하겠습니다. Student라는 이름을 갖고 있고, 세부적으로는 idx, name, phone, major, address, gender등의 여러가지 컬럼(Column)으로..

안녕하세요!! 오늘 포스팅 할 내용은 '관점 지향 프로그래밍(Aspect-oriented programming, AOP)'입니다. 그 중에서도 xml 파일을 이용하는 방식으로 해볼껀데요. 지금까지는 고유한 기능을 가지고 있는 클래스, 인터페이스의 객체들을 조합하여 프로그램을 만드는 '객체 지향 프로그래밍(Object Oriented Programming, OOP)'이 주였지만, 트랜잭션이나 로그처럼 반복되는 중복 코드가 여전히 발생한다는 한계점이 있었습니다. 이러한 한계점을 보완하기 위해 고안된 방식이 '관점 지향 프로그래밍, AOP' 입니다. 1. AOP, Aspect-oriented programming? - 객체 지향 프로그래밍에서 여전히 중복 코드(횡단 관심사)가 발생한다는 단점을 해결하기 위해 ..

안녕하세요!! 오늘은 Java Class를 사용하여 Bean을 생성하는 법에 대해 알아보겠습니다. 지난 시간까지는 별도의 xml 파일을 따로 만들었지만, 이번에는 Java Class 그 자체로 해결할 수 있는 방식을 소개합니다. 역시 어떤 방식을 사용할지는 자유롭게 선택하시면 됩니다. 이번에 소개하는 방식은 별도의 xml 파일을 사용하지 않으므로, 모든 것을 class로 해결합니다. 먼저 3개의 class를 생성할 예정이며, 목록은 다음과 같습니다. 1. 학생 정보를 기억할 class(class 이름 : student). 2. student의 객체, 즉 bean 역할을 할 class(xml 파일 대신 사용). 3. bean을 호출하여 출력할 Main class. ① 학생 정보를 기억할 class(clas..

안녕하세요!! 오늘 포스팅할 내용은 'c와 p namespace를 사용하여 bean을 초기화'하는 방법입니다. 지금까지 의존성 주입을 주제로 이야기를 해오고 있는데, 결국 방법의 차이일뿐 결과는 동일합니다. 결국 사용하기 가장 편하신 방법으로 코딩하시면 되겠습니다! 1. Namespaces 추가하기 c와 p namespace를 사용하기 위해서는 일련의 사전작업이 필요한데요. factory 클래스로 지정한 xml 파일의 하단 부분을 보시면, 'Namespaces'라는 탭이 있습니다. 저희는 지금까지 Source 탭에서 작업을 해왔던거구요! Namespaces를 탭을 클릭해서 들어가면, 다음과 같이 여러 종류의 namespace가 리스트업됩니다. 이중에서 c와 p에 체크해주시고, 'ctrl+s'를 눌러 저장..

안녕하세요! 오늘은 지난 포스팅에 이어 '멤버 변수로 ArrayList가 포함된 객체를 초기화하는 방법'과, '생성자로 초기화하는 방법'에 대해 알아보고자 합니다. 이해가 조금 어려우시다고요? 지난 번 임의로 student 클래스를 만들어서 예제를 보여드렸었는데, 여기서 추가로 한 학생의 '취미(hobby)'까지 멤버 변수로 넣는다고 가정하겠습니다. 물론, 취미는 한 개이면 다행이지만, 그렇지 않을 경우를 상정해서 여러개를 받도록하죠. 그래서 변수 또한 ArrayList 자료형이 되고요, 변수명은 간단히 'hobby'로 지정합니다. 멤버 변수 초기화도 setter 대신에 생성자로 초기화할 수 있도록, 기본 생성자와 함께 또다른 생성자를 하나를 더 만들어주었습니다. 여기까지 완료되었다면, 기존에 해왔던 방..

안녕하세요! 오늘은 '스프링의 개요'와 '의존성 주입(Dependency Injection)'에 대해 알아보겠습니다. 1. 스프링 프레임워크(Spring Framework) 스프링은 자바 플랫폼을 위한 '오픈소스 애플리케이션 프레임워크(Framework)'입니다. 여기서 프레임워크란, 소프트웨어를 편리하게 제작할 수 있도록 뼈대를 이루는 클래스와 인터페이스를 미리 제작하여 모아둔 것을 의미하는데요. 프레임워크를 적시적소에 사용하면 프로그램 개발의 생산성이 올라가며, 품질이 향상된다는 장점이 있습니다. 하지만 익숙해지는데 시간이 소요된다는 것이 결국 유연성의 부족으로 이어진다는 단점도 있습니다. 스프링은 프레임워크의 일종으로 여러 클래스의 객체를 생성해주고, 조립해주는 '조립기' 역할을 합니다. 또한 크기..