전체 글

지속가능한 삶
· Dev/Etc
개요 작은 프로젝트를 해보기 위해 내 맥북에 도커를 설치해 컨테이너를 띄우려고 하는 상황에서 발생한 에러이다. 해결한 방법을 공유하고자 한다. brew install docker 홈브루를 통해 도커를 설치했고 mysql 이미지를 pull 해서 사용하려 했는데 다음과 같은 에러가 계속해서 떴다. 우분투 환경에서는 systemctl을 통해서 상태를 확인하고 start를 해주면 그만이지만 mac 환경에는 systemctl이 없다. 그래서 다음과 같은 방법을 통해 문제를 해결했다. 해결 방법 Mac 환경에서 터미널을 통해 docker를 사용하려면 docker desktop on mac 어플리케이션을 설치해주면 된다. 그래서 어디가서 설치하면 되냐? 하면 그럴 필요 없다. brew 명령어를 통하여 다음과 같이 설..
· Dev/Etc
개요 요즘 윈도우 노트북으로 개발을 주로 해서 오랜만에 MacBook M1 으로 해보려고 했더니 다음과 같은 에러가 계속 발생했다. xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 공부하던 git 레포지토리를 clone 받아 사용하려 했더니 계속 거절되고 터미널에서 뭘 하려고 해도 위와 같은 에러만 계속 뜨게 된 것이다. 그래서 이런 Mac OS 에서만 나는 에러가 났을 때 헤메지 않기 위해서 정리를 해보고자 했다. 해결방법 xcode-select --install 해당 명령어를 입력하..
· Dev/Test
👀 문제상황 mongoDB를 사용하는 도메인의 repository layer의 단위테스트를 하기 위해 테스트 코드를 짜려고 하는 상황이었다. @DataMongoTest 어노테이션을 붙이고 테스트 코드를 짜고 확인하려고 했는데 자꾸 에러가 떠서 테스트에 실패를 했다. 이 문제를 해결하기 위해 로그를 보니 다음과 같은 로그가 찍혀있었다. 나는 @DataJpaTest를 올린적이 없는데 왜 JPA metamodel을 요구하는 거지? 라고 생각했다. 그래서 프로젝트를 만지작 하기도 하고 블로그 글도 찾아보고 열심히 구글링 해보면서 왜 그런지 이유를 알게 되었다. @EnableJpaAuditing 기본적으로 Entity에 생성일자, 수정일자 등의 필드에 값을 넣으려면 LocalDate 클래스로 직접 넣어주는 방식으..
· Dev/Etc
개요 프로젝트를 진행하면서 EC2 환경에 접근해야 했는데 pem키를 사용해서 ssh 접속을 해야했다. 매번 새로운 pem 키를 설정해줄 때 마다 까먹어서 구글링하기 번거롭기도 하고 기억하기 위해서 정리를 해보기로 했다. 내용 $ ssh -i [pem키 경로] [퍼블릭 도메인] 그래서 다음과 같은 설정을 통해 짧은 명령어 만으로도 SSH 접속이 가능하게 된다. 1. ~.pem 파일을 /.ssh 디렉토리에 복사한다. cp [pem 파일] ~/.ssh/ 2. pem 파일이 잘 복사되었는지 확인한다. 3. pem 파일의 권한을 바꿔준다. $ chmod 600 ~/.ssh/[pem파일] 4. 권한이 변경 되었으면 ~/.ssh 디렉토리에 config 파일을 생성하고 아래와 같이 입력한다. Host [접속할 때 사용..
· Dev/PS
문제 한국이 낳은 세계적인 락스타 락동호는 2007년 2월 1일 역대 최대 규모의 콘서트를 열었으며, 2007년 2월 11일에 자신의 음악세계를 세상에 알리고, 2007년 3월 4일에는 자신의 작곡 비법을 세계에 공개했다. 하지만, 그 후 락동호는 음악을 접고 체스에 입문하게 되었고, 그 결과 2007년 3월 31일 Heroes원정대에서는 체스 부분으로 참가하게 된다. 그 후 절대로 음악을 하지 않을 것 같았지만, 모두의 예상을 깨고, 2007년 4월 21일 월드 노래자랑으로 신이 내린 가창력으로 우승한 뒤 자취를 감추었다. 하지만 2008년 7월 13일 드디어 락동호가 컴백한다. 락동호는 지난 몇 달간 자신의 신보에 자신의 음악적 능력을 모두 담았고, 이제 몇몇 곡 중 최고의 곡만을 앨범에 담으려고 한..
· Dev/PS
문제 공학자 길동이는 외부의 침략으로부터 마을을 지킬 수 있는 부메랑 무기를 개발하는 공학자다. 길동이는 부메랑 제작을 위한 고급 나무 재료를 구했다. 이 나무 재료는 NxM크기의 직사각형 형태이며 나무 재료의 부위마다 그 강도가 조금씩 다르다. 예를 들어 나무 재료의 크기가 2x3일 때는 다음과 같이 총 6칸으로 구성된다. 길동이는 이처럼 넓은 사각형 형태의 나무 재료를 잘라서 여러 개의 부메랑을 만들고자 한다. 그리고 부메랑은 항상 3칸을 차지하는 ‘ㄱ’모양으로 만들어야 한다. 따라서 부메랑의 가능한 모양은 다음과 같이 총 4가지다. 이때 부메랑의 중심이 되는 칸은 강도의 영향을 2배로 받는다. 위 그림에서 노란색으로 칠한 부분이 ‘중심이 되는 칸’이다. 예를 들어 앞선 예시에서는 다음과 같이 2개의..
· 일상
공통 프로젝트 끝. 특화 프로젝트 시작. 정말 취업준비와 프로젝트를 병행하며 열심히 해야할 시기다. 연말의 나에게 자책당하지 않게 무던히 그리고 꾸준히 이어나가자 !
· 일상
ssafy에 들어온지 벌써 어언 2달. 정해진 커리큘럼 대로 교육받고 공부 하다 보니 3월달이다. 1월 한달 간 기초 java, db 공부를 하고 2월 한달 간은 알고리즘 이론을 계속해서 공부하고 문제를 푸는 날의 연속이었다. 모의 A형 시험을 보고 나서 기분이 영 찝찝했다. 두 문제 다 풀 수 있을 거라 생각했는데 한 문제만 풀어서 아직 갈 길이 멀다는걸 느꼈다. 알고리즘은 취업하는 그 날까지 매일매일 해야지. 이제 웹을 본격적으로 들어간다. 기대하던 재밌는(?) 개발 공부니까 달려야지.. 오후에는 SSAFY 강의를 듣고 저녁에는 PS 1문제, 김영한님의 스프링 강의를 들을 생각이다. 그리고 일주일에 한 토픽을 정해서 CS 공부를 하고 정리를 할 생각이다. 교수님이 오늘 말하시길 지금 상황에서 할 것은..
· Dev/PS
문제 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다. 만약에 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개 까지 부수고 이동하여도 된다. 한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다. 맵이 주어졌을 때, 최단 경로를 구해 내는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000)이 주어진다. 다음 N개의 줄에 ..
· Dev/PS
문제 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 크기가 2N-1 × 2N-1로 4등분 한 후에 재귀적으로 순서대로 방문한다. 다음 예는 22 × 22 크기의 배열을 방문한 순서이다. N이 주어졌을 때, r행 c열을 몇 번째로 방문하는지 출력하는 프로그램을 작성하시오. 다음은 N=3일 때의 예이다. 입력 첫째 줄에 정수 N, r, c가 주어진다. 출력 r행 c열을 몇 번째로 방문했는지 출력한다. 제한 1 ≤ N ≤ 15 0 ≤ r, c < 2N 풀이 더보기 package baekjoon; import java.io.*; import java..
풋데브
지루함에 익숙해지자