Dev 기타2015. 1. 12. 14:27

-----------------------------------------------------------------------

ATTENTION!  Your password for authentication realm:


   <svn://svn주소...> 프로젝트명


can only be stored to disk unencrypted!  You are advised to configure

your system so that Subversion can store passwords encrypted, if

possible.  See the documentation for details.


You can avoid future appearances of this warning by setting the value

of the 'store-plaintext-passwords' option to either 'yes' or 'no' in

'/home/계정명/.subversion/servers'.

-----------------------------------------------------------------------

Store password unencrypted (yes/no)?

svn checkout 을 할 때 위와 같은 메시지가 나와도 yes / no 중에 yes 룰 써도 계속 같은 질문 하는 버그가 있음.

한글로 '예' 를 치면 해결 된다.


아놔.

Posted by 놀란
Dev Web/PHP2014. 4. 23. 17:34

하도 어이가 없어서...

PHP / CodeIgniter 사용 중인데...

사파리나 다른 브라우져에서는 문제가 없었는데, 크롬에서만 세션을 만들어도 계속 해서 사라지는 현상이 발생했습니다.

아무리 뒤져도 제대로 된 답변을 얻지 못하다 어디선가 얻은 팁입니다.

CI 설정인 config.php 을 열어보면 Session Variables 설정 부분이 있습니다.



//$config['sess_cookie_name']		= 'ci_session';
$config['sess_cookie_name']		= 'TC_session';

위와 같이 ci_session 부분의 쿠키 이름값을 다른 값으로 바꿔보시면 됩니다.

(그래도 안되면 언더바(_)를 사용하지 말아보세요.)


Posted by 놀란
Dev 기타2013. 10. 4. 11:35

Git 으로 작업한 뒤에 git 관련 파일을 제외하고 순수 소스 파일만 필요할 때가 있다.

기존의 export 기능인데, git 에서는 아래와 같은 명령어를 사용하면 된다.

git archive --format zip --output out.zip master

이와 같이 하면 해당 디렉토리에 out.zip 으로 압축되어 저장 된다. 

Posted by 놀란
Dev Web/Node.js2013. 9. 24. 11:42

node.js 애플리케이션을 만들기 IDE 툴로 가장 편하다는 webstorm 입니다.

프로젝트를 하나 만들어 보는 과정을 캡쳐해봤습니다.


firstNodeProjcet 이름으로 만들었습니다. express 프레임워크 사용을 옵션으로 설정 합니다.


템플릿 엔진과 CSS 엔진을 선택할 수 있습니다. 주로 쓰는 Jade 나 ejs 를 사용하면 되겠습니다.


node.js core 모듈을 가져오는 방법을 선택합니다.


프로젝트를 생성한 결과 화면 입니다. express 모듈과 core 모듈 등이 디렉토리로 정리되어 보입니다.


'Dev Web > Node.js' 카테고리의 다른 글

[Node.js] express 프레임워크  (0) 2013.09.24
[Node.js] express 모듈  (0) 2013.09.24
[Node.js] jade 외부 모듈  (0) 2013.09.24
[Node.js] ejs 외부 모듈  (0) 2013.09.24
[Node.js] 기본 내장 모듈  (0) 2013.09.24
Posted by 놀란
Dev Web/Node.js2013. 9. 24. 11:41

express 프레임워크는 express 모듈로 만든 프레임워크입니다.

express 프레임워크는 프로젝트를 손쉽게 만들어주며 기본적인 뷰 지원과 세션 지원을 합니다.

설치

sudo npm install -g express

프로젝트 생성

express HelloExpress(프로젝트명)

cd HelloExpress && npm install (express 프레임워크와 관련된 모듈 설치)

 - npm install 만으로 필요 모듈 설치할 수 있는 것은 HelloExpress 디렉토리 안에 package.json 때문입니다. (파일내 구성이 있음)

프로젝트 실행

node app (app.js 파일이 기본 실행 파일)


'Dev Web > Node.js' 카테고리의 다른 글

