목록분류 전체보기 (79)
영권's
Optional은 자바8에서 새로 추가된 인터페이스이다. Optional이 나오게 된 이유 null을 반환하면 별도의 null 처리를 해야하며 null 처리를 무시하고 반환된 null 값을 어딘가에 저장하면 언젠가 NPE가 발생한다. 그것도 근본적인 원인, 즉 null을 반환하게 한 실제 원인과는 전혀 상관없는 코드에서... null 값을 참조하려고 하는 경우 NPE 가 나오게 된다. 이런 에러는 보통 if(progress != null)과 같이 조건문을 사용해서 해결하게 된다. 하지만 이런 방법은 사람이 코딩하는데 있어서 에러를 만들기 쉬운 코딩 방법중 하나이다. 해결하는 방법은 아주 간단하지만 근본적인 이유를 해결하는 것이 아니다. (사람이 코딩하는 것이기 때문에 실수를 해서 널 체크를 하지 않을 수..
수정하고 저장소에 저장하기 Git 저장소를 하나 만들고 워킹 디렉토리에 Checkout도 했다. 이제는 파일을 수정하고 파일의 스냅샷을 커밋해 보자. 파일을 수정하다가 저장하고 싶으면 스냅샷을 커밋한다. 워킹 디렉토리의 모든 파일은 크게 Tracked(관리대상임)와 Untracked(관리대상이 아님)로 나눈다. Tracked 파일은 이미 스냅샷에 포함돼 있던 파일이다. Tracked 파일은 또 Unmodified(수정하지 않음)와 Modified(수정함) 그리고 Staged(커밋으로 저장소에 기록할) 상태 중 하나이다. 간단히 말하자면 Git이 알고 있는 파일이라는 것이다. 그리고 나머지 파일은 모두 Untracked 파일이다. Untracked 파일은 워킹 디렉토리에 있는 파일 중 스냅샷에도 Stagi..
Git 저장소 만들기 주로 다음 두 가지 중 한 가지 방법으로 Git 저장소를 쓰기 시작한다. 아직 버전관리를 하지 않는 로컬 디렉토리 하나를 선택해서 Git 저장소를 적용하는 방법 다른 어딘가에서 Git 저장소를 Clone 하는 방법 어떤 방법을 사용하든 로컬 디렉토리에 Git 저장소가 준비되면 이제 뭔가 해볼 수 있다. 기존 디렉토리를 Git 저장소로 만들기 버전관리를 하지 아니하는 기존 프로젝트를 Git으로 관리하고 싶은 경우 우선 프로젝트의 디렉토리로 이동한다. 이러한 과정을 처음 해보는 것이라면 시스템마다 조금 다른 점을 주의하자. Linux: $ cd /home/user/my_project Mac: $ cd /Users/user/my_project Windows: $ cd /c/user/my_..
Git 기초 Git의 핵심은 뭘까? 이 질문은 Git을 이해하는데 굉장히 중요하다. Git이 무엇이고 어떻게 동작하는지 이해한다면 쉽게 Git을 효과적으로 사용할 수 있다. Git을 배우려면 Subversion이나 Perforce 같은 다른 VCS를 사용하던 경험을 버려야 한다. Git은 미묘하게 달라서 다른 VCS에서 쓰던 개념으로는 헷갈린다. 사용자 인터페이스는 매우 비슷하지만, 정보를 취급하는 방식이 다르다. 이런 차이점을 이해하면 Git을 사용하는 것이 어렵지 않다. 차이가 아니라 스냅샷 Subversion과 Subversion 비슷한 놈들과 Git의 가장 큰 차이점은 데이터를 다루는 방법에 있다. 큰 틀에서 봤을 때 VCS 시스템 대부분은 관리하는 정보가 파일들의 목록이다. CVS, Subver..
1.1 시작하기 - 버전 관리란? 이 장에서 설명하는 것은 Git을 처음 접하는 사람에게 필요한 내용이다. 먼저 버전 관리 도구에 대한 이해와 Git을 설치하는 방법을 설명하고 마지막으로 Git 서버를 설정하고 사용하는 방법을 설명한다. 이 장을 다 읽고 나면 Git 탄생 배경, Git을 사용하는 이유, Git을 설정하고 사용하는 방법을 터득하게 될 것이다. 버전 관리란? ``버전 관리'' 는 무엇이고 우리는 왜 이것을 알아야 할까? 버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. 이 책에서는 버전 관리하는 예제로 소프트웨어 소스 코드만 보여주지만, 실제로 거의 모든 컴퓨터 파일의 버전을 관리할 수 있다. 그래픽 디자이너나 웹 디자이너도..
문제는 요점은 주어진 숫자 number에서 K개의 숫자를 뺀 수 중 가장 큰 수를 찾아라 입니다. 방법1 n의 자릿 수 - k = 가장 큰 수의 길이가 됩니다. 예를 들어 "4177252841"이 주어지고 k가 4가 주어져서 결과 값의 자릿수가 6자리라고 했을 때 OOOOOO k개의 숫자를 뺀 결과 값이 가장 큰 수의 첫번째 자리에 올 수 있는 수는 n에서 인덱스가 0~k까지에 해당하는 수 중 가장 큰 수 가 됩니다. 두번째 자리에 올 수 있는 수는 n에서 인데스가 1~k+1에 해당하는 수 세번째 자리에 올 수 있는 수는 n에서 인데스가 2~k+2에 해당하는 수 ... 이런식으로 해당 자리에 오는 수 중 큰 자릿수 순서대로 하나씩 찾는데 그 해당하는 자리 수 보다 앞자리에 올 수 는 없기 때문에 마지막으..