git 업데이트, 다운로드 등을 수행할때마다 입력해야하는 패스워드를 입력하지 않는 방법이 없을까요?

보안상의 이유로 매번 패스워드, 아이디를 입력하는 것이 필요할 것입니다. 하지만 보안상 큰 문제가 없고(예를들어 개발, 운영 서버가 분리되어 있음) 매번 패스워드를 입력하는 것이 매우 불편하다면 이를 해결할 수 있는 방법이 있습니다. 바로 git config에 사용자 정보를 저장하여 사용하는 방법입니다. 그럼 어떻게 가능한지 아래에서 알아봅니다.


! git config가 자주 사용되는 부분
보통 사용자 이름과 이메일을 등록할 경우 git config를 가장 많이 사용됩니다. 아래는 사용자 이름, 이메일을 등록하는 방법입니다. 이처럼 등록해두면 commit 수행시 등록된 사용자의 정보가 업데이트되어 반영될 것입니다.

$ git config --global user.name "이름"
$ git config --global user.email 이메일@webisfree.com


각각 이름, 이메일 등록 방법입니다.

# Cache를 사용하여 매번 git 아이디, 패스워드 입력 안하는 방법

아래는 매번 입력해야 하는 인증을 캐시에 저장하여 일정시간동안 입력하지 않는 방법입니다.

$ git config credential.helper store


이제 새롭게 git 명령어를 입력해봅니다. 아직 저장된  credential 정보가 없으므로 아래처럼 패스워드 및 아이디 입력창이 나타나는데 입력하도록 합니다.

Username for 'myRepo':
Password for 'myRepo': 


계정을 입력한 후에는 정보가 서버에 저장되어 입력하지 않아도 됩니다. 이때 만료 시간을 입력하기 위해서 아래의 커맨드를 추가로 입력합니다.

$ git config --global credential.helper 'cache --timeout 7200'


timeout 뒤의 숫자는 초(second)입니다. 여기서는 7200만큼(2시간)의 만료시간을 추가했습니다. 시간이 지나면 당연히 다시 아이디, 패스워드 입력이 필요하게 됩니다.

1 day - 86,400
7 days - 604,800
30 days - 2,592,000

블로그 이미지

칩사마코더

,

정규표현식 사용하기



2.0 들어가며


정규 표현식은 주어진 패턴에 일치하는 문자열을 찾기 위해 하용하는 검색 패턴이다.

RegExp도 리터럴과 객체를 모두 가지고 있다.


정규표현식 패턴은 여는 슬리시와 닫는 슬래시 사이에 기술합니다.

주의할점은 이패턴은 문자열이 아니라는 것이다. 패턴에 작은따옴표나 큰따옴표를 사용하면 안된다.

물론 패턴에 따옴표가 포함되는 경우 예외이다.


정규표현식 특수 문자

문자 

일치 

예제 

 ^ 입력값의 시작 

 /^This/ 는 "This is.." 와 일치 

 $

 입력값의 끝

 /end/는 "This is the end" 와 일치

 *

 0번 이상 반복

 /se*/는 "seeee"와 "se"에 일치

 ?

 0번 또는 1번 반복

 /ap?/는 "apple" 과 "and"에 일치

 + 1번 이상 반복

 /ap+/는 "apple"에는 일치. "apie"에는 불일치

 {n}

 정확히 n번 반복

 /ap{2}는 "apple"에는 일치. "apie"에는 불일치

 {n,} n번 이상 반복

 /ap{2,}는 "apple"과 "apple"의 모든 p에 일치. "apie"에는 불일치

 {n,m}

 최소 n번, 최대 m번 

 /a,p{2,4}/는 "appppppple"의 p 4개에 일치

 .

 줄 바꿈을 제외한 모든문자

 /a,e/는 "ape"와 "axe"에 일치

 [^...]

 대괄호 안의 문자를 제외한

 모든문자

 /a[^px]/는 "ale"에는 일치. "axe"나 "ape"에는 불일치 

 \b

 단어 경계

 /\bno/는 "nono"에서 첫번째 "no"에 일치

 \B

 단어 경계를 제외한 모든문자

 /\Bno/는 "nono"에서 두번째 "no"에 일치

 \d

 0부터 9까지의 숫자

 /\d{3}는 "Now in 123"에서 123에 일치

 \D

 숫자를 제외한 모든문자

 /\D{2,4}/는 "Now in 123" 에서 "Now"에 일치

 \w

 단어 문자(알파벳,숫자,밑줄)

 /\w/는 "javascript"에서 "j"에 일치

 \W

 단어 문자가 아닌 문자
 (알파벳,숫자,밑줄이 아닌 문자) 

 /\W/는 "100%"에서 "%"에 일치

 \n

 줄바꿈 

 \s

 하나의 공백 문자 

 \S

 공백 문자가 아닌 모든 문자 

 \t

 탭 
 (x)

 캡쳐할 괄호

 일치한 문자들 기억

 [...]

