반응형

동고 팔자 상팔자 218

자바 Arrays 클래스

Arrays 클래스에 배열에 관련된 유용한 함수들이 많다.아래는 가장 자주 쓰이는 유용한 API들이다.(※ 출처 : https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html) sort배열을 오름차순으로 정렬예)1234567String[] strArray = {"a", "c", "b"};Arrays.sort(strArray);System.out.println(Arrays.toString(strArray)); int[] intArray = {1,3,2};Arrays.sort(intArray);System.out.println(Arrays.toString(intArray)); 결과12[a, b, c][1, 2, 3] equals두개의 배열이 같은지 비교..

개발 2016.03.22

자바 배열 <-> 리스트 변환

1. 배열 -> 리스트 변환 배열 -> 리스트 변환 방법에는 크게 두가지 방법이 있다. 편한걸로 쓰면된다. 1) Arrays 유틸을 이용한 방법1234String[] strArray = {"a", "b", "c"};ArrayList strList = new ArrayList(Arrays.asList(strArray)); System.out.println(strList);Ccs결과 [a, b, c] 2) Coolections 유틸을 이용한 방법12345String[] strArray = {"a", "b", "c"};List strList = new ArrayList();Collections.addAll(strList, strArray); System.out.println(strList); 결과 [a, b,..

개발 2016.03.22

Git ~ 및 ^ (상대적 커밋 이름)

Git에서는 특정 참조(일반적으로 브랜치의 HEAD)를 기준으로 상대적인 위치에 있는 커밋을 식별하는 매커니즘이 있다. ~ (물결기호. 틸트) 상위 차수를 선택할 때 사용된다. ^ (삽입기호. 캐럿) 동일 차수 내에서 각기 다른 상위 커밋을 선택할 때 사용된다. show-branch 명령어를 사용하면 ~,^으로 표기된 브랜치 추적정보를 조회할 수 있다.자신의 브랜치 정보를 토대로 확인해보면 좀더 이해가 가기 쉬울것이다. 1 2 3 4 5 6 7 8 9 $ git show-branch --more=10 [master] Donggo Hate A Poop update [master^] Merge branch 'donggoHateAPoop' [master^^2] Lecture 5th [master~2] Upda..

개발 2016.03.17

Git diff 명령어

diff 명령어는 두 항목간의 차이를 비교할때 사용된다. 사용법git diff [options] [] [--] [ ...]git diff [options] --cached [] [--] [ ...]git diff [options] [--] [ ...]git diff [options] git diff [options] [--no-index] [--] 유용한 옵션--stat두 개의 트리 상태간의 차이점을 변경된 줄수, 추가된 항목 수 및 삭제된 항목 수를 간략하게 보여준다. 예git diff // 작업 디렉토리와 인덱스 비교git diff HEAD // 작업 디렉토리와 HEAD 비교git diff --cached // 인덱스와 HEAD 비교git diff --stat master // master 브랜치와의..

개발 2016.03.17

Git blame 명령어

blame 명령어는 특정 커밋을 식별할때 사용한다.소스의 각 줄을 마지막으로 수정한 사람이 누구인지 그리고 어떤 커밋에서 변경사항이 적용되었는지 알려준다.많이 사용하는 기능은 아니지만 해당 소스가 어느 시점에 누가 왜 적용했는지 추척할때 유용하게 사용할 수 있다. 사용법git blame [] [] [] [--] 예git blame HEAD ./README.md -> README.md의 마지막 수정 정보 조회1234567891011donggov@KPS MINGW64 /e/11_Project/git/DonggoGame (master)$ git blame HEAD ./README.md^16edc31 (donggov 2015-12-20 16:29:48 +0900 1) Donggo Game Project^16ed..

개발 2016.03.14

Git 객체 유형 및 구조

Git의 객체 저장소에는 blob, tree, commit, tag 객체가 존재하며 이 객체들이 Git의 상위 레벨 데이터 구조의 기초가 된다. blob 파일의 내용을 저장한다. tree . 한 레벨의 디렉토리 정보를 나타냄 . 한 디렉토리에 있는 모든 파일에 대한 blob ID, 메타데이터 등을 저장한다. . 커밋이 실행된 당시의 저장소 상태를 하나의 완전한 스냅샷으로 캡처한 내용이 담겨있다. commit . 변경 사항에 대한 메다데이터(tree, parent, author, committer 등)를 가지고 있다. . 각 커밋은 tree 객체를 가리킨다. tag . 사람이 읽기 힘든 해쉬값에 별칭을 붙인 것 다음은 Git Object Model 그림이다. git bash에서 아래 명령어를 통해 구조를 ..

개발 2016.03.14

Git 참조(ref)와 심볼릭 참조(symref)

참조 (ref) . Git 객체 저장소 내에 있는 객체를 참조하는 해시ID . 모든 Git 객체를 참조할 수 있다. . 브랜치, 태그 등도 모두 참조의 일종이다. 심볼릭 참조 (symref) . 간접적으로 Git 객체를 가리키는 이름. 심볼릭 참조도 참조의 일종이다. . Git에는 특별한 목적을 위한 아래와 같은 특수 심볼릭 참조들이 있다. 1) HEAD : 가장 최신 커밋을 참조한다. 2) ORIG_HEAD : pull, merge와 같은 특정 작업 수행전에 이전 버전의 HEAD를 ORIG_HEAD에 기록한다. 3) FETCH_HEAD : 'git fetch' 명령 수행시, 항상 마지막으로 가져온 브랜치의 헤드를 FETCH_HEAD에 저장한다. 단, 작업 직후에만 유효함. 4) MERGE_HEAD : ..

