내맘대로 살기🎉
사실 나도 정규표현식을 직접 사용해보지 않았고, 많이 알고 있지 못하다. 공부를 하던 중에 공유하고 싶고, 정리를 하면서 머리 속 깊은 곳에 새겨두고 싶은 마음이 있어서 글을 쓰게 되었다. 함께 사용 가능한 세 가지의 플래그 i - 정규표현식이 대소문자를 구분하지 않도록 한다. /harris/i는 harris뿐만 아니라 Harris, hARris 등 대소문자를 구분하지 않는다.regexper.com에서 확인해본 결과 Flags:Ignore Case라고 표현되는 것을 확인할 수 있다. /harris/라고 하면 "harris"라는 문자 그대로 가져온다. g - 지정된 패턴에 해당하는 모든 부분을 매치시킨다. Flags를 확인해보면 Global을 확인할 수 있다. m - 여러 줄을 포함하고 있는 문자열을 매치..
md5로 암호화를 하는 방법 1. md5방식의 해싱. (터미널에서 npm install md5 --save)2. 터미널에서 node3. var md5 = require('md5');4. md5('javascript'); 를 검색해보면 암호화된 문자('de9b9ed78d7e2e1dceeffee780e2f919')를 출력한다. 암호화를 푸는 것을 "복호화".복호화가 불가능 한 것을 "단방향 암호화 방법"이라고 한다. md5가 단방향이다.5. 터미널에서 md5('원래의 비밀번호');로 원래의 비밀번호를 암호화한 문자로 얻고 그 문자를 코드에 넣는다. 6. 코드에서 사용자가 입력한 비밀번호도 md5(입력받은 비밀번호) 이렇게 묶어준다. 사용자가 입력한 비밀번호가 어떤 것인지 확인하는 것이 아니라, 사용자가 입력..
처음에 느낌표 두 개를 보고 "이건 도대체 뭐지?"라는 생각이 들었습니다. 그래서 찾봤지요 ! [ 느낌표 두 개 ]라고 검색을 해 본 결과, 아주아주아주 ! 많이 나왔어요. 그래서 쉽게 어떠한 결과인지 알 수 있었습니다. 그런데, boolean으로 형 변환. 0을 false로, 1을 true로.ex)if(!!window.applicationCache){}// 어플캐시를 지원하는 단말이면 true, 지원하지 않으면 false. 이렇게 써져 있더라구요." 아니 그러면 그냥 window.applicationCache라고 하면 되잖아? "라는 생각에 직접 해봤는데, 실제로 굉장히 유용할 것 같더라구요. var ninja = function myNinja(){ var a = 1; var result = "I'm ..
간략하게 두가지 방법으로만 정리해보자. 메서드를 이용한 재귀 메서드를 이용할 때는 익명함수를 사용한다. 어차피 메서드의 이름으로 그 함수를 동작시킬 수 있기 때문에 굳이 함수의 이름을 부여해줄 필요가 없다. 이런 말이 있다. "부르지도 않는데, 고양이에게 이름이 왜 지어줘 ?"(자바스크립트 닌자 비급 中). 맞는 말이다 :-) 코드로 바로 확인해보자. 메서드를 이용한 재귀함수는 이런 식으로 사용하며 된다. 어렵지 않다. 하지만, 주의해야할 점이 있다. 객체를 만들 때, 항상 염두해야할 점으로 재사용성이라고한다. phone이라는 함수를 재사용하려면 위의 ring이라는 메서드의 콘텍스트를 직접 지정해주는 것이 아니라, this로 알아서 자신의 콘텍스트를 잡게 해줘야한다. 재귀를 이용한 인라인 함수 인라인함수..
자바스크립트 닌자 비급이라는 책으로 공부 중에, 정리가 너무 잘되어 있어서, 나 또한 정리를 하고 머릿속에 더 깊숙한 곳에 넣고 싶었다. 다른 언어들과는 다르게 javascript에서는 유효범위가 조금은 다르다. JAVA를 예로 들면, if (window) {var x = 111;}alert(x);라고 하면, x는 undefined 값이 나온다. 하지만 Javascript에서는 x가 111이라는 값을 갖고 있다. 위의 코드에서 변수 a,b,c와 함수 inner()의 유효범위를 확인해보자. outer() 함수 내에 있는 변수 a,b,c는 초기화된 시점에서 outer() 함수가 끝나는 지점까지 그 값을 갖는다.그렇다면 inner() 함수도 선언된 시점에서 outer() 함수가 끝나는 지점까지 함수의 기능을 ..