본문 바로가기
[도서 정리] 2. Git 의 기초 #1 - ProGit 2. Git 의 기초 #1 - ProGit 2.1. Git 저장소 만들기 -Git 저장소를 만드는 방법은 두가지이다.기존 프로젝트나 디렉터리를 Git 저장소로 만드는 방법이 있고, 다른 서버에 있는 저장소를 Clone 하는 방법이 있다. * 기존 디렉터리를 Git 저장소로 만들기 -$ git init이는 .git 이라는 하위 디렉터리를 만든다..git 디렉터리에는 저장소에 필요한 뼈대 파일(skeleton)이 들어 있다. * 기존 저장소를 Clone 하기 $ git clone [url] [folderName]이는 folderName 이라는 폴더에 url 로부터 내용을 받아와 넣는다. -Git 은 다양한 프로토콜을 지원한다.https://git://user@server:path/to/repo.git ( S.. 2020. 1. 5.
[도서 정리] 1. 시작하기 - ProGit 1. 시작하기 - ProGit 1.1. 버전 관리란? * 로컬 버전 관리 -로컬 VCS (Version Control System) 으로 RCS(Revision Control System)이 많이 쓰인다.RCS 는 기본적으로 Patch Set(파일에서 변경되는 부분)을 관리한다. * 중앙집중식 버전 관리 (CVCS) -마지막 스냅샷만을 checkout 한다.그래서 중앙 서버에 문제가 생기면 프로젝트의 모든 히스토리를 잃을 수 있다. * 분산 버전 관리 시스템(DVCS) -Git, Mercurial, Bazaar, Darcs 등이 있다.DVCS 에서의 클라이언트는 단순히 파일의 마지막 스냅샷을 checkout 하지 않는다.그냥 저장소를 전부 복제한다.서버에 문제가 생기면 이 복제물로 다시 작업을 할 수 있.. 2020. 1. 4.
[도서 정리] 부록A. 많이 쓰는 앱과 언어에서 활용하는 정규식 - 손에 잡히는 10분 정규 표현식 부록A. 많이 쓰는 앱과 언어에서 활용하는 정규식 - 손에 잡히는 10분 정규 표현식 * grep -grep 은 파일이나 표준 입력된 텍스트를 대상으로 검색을 수행하는 유닉스 유틸리티다.grep 에서 다음 사항 중 하나를 선택하면, 기본, 확장, 펄(perl)과 호환되는 정규식을 쓸 수 있다. -E 로 확장 정규식 사용-G 로 기본 정규식 사용-P 로 펄 정규식 사용 -정규식이 지닌 정확한 특징과 기능은 어떤 선택 사항을 선택했는지에 따라 달라진다.대다수 사용자들은 표준에 가깝다는 이유로 펄 정규식을 선택한다. -기본적으로 grep 은 일치하는 부분이 있다면, 그 줄을 모두 표시한다. 만약 정확히 일치하는 부분만 보고 싶다면 -o 옵션을 쓴다.-v 옵션은 일치한 부분을 반전시켜 일치하지 않는 줄만 표시한.. 2020. 1. 3.
[도서 정리] 11. 정규 표현식으로 해결하는 일반적인 문제들 - 손에 잡히는 10분 정규 표현식 11. 정규 표현식으로 해결하는 일반적인 문제들 - 손에 잡히는 10분 정규 표현식 -여기서 제시한 예제들이 현존하는 문제 상황에 대한 궁극적인 해결책은 아니다.궁극적인 해결책 자체가 거의 존재하지 않는다는 점은 분명하다.예측하지 못하는 상황을 얼마나 허용할 것인지에 따라 해결책이 여러 개인 경우가 훨씬 많고 패턴의 성능과, 주어진 상황에서 얼마나 많은 조건을 다룰지 설정하는 패턴의 범위 사이에는 항상 교환 조건(trade-off)가 존재한다. * 북미 전화번호 * 미국 우편번호 * 캐나다 우편번호 * 영국 우편번호 * 미국 사회보장번호 * IP 주소 * URL -https?:\/\/[-\w.]+(:\d+)?(\/([\w\/_.]*)?)? 이 정규식은 대소문자를 구별해서는 안 된다. * 완전한 URL -.. 2020. 1. 2.
[도서 정리] 10. 조건 달기 - 손에 잡히는 10분 정규 표현식 10. 조건 달기 - 손에 잡히는 10분 정규 표현식 * 왜 조건을 다는가? -모든 정규식 구현에서 조건 처리를 지원하지는 않는다. * 조건 사용하기 -조건을 다는 구문 또한 물음표(?)를 사용하는데, 역참조를 사용하는 조건 처리와 전후방탐색을 사용하는 조건 처리에도 사용할 수 있다. ** 역참조 조건 -역참조 조건은 이전 하위 표현식이 검색에 성공했을 경우에만 다시 그 표현식을 검사한다. 여기서 태그를 모두 찾고, 로 감싸져 있을 때는 이 링크 태그까지 일치시킨다. (]+>\s*)?]+>(?(1)\s*) ?(1) 은 역참조1 ( 시작 태그)이 있을 때만 수행하라는 말이다.다른 말로, 태그 와 일치한다면 그 뒤의 종료 태그도 일치시키라는 의미이다. -?(1) 은 역참조 1이 있는지 없는지 검사한다.역참조.. 2020. 1. 1.
[도서 정리] 9. 전방탐색과 후방탐색 - 손에 잡히는 10분 정규 표현식 9. 전방탐색과 후방탐색 - 손에 잡히는 10분 정규 표현식 -지금까지 사용한 표현식들은 모두 일치하는 텍스트를 가지고 있었지만, 가끔은 텍스트 자체를 찾기보다는 어디서 텍스트를 찾을지를 표시하는데 표현식을 쓰고 싶을 때도 있다.그러려면 전후방탐색(lookaround)을 써야 한다. * 전후방탐색 살펴보기 -전방탐색은 모든 주요 정규식 구현에서 지원하지만, 후방탐색은 광범위하게 지원하지 않는다.자바, 닷넷, PHP, 파이썬, 펄에서는 몇 가지 제약이 있지만 후방탐색을 지원한다.자바스크립트에서는 지원하지 않는다. * 전방탐색 - 앞으로 찾기 -전방탐색(lookahead) 패턴은 일치 영역을 발견해도 그 값을 반환하지 않는 패턴을 말한다.전방탐색은 실제로는 하위 표현식이며, 하위 표현식과 같은 형식으로 작성.. 2019. 12. 31.
[도서 정리] 8. 역참조 사용하기 - 손에 잡히는 10분 정규 표현식 8. 역참조 사용하기 - 손에 잡히는 10분 정규 표현식 * 역참조(backreferences) 이해하기 -gamza 와 같은 녀석이 있을 때 올바르지 않은 포맷인데도.*? 에 매핑된다. * 역참조로 찾기 -This is. block of of text,several words here are arerepeated, and and theyshould not be. 아래 패턴으로 중복 노출되는 단어들을 찾을 수 있다.[ ]+(\w+)[ ]+\1 [ ]+ 는 공백이 하나 이상 연속되는 겨우 일치한다.그 다음 \w+ 가 괄호로 감싸져 있음에 주목하자.반복해 일치시키려고 하위 표현식을 사용한 것이 아니다.반복해서 일치하는 부분도 없다.여기서는 나중에 일치한 부분을 사용할 수 있도록 표시하여 구별하고자 하위 표현.. 2019. 12. 30.
[도서 정리] 7. 하위 표현식 사용하기 - 손에 잡히는 10분 정규 표현식 7. 하위 표현식 사용하기 - 손에 잡히는 10분 정규 표현식 * 하위 표현식 이해하기 - 가 있을 때 regexp {2,} 는 일치하지 않는다.; 에 대해서만 2회 이상이기 떄문이다. * 하위 표현식으로 묶기 -하위 표현식은 큰 표현식 안에 속한 일부 표현식을 한 항목으로 다루도록 한데 묶은 것이다.하위 표현식은 괄호 사이에 사용한다. -ip 주소를 검색하는 경우 아래와 같이 두가지 경우 모두 사용할 수 있다. \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(\d{1,3}\.){3}\d{1,3} -일부 사용자들은 가독성을 높이고자 표현식 일부를 하위 표현식으로 묶기도 하는데,(\d{1,3}\.){3}\d{1,3} 대신 (\d{1,3}\.){3}(\d{1,3}) 를 사용하면..규칙에 완벽히.. 2019. 12. 29.
[도서 정리] 6. 위치 찾기 - 손에 잡히는 10분 정규 표현식 6. 위치 찾기 - 손에 잡히는 10분 정규 표현식 * 경계 지정하기 -위치 찾기(position matching)는 텍스트 문자열 안에서 반드시 일치해야 하는 위치를 지정할 때 사용한다. The cat scattered his food all over the room.여기서 고양이 "cat" 을 정규식으로 사용하면, 원래 찾으려 했던 고양이 cat 과 scattered 의 cat 이 함께 검색된다. 이럴 때 경계(boundaries)를 사용하거나 패턴 앞이나 뒤에 특정한 위치 혹은 경계를 나타내는 메타 문자를 사용하면 원하는 cat 만 추출할 수 있다. * 단어 경계 지정하기 -\b 로 표시하는 단어 경계가 있다.단어 경계라는 이름에서 유추해 볼 수 있듯이, \b 는 단어의 시작이나 마지막을 일치시킬 .. 2019. 12. 28.
반응형