안녕하세요. 이번 주말을 통해서, 3달정도 포스팅을 못했던 것들을 정리하고, 최대한 올리려고 글을 쓰는 도중에, 생각나는 부분들 혹은 전달하고 싶은 내용들을 잠시 남겨보려고 합니다. ( 사실 포스팅이 귀찮아서..ㅋㅋㅋㅋㅋ) 그 동안 IT 교육기관을 통한 6개월 교육 및 면접준비 그리고 공부를 꾸준히 해오면서 아주아주 사소한 습관이 제게는 큰 도움이 된다고 생각하기 때문입니다. ( 한가지 아쉬운건 3년간 블로그를 방치한것.. ) 이 글을 통해서, 개발자가 되기 위해 취업을 준비하시는 분들 혹은 학생분들에게 저 같은 사람도 일한다 라는 희망을 느낄 수 있게 ! ㅋㅋㅋㅋㅋㅋ 1. 개발자에게 스펙은 중요하지 않습니다. 이렇게만 쓰면 벌써부터 말도 안된다 라는 생각을 가지실 것 같습니다. 저는 사실 학과 성적이 ..
SpringBoot 를 이용한 신규 프로젝트 생성 방법 및 Oracle JDBC 연동 방법에 대해서 알아보며, Maven을 통한 라이브러리를 관리를 포스팅 해보도록 하겠습니다. 스프링부트를 처음 써봤다 생각했는데, 사실 교육받으면서 대충 하고 넘어갔던 기억이 나네요.. 그래서 이번 포스팅하기 전 프로젝트를 하면서 설정 잡는데만 몇시간 날려먹었습니다.... 다시는 이런 끔찍한 짓을 하지 않기 위해 기록을 남기도록 해보겠습니다. 우선 저는 STS4 버전을 사용했습니다. ( STS3도 무관할듯? 피씨방이라 빠르게 다운받다보니 원래는 3로 진행했습니다. ) 프로젝트 생성 [File] - [New] - [Spring Starter Project] 클릭 신규 프로젝트를 생성할 때 확인해야 할 부분입니다. Name ..
지난 포스팅에서 버블 정렬(Bubble Sort)와 선택 정렬(Selection Sort)를 포스팅 해보았습니다. 오늘은 지난 포스팅과 더불어 시간복잡도 O(N2)을 갖는 기초적인 정렬 중 하나인 삽입 정렬(Insertion Sort)에 대해 알아보겠습니다. 삽입 정렬(Insertion Sort) 삽입 정렬(揷入整列, Insertion Sort)은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다. *위키백과 참조 위키백과의 설명이 조금은 이해가 가지 않을 수 있기 때문에, 아래 그림을 통해 이해를 돕도록 하겠습니다. 정렬이 안된 초기상태의 배열이 있습니다. 삽입정렬에서는 가장 첫번째 원소는 정렬이 된 상태라고 가..
지난 포스팅에서는 버블 정렬(Bubble Sort) 에 대해 포스팅 해보았습니다. 이번에는 버블 정렬과 함께 기초적인 정렬 방법인 선택 정렬(Selection Sort) 에 대해 알아보도록 하겠습니다. 선택 정렬(Selection Sort) 선택 정렬(Selection Sort)은 제자리 정렬(in-place sorting) 알고리즘 중 하나로 주어진 리스트의 최소값을 찾아 그 값을 맨 앞으로 교체하며 정렬하는 방법입니다. 시간복잡도가 O(N2)으로 상당히 느리지만, 알고리즘이 단순하며 메모리가 제한적인 경우에 사용시 성능 상의 이점이 있습니다. *위키백과 참조 선택 정렬(Selection Sort)은 정렬을 구현할 때 알고리즘을 모르더라도 가장 일반적인 접근방법 중 한가지라고 생각합니다. 그림을 통해 ..
지난번 IntelliJ 설치에 이어서 기본적인 환경 설정을 몇가지 포스팅 해보도록 하겠습니다. 첫 시작은 이러한 화면의 등장입니다. 혹시 다른 화면이라도 상관 없습니다. 그냥 [Create New Project]를 찾아서 누르시면 됩니다. [File] - [New] - [Project...] 아래와 같은 화면에서 Project SDK 에 JDK 경로를 잡아주셔야 합니다. 무료 버전이라 그런지 사실 해보고 싶은 기능은 없어서 사용이 망설여 집니다. ( 쓰게 해줘도 난리 ) 원하는건 스프링 이니셜 라이즈 같은 웹개발 기능인데 말이죠. 하지만 부가적인 기능 사용 전에 기본적인 부분을 다룬다면 작업이 수월할테니 일단 진행해보도록 하겠습니다. NEXT 시작이니까 "Hello World" 찍어줘야죠 저는 현재창에 ..
알고리즘을 처음 시작하는 단계라면 가장 자주 접할 수 있는 문제 중 하나가 "정렬(Sort)" 일 것입니다. 왜 정렬이 자주 나오고 질문되는 것일까요 ? 그 이유는 정렬을 하는 방법이 매우 다양하고, 이를 비교하여 알고리즘의 효율성 차이를 잘 나타내 줄 수 있기 때문입니다. 빈번하게 나오는 몇몇 정렬 알고리즘에 대한 비교를 순차적으로 포스팅 하도록 하겠습니다. 그럼 가장 첫번째로 알아볼 버블 정렬(Bubble Sort)의 기본 개념부터 다루도록 하죠 버블 정렬(Bubble Sort) 버블 정렬(Bubble Sort)은 두 인접한 원소를 검사하여 정렬하는 방법이다. 시간 복잡도가 O(n2)로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다. 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기..
제목이 제일 고민 많이했.. 지난 포스팅에서 재귀함수에 대해 간단한 예제인 팩토리얼을 통해 알아보았습니다. 혹시나 재귀에 대해 처음 접근하신다면, 우선 팩토리얼 포스팅부터 보고 오시는 것을 추천합니다. 이번 포스팅에서는 재귀함수의 또 다른 대표예제인 피보나치(Fibonacci)수열을 통해 알아보도록 하겠습니다. 피보나치(Fibonacci)란? 피보나치를 *위키백과를 참조 해보면 다음과 같다. 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열 이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다. 편의상 0번째 항을 0으로 두기도 한다. 다음과 같은 그림을 보여준 이유는 실제로 문제에서 적용될 수 있는 타일 문제를 이해하기 좋다. 즉 피보나치 수열이 1,1,2,3,5,8,..
https://colorscripter.com/ Color Scripter Simple & Flexible Syntax HighLighter colorscripter.com 사용방법 원하는 언어 / 설정을 한 후 오른쪽 맨 아래 클립보드 복사 클릭 티스토리 포스팅 할 경우 > HTML 모드 > 복사한 내용 붙여넣기 SyntaxHighligher를 사용하는 방법도 있는데 이건 약간의 설치가 필요함. 개인적으로는 위에 사이트가 편해서 그냥 위에꺼 쓴다.
오늘은 신입 면접시 자주가끔???(?) 나오는 재귀 함수에 대한 포스팅을 해보도록 하겠습니다. 더불어 재귀함수와 자주 비교되는 반복문에 대해서도 같이 작성하도록 하겠습니다. 재귀함수란? 하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 방식으로 문제를 해결하는 방법 반복문은 while문이나 for문의 사용을 통해 익숙할 것입니다. 하지만 재귀함수는 비슷한 기능임에도 조금은 낯설다고 생각합니다. (고수분들 제외) 재귀함수에서 가장 쉬운 문제인 Factorial을 사용하여 이해를 돕도록 하죠. 팩토리얼은 예를들면 5! [5 팩토리얼] 이라고 하면 5x4x3x2x1 = 120 의 결과를 얻는 것입니다. 이러한 문제에 직면했을 때 쉽게 생각하는 방법 중 하나가 반복문을 이용하는 것이죠 재귀 함수에 앞서서, ..
지난 포스팅에서는 도커의 전반적인 개요를 알아보았습니다. 이번에는 설치를 알아보도록 하겠습니다. 우선, 도커(Docker)는 기본적으로 Linux 환경(Home OS)에서 최적화하여 사용할 수 있기 때문에 윈도우(HostOS)에서의 도커 사용은 가상머신을 이용할 수 밖에 없다. 또한 안타깝게도 본인의 컴퓨터 사양이 가상화를 지원하지 않는 경우에는 사용해 볼 기회가 없다. (개발자에게 최소한의 장비 또한 중요하다..장비는 누가 사주냐고 ㅠㅠㅠㅠ일할 기회를 달라!) 또한 Hyper-V 를 사용하여 도커를 쓴다면 문제점이 하나 있다.. 바로 VT를 사용할 때 충돌이 일어난다.. 블루스크린행 ( ex - 녹스같은 애뮬레이터는 VT를 사용하는데 즉 이런 프로그램이랑 충돌이 나서 못씀. ) 이럴때는 그냥 도커 툴 ..