[Node.js] WebStorm Tool 소개  (0) 2013.09.24
[Node.js] express 모듈  (0) 2013.09.24
[Node.js] jade 외부 모듈  (0) 2013.09.24
[Node.js] ejs 외부 모듈  (0) 2013.09.24
[Node.js] 기본 내장 모듈  (0) 2013.09.24
Posted by 놀란
Dev Web/Node.js2013. 9. 24. 11:40

설치

npm install express

기본 서버 생성 및 실행


express 모듈은 http 모듈처럼 사용할 수 있지만 훨씬 많은 기능을 가지고 있습니다.

기본 응답 메서드

response 객체

response.send() - 매개변수의 자료형에 따라 적절한 형태로 응답합니다.

 - HTML, JSON, Array

response.json() - JSON 형태로 응답합니다.

response.jsonp() - JSONP 형태로 응답합니다.

response.redirect() - 웹 페이지 경로를 강제로 이동합니다.



미들웨어
http 모듈과 express 모듈로 만든 서버의 차이점은 use() 메서드를 사용한다는 것
use() 메서드는 여러번 사용 가능
use() 메서드를 사용하여 다양한 미들웨어 모듈을 사용하게 설정할 수 있습니다.

express 모듈의 미들웨어
  • logger
  • csrf
  • basicAuth
  • bodyParser
  • session
  • methodOverride
  • responseTime
  • router
  • staticCache
  • static
  • directory
  • vhost
  • favicon
  • limit
  • errorHandler



'Dev Web > Node.js' 카테고리의 다른 글

[Node.js] WebStorm Tool 소개  (0) 2013.09.24
[Node.js] express 프레임워크  (0) 2013.09.24
[Node.js] jade 외부 모듈  (0) 2013.09.24
[Node.js] ejs 외부 모듈  (0) 2013.09.24
[Node.js] 기본 내장 모듈  (0) 2013.09.24
Posted by 놀란
Dev Web/Node.js2013. 9. 24. 11:39

jade 모듈도 ejs 모듈과 같이 템플릿 엔진 모듈입니다.

인스톨

npm install jade


jede 모듈 추출

var jade = require('jade');


jade 페이지를 HTML 페이지로 변환

jade 페이지를 HTML 페이지로 변환할 때에는 ejs 모듈의 render() 메소드와 다르게 문자열을 리턴하는 것이 아니라 함수를 리턴합니다.

jade 모듈 메소드

compile(string) - jade 문자열을 HTML 문자열로 바꿀 수 있는 함수를 생성합니다.


jade (jadePage.1.jade)기본 형식 - 계층 구조 형성


이런 jade 파일이 HTML 형태로 변경이 됩니다.


'Dev Web > Node.js' 카테고리의 다른 글

[Node.js] express 프레임워크  (0) 2013.09.24
[Node.js] express 모듈  (0) 2013.09.24
[Node.js] ejs 외부 모듈  (0) 2013.09.24
[Node.js] 기본 내장 모듈  (0) 2013.09.24
[Node.js] Node.js 샘플 애플리케이션  (0) 2013.09.24
Posted by 놀란
Dev Web/Node.js2013. 9. 24. 11:32

외부모듈이란 일반 개발자가 만들어 배포한 모듈을 말합니다.

Node.js 는 npm(Node Package Manager)을 기반으로 모듈을 공유합니다.


사용법 : npm install 모듈명

ex )

npm install ejs -> ejs 모듈이 설치됩니다.

npm install jade -> jade 모듈이 설치됩니다.

설치된 모듈 사용은 

var ejs = require('ejs');

var jade = require('jade');


ejs 모듈

ejs 모듈은 템플릿 엔진 모듈 입니다. (View, HTML) 담당.

ex) view.ejs 파일


결과


데이터 전달
js 페이지 (controller) 에서 ejs 페이지에 데이터를 전달하는 방법입니다.



'Dev Web > Node.js' 카테고리의 다른 글

