제목 그대로 구름 ide에서 스프링부트 개발 환경을 세팅하는 방법을 정리해보았다. 1. 소프트웨어 스택은 Spring Boot을 선택하고, Template은 gradle을 선택하여 컨테이너를 생성한다. Maven vs Gradle Template에는 Maven과 Gradle 둘 중 하나를 선택할 수 있는데, Maven과 Gradle은 빌드 관리 도구로, 생성한 프로젝트 내에서 작성한 Java코드와 각종 xml, properties 등을 JVM이 인식할 수 있도록 패키징 해주는 역할을 한다. 또한 애플리케이션을 개발하면서 필요한 외부 라이브러리들을 자동으로 관리해주는 도구이다. Maven은 빌드 중인 프로젝트, 빌드 순서, 외부 라이브러리의 종속성 관계 등 모든 정보를 pom.xml 파일에 명시한다. 이에..
5월 초에 첫 휴가를 다녀와서 격리가 풀리자마자 1일 1 커밋을 시작했다. 처음 시작한 취지는 의미 없이 허비하는 시간을 줄이고 공부하는 습관을 기르기 위함이었다. 『지속하는 힘 - 고바야시 다다아키』 에서 특정 행동을 66일간 반복하면 습관이 된다는 문장을 보고 딱 66일 동안만 하루도 빠짐없이 공부하고 기록해보자 라는 생각으로 시작했는데 100일 넘게 지속하게 되었다. 하루 종일 힘든 작업을 했든, 개인정비 시간에 근무가 있든, 어쨌든 매일 적어도 1시간은 공부할 시간이 있는 환경에서 근무하고 있기에 하고자 하는 의지만 있다면 1일 1 커밋은 어렵지 않은 도전이라고 생각했다. 115일간 400여 개의 커밋을 했는데 주로 알고리즘 공부와 소켓 통신 공부를 했다. 각각의 레파지토리에 대해 간단하게 정리하..
최근 백준 온라인 저지(boj.kr)를 활용하여 알고리즘 문제를 중점적으로 풀면서 겪었던 에러를 몇 가지 기록하고자 한다. 알고리즘 문제를 풀다 보면 정말 단순한 이유나 오타에서부터 생각지도 못한 에러까지 다양한 원인으로 인해 1시간 넘게 삽질하는 경우가 빈번하게 발생한다. 부딪혔던 문제들의 원인을 잘 기억하고 해결 방법을 숙지해서 같은 실수를 반복하지 말자!! 1. 런타임 에러(Runtime Error) : 프로그램이 비정상적으로 종료된 경우 발생한다. 런타임 에러에는 다양한 원인이 존재하지만, 나는 OutOfBounds, Segfault 두 가지의 런타임 에러를 경험해 보았다. 근데 사실 이 두 개가 가장 대표적이고 대중적인 런타임 에러인 것 같다. A. OutOfBounds : 배열, 벡터 등 컨테..
네트워크는 컴퓨터 공학에서 가장 근본이 되는, 필수 학문 중 하나이다. 네트워크에 대한 기초적인 내용과 소켓에 대해서 간단하게 서술하고자 한다. 네트워크란? Net + Work의 합성어로, 긴밀하게 연결되어 있는 조직, 체계라는 사전적 의미를 가진다. 컴퓨터 네트워크는 컴퓨터 간에 데이터를 전달하기 위해 연결한 통신망을 의미한다. 네트워크 프로그래밍 : 네트워크로 연결되어 있는 서로 다른 두 컴퓨터가 데이터를 주고받을 수 있도록 하는 것. 떨어져 있는 컴퓨터 간에 통신을 하기 위해서는 무엇이 필요할까? - 물리적 연결 - 통신을 하고자 하는 컴퓨터에는 네트워크에 연결하기 위한 장치가 필요하다. 가장 기본적으로 네트워크 카드, 케이블, 라우터로 구성되어 있다. 1. 네트워크 카드(NIC, Network I..
최근 들어 기록의 중요성과 필요성을 깨닫게 되었다. 공부하면서 깨달은 점, 깊이 있게 학습한 개념이나 이론 그리고 프로젝트를 진행하면서 겪었던 시행착오, 리뷰 등 나의 경험과 공부 흔적을 기록하고 공유하여 다른 사람들에게 조금이나마 도움이 되기 위해 블로그를 개설하였다. Pay it forward🙏 블로그 이름은 미래의 내가 이 블로그를 되돌아보았을 때 뿌듯함을 느끼고 자극제로 삼아 더 열심히 나아가길 바라는 의미로 지었다. 시점을 2023년으로 정한 이유는 그때쯤이면 내가 전역하고 본격적으로 다양한 활동을 시작하게 될 시기이기 때문이다. 2023년이 되면 더 먼 미래 시점으로 블로그 이름을 변경하지 않을까 싶다. 아무튼 시작!!