대괄호 안의 모든문자 

 /a[px]e/는 "ape" 와 "axe"에 일치. "ale"에는 불일치


2.1 검색하는 문자열이 존재하는 확인하기


Q. 어떤 문자열이 검색하고자 하는 문자열을 포함하고 잇는지 확인하고 싶다.

A.자바스크립트 정규표현식을 사용해서 검색패턴을 정의하고 regExp객체의 test 메서를 사용하면 된다.


var pattern = /Cook.*Book/;

alert(pattern.test("Sam's Cookbook"));


2.2 대소문자를 구분하지 않고 문자열 검색하기


Q. 어떤 문자열에 대소문자를 구분하지 않고 검색하고 싶다.

A. 정규표현식에 대소문자 무시 i 를 사용하면 된다.


var pattern = /Cook.*Book/i;

alert(pattern.test("Sam's Cookbook"));


정규표현식의 플래그

 플래그

의미 
 g 전역 검색, 첫 번째 일치 결과에서 멈추지 않고 전체 문자열에 대해 패턴 검색 

 i 

 대소문자를 구분하지 않음 
 m

 여러줄 문자열에서 시작과 끝을 의미하는 특수 문자(^과$)를 각줄에 적용 


2.3 전화번호 유효성 검사하기

추후 추가예정


2.4 패턴과 일치하는 모든 부분을 찾고 강조하기


Q. 어떤 문자열안에서 패턴과 일치하는 부분을 모두 찾고 싶다.

A. RegExp.exec 메서드를 전역 플래그 g와 함께 사용하면 패턴에 일치하는 모든 부분을 찾을수 있다.


var searchString  = "Now is the time and this is the time and that is the time";

var pattern = /t\w*e/g;

var matchArray;


var str = " ";

while((matchArray = pattren.exec(searchString)) != null){

  str += "at "+matchArray.index + "we found " + matchArray[0] + "<br/>";

}


alert(str);


RegExp 객체의 exec 메서드는 정규표현식을 실행하여 일치하는 부분이 없으면 null을 반환하고, 일치하는 부분이 있은 배열을 반환한다. 반환된 배열에는 실제로 일치하는 값, 인덱스, 일치하는 괄호 부분 문자열, 원래의 문자열이 포함되어 있다.

  • index : 일치하는 부분 인덱스
  • input : 원래 입력한 문자열
  • [0]또는 배열에 직접 접근 : 일치하는 값
  • [1]...[n] : 일치하는 괄호 부분 문자열


2.5 패턴을 새로운 문자열로 치환하기


Q. 패턴에서 일치하는 부분 문자열을 다른 문자열로 치환하고 싶다.

A. String 객체의 replace 메서드를 정규표현식과 함께 사용하면 된다.


var searchString  = "Now is the time and this is the time and that is the time";

var pattern = /t\w{2}e/g;

var replacement = searchString.replace(re,"place");

alert(replacement); // Now is the place, this is the place


전역 플래그 g가 설정된 정규표현식을 String 객체의 replace 메서드와 함께 사용하면 검색된 문자열을 모두 다른 문자열로 치환할 수 있다.


2.6 캡처 괄호를 사용하여 문자열 안의 단어 교환하기


Q. 이름과 성의순서로 입력된 문자열에서 성이 앞에 나오도록 수정하고 싶다.

A. 캡처 괄호와 정규표현식을 사용하여 문자열 안에서 두 개의 이름을 찾아서 기억한 후 그들의 위치를 서로 교환하면된다.


var name = "Abe Lincoln";

var re = /^(\w+)\s(\w+)$/;

var newname = name.replace(re,"$2, $1");


캡처 괄호를 사용하면 문자열 안에서 특정 패턴을 찾을수 있을 뿐만아니라 이우에 찾은 부분 문자열을 참조 할수 있다. 검색된 문자열은 왼쪽부터 오른쪽으로 번호가 매겨지고 참조되어 String 객체의 replace 메서드에서 '$1' 과 '$2'로 사용할 수 있다.