[Node.js] express 모듈  (0) 2013.09.24
[Node.js] jade 외부 모듈  (0) 2013.09.24
[Node.js] 기본 내장 모듈  (0) 2013.09.24
[Node.js] Node.js 샘플 애플리케이션  (0) 2013.09.24
[Node.js] Node.js 개요.  (0) 2013.09.24
Posted by 놀란
Dev Web/Node.js2013. 9. 24. 11:13
  1. os 모듈
    1. 운영체제와 관련된 정보 출력 (실제로는 잘 사용되지 않음)
      1. 모듈 추출
        1. var os = require('os');
        2. console.log(os.hostname());
  2. url 모듈
    1. url 관련된 정보 출력
      1. var url = require('url');
      2. var parsedObject = url.parse('http://nolran.tistory.com/59');
      3. console.log(parsedObject);
  3. Query String 모듈
    1. url 에 붙어오는 query 와 관련된 정보 출력
      1. var url = require('url');
      2. var querystring = require('querystring');
      3. var parsedObject = url.parse('http://nolran.tistory.com?name=hyukjoon');
      4. console.log(querystring.parse(parsedObject.query));
  4. util 모듈
    1. Node.js의 보조적인 기능을 모아둔 모듈
      1. var util = require('util');
      2. var data = uril.format('%d + %d = %d', 52, 273, 52 + 273);
      3. console.log(data);
  5. crypto 모듈
    1. 암호화 생성 모듈
      1. var crypto = require('crypto');
      2. var shasum = crypto.createHash('sha1');
      3. shasum.update('crypto_hash');
      4. var output = shasum.digest('hex');
      5. console.log('crypto_hash:', output);
  6. File System 모듈
    1. 파일 처리와 관련된 모듈
    2. 빈번하게 사용된다. (파일 읽기, 쓰기)
      1. 파일 읽기
        1. var fs = require('fs');
        2. var text = fs.readFileSync('textfile.txt', 'utf8');
        3. console.log(text);
      2. 파일 쓰기
        1. var fs = require('fs');
        2. var data = 'Hello World .. !';
        3. fs.writeFile('TextFileOtherWrite.txt', data, 'utf8', function (error) { console.log('WRITE FILE ASYNC COMPLETE'); });
        4. fs.writeFileSync('TextFileOtherWriteSync.txt', data, 'utf8');
        5. console.log('WRITE FILE SYNC COMPLETE');


'Dev Web > Node.js' 카테고리의 다른 글

[Node.js] express 모듈  (0) 2013.09.24
[Node.js] jade 외부 모듈  (0) 2013.09.24
[Node.js] ejs 외부 모듈  (0) 2013.09.24
[Node.js] Node.js 샘플 애플리케이션  (0) 2013.09.24
[Node.js] Node.js 개요.  (0) 2013.09.24
Posted by 놀란
Dev Web/Node.js2013. 9. 24. 11:08

실행 법
node helloworld.js

웹 서버가 생성되고 실행이 됩니다.

로컬에 생성한 것으로 가정하여 접근 법은 
http://127.0.0.1:8124   로 접근하면 됩니다. (8124 포트로 생성 했으므로)


'Dev Web > Node.js' 카테고리의 다른 글

[Node.js] express 모듈  (0) 2013.09.24
[Node.js] jade 외부 모듈  (0) 2013.09.24
[Node.js] ejs 외부 모듈  (0) 2013.09.24
[Node.js] 기본 내장 모듈  (0) 2013.09.24
[Node.js] Node.js 개요.  (0) 2013.09.24
Posted by 놀란
Dev Web/Node.js2013. 9. 24. 10:43
1. Node.js 배경사

Node.js 는 구글 크롬 브라우저에서 사용하는 V8 자바스크립트 엔진을 기반으로 자바스크립트로 애플리케이션을 개발 할 수 있게 합니다.

