1. nodeunit 설치 터미널에서 npm을 이용해 node unit을 글로벌로 설치 한다. npm install nodeunit -g 또는 루비마인 설정 > 플러그인 > nodeunit을 검색하여 설치한다. 2. test폴더 생성프로젝트의 root dir 밑에 test폴더를 만들고 해당 폴더를 오른쪽 클릭 하여 mark directory as > test source root 로 설정 3. test 파일 생성test 폴더 밑에 테스트 하고 싶은 파일을 생성한다. 4. run configuration 설정최상단 메뉴의 Run > Edit Configurations를 클릭 다음 화면과 같이 설정한다.4.1) + 버튼 클릭4.2) nodeunit 선택4.3) name: 테스트를 돌리기 위한 이름을 입력4...
Node.js 어플리케이션을 만들기 전에 IDE를 고민하다 사용중인 RubyMine을 이용하려고 찾아보니 역시 RubyMine에서 사용이 가능 했다. RubyMine에서는 Node.js의 러닝, 디버깅, 유닛 테스트까지 지원한다고 나와있다.참고: https://www.jetbrains.com/help/ruby/2016.2/node-js.html 1. Node.js를 설치 한다. 2. 루비마인에 NodeJs 플러그인을 설치하고 활성화 한다. (NodeJs 플러그인은 루미마인의 번들이 아니지만 JetBrains plugin repository 에서 설치가 가능하다. - 루비마인에 NodeJS 세팅 페이지가 생기고 run, debug 등의 설정이 추가된다.)3. Node.js 프로젝트를 생성하고 시작 한다.
1. 우선 node -v명령어를 이용하여 현재 버전을 확인2. 강제로 캐쉬 삭제3. npm n 모듈 설치 (Node.js version managemen)4. npm n 모듈을 사용하여 Node.js 안정화 버전 설치 (특정 버전을 원할 경우 n 7.2.1이라고 써주면 됨.) $ node -vv0.12.0---------------------------------------------------------------------$ npm cache clean -fnpm WARN using --force I sure hope you know what you are doing.---------------------------------------------------------------------$ npm ..
본문: http://www.letmecompile.com/css-js-%ED%8C%8C%EC%9D%BC-%EC%BA%90%EC%8B%9C-%EB%B0%A9%EC%A7%80/ 웹사이트를 운영하다보면 웹사이트의 디자인이나 프론트엔드 동작을 바꾸기 위해서 CSS 또는 javascript 파일을 수정하는 일이 종종 생기게 된다. 이때 수정된 파일을 서버로 배포하더라도, 기존 웹사이트를 이용하던 유저의 브라우저 캐쉬때문에 수정된(fresh) 파일을 다운로드 하지 않고 캐쉬를 이용하게되어 웹사이트가 깨져보이게되는 경우가 있다.사용중인 웹서버에서 특정 파일에대한 캐쉬설정을 적절히 바꿔서 Http Response Header에 캐쉬관련 지시자나 E-Tag 등이 잘 포함되게 설정해주면, 브라우저에서 expired 된 캐..
[iOS/swift] Google Sign In 연동하기 #1[iOS/swift] Google Sign In 연동하기 #2 마지막으로 AppDelegate와 ViewController 간의 상호 작용과 View를 변경하는 방법이다.1) Custom Protocol과 Delegate 생성하기 2) NSNotification을 보내기 3) AppDelegate의 속성을 세팅하기 (ViewController가 AppDelegate에 callback 함수를 넘겨주고 AppDelegate에서 로그인이 끝나면 해당 콜백 함수를 호출하는 방식으로 진행.) 내가 참고한 Google 동영상에서는 3번째 방법을 사용하고 Google 예시 프로젝트에서는 2번을 사용함. 여기서는 3번 방법을 포스팅한다. 1. MainStor..
[iOS/swift] Google Sign In 연동하기 #1 (API 다운로드 및 설정) 구글 로그인은 나의 앱에서 구글로 사용자 인증을 요청하고 구글에서 인증이 완료되면 나의 앱으로 인증이 정상적으로 되었다고 알려주는 형식이다. 그래서 나의 앱에서 구글 로그인 버튼을 눌렀을때 구글로 로그인 요청을 보내고, 구글에서 로그인 요청이 종료되었을때 나의 앱에서 해달 URL에 대한 처리를 해주어야 한다. 로그인 버튼을 만들기 전에 구글 사용자 인증이 완료되고 난 후의 URL 처리하는 과정을 먼저 구현한다. 1. 구글에서 로그인을 완료하고 보낸 URL을 처리하기 위해 나의 App Delegate 파일에 application:openURL:options: 함수를 구현한다. 여기서는 GIDSignIn 객체의 han..
1. 나의 xcode 프로젝트를 만든다 (swift)2. 터미널에서 나의 프로젝트 경로로 이동하고, pod을 이용하여 google api를 가져온다. $ cd 프로젝트 경로$ pod init$ vi Podfile (Podfile에서 i를 눌러 입력 모드로 전환 후 pod 'Google/SignIn' 을 추가그리고 esc :wq 명령어를 입력해 파일을 저장 후 vi editor를 종료 한다) $ pod install3. 2번까지 진행하면 나의 프로젝트 경로에 .xcworkspace 파일이 생성된다. 이 파일을 xcode로 오픈하여 이후 작업을 진행하면 된다. 4. google 설정 plist 파일을 추가해준다. https://developers.google.com/identity/sign-in/ios/st..
iOS 개발시 라이브러리를 관리하는 방법으로 cocoapods가 있다. 설치는 터미널에서 다음 명령어를 입력한다. $ sudo gem install cocoapods 설치 후 자신의 개발 프로젝트 디렉토리로 이동하여 다음 명령어를 입력한다.$ pod init 나는 Google API를 사용해 보기 위해 다음 명령어를 사용했다. $ pod Google try Setting up CocoaPods master repo 라는 결과가 보여지고 한참 후에 추가적인 안내와 이용할 프로젝트를 선택하라는 문구가 나왔고 SignInExample.xcodeproj를 선택하였더니 xcode에 샘플 프로젝트가 오픈됐다. *여기서부터 삽질.... (다음을 위해 적어둬야징) swift로 변환하겠냐는 물음이 나와서 그냥 잘 모르니..
/** * Change Date string format -> yyyy-MM-dd * @param {String} sDate * @returns {String} */ function changeDateFormat(sDate){ if(sDate == "" || sDate == undefined || sDate == null || sDate == "null" || sDate == "undefined"){ return ""; } sDate = sDate.trim(); var regExDate = [/\b\d{4}(?:0[1-9]|1[0-2])(?:0[1-9]|[1-2]\d|3[0-1])\b/ ,/\b\d{4}[-/.](?:0[1-9]|1[0-2])[-/.](?:0[1-9]|[1-2]\d|3[0-1])\b/ ,..
AndroidManifest.xml 파일에 provider태그를 추가한다.태그의 위치는 application 내부에 위치하도록 한다. App의 Pacakage이름을 이용하여 authorities를 부여하는데 run 모드에 따라서 package 이름이 변경 될 수 있기 때문에 ${applicationId}를 사용하여 이에 대한 문제를 해결한다. (debug / Release 모드에서 app의 이름이 suffix가 붙는 경우) 공유할 내부 폴더의 위치를 res/xml/file_path.xml에 기록한다.특정 파일 또는 특정 Directory 하위의 파일을 정하여 공유할 수도 있고 Runtime에서 파일이 동적으로 생성되거나 경로가 바뀌는 경우내부 폴더의 root 폴더를 지정하면 하위 폴더의 파일들을 공유할 ..