인텔리제이(IntelliJ)에서 이클립스(Eclipse)처럼 워크스페이스(Workspace)에 여러 개의 프로젝트를 생성하는 방법을 알아보도록 하겠습니다. 우선 설명에 앞서 인텔리제이와 이클립스에서의 용어와 개념 차이에 대해 먼저 이해해야 하기 때문에 설명드리도록 하겠습니다. 다음 표는 인텔리제이와 이클립스에서의 용어 차이입니다. 인텔리제이에서 프로젝트는 이클립스의 워크스페이스라고 생각하시면 되는데 용어적인 차이점일 뿐 주의하셔야 합니다. 이클립스의 워크스페이스 같은 경우 하나의 디렉토리라고 생각할 수 있지만 인텔리제이의 프로젝트는 하나의 프로젝트 개념으로 생각해야 합니다. 즉, 이클립스의 프로젝트처럼 코드를 작성하고 컴파일할 수 있는 하나의 프로젝트입니다. IntelliJ IDEA Eclipse Pro..
시작하기에 앞서.. 해당 포스트에서는 스프링에 대한 이론적인 설명은 작성하지 않았습니다. 이론적인 부분은 훌륭한 참고 서적이 많기 때문에 해당 서적을 구입하여 반복적으로 학습하는 것을 추천해 드립니다. 저와 마찬가지로 많은 초보자가 스프링 설정에서 많은 어려움을 겪는다고 생각하여 제가 공부하고 설정한 방식을 최대한 자세하게 작성하는 데 집중하였습니다. 개인적으로 이론은 한 번에 익히지 못할뿐더러 직접 코드를 작성해가면서 이해하는 것이 가장 효과적이라고 생각합니다. 하지만, 소스 코드를 작성하기도 전에 설정 부분에서 막혀버리면 생각보다 큰 좌절감이 다가옵니다. 코드 한 줄이라도 작성해볼 수 있도록 프로젝트 생성과 설정 방법에 관해 설명하였습니다. [포스트에서 사용된 환경] - 운영체제: macOS Moja..
macOS에서 오라클 데이터베이스(oracle database)를 사용하기 위해서는.. 맥 OS에서 오라클 데이터베이스를 사용하기 위해서는 도커(docker)를 이용해야 합니다. MySQL처럼 바로 설치하여 사용할 수 있으면 좋겠지만 macOS에서는 지원을 하지 않기 때문에 도커를 이용해서 Oracle Database 환경을 설정해야 합니다. 도커와 오라클 데이터베이스에 대한 자세한 내용은 추후에 포스팅을 통해 설명드리도록 하겠습니다. 이번 글에서는 macOS에서 오라클 데이터베이스를 이용해야 하는 초보자를 위한 글이기 때문에 도커를 이용해서 설정 방법에 대해 자세하게 설명하도록 하겠습니다. 오라클 데이터베이스를 설치하기에 앞서 도커(Docker)를 실행시켜주세요. 도커 설치가 안되신 분은 macOS 도..
도커를 사용하게 된 이유는..? 먼저 도커에 대해 간단하게 설명하자면 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 도커 컨테이너는 서버에 설치되는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 설치하여 실행 환경에 상관없이 동일한 환경을 제공해줍니다. 개념에 대한 자세한 내용은 다른 참고 자료를 통해 공부하시는 것을 추천해 드립니다. 제가 도커를 처음 쓰게 된 이유는 macOS 환경에서 Oracle Database를 사용해야 되는 상황이 생겨 Docker를 이용하게 되었습니다. MySQL처럼 macOS에 직접 설치하여 사용할 수 있으면 좋았겠지만 정보를 찾아보니깐 Oracle DB의 경우 macOS에서 직접 설치는 할 수 없고 도커를 이용한 방법밖에 없었습니다. 열심히 공부해서 수준이 높아진다면 ..
macOS Java 환경변수(PATH) 설정하기!Homebrew를 이용해서 Java를 최신 버전을 설치하여 사용했습니다.하지만 공부를 하다 보니깐 JDK 1.8 버전을 설치하여 사용할 필요성이 생겼습니다.macOS 환경에서 JDK 기본 버전을 1.8로 설정하고 환경 변수 path를 잡아줘서 어떤 디렉터리 위치에서도 사용할 수 있도록 설정해보겠습니다.(꼭, JDK 버전이 1.8이 아니더라도 자신에게 필요한 다른 버전도 전부 동일한 방식으로 설정해주시면 됩니다.)Java 개발 툴(IDE)를 이용하여 공부하시는 분은 꼭 환경 변수를 설정하지 않아도 큰 문제가 없습니다.필요하신 분은 아래 글을 따라서 설정하도록 하세요! - 설명하기에 앞서 "macOS Mojave 버전 10.14" 운영체제에서 설정하였습니다. ..
IntelliJ "servlet-api.jar" 파일 추가 방법! IntelliJ에서 JSP 스크립트 요소를 공부하는 도중에 소스코드에서 에러가 발생했습니다.저는 공부 중이던 예제 소스코드에서 스크립트릿, 표현식에서 request 기본 객체를 사용하는 도중에 빨간색 구문이 생기면서 에러가 발생하였습니다.해당 문제를 해결해보도록 하겠습니다. - 설명하기에 앞서 "macOS Mojave 버전 10.14.2" 운영체제에서 "IntelliJ ULTIMATE 2018.03", "Tomcat 9" 버전을 사용하였습니다. 에러가 발생한 부분의 메시지를 확인해보니 "Cannot resolve method 'setCharacterEncoding(java.lang.String)'"라고 출력됩니다.해당 문제는 톰캣에서 "s..
버블 정렬 (Bubble Sort)✐ 개념인접한 2개의 레코드를 비교하여 순서가 맞지 않으면 서로 교환하는 비교-교환 과정을리스트의 왼쪽 끝에서 시작하여 오른쪽 끝까지 진행하는 방식으로 정렬하는 방법 (제자리 정렬, 안정적 정렬) ✐ 시간 복잡도 : T(n) = (n-1) + (n-2) + ... + 1 = n(n-1)/2 = O(n^2) ✐ Java 코드12345678910111213public static void bubbleSort(int[] data) { int temp; for(int i = data.length-1; i > 0; i--) { for(int j = 0; j data[j+1]) { temp = data[j]; data[j] = data[j+1]; data[j+1] = temp; }..
선택 정렬 (Selection Sort)✐ 개념최솟값을 찾아서 앞에 위치한 값과 교체하는 방법1. 주어진 데이터에서 최솟값을 탐색한다.2. 탐색한 최솟값을 인덱스 첫 번째 위치한 값과 교체한다.3. 첫 번째 위치한 값을 제외하고 나머지 데이터에서 최솟값을 다시 탐색 후 두 번째 위치한 값과 교체한다.4. 마지막 데이터가 정렬될 때까지 위의 방법을 반복한다. ✐ 시간 복잡도: T(n) = (n-1) + (n-2) + ... + 1 = n(n-1)/2 = O(n^2) ✐ Java 코드1234567891011121314151617public static void selectionSort(int[] data) { int minData, temp; for(int i = 0; i data[1]) 결과 값이 (2 <..
이진 탐색 (Binary Search) ✐ 개념정렬된 데이터에서 특정한 값을 찾아내는 방법1. 정렬된 데이터의 중간에 위치한 값(Y)을 선택 후, 찾고자 하는 값(X)과 비교2. 찾고자 하는 값(X)이 선택한 값(Y)보다 작을 경우, 선택한 값(Y)의 좌측 데이터를 탐색3. 찾고자 하는 값(X)이 선택한 값(Y)보다 클 경우, 선택한 값(Y)의 우측 데이터를 탐색4. 찾고자 하는 값(X)을 찾기까지 2, 3번의 과정을 계속해서 반복한다. ✐ 시간 복잡도 : T(n) = O(logn) ✐ Java 코드 123456789101112131415public static int binarySearch(int[] data, int target, int low, int high) { if(low > high) ret..
순차 탐색 (Liner Search)✐ 개념데이터를 순차적으로 하나씩 검색하여 찾는 방법 (선형 탐색) ✐ 시간 복잡도 : T(n) = O(n) ✐ Java 코드 12345678910public static int linerSearch(int[] data, int n, int target) { if(n