V8 엔진은 기존의 다른 자바스크립트 엔진보다 속도가 빨랐고, 그로 인해 자바스크립트를 이용해서 웹 브라우저가 아닌 곳에서 쓸 수 있게 되었습니다. CommonJS(ServerJS) 프로젝트와 V8 자바스크립트 엔진을 기반으로 Node.js 를 개발하기 시작했습니다.

기존 웹 서버는 대부분 쓰레드(thread)를 기반으로 하는 동기 방식으로 네트워크 입출력을 처리하는 반면, Node.js 는 이벤트를 기반으로 하는 비동기 방식으로 네트워크 입출력을 처리합니다.


2. 이벤트 기반 비동기 방식

Node.js 는 이벤트 기반 비동기 방식으로 작동 -> 대규모 네트워크 프로그램 개발에 적합

물건 구매를 예를 들어 여러 가게에 물건을 사러 간다고 할 때,

동기 방식은

  • 몸을 복제하여 동시에 여러 가게에 간다.
    • 이 방식은 쓰레드를 여러개 만들어 동시에 일을 처리한다는 것을 의미합니다.
    • 쓰레드는 많아질수록 메모리 사용량이 폭발적으로 증가하는 단점이 있습니다.
비동기 방식은
  • 시장을 대기표를 나누어주는 시스템으로 바꾸고 대기표를 받고 기다린다.
    • 대기 번호를 부르는 이벤트가 발생하는 순간 물건을 받아오면 됩니다.
    • 쓰레드는 단 하나만 사용하므로 몸은 하나입니다.
    • 이벤트를 사용하므로 빠른 속도로 일을 처리할 수 있습니다.
    • 하지만, 일을 처리하는 한 명이 쓰러지는 순간 프로그램 전체에 문제가 발생하는 단점도 있습니다.

3. Node.js 장점과 단점

장점

Node.js 장점은 이벤트 기반 비동기 방식을 사용하여 대규모 네트워크 프로그램을 개발하기 적합합니다.

자바스크립트를 사용하기 때문에 다른 기존 웹개발자 들이 쉽게 접근 할 수 있습니다.

구글이 V8 자바스크립트 엔진 속도 점점 더 빠르게 하고 있습니다.

C++를 사용하여 기능을 확장 할 수 있습니다. (V8 엔진이 C++로 개발)

단점

단점은 프로그램 진행에 문제가 발생하는 순간 프로그램 전체가 영향을 받는 것입니다.

V8 자바스크립트 엔진이 아무리 빨라도 C, C++ 언어로 개발된 서보보다는 느립니다.


4. Node.js를 사용한 애플리케이션

이베이, 링크드인, 야머, 윈도 애저



참고 : 모던 웹을 위한 Node.js 프로그래밍 - 윤인성



Node.js 프로그래밍

저자
윤인성 지음
출판사
한빛미디어 | 2013-09-20 출간
카테고리
컴퓨터/IT
책소개
이 책이 제시하는 핵심 내용 자바스크립트 + Node.js로 배...
가격비교글쓴이 평점  



'Dev Web > Node.js' 카테고리의 다른 글

[Node.js] express 모듈  (0) 2013.09.24
[Node.js] jade 외부 모듈  (0) 2013.09.24
[Node.js] ejs 외부 모듈  (0) 2013.09.24
[Node.js] 기본 내장 모듈  (0) 2013.09.24
[Node.js] Node.js 샘플 애플리케이션  (0) 2013.09.24
Posted by 놀란
Dev Web/HTML2013. 8. 27. 12:06

code.jquery.com 의 최신버전 URL 을 호출해서 사용하면 됩니다.

주소는 http://code.jquery.com/jquery-latest.min.js 입니다.

호출 방법은 아래와 같습니다.


<script src="http://code.jquery.com/jquery-latest.min.js"
        type="text/javascript"></script>

Posted by 놀란
Dev 기타2013. 4. 18. 12:38

리눅스 서버 사용 시에 특정 위치 (예를 들어 웹서버 루트 디렉토리) 밑에 있는 모든 특정 파일(index.html)을 지워야 해야 할 때 어떻게 해야 할까?

