반응형
전체 글

전체 글

    Maven Scope 정리

    Maven Scope 정리 pom.xml에서 상용되는 scope에 대한 정리 ※compile - 아무런 scope를 명시하지 않았을때 사용되는 기본값. - 테스트 및 런타임에도 classpath에포함된다. ※provied - JDK 또는 컨테이너에 의해서 runtime에 제공되는 모듈 - 이 scope는 이미 컨테이너가 해당 라이브러리를 제공하고 있을때 유용 그러므로 실제로 배포시에 제외대상 - 예를 들면 아래 servlet api의 경우 이미 웹서버에서 제공하고 있는 경우에 maven scope를 provied로 기재123456 javax.servlet servlet-api 2.5 providedcs ※runtime - 런타임시 필요하지만 컴파일시에 필요하지 않는 경우에 사용 - 테스트와 런타임에는 사..

    Facebook Javascript plugin과 spring security를 이용한 페이스북 로그인

    개인적으로 공부겸 만들고 있는 Wedul Pos에는 아이디와 패스워드를 사용해서 로그인하는 방식을 제공했다. 하지만 페이스북 로그인 방식을 추가해보고 싶어서 facebook 개발자 사이트에 가입하여 정보를 얻고 추가해봤다. 우선 페이스북 로그인 방식을 처리하는 방식은 Facebook Javascript plugin을 사용하여 spring security에서 인증을 하는 방식과 /sign/facebook 요청만 front에서 보내면 server에서 모든 처리를 진행하는 방식 두가지가 있다. 그 중에 첫번째 javascript plugin을 이용하는 방식을 사용해서 구현해보자. 1. facebook developer 사이트에서 javascript 내용 얻기 https://developers.facebook...

    travis ci에서 "./gradlew assemble" failed 에러 수정

    git에 연동해놓았던 travis ci에서 어느순간부터 계속 오류를 감지하였다. 그냥 귀찮아서 넘겼지만 보기싫어서 오류내용을 확인해봤다. ./gradlew assemble 오류는 gradlew 실행이 실패해서 발생하는 오류이다. 우선 locale에서 정상적으로 동작하는지 확인해보자.1./gradlew buildcs오류가 발생한다. 왜그럴까.. 구글링 하다 보니 gradle wrapper가 실행될때 필요한 gradle-wrapper.jar 파일이 없어서 라고 한다. gradle-wrapper.jar 파일에 경우 gradle/wrapper 폴더에 들어있어야 하는데 없었다. 그래서 gradle wrapper 명령어를 실행시켜서 생성해주었다. 그럼 다시 빌드해보자.1./gradlew buildcs 성공했다. 그..

    피아노 독학 시작

    피아노를 고등학생 때까지는 취미로 쳤었는데 성인이 되고 쳐본 적이 없어서 까막눈이 되었다. 피아노를 다시 치고 싶어서 키보드를 구매하였지만 기숙사에 살다 보니 먼지만 쌓였었다. 이제 집에서 출퇴근을 하게 되었으니 피아노를 본격적으로 다시 쳐봐야겠다고 생각했다. 그래서 학원을 알아봤는데 비싸고 배우러 다니는 것도 귀찮아서 피아노 인강을 듣기로 결정했다. 과거에 기타를 들었었던 도약 닷컴에서 들을까 하다가 가격이 제일 저렴한 더 뮤직스쿨이라는 곳에서 듣기로 결정했다. 교재 포함해서 85000원이면 저렴한거 같다. 그런데 맥 pc에서는 재생할 수 있는 방법이 없다. 페러럴즈는 vm이라고 막히고 재생 가능한 플레이어가 mac에는 안 깔린다. (그지 같다.) 그래서 휴대폰으로 듣는데 불편하다. 교재는 생각보다 내..

    백준 알고리즘1032 명령프롬프트 문제

    문제입력된 파일 리스트를 보고 공통적으로 사용될 수 있는 Regex를 찾아서 출력하는 문제이다. 코드 코드는 간단하게 처음입력받은 파일명을 기준으로 잡고 추가로 들어오는 나머지 파일명들과 다른 부분에 대해서 모두 ?로 바꿔버렸다. 12345678910111213141516171819202122232425262728293031323334353637import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 파일 개수 입력 int wordCnt = sc.nextInt(); // 첫 번째 파일이름 char[] creteria = sc.next()..

    백준 알고리즘 11650 - 좌표 정렬하기

    문제 입력된 좌표를 정렬해서 보여주는 문제이다. 코드 좌표를 담는 하나의 DTO 객체를 만들어서 comparable을 정의해서 사용해도 되나 좀 다르게 해보고 싶었다. 각 x좌표를 키로 사용하는 map을 만들고 각 x좌표마다 y좌표들을 담는 리스트가 존재한다. y좌표값이 채워질때는 정렬이 된 상태로 삽입된다. insertSort 메소드는 ATM 알고리즘에서 사용했던 것 가져왔다. 그리고 Map을 출력할 때는 Key를 기준으로 정렬한 후 forEach를 사용하여 정렬한다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354import java.util.*; public class ..

    신촌 홍대 등갈비집 팔덕식당 후기

    신촌에서 일하는 여자친구 회사에 찾아가서 퇴근길에 같이 밥을 먹었다. 맛집을 소개해달라고 했고 등갈비를 좋아하는 나를 위해 등갈비 맛집으로 갔다. 가게 이름은 팔덕식당으로 손님이 엄청 많았다. 금요일 저녁이여서 그럴수도 있는데, 사람이 많으면 대기시간이 15 ~ 30분정도는 되는것같다.양푼등갈비 2인분과 곤드레밥 하나 시켜서 먹었다. 등갈비는 좀 매운데 덜 맵게 주문하면 강도를 조절해주신다. 가격은 등갈비는 인당 12000원 곤드레밥은 5000원이다.양송이버섯이 위에 있고 밑에 당면과 등갈비가 깔려있다. 거의 익어서 나오기 때문에 당면부터 먹고 버섯 등갈비순으로 먹으면 된다.둘이서 먹었는데 남았다.등갈비가 많이 들어있는건 아니지만 같이 나오는 파전과 곤드레밥까지 먹으면 엄청 배부르다. 나중에 또 가볼만한..

    Git 저장소 Fork 후 Pull Request 및 최신 내용 갱신 방법

    이전직장에서도 SVN을 사용했다. 물론 GtitLab을 1년반정도 사용했으나 아쉽게도 협업하여 진행하지를 않아서 모두 master에 직접 커밋을 하였다. 그래서 이번에는 협업한다고 생각하고 시나리오를 만들어서 테스트를 진행해보자. Github 저장소에서 상대방 Repository를 Fork하고 Pull Request를 요청해보고 변경된 최신내용을 Local에 반영하는 작업을 진행해보자. 1. 우선 Repository를 Fork 한다. fork를 진행할 계정을 선택하고 확인을 누르면 내 Repository에 Fork된 저장소가 보이는 것을 확인할 수 있다. 2. SourceTree에 추가Git을 Command를 사용해서 멋지게 사용하면 좋지만 실력이 부족하기 때문에 SourceTree를 사용해서 진행해보자..

    Docker에 MongoDB 설치 후 Studio 3T로 접속해서 쿼리 사용해보기

    Docker에 MongoDB를 설치하고 무료 접속 툴인 Studio 3T를 이용해서 접속해보고 쿼리를 사용해보자. 1. Docker에 MongoDB 설치Docker에서 MongoDB 설치를 위해 필요한 내용을 docker-compose.yml 파일을 만든다.1234567891011121314version: '3' services: mongodb: image: mongo:latest container_name: "mongodb" environment: - MONGO_DATA_DIR=/data/db - MONGO_LOG_DIR=/dev/null ports: - 27017:27017 volumes: - /Users/wedul/Documents/docker/datafile/mongodb/:/data/db Col..

    백준 알고리즘 11399 ATM 문제

    문제 이번 알고리즘 문제는 최소 ATM 사용시간을 구하는 문제이다. 주어진 사람마다 ATM 사용시간이 주어진다. 이 사용시간에 따라 어떻게 사람이 서있을 때 빠르게 모두 ATM 을 사용할 수 있는지 구하는 문제이다. 각 사람마다 걸리는 시간을 모두 더해서 가장 최소의 시간이 나오게 하는 구현하는게 목표이다. 가장 빠르게 모두 인출이 끝나기 위해서는 사용시간이 가장 작은 사람 부터 큰 순서대로 서서 인출을 해야한다. 왜냐하면 뒤에 있는 사람이 인출하는데 걸리는 시간은 결국 앞사람이 사용한 시간의 누적값이기 때문이다. 코드소요시간 별로 오름차순으로 정렬한 후 에 합을 구하면 된다. 그러기 위해서 모든 데이터를 입력받고나서 가장 시간 복잡도가 낮은 퀵정렬을 사용하면하면 되지만 그냥 데이터가 삽입되는 순간에 삽..

반응형