정규 표현식은 공백으로 구분된 두단어를 검색한다. 캡처 괄호는 두단어에 사용되었으므로 이름은 $1을 ,성은 $2 를 사용해서 접근 할 수 있다.


캡처 괄호는 String 객체의 replace 메서드에서만 사용할 수 있는 특수 문자가 아니다. 정규표현식과 replace 메서드에 사용할 수 있다.


특수 문자표


 패턴목적 
 $$

 치환시 달러 문자($)허용

 $& 검색한 부분 문자열 삽입 

 $'

 일치한 부분 바로 앞까지의 문자열

 $' 일치한 부분 바로 뒤부터의 문자열
 $n

 RegExp를 사용할 때 n번째 캡처된 괄호값 삽입



2.7 정규표현식을 사용해서 양끝 공백 제거하기


Q. Ajax를 호출해서 문자열을 서버로 전송하기 전에 문자열 시작과 끝 부분의 공백을 제거 하고 싶다.

A. ECMAScript 5 이전에는 정규표현식을 사용해서 문자열 시작과 끝 부분의 공백을 제거 했습니다.


//old version

var testString = "  This  is the string ";

testString = testString.replace(/^\s+/,""); // 문자열 시작 부분의 공백 제거

testString = testString.replace(/\s+$/,""); // 문자열 끝 부분의 공백 제거


//new version

testString = testString.trim(); // 공백이 제거된 문자열


2.8 HTML 태그를 명명된 엔티티로 치환하기


Q. 마트업 예제를 웹페이제 붙여 넣되, 마크업을 이스케이프하여 콘텐츠를 해석하지 않고 꺽은 괄호(<>)를 그대로 출력해야 한다.

A. 정규표현식을 사용하여 꺽은 괄호를 명명된 엔티티 &lt; 와 &gt; 로 바꾸면된다.


var pieceOffHtml = "<p>This is a <span>paragraph</span></p>";

pieceOffHtml  = pieceOffHtml.replace(/</g,"&lt");

pieceOffHtml  = pieceOffHtml.replace(/>/g,"&lt");


2.9 특수 문자 검색하기


Q. 지금까지는 숫자와 문자 그리고 숫자나 문자가아닌 것들을 검했다. 이번에는 정규표현식 문자 그자체를 검색 한다.

A. 백슬래시를 사용하여 패턴 검색 문자를 이스케이프 하면된다.


var re = /\\d/;

var pattern = "\\d{4}";

var pattern2 = pattern.replace(re,"\\D");


숫자를 검색하는 특수 문자 \d에 대응하도록 정규표현식을 만들었습니다. 문자열 안에서 검색하기 위해 패턴을 이스케이프했다. 그후 숫자 특수 문자는 숫자가 아닌 것을 검색하는 특수 문자 \D로 치환 되었다.



출처: http://icoon22.tistory.com/220 [::: 자유로운 영혼 :::]


'자바스크립트' 카테고리의 다른 글

date 포맷 변경 2017-05-21 05:00  (0) 2017.05.21
자바스크립트 파일 읽기  (0) 2016.12.02
배열 객체에서 중복값 제거  (0) 2016.12.02
블로그 이미지

칩사마코더

,

CSS flex 레이아웃 잡기

CSS 2017. 7. 8. 05:42

FLEX 는 container 안에 items이 꼭 있어야 한다.


컨테이너와 아이템별로 속성이 있다.


Properties for the flex container


flex-direction

방향... 가로로 할건지 세로로 할건지


flex-wrap 

흘러 넘치게 할건지?


align-items

세로정렬


justify-content 

가로정렬


align-content 

아이템들을 정렬



Properties for the flex items


align-self

자기자신만을 정렬


flex-grow

숫자가 클수록 영역이 커진다


flex-shrink

숫자가 클수록 영역이 작아진다.


flex ( property for flex items )

.item { flex: flex-grow [flex-shrink] [flex-basis]; }




order ( property for flex items )

아이템의 순서를 정한다.




플렉스 강의


https://opentutorials.org/course/2418/13526



플렉스 게임


http://flexboxfroggy.com/#ko



플렉스 코드펜


https://codepen.io/enxaneta/pen/adLPwv

'CSS' 카테고리의 다른 글

DIV 세로 정렬하기  (0) 2016.10.13
블로그 이미지

칩사마코더

,