하나하나 찾아서 지운다는 것은 너무나도 피곤한 일이다.

이럴 때 find 와 rm 명령어를 사용하면 쉽게 지울 수 있다.

  1. 현재 디렉토리 와 그 밑에 있는 모든 디렉토리에 존재하는 index.html 을 삭제
    • find . -name index.html -exec rm -f {} \;
  2. 서버 내의 모든 디렉토리에 존재하는 index.html 을 삭제
    • find / -name index.html -exec rm -f {} \;
  3. 특정 디렉토리(web)와 그 밑에 있는 모든 디렉토리에 존재하는 index.html 을 삭제
    • find /web -name index.html -exec rm -f {} \;
간단하게 설명하자면 find -name 명령어로 index.html 파일을 찾아서 그 파일을 rm -f 명령어를 실행(-exec) 하라는 의미 입니다.


Posted by 놀란
Dev/iOS2013. 4. 17. 11:06

iOS6 으로 업데이트 되면서 기존의 shouldAutorotateToInterfaceOrientation 메소드가 deprecated 되었습니다.

iOS6 에서는 shouldAutorotate, supportedInterfaceOrientations, preferredInterfaceOrientationForPresentation 이렇게 3가지 메소드로 구현해야 합니다.

deployment taget 을 5.0 부터 하기 위해서는 iOS5 방식과 iOS6 방식 2가지 모두 구현하면 됩니다.

아래 코드 참고 하세요. (landscape 모드 설정 입니다)

//iOS5 setting
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}

//iOS6 setting
- (BOOL)shouldAutorotate
{
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    
    return UIInterfaceOrientationLandscapeLeft;
}
  


Posted by 놀란
Dev 기타2013. 4. 12. 15:29

ls -l | grep "^d"

- ls 로 출력 하는데 맨 앞부분이 d (디렉토리) 인 것만 출력하면 된다.

Posted by 놀란
Dev 기타2013. 4. 2. 14:55

linux 에서 파일을 생성하거나 수정 할 때, root 가 아닐 경우에는 다른 사용자가 만든 파일 수정이 안 될 수가 있다.

이것은 소유자 권한에 rw 가 있으나, 그룹이나 기타 (other) 의 경우에는 r 권한만 있어서이다.

이것을 해결하기 위해서는 해당 디렉토리에 그룹 권한 규정을 설정해 주면 된다.

setfacl -R -d -m g:group_name:rw targetDirectory/

or

setfacl -R -d -m g::rw targetDirectory/

-R 은 recursive 옵션 (targetDirectory 밑으로 모두 적용 되게)

-d 는 (default) 옵션

-m 은 modify 옵션 (g: 그룹, u: 유저):rwx (읽기, 쓰기, 실행)권한을 targetDirectory 밑으로 group_name 그룹에게 준다. 


Posted by 놀란
Dev Web/PHP2013. 3. 26. 10:50

PHP 에서 array_intersectarray_diff 같은 함수를 사용해서 배열값을 받게 될 경우,

결과 배열 값의 키 값의 숫자 인덱스 값이 0부터 차례대로가 아닌 처음 배열 키 값 그대로 남게된다.

ex ) 0 => a, 1 => b ..... 가 아닌 0 => a, 5 => b, 8 => c 이런 식으로...

이렇게 됐을 경우 for 문을 돌리거나 다른 로직에 사용하기 위해서 순차적으로 0,1,2 로 바꿔줘야 한다.

이렇게 하기 위해서는 아래와 같은 코드를 사용하면 된다.


Posted by 놀란
Dev Web/PHP2013. 3. 18. 18:43

php 에서 timestamp 값이 갖고 있는데, 이 값을 이용해서 그 값이 0시, 그러니까 하루 시작 시간값을 timestamp 값을 필요할 때가 있다.

마찬가지로 그 다음 날 0 시가 필요할 때도 있다. (대부분 SQL 에 조건값을 던지기 위해서 겠지만... )

