컴퓨터/프로그래밍2015. 9. 21. 22:30

동일한 기호가 많을 때 특정 기호를 기준으로 문자열 나누기


var text = '(a,1),(b,2),(c,3)'

console.log(text.split(/,(?=\()/g));  // 쉼표(,) 기준으로 괄호 단위로 나누기

결과: [ '(a,1)', '(b,2)', '(c,3)' ]


참고1> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions


참고2> https://en.wikipedia.org/wiki/Regular_expression


Posted by jungtae17
컴퓨터/프로그래밍2015. 9. 17. 22:29

MongoDB 설치 후 Mongo 쉘 이외의 프로그램이나 라이브러리로 접속할 때 오류('auth fails')가 난다면 다음과 같이 설정한다.


MongoDB 를 띄운 다음 Mongo 쉘로 접속해서 아래의 명령을 먼저 실행한다.

use admin

db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 })


아마도 아무 설정 없이 사용자를 추가하게 되면 위의 currentVersion 값이 5로 설정될 것이다. 그러면 접속 오류가 발생한다.


그리고 DB 관리를 사용자 계정으로 추가하는 것이 좋다(아래는 참고용).

use admin

db.createUser({
  user: "dbAdmin",
  pwd: "123456",
  roles: [{
    role: "root",
    db: "admin"
  }]
})


참고> http://stackoverflow.com/questions/29006887/mongodb-cr-authentication-failed


Posted by jungtae17
컴퓨터/우분투2015. 8. 23. 03:29

Ubuntu 에서 사용하지 않는 nvidia 드라이버를 삭제할 때 오류만 발생하고 패키지가 삭제 되지 않는 경우, 아래와 같이 해결하자.

오류 메시지:

Traceback (most recent call last):
  File "/usr/bin/quirks-handler", line 65, in <module>
    operation_status = main(options)
  File "/usr/bin/quirks-handler", line 48, in main
    quirks = Quirks.quirkapplier.QuirkChecker(options.package_disable, path=quirks_path)
  File "/usr/lib/python3/dist-packages/Quirks/quirkapplier.py", line 38, in __init__
    self._system_info = self.get_system_info()
  File "/usr/lib/python3/dist-packages/Quirks/quirkapplier.py", line 64, in get_system_info
    return quirk_info.get_dmi_info()
  File "/usr/lib/python3/dist-packages/Quirks/quirkinfo.py", line 46, in get_dmi_info
    'class', 'dmi', 'id', item)).read().strip()
  File "/usr/lib/python3.4/codecs.py", line 313, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte


수정해야 할 부분(/usr/lib/python3/dist-packages/Quirks/quirkinfo.py):

value = open(os.path.join(self.sys_dir,
    'class', 'dmi', 'id', item)).read().strip()


수정 후:

value = open(os.path.join(self.sys_dir,
    'class', 'dmi', 'id', item), mode='rb').read().strip()


Posted by jungtae17
컴퓨터/프로그래밍2015. 7. 16. 17:16

npm 설치1


npm install [--production]

프로젝트의 package.json 파일에 등록된 npm 패키지를 새로 설치한다.


옵션:

  --production package.json 파일에서 devDependencies 에 등록된 npm 패키지는 설치하지 않는다.



npm 설치2


npm install {name}[@version]

새로운 npm 패키지를 설치한다. 특정 버전을 지정해야 될 경우 @version 형식으로 사용한다.



npm 설치3


npm install {name} [--save|--save-dev|--save-optional]

새로운 npm 패키지를 설치하면서 패키지 정보를 package.json 파일에 추가한다.


옵션:

  --save   dependencies 에 정보를 추가한다.

  --save-dev   devDependencies 에 정보를 추가한다.

  --save-optional   optionalDependencies 에 정보를 추가한다.



npm 중복 제거


npm dedupe


참고> https://docs.npmjs.com/cli/install

Posted by jungtae17
컴퓨터/프로그래밍2015. 6. 24. 11:53

1. npm 폴더의 npmrc 파일을 백업한다.


   : %ProgramFiles%\nodejs\node_modules\npm 폴더에서 npmrc 파일을 백업해 둔다. (임의의 폴더로 복사)


2. 명령창(cmd.exe)을 열고 아래의 명령을 실행한다.


cd %ProgramFiles%\nodejs
npm install npm@latest


3. 백업해둔 npmrc 파일을 원래 폴더로 복원한다.



참고> https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows


Posted by jungtae17