스프링부트 프로젝트를 시작하려면 가장 먼저 프로젝트 파일을 생성해야겠죠? 근데 처음 스프링을 접했을 때에는 어떻게 스프링을 설치하고 폴더 구조를 생성해야할지 막막했던 경험이 있었습니다. 이 시간에는 매우 쉽고 간단하게 스프링부트 프로젝트를 생성하는 두 가지 방법을 소개하겠습니다. Spring initializr https://start.spring.io/ 먼저 spring initializr 를 사용하시면 무료로 손쉽게 스프링부트 프로젝트를 생성할 수 있습니다. 각 메뉴의 설정 의미를 함께 알아볼까요?! Project 프로젝트의 의존성 관리 및 빌드 툴을 고르는 부분입니다. 레거시 코드들이나 오래 동안 진행된 프로젝트들은 Maven을 주로 사용해왔을 텐데요. 지금은 Gradle - Groovy 혹은 Gr..
개발을 처음 접하시는 분들은 Git과 Github의 개념이 생소하실 것입니다. 이 시간은 깃과 깃허브에 대해 간단히 알아보고, 기본적인 사용법을 익혀보는 시간을 가져보겠습니다. What is Git? Git은 버전 관리 시스템(Version Control System)의 한 종류입니다. 깃은 세상에서 가장 유명한 버전 관리 시스템이라고 생각하면 될 것 같습니다. 그렇다면 버전 관리 시스템이란 무엇일까요? 버전 관리 시스템? 버전 관리 시스템은 파일의 변화를 시간에 따라 추적하고 관리하는데 도움을 주는 소프트웨어 입니다. 근데 이렇게만 들어선 버전 관리 시스템의 필요성을 크게 느끼지 못할 것 같습니다. 예를 들어, 구글이 진행하는 프로젝트가 있다고 가정해봅시다. 그 프로젝트에는 아마도 어마어마한 길이의 소..
"자바는 객체지향적 언어이다" 라는 말을 들어보신 적이 있을겁니다. 사실 객체라는 용어는 실생활에서 접하기보단 이렇게 코딩을 하면서 많이 접하게 됐었는데요, 그 때마다 아 객체는 이런거지! 오브젝트는 이런거지! 하고 스스로 명확한 정의를 내린 적은 없었습니다. 그러다가 강의를 보면서 자바 공부를 하고 있었는데, 강사님께서 말씀을 하셨습니다. 자바 개발자라면, 객체지향을 자기 만의 언어로 표현할 줄 알아야한다. 저는 자바 개발자라고 생각해왔었는데... 아니었나봅니다. 오늘은 객체지향 프로그래밍이란 무엇인가 함께 알아보고 진정한 자바 개발자로 함께 성장해나갔으면 좋겠습니다. 객체지향 프로그래밍과 클래스 단위 프로그래밍 객체지향에 관한 정의를 내릴 때 저는 스스로 혼란스러웠던(?) 경험이 많습니다. 누군가는 ..
자바라는 언어를 하면서 String 클래스를 접하지 않은 사람은 없을 것입니다. 저도 마찬가지로 프로젝트를 진행하며 자바 코드를 작성할 때에는 String을 사용해왔고, 문자열 연산도 String + String 이런식으로 사용해왔습니다. Java 라는 언어를 제대로 공부해보게 되면서 StringBuffer 클래스와 StringBuilder 클래스에 대해 알게 되었고 간단하게 알아보았을 때에는 그냥 String과의 차이점을 알지 못하고 필요성도 느끼지 못했습니다. 이시간은 함께 String / StringBuffer / StringBuilder 를 비교해보며 그 쓰임을 알아보도록 하겠습니다. String 자바에서 String을 선언하는 방식에는 두 가지가 있습니다. // way1 String name =..
좋은 알고리즘은 무엇일까? 개발자는 좋은 알고리즘을 만들어야 하는 숙명을 가지고 있습니다. 같은 기능이라도, 좋은 알고리즘을 사용한 코드는 더 메모리 사용량이 적거나 빠른 속도를 제공하기 때문입니다. 방금 말했듯, 우리는 알고리즘의 성능 척도를 메모리를 얼마나 사용하느냐, 실행 속도가 얼마나 빠르냐 등으로 나타냅니다. 사용자의 요구에 따라 다르겠지만, 일반적으로 우리는 알고리즘을 설계할 때 실행 속도를 기준으로 성능을 계산하는데요, 이 기준을 시간 복잡도 라고 부릅니다. 시간 복잡도는 어떻게 구하나요? 우리가 어떤 코드를 실행시켰는데, A가 구현한 코드는 실행에 5초가 걸리고, B가 구현한 코드는 실행에 3초가 소요되었습니다. 그렇다면 B가 구현한 코드가 A가 구현한 코드보다 좋은 알고리즘을 가지고 있다..
자료구조란? 자료 구조는 데이터가 어떤 구조로 저장되고, 또 어떻게 사용되는지를 나타냅니다. 우리가 평소에 선언하여 사용하던 변수나 배열 같은 것이 자료구조에 해당합니다. 오늘은 이 자료 구조가 정확히 어떤 것이고, 또 왜 중요한 지에 대해 쉽게 알아보도록 하겠습니다! 그러기 위해서, 자료구조의 개념을 우리가 잘 아는 동화인 이야기에 빗대어 알아보는 시간을 가져보려 합니다. 여우의 음식은 어디에 담아야 할까? 여우와 두루미가 서로 음식을 준비한 뒤 바꾸어 먹기로 약속을 하였습니다. 그래서 여우는 두루미를 위한 식사로 두부를 준비하였네요! 1번 네모난 그릇, 2번 동그란 그릇, 3번 컵 중 어느 용기에 담아가는 것이 좋을까요? 이렇게 음식을 담을 때 어느 용기에 담을 지 고민하는 것 처럼, 데이터를 담을 ..