기본 콘텐츠로 건너뛰기

[DB, mysql] UPDATE쿼리시 일어나는 error code 1175

워크벤치에서 UPDATE쿼리를 날릴경 1 2 Error Code:  1175.  You are using safe  update  mode and you tried to  update  a  table  without a  WHERE  that uses a  KEY  column  To disable safe mode, toggle the option in Preferences  - >  SQL Editor and reconnect.     0. 047  sec cs 와 같은 에러가 발생할 수 있는데 이는 update의 WHERE이 참조하는 column(컬럼)이 키가 아니라 발생하는 에러이다 이 경우 해당 컬럼을 키 컬럼으로 바꾸어 주면 바로 해결이 가능하다. 또는 워크밴치에서 safe mode가 설정이 된 부분을 해제해주면 된다. 또는 1 set  sql_safe_updates = 0 ; cs DB 설정을 해주자.

[워드프레스] 워드프레스(wordpress) 설치

오늘 워드프레스트 쓸 일이 있어서 워드프레스를 설치하고 설정을 완료하였다. (결국은 안써도 되게됬지만.... ㅋㅋ) 워드프레스를 쓰기 위해서는 플랙폼을 설치를 해야한다. WAMP:  http://www.wampserver.com/en/ MAMP:  http://www.mamp.info/en/index.html LAMP:  http://bitnami.org/stack/lampstack XAMPP:  http://www.apachefriends.org/en/xampp.html WAMP : 윈도우용 MAMP : 맥용 LAMP : 리눅스용 XAMPP : 통합 플랫폼(윈도 + 맥 + 리눅스)  열심히 설치를 해준다. XAMP혹은 오토 셋을 이용해도 된다.(굳이 두개다 설치할 필요 없다. 이거 두개 다 설치해야되는 건줄 알고 설치 했는다 하나만 필요하더라 ㅋㅋㅋ)  동의를 해주고 열심히 다음을 눌러준다. 설치가 되면 위와같은 프로그램이 실행된다. 제어를 들어가서 MySQL시작 웹서버 시작을 눌러주면 자동으로 로컬에 디비와 웹 서버가 열린다. (이 경우 시작이 안되는 경우가 있는데 이떄는 재부팅을 해보면 될것이다.  나는 PC에 DB서버가 항상 돌고 있어서 충돌나서 실행이 안되더라 나는 GUI툴로 workbench를 쓴다.(사실 커맨드 라인이 편해서 잘 안쓰긴 하는데 가끔 외부 서버랑 연결할 떄 확인용으로 쓰거나 쿼리 저장용으로 쓴다 ㅋㅋㅋㅋ 보면 3개의 DB 서버가 존재한다. 여기서 하나만 구동이 가능하다  MySQL56은 로컬에서 접속되는 서버이다. WAMPMYSQL64는 WAMP 플랫폼에서 접속되는 서버이다. AutoSet8_MySQL은 오토샛에서 접속되는 서버이다. 오토셋이 running이 되어있다.(정상...

[node.js] 세션(session)을 활용한 인증(auth) 시스템 구축

제목이 거창하다 ㅋㅋㅋㅋㅋ  session을 활용하여 인증 시스템을 구축하려고 한다. session이란?  -session은 저번에 쓰려다가 쓰지 못한 기능이다.  (네 그렇습니다 약 2달전에 session을 쓰려다가 쓰지 못했습니다. 하하) 장난이고,  session은 cookie와 같이 사용자를 인증하는 방식입니다. 사용자를 인증하는 방식은 auth1.0, 2.0방식으로 나뉩니다. 1.0방식은 복잡하지만 안전, 2.0방식은 간단하지만 1.0보다 불안전하다고 합니다.(더 자세한 내용은 다음번에) Session vs Cookies 이 둘의 차이점은 크게 저장 되는 지역이 다릅니다. session은 서버의 메모리에 저장. cookie는 클라이언트의 로컬 저장소에 저장이 됩니다. 그렇다면 이를 확인해 보자. 아주 간단하게 f12를 통해 확인이 가능하다. 또한 쿠키는 header객체 안에 cookies 라는 놈이 전송을 하게된다. 1 2 3   console .log(res.header.cookies);   Colored by Color Scripter cs 쿠키는 클라이언트 로컬 저장소에 저장이 되기 때문에 이렇게 확인이 가능하다. 머 암튼 이런식으로 뜬다. 이것들은 쿠키가 되겠다. 이러한 쿠키들은 노출이 될 수 있다. 특히 Cross Site Script 공격을 통해서도 쉽게 노출이 가능하다. 만약 인증 쿠키가 노출 된다면, 해커는 이 쿠키를 통해 인증이 가능하다. session은 서버측에서만 저장을 하고 있기 때문에 cookies 보다는 안전하다고 생각한다.(뭔가 이것도 우회하는 방식이 있겠지 ㅋㅋㅋ 항상 100% 안전한 방식은 없다고 생각한다.) 그렇다면 node.js에서는 session을 어떻게 구현하는지 알아보자. 모듈설치 npm insta...

[node.js] npm(node package manage) 노드 패키지를 활용한 서버 가동

node.js는 npm 이라는 놈을 통해 무엇인가들을 할 수 있다. (처음에 잘 못이해해서 굉장히 혼란스러웠다) 보편적으로 가장 많이 하는 것이  npm install sueragent 위처럼 특정 모듈을 다운받을 때 사용을 한다 또한. 이때 여러가지 옵션을 줄 수 있다. G : 전역적으로 모듈을 사용할 수 있다. save : 모듈을 설치 하면서 package.json 파일에 모듈 정보를 자동으로 입력을 한다. npm install 위처럼 입력을 할 경우 package.json파일의 모듈들을 자동으로 다운받게 된다. npm은 패키지를 설치하는 것 뿐만 아니라 서버를 실행을 시킬수 있다. NPM을 이용하여 서버 실행. npm start start라는 놈을 추가해주면 npm을 이용하여 서버를 실행 시킬 수 있다. 우선 npm을 이용하여 서버를 실행 시키기 위해서는 package.json파일을 보아야 한다. 패키지 파일에서 실행 될 파일들을 설정을 해 주어야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 {   "name": "oneweeks",   "version": "0.0.0",   "private": true,   "scripts": {     "start": "node ./mainserver.js",     "test": ""   },   "dependencies": {     "body-parser":...

[node.js] TDD 및 BDD 추가 설명

TDD와 BDD를 좀더 추가적인 설명을 하려고 한다. superagent는 http요청을 수행하기 위한 스트림라인용 라이브러리이다. request : 세번째로 많이 사용되는 모듈 core http 모듈 : 투박하며, 매우 낮은 레벨을 가짐 supertest : superagent 시반의 어서션 라이브러리 superagent을 install을 해주자 npm install sueragent 1 var  superagent  =  require( 'superagent' ); cs 설치된 모듈을 추가를 해준다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 var  expect  =  require( 'expect.js' ); var  testmodules  =  require( './index' ).TestModules; var  assert  =  require( 'chai' ).assert; var  superagent  =  require( 'superagent' ); describe.only( 'frame1' , function (){     it( 'should respond to Get' ,  function (){         superagent             .get( "ec2-54-92-43-111.ap-northeast-1.compute....