date(), mktime() 등을 이것저것 이용할 필요없이, strtotime 메소드 하나로 처리가 가능하다! 


URL : http://www.php.net/manual/en/datetime.formats.relative.php

Posted by 놀란
Dev/DB2013. 3. 15. 12:39

  • foo = collection(table) 명
  • bar = field 명
  1. SELECT 문
    1. 컬렉션(테이블) 전체 선택
      1. db.foo.find()
    2. 컬렉션(테이블) 조건 선택
      1. db.foo.find({"age" : 27})
        1. age 가 27인 문서 찾기
  2. COUNT 문
    1. 컬렉션(테이블) 전체 선택
      1. db.foo.count()
    2. 컬렉션(테이블) 조건 선택
      1. db.foo.count({"x" : 1})
        1. x 가 1인 문서 찾기
  3. INSERT 문
    1. 컬렉션(테이블) 문서 삽입
      1. db.foo.insert({"bar" : "baz"})
        1. foo 컬렉션에 key가 bar 이고 내용이 baz 인 문서를 삽입
      2. 여러 문서를 삽입할 때는 일괄 삽입(batch insert)이 보다 빠르다!
        1. 일괄 삽입은 문서의 배열로 전달할 수 있음
  4. UPDATE 문
  5. DELETE 문
    1. 컬렉션(테이블)의 모든 문서 삭제
      1. db.foo.remove()
    2. 컬렉션(테이블)의 선택적 삭제
      1. db.foo.remove({"bar" : "baz"})
        1. foo 컬렉션에서 "bar" 의 데이터가 "baz" 인 데이터만 삭제
    3. 한번 데이터가 지워지면 영원히 사라진다. (삭제를 취소하거나 복구할 방법은 없음)
    4. 전체 삭제할 경우에는 drop_collection 을 사용하면 훨씬 빠르다. 하지만 조건 절은 사용할 수 없음.
      1. db.foo.drop()


'Dev > DB' 카테고리의 다른 글

[MongoDB] DataBase 생성  (2) 2013.02.26
[MySQL] Limit 사용법  (1) 2013.02.05
[SQL-SERVER] 특정 테이블의 컬럼 제목 알아내기  (0) 2012.10.22
[MS-SQL] IDENTITY (시퀀스) 초기화  (0) 2012.06.27
Posted by 놀란
Dev 기타2013. 3. 6. 16:24
  1. Tomcat 다운로드 (http://tomcat.apache.org/download-70.cgi)
    1. Binary Distributions 에서 Core 의 tar.gz 버전을 다운 받으면 됨
  2. 자신의 맥의 Downloads 폴더에 다운이 됐으면 압축 해제를 함.
    1. command - tar xvzf apache-tomcat-7.0.37.tar
    2. 혹은 압축해제기를 이용하여 압축 헤제
  3. 압축해제 된 폴더를 /usr/local 폴더로 옮긴다.
    1. sudo mv apache-tomcat-7.0.37.tar /usr/local
    2. 만약 /usr/local 폴더만 없으면, 만들어준다.
      1. sudo mkdir -p /usr/local
  4. 앞으로 관리를 위해 Library 밑으로 심볼릭 링크를 만들어준다.
    1. 만약 Library 밑에 Tomcat 폴더가 있으면 지워준다.
      1. sudo rm -f /Library/Tomcat
    2. sudo ln -s /usr/local/apache-tomcat-7.0.37 /Library/Tomcat
  5. Tomcat 폴더의 밑의 소유주를 해당 유저로 바꿔준다.
    1. sudo chown -R <your username> /Library/Tomcat
  6. Tomcat 폴더 밑의 bin 폴더의 쉘들을 실행가능 하게 권한을 준다.
    1. sudo chmod +x /Library/Tomcat/bin/*.sh
  7. 웹 브라우저를 실행시킨뒤 'http://localhost:8080' 으로 톰캣 웹서버 응답화면이 나오면 정상!
  8. 끝!


Posted by 놀란