본문 바로가기

전체 글

(92)
메이븐(Maven)과 그래들(Gradle) 스프링을 사용하면서 빌드 관리 도구인 그래들만 사용하였다. 처음 스프링을 학습하면서 자연스럽게 그래들을 사용했고 프로젝트를 생성할때 메이븐 이라는 것도 있구나 정도 봤었고 프로젝트를 진행하면서 열심히 삽질? 구글링을 통해서 많은 사람들이 그래들 뿐만 아니라 메이븐을 사용했다는걸 알았다. 당시 메이븐과 그래들의 차이점이 뭘까? 하고 구글링을 통해 '아 메이븐은 pom.xml파일에 필요한 각종 의존성과 라이브러리 추가,버전 등의 프로젝트 설정 정보를 xml형식으로 나열해서 하나하나 직접 작성하고 설정하는구나' 정도만 알고 별도로 정리하지 않았기에 주말에 일찍 일어나기도 했고 정리를 해보려고한다! 1. 빌드 관리 도구란? 빌드? 빌드란 소스코드 파일들을 컴퓨터에서 실행할 수 있는 소프트웨어로 변환하는 일련의 ..
[자료구조] 스택 (Stack), 큐(Queue) 프로젝트 기간이 짧다보니 시간적 여유가 없다는 핑계로 자료구조에 대해 깊게 공부하지 못했다. 이번 프로젝트를 끝으로 개발자에 대한 꿈을 접을 생각이 없고 나는 앞으로 계속 나아가야 하기에 조금씩, 하나하나 공부해 나가려고 한다. 1. 스택 (Stack) 1-1. 스택(Stack)이란? 쉽게 얘기하자면 쌓아 올린다는 것을 의미한다. 따라서 스택 자료구조라는 것은 책을 쌓는 것처럼 차곡차곡 쌓아 올린 형태의 자료구조를 말한다. 1-2. 스택(Stack)의 특징 LIFO (Last In First Out) 즉 후입선출 방식으로 동작하며 가장 최근 스택에 삽입(push)된 자료의 위치를 top이라 한다. 스택의 push는 top에 새로운 데이터를 추가하고 pop은 가장 최근에 삽입된 데이터가 스택에서 삭제된다...
메모리 구조(Stack , Heap) JVM은 기본적으로 Stack메모리와 Heap메모리 라는 두가지 저장 공간을 이용하여 메모리를 할당한다고 배웠다. Stack메모리와 Heap메모리가 무엇인지 차근차근 다시 알아보려고 한다. 1. 메모리 먼저 메모리란, 프로그램이 실행되기 위해서는 운영체제(OS)가 프로그램의 정보를 메모리에 로드해야 한다. 또한 프로그램이 실행되는 동안 CPU가 코드를 처리하기 위해서는 메모리가 명령어와 데이터들을 저장해야 한다. 위와 같이 프로그램이 운영체제(OS)로 부터 할당받는 대표적인 메모리 공간은 코드 영역, 데이터 영역, 힙 영역, 스택 영역으로 구성되어있다. 2. 코드 영역(Code) 코드 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고 부르기도 한다. CPU는 코드 영역에 저장된 명령을 ..