Collection 인터페이스 구성 인터페이스 Hash Table Resizable Array Balanced Tree Linked List List+Hash Set HashSet TreeSet LinkedHashSet List ArrayList LinkedList Deque ArrayDeque LinkedList Map HashMap TreeMap LinkedHashMap 일반적으로 사용되는 클래스- 데이터 읽기/쓰기 등 평균 응답시간이 가장 좋다- 필요한 목적에 부합하는 클래스를 선택해서 사용하는 것이 바람직하다. (TreeSet은 느리지만, 데이터를 저장하면서 정렬하기때문에 순서에 따라 탐색할때 유용하다) 인터페이스 클래스 Set HashSet List ArrayList Map HashMap Que..
String은 immutable 하고, StringBuffer는 mutable하다. String은 한번 생성되면 불변한다? 문자열을 더할 경우("Hello" + "World"), 새로운 String객체를 생성한 후 값("Hello World")을 담아 리턴한다는 말이다. (기존의 객체들 에 담긴 값("Hello", "World")이 변하지 않음) 따라서, String은 짧은 문자열을 더할 경우에나 사용하는 것이 좋다고 한다. (새로운 객체를 생성하여 리턴하므로..) StringBuilder는 스레드에 안전한지의 여부와 전혀 관계없는 프로그램을 개발할 때 사용하면 좋다. 만약 메서드 내에 변수를 선언했다면, 해당 변수는 그 메서드 내에서만 살아있으므로, StringBuilder를 사용하면 된다. Strin..
리눅스 서버 60초안에 상황파악하기
다른 사람들의 Github를 돌아다니다 보면 빌드관련 버튼을 볼 수 있다. 아직 지속적 통합, 이런 개념은 와닿지 않고, 그냥 내 git에도 버튼을 추가하고 싶었다.추후에 스테이징 서버에 배포하는 등 구조 개선이 이루어지면 관련 내용을 추가해야겠다. Travis CIGithub 저장소에 Push가 되었을 때, CI (continuous integration) 서버가 빌드테스트 후 결과를 리포팅해주는 서비스이다. 1. travis사이트에서 자신의 저장소(github)와 연동2. travis 사이트에서 Web Hook 설정3. github 저장소의 settings에서 Travis CI 적용 확인 yaml 파일 생성 1. 최상위 경로에 .travis.yml 파일을 생성해준다 language: java befo..
(17/10/20 honux의 특강 후 추가 내용) - git을 제대로 이해하기 위해서는 참조에 대한 개념이 필요하다. git에는 객체와 참조가 있으며, commit만이 객체이다.(나머지는 모두 참조일뿐)자식은 부모를 찾아갈 수 있는 이유는 부모 링크를 가지고 있기 때문이다.git commit하면 HEAD(현재 branch, 즉 가장 마지막 commit을 참조)에서 commit 생성된다. branch 는 객체의 참조를 의미할 뿐이다. (commit의 이름이 너무 어렵기 때문에 branch를 사용하는 것이라고 봐도 될듯)1. commit하면 commit 생성2. HEAD 갱신3. HEAD가 가르키는 branch가 있을 x`x경우 branch 갱신 - git branch -f jake C5 -> (강제로 브..
Package Update $ sudo apt-get update // apt를 업데이트 $ sudo apt-get upgrade // 내가 설치한 프로그램들을 최신버전으로 업그레이드 한글 설정 (Ubuntu) $ sudo apt-get install language-pack-ko // 한글 패치 $ sudo locale-gen ko_KR.UTF-8 $ sudo reboot $ locale // locale 확인 $ sudo -i $ cat > /etc/default/locale LANG="ko_KR.UTF-8" LANGUAGE="ko_KR:ko:en_US:en" EOF 세션 재연결