목록분류 전체보기 (109)
나의 지식 보관소
가변배열은 길이가 다양한 배열들을 요소로 가지는 다차원 배열이다. 1 2 3 4 5 6 7 8 9 10 // 데이터형식[][] 배열이름 = new 데이터형식[가변배열의크기][]; int[][] jagged = new int[2][] { new int[] { 100, 200 }, new int[3] { 1, 2, 3} }; int[][] jagged2 = new int[2][]; jagged2[0] = new int[] { 10, 20 }; jagged2[0] = new int[3] { 4, 5, 6 };
Annoymous Type으로 불리는 무명형식은 문자 그대로 이름이 없는 형식이다. 형식에 이름이 필요한 이유는 그 형식의 이름을 이용해서 인스턴스를 만들기 때문인데, 만약 해당 형식이 한번 쓰이고 다시는 쓰이지 않을 그런 형식이라면 따로 형식을 만들어주는게 코드의 낭비일 수 있다. 무명메서드는 다음과 같이 var키워드를 사용한다. 1 2 var temp = new { Name = "김종호", Age = 19 }; Console.WriteLine($"{temp.Name} {temp.Age + 1}"); 무명 형식의 필드의 데이터 형식 또한 var처럼 결정된다. 무명 형식의 인스턴스가 만들어지고 난 다음에는 읽을수만 있다.
파일의 상태 확인하기 파일의 상태를 확인 하려면 보통 $ git status 명령을 사용한다. 좀더 간단한 상태를 보고 싶다면 $ git status -s 처럼 옵션을 주면 된다. $ git status -s M README MM Rakefile A lib/git.rb M lib/simplegit.rb ? ? LICENSE.txt -s 옵션을 주게 되면 파일 이름 옆에 기호가 붙어서 상태를 표시해주게 되는데, 아직 추적하지 않는 새 파일에는 ?? 표시가, Staged 상태로 추가된 파일중 새로 생성된 파일에는 A 표시가, 수정된 파일 앞에는 M 표시가 붙는다. 그리고 상태정보 칼럼을 보면 두개가있는데 왼쪽에는 Staging Area에서의 상태를, 오른쪽에는 Working Tree에서의 상태를 표시한다. ..
Git 프로젝트에는 Working Directory, Staging Area, Repository의 세가지 영역과 Untracked, Unmodified, Modified, Staged의 4가지의 상태가 있다 영역 Working Directory: 실제 코드의 추가, 수정, 삭제의 작업이 이루어지는 프로젝트 디렉토리로써 .git을 제외한 영역 Staging Area(Index): Working Directory에서 Repository로 정보 저장 전 단계, Staging Area에 있지 않은 파일은 버전으로 만들어지지 않는다. Repository(.git directroy): .git 디렉토리를 말하고, 버전들을 저장한다. 상태 Untracked: 파일이 처음 만들어진 상태, git에 의해 버전관리 된적..
저장소 만들기 Git저장소를 만드는 방법은 주로 두가지가 있다. 1. 아직 버전 관리를 하지 않은 로컬 디렉토리 하나를 선택해서 Git 저장소로 만드는 방법 2. 어딘가에 이미 존재 하는 Git 저장소를 clone 하는방법 기존 디렉토리를 Git 저장소로 만들기 $ cd 를 통해 Git 저장소로 만들 디렉토리로 이동한 후 $ git init 명령을 통해 현재 디렉토리를 Git 저장소로 만들 수 있다. 기존 저장소를 Clone 하기 $ cd 를 통해 Git 저장소로 만들 디렉토리로 이동한 후 $ git clone 명령으로 저장소를 Clone한다
Git을 편하게 사용하기 위해서는 설치 후 적절히 설정해주어야하고, Git은 이 설정에 따라서 동작하게된다. 이때 사용하는 Git의 설정파일은 세가지가 있다. 1. /etc/gitconfig 파일: 시스템의 모든 사용자와 모든 저장소에 적용되는 설정이다. git config --system 옵션으로 이 파일을 읽고 쓸 수 있다. 2. ~/.gitconfig, ~/.config/git/config 파일: 현재 사용자의 모든 저장소에 적용되는 설정이다. git config --global 옵션으로 이 파일을 읽고 쓸 수 있다. 3. .git/config : 이 파일은 Git디렉토리에 있고 특정 저장소에게만 적용되는 설정이다. git config --local옵션으로 이 파일을 읽고 쓸 수 있다. ( git ..
멀티스레드 프로그램에서 스레드들이 객체를 공유해서 작업하는 경우에 하나의 데이터에 여러 스레드들이 동시에 접근하면 의도치 않은 결과를 만들어 낼 수 있다. 때문에 스레드가 사용 중인 데이터를 다른 스레드가 변경할 수 없도록 잠금을 걸어야 한다. 멀티 스레드 프로그램에서 단 하나의 스레드만 실행할 수 있는 코드 영역을 임계 영역(critical section)이라 부른다. 자바는 이러한 임계 영역을 지정하기 위해 동기화 메서드와 동기화 블록을 제공한다. 스레드가 객체 내부의 동기화 메서드 또는 블록에 들어가면 즉시 객체에 잠금을 걸어 다른 스레드가 임계 영역을 실행하지 못하도록 막는다. 동기화 메서드를 만드는 방법은 선언에 synchronized 키워드를 붙이면 된다. public synchronized ..