본문 바로가기

전체 글

(69)
001프로젝트 / 저장소 안에 저장소, Submodule 001 Project? 001 Project란 어떠한 과제가 있을 때 그의 기초 단계인 0.0.1v을 만들어 보는 개념입니다. 서브모듈의 기초적인 부분만 다루고 있습니다. 서브모듈이란 Git 저장소 안에 다른 Git 저장소를 디렉토리로 분리해 넣는 것으로 프로젝트에서 외부 라이브러리를 가져다 쓰는 등의 경우에 사용될 수 있습니다. 어떻게 사용할까 생성 프로젝트의 작업 경로에서 다음 명령어를 이용하여 서브모듈을 생성합니다. git submodule add repository주소 ex) git submodule add https://github.com/ordinCode/submodule-c.git 서브모듈 생성전 서브모듈생성후 저는 2개의 서브모듈을 생성해보았습니다. 위와 같이 각각의 디렉토리가 생성되고 ...
알고리즘 / Java / 프로그래머스 - 다리를 지나는 트럭 프로그래머스 - 다리를 지나는 트럭 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이�� programmers.co.kr 문제 해설 기다리고 있는 트럭들의 큐와 다리를 지나고 있는 트럭들의 큐, 이렇게 2개의 큐를 만들어 놓으면 쉽게 해결할 수 있습니다. 그리고 각자의 상태관리를 위해 Bridge 객체와 Truck 객체를 만들어 주었습니다. 정답 코드 import java.util.LinkedList; import java.util.Queue; class Solution { class Bridge { //다리가 감당할 수 있는..
알고리즘 / Java / 프로그래머스 - 여행경로 프로그래머스 - 여행경로 코딩테스트 연습 - 여행경로 [[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO] programmers.co.kr 문제 해설 이번 문제는 조금 까다로운 조건이 하나 있습니다. 경로는 2개 이상일 수 있다. 2개 이상인 경우 알파벳 순서가 앞서는 경로를 return 한다. 그래서 전략은 다음과 같습니다. 1. 경로정보를 가지고 있는 객체를 사용할 것이다. 2. 가능한 경우의 객체를 우선순위큐에 넣고 정의해준 compareTo 메서드에 따라 알파벳 순서가 앞서는 경로를 return 한다. 정답 코드 import java.util.ArrayList; import java.uti..
알고리즘 / Java / 프로그래머스 - 단어 변환 프로그래머스 - 단어 변환 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 문제 해설 Word 객체를 만들면 쉽게 해결할 수 있습니다. Word 객체는 다음 정보를 가지고 있습니다. class Word { //현재 단계의 단어 private String currentWord; //몇번 바꿨는지 private int count; //어떤 경로를 거쳐 왔는지 private boolean[] isVisits; public Word(String currentWord, int..
Jenkins / Publish over SSH 사용시 파일전달 오류(No such file or directory) Publish over SSH에서 파일이 전달되지 않는 문제 이번에 프로젝트를 진행하면서 jenkins의 플러그인인 Publish over SSH를 사용하여 빌드된 파일을 web서버로 전송시킬 일이 있었습니다. 하지만 왠지 전송하고자하는 파일이 web서버로 넘어가지 않는 것 같았습니다. 이번 포스팅에서는 Publish over SSH를 세팅하면서 제가 겪었던 시행착오를 공유하려고 합니다. Publish over SSH 세팅 Publish over SSH에 대한 설명이나 사용법에 대해서는 생략하고 결과적으로 설정한 값들만 설명드리겠습니다. 전송하고자 web Server과 연결하기 먼저 Publish over SSH 플러그인을 설치하고 jenkins관리 > 시스템 설정으로 들어가 Publish over SS..
알고리즘 / Java / 2020 카카오 블라인드 / 가사 검색 카카오 블라인드 테스트 - 가사 검색 코딩테스트 연습 - 가사 검색 programmers.co.kr 문제의 자세한 정보는 위 링크를 참고해주세요. 알고리즘 / 2020 카카오 블라인드 테스트 / 가사 검색 문제 정리 문제의 요지는 간단합니다. words 배열이 있고, queries가 주어지면 각 query에 부합하는 word가 몇개있는지 찾는거죠. 언뜻보면 쉬워보이지만, 효율성 테스트를 통과하려면 몇 가지 장치를 마련해야합니다. 문제 해결에 필요한 것 1. 캐싱 검색 키워드 제한사항 queries의 길이(검색 키워드 개수)는 2 이상 100,000 이하입니다. 각 검색 키워드의 길이는 1 이상 10,000 이하로 빈 문자열인 경우는 없습니다. 전체 검색 키워드 길이의 합은 2 이상 1,000,000 이하..
Vuetify 코드가 동작하지 않는 문제(feat. v-select, v-app) vuetify라는것을 처음 알게되고 이를 이용하여 프론트를 구현하는 과정에서 삽질했던 경험을 공유할까합니다. 해결하고보니 간단한 문제였지만 혹시나 같은 문제로 고충을 겪고있는 분에게 도움이 되었으면 합니다. 저는 이걸로 4시간동안 삽질을... Vuetify 코드가 동작하지 않는 문제 먼저 제가 하려던 것은 v-select를 활용하는 것이었습니다. 작성한 코드를 간추리면 다음과 같습니다. 선택 다음 Cancel (아마 여기서 바로 이상한 부분을 캐치하신분도 계실겁니다ㅠㅠ) 이렇게 하면 정상적인 동작 모습의 예시는 다음과 같습니다. 위의 그림처럼 후보군이 촤르륵 나와야 정상이죠. 저의 경우에는 items에 a,b를 주었으니 a와 b가 나와야 정상입니다. 하지만 저의 실행결과는 다음과 같았습니다. 놀랍게도 저..
함께 자라기, 애자일로 가는길 함께 자라기, 애자일로 가는 길 자라기 핵심 키워드 야생 학습 학습하는 방법을 학습해야 한다. 당신이 제자리걸음인 이유 우리는 양치질이나 세수를 십수 년 해오고 있지만 그렇다고 작년에 비해 오늘 나의 세수하는 방식이 크게 나아진 건 없습니다. 이 책에서는 단순히 반복으로는 전문가나 달인이 될 수 없고, 실력을 높이기 위해서는 의도적인 수련을 해야 한다고 말합니다. 의도적인 수련을 하기 위한 필수 요건으로는 적절한 난이도가 있습니다. 수련을 하는 과제가 너무 쉬워도 안되고 너무 어려워도 안됩니다. 만약 과제의 난이도가 너무 쉽다면 내가 취할 수 있는 방법에 제한을 걸어 난이도를 높이는 등의 방법을 취할 수 있습니다. 만약 나의 실력에 비해 어려운 문제에 직면했을 때 해결 방안으로 아기 버전(다시 말해 v0..