본문 바로가기

분류 전체보기32

4학년을 앞둔 컴공생의 겨울방학 계획 세우기 계획이 없으면 허송세월 보낼 게 뻔하니 확실한 계획부터 세우자! 1. 자바 스프링 강의 시청 목표는 각각의 로드맵에서 스프링 MVC 1편, 스프링 JPA 1편까지 시청하는 것 2. 독서 (대학교 O'REILLY 서비스 잘 활용하기) 아래 학기중에 추천받은 책들을 도서관에 가서 찾아 읽고, 잘 읽히고 유용하면 구매하자 추천 책 리스트 - 구글 관련 - 구글은 소프트웨어를 어떻게 테스트하는가 - 구글은 어떻게 일하는가 - 백엔드 개발 관련 - real mysql - 그림으로 배우는 http network basic - 대규모 서비스를 지탱하는 기술 - 자바 관련 - 자바 인 액션 - 스프링 인 액션 - 토비의 스프링 3.1 - 스프링 부트와 AWS로 혼자 구현하는 웹서비스 (보유중) - 이성원 교수님 추천 .. 2021. 12. 21.
[우아한 프리코스] 1주차 미션: 숫자 야구 게임 돌아보기 (피드백 리뷰) 우아한 프리코스 는 우아한 테크코스의 입과 과정 중 하나이다. 총 3주 동안 미션을 수행하고, 마지막 주에 최종 테스트를 한 번 더 보고 최종 합격이 결정된다. 아래는 총 3주 간의 미션 중 첫 번째 주에 했던 미션 회고이다. 지금 보니 놓쳤던 것: indentation 깊이를 2 이하로 유지하기 프로그래밍 요구사항 중에 indentation을 2이하로 유지하라는 요구사항이 있었다. 함수로 분리해서 호출하는 방식으로 구현해야 하는 것이다. ball 여부를 판단하기 위해서, 숫자는 같지만 자리가 다른 경우를 알아내야 했다. 이 때 (이중 포문 + if문)을 쓰느라 indentation 깊이를 3까지 가져가게 되었다. 다른 방법이 있을텐데, 생각을 오래하지 않고 그냥 넘겨버렸던 것 같다. 1주차 미션을 하면.. 2021. 12. 2.
./gradlew 오류: Execution failed for task ':compileJava'. 프로젝트와 IDE 버전 세팅과 관련된 오류이다. 아래 링크를 따라하니 해결되었다. https://freelearn.tistory.com/17 Execution failed for task ':compileJava'. 증상 PC를 새로 구매하여 기존 프로젝트를 새로 셋팅하는 중이었습니다. build도 정상적으로 됐는데 프로젝트를 실행하려고 하니 Execution failed for task ':compileJava'. 에러가 나네요. 원인 결론은 한참 freelearn.tistory.com 2021. 11. 28.
Java Version (JDK version) 바꾸기 (Intel Mac) Step 1. 현재 맥에 깔려 있는 자바 버전 리스트 확인 $ cd / $ /usr/libexec/java_home -V Step 2. 원하는 버전이 없다면 다운로드 https://www.oracle.com/java/technologies/downloads/archive/ Step 3. ~/.bash_profile 또는 ~/.zshrc 파일을 vim 또는 nano로 텍스트 에디터로 열기 $ vim ~/.bash_profile $ vim ~/.zshrc Step 4. 해당 라인 추가. 아래는 JAVA 8로 바꾸기 위해서 1.8을 넣었다. 다른 버전이면 1.8 대신 해당 버전 숫자를 넣으면 됨. export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) 내가 했던 실수) ~/... 2021. 11. 24.
다익스트라 Djikstra 최단경로 알고리즘 (C++코드, Java코드) 다익스트라 알고리즘은 가장 기본적인 최단경로 알고리즘이다. 가장 기본적이란 말은 이외에도 벨만 포드, 플로이드 와샬 알고리즘이 있는데, 상대적으로 다익스트라가 대회에 많이 출제되기도 하고, 셋 중에 시간복잡도가 가장 빠른 알고리즘이기 때문에 꼭 숙지하는 것이 좋다. (참고로 시간복잡도는 각각 다익스트라 O(ElogV) / 벨만포드 O(VE) / 플로이드 와샬 O(V^3), 각각 사용되는 상황이 다름) 다익스트라 알고리즘은 한 정점에서 다른 모든 정점까지의 최소비용(최단거리)을 구하는 알고리즘이다. 내가 다익스트라를 사용하는 문제 유형은 다음과 같다. 1. 최단거리 / 최소비용 문제이다. 2. 문제를 읽었을 때, 문제의 의도가 한두 개의 적은 수의 출발점을 강조한다. (만약 모든 출발점이라면 플로이드와샬).. 2021. 5. 19.
도커 기초 용어 정리 (컨테이너, 이미지, 도커 CLI, 도커 서버 데몬, 도커 허브) 도커를 쓰는 이유 : 프로그램 설치 측면에서 예상치 못한 에러가 덜 발생하며, 설치하는 과정도 훨씬 간단해 진다. 도커란 무엇인가? : 컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고 배포하고 실행할 수 있도록 설계된 도구이며 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계입니다. 컨테이너란 무엇인가? 일반적인 컨테이너 : 물건의 운송수단. 서버에서의 컨테이너 : 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다. → 일반 컨테이너의 개념처럼 프로그램을 손쉽게 이동 / 배포 / 관리를 할 수 있게 해준다. AWS, Azure, Google cloud 등 어디에서든 실행 가능하게 해준다. 컨테이너 이미지 응용프로그램을 실행하는 데 .. 2021. 5. 9.