개발 2016.03.14

HTML5 게임 만들기 : 동고는 똥을 싫어해 #5

HTML5 게임 만들기 : 동고는 똥을 싫어해 #5 아래 페이지에 Phaser3 버전으로 리뉴얼 하였습니다. https://donggov.tistory.com/138 HTML5 게임 개발 따라하기 - 총알 피하기 (Phaser 및 Player 설정) Phaser를 이용하여 HTML5 게임을 개발해보자 Phaser를 이용한 HTML5 게임 개발하기입니다. 자세한 원리는 글에 포함하지 않았으며 코딩을 처음 접하는 분들을 위해 나름(?) 친절하게 작성하였습니다. donggov.tistory.com '동고는 똥을 싫어해 만들기' 마지막 편입니다. 이번에는 게임 점수 처리와 'GAME OVER' 출력 처리를 하도록 하겠습니다. 우선 플레이어가 똥에 충돌했을때 'GAME OVER' 텍스트가 출력되도록 해보겠습니다...

개발 2016.03.13

Maven Profile를 통한 Web 리소스 분기처리

html, js, 이미지 파일 등의 리소스를 분기처리 할때 활용아래 예는 로컬, 개발환경에 따라서 index 페이지를 다르게 패키징하는 예이다. 1) 각 프로파일 설정에 분기처리할 파일의 경로를 설정한다. 2) maven-was-plugin 설정에서 대상 directory, 배포 target, 대상 파일을 설정한다.아래 예에서는 index.html 파일 하나만 처리할꺼라서 include를 사용하였지만, 여러 파일을 통 처리할때에는 exclude를 사용하는게 더 편하다. 3) 프로파일 옵션을 사용하여 패키징한다.사용방법은 mvn -P[pofile id] [goal]예) mvn -Plocal package mvn -Pdev package pom.xml 예)12345678910111213141516171819..

개발 2016.03.12

[Spring] JSR-303 빈 검증 (유효성 검증)

JSR-303 빈 검증 (유효성 검증) 서버 레벨에서 객체 유효성 검증을 쉽게 하는방법이다. Spring 3.0? 3.1부터 지원하는것 같음. 실습삼아 한번 적용해봤다. 방법은 Apache bean validation과 Hibernate Valitator가 있는데, Hibernate를 사용해보기로 했다. 순서를 요약하면 아래 4가지만 하면된다. 1) (Maven 기준) pom.xml에 Dependency 추가 2) bean에 Annotation 추가 3) 컨트롤러에 @Valid 및 BindingResult 설정 4) jsp 수정 이제 본격적으로 적용해보자. 1. Maven 기준으로 hiberbate dependency 추가한다. 1 2 3 4 5 6 org.hibernate hibernate-valida..

개발 2016.02.28

HTML5 게임 만들기 : 동고는 똥을 싫어해 #4

HTML5 게임 만들기 : 동고는 똥을 싫어해 #4 '동고는 똥을 싫어해 만들기' 네번째 시간입니다. 이번 편에서는 똥 발사와 충돌을 해보겠습니다. Go Go. 똥을 추가하겠습니다.아래 이미지를 다운받아주세요. (우클릭 후 다른이름으로 저장) ddong, ddongAlive, ddongArray 변수 추가 및 preload 함수에서 이미지를 로딩해줍니다. ddong 변수에는 똥의 속성을 부여하고,ddongAlive 변수에 ddong의 존재여부 값을 저장할 예정입니다.그리고 ddongArray에는 발사할 똥의 정보를 담을 예정입니다.(지금와서 이런말하면 뭐하지만 자꾸 똥, 똥해서 민망하네요.....ㅋㅋㅋㅋ) 1 2 3 4 5 6 7 8 var ddong; var ddongAlive; var ddongArr..

개발 2016.02.27

리눅스 nohup 명령어

nohup은 프로세스를 백드라운드에서 데몬형태로 실행시켜준다. nohup으로 실행시킨 프로세스는 터미널 접속을 종료해도 계속 수행된다. nohup을 사용하긴 위해선 해당 쉘 파일의 퍼미션이 755(-rwxr-xr-x) 이상이어야 한다. 퍼미션 오류가 발생하면 chmod 755 [쉘 파일] 명령어로 가볍게 퍼미션을 부여해주면 된다. nohup 실행 nohup [쉘 파일] & 예) nohup run_process.sh & // run_process.sh 파일을 백그라운드에서 실행 nohup 종료 해당 프로세스를 종료시키는 쉘이 있으면 해당 쉘을 실행하면 된다. 그런 쉘이 없다면 kill 명령어를 사용하여 프로세스 직접 죽인다. 예) kill -9 [프로세스 PID 번호]

개발 2016.02.22

git cherry-pick : 특정 commit만 반영하기

cherry-pick동사[타,자동사][VN, V] (최고를) 선별하다 cherry-pick은 다른 브랜치에 있는 특정 commit만 반영할때 사용한다.머지 커밋과 같이 parent가 있는 커밋을 cherry-pick 하면 fail이 나는데 이때는 -m 옵션을 사용하면 된다. 사용법git cherry-pick [commit id] // commit id을 반영하고 커밋까지 수행git cherry-pick -n [commit id] // commit id을 반영하고 add까지만 수행. commit은 안함 예) 3개의 커밋을 하나의 커밋으로 합쳐서 반영하는 예제git cherry-pick -n aaa123git cherry-pick -n bbb123git cherry-pick -n ccc123git commi..

개발 2016.02.17
반응형