Text
rake db: --option
개발이나 테스트 과정에서 rake를 남발하는 편이다.
가장 많이 쓰는 옵션은
rake db:reset rake db:migrate rake db:migrate:reset rake db:seed
seed 일 때 Faker 사용하면 좋다.
db:create creates the database for the current env
db:create:all creates the databases for all envs
db:drop drops the database for the current env
db:drop:all drops the databases for all envs
db:migrate runs migrations for the current env that have not run yet
db:migrate:up runs one specific migration
db:migrate:down rolls back one specific migration
db:migrate:status shows current migration status
db:rollback rolls back the last migration
db:forward advances the current schema version to the next one
db:seed (only) runs the db/seed.rb file
db:schema:load loads the schema into the current env's database
db:schema:dump dumps the current env's schema (and seems to create the db as well)
db:setup runs db:schema:load, db:seed
db:reset runs db:drop db:setup
db:migrate:redo runs (db:migrate:down db:migrate:up) or (db:rollback db:migrate:migrate) depending on the specified migration
db:migrate:reset runs db:drop db:create db:migrate
0 notes
Text
루비 온 레일즈 디렉터리 구조
루비 온 레일즈 디렉터리 구조
static 파일을 저장할곳을 찾아야 해서 검색 하게 되었다. 예전에는
static/ ../css ../js ../images
레일즈는 default 디렉토리가 다 만들어져 있기 때문에 그에 마춰 써야 다른사람이 알아보기도 편할거라고 생각했다.
$ rails demo demo/ ..../app ......../controller ......../helpers ......../models ......../views ............../layouts ..../components ..../config ..../db ..../doc ..../lib ..../log ..../public ..../script ..../test ..../tmp ..../vendor README Rakefile
app : 애플리케이션 컴포넌트를 담고 있다. 모델, 뷰, 컨트롤러가 이에 해당.
app/controllers: 레일즈 클래스를 찾는 서브 디렉토리. 웹 요청을 처리.
app/helpers: 모델, 뷰, 컨트롤러 클래스를 지원하는 헬퍼 클래스를 보유.
app/models: 데이터베이스에 저장된 데이터를 모델 클래스로 처리.
app/view: 데이터를 html로 렌더링한다.
app/view/layouts: 뷰파일의 html을 렌더링 할 수 있다.
레일즈 개발을 하면서 알게 된건데 app 에 폴더를 임의로 추가해 만들어도 상관이 없다. 자동으로 찾아 주기 때문이다. 그러나 디렉토리 아래 다른 디렉토리를 추가하면 임의로 설정을 해야한다.
config: 레일즈 어플리케이션에 대한 설정코드들이 있는곳. DB설정(database.yml), 레일즈 환경설정(environment.rb), 웹 라우팅설정(routers.rb) 등. 또한 environments 디렉토리에 설정된 파일들을 이용하여 개발, 테스트, 서비스에 따른 환경설정을 각각 할 수 있다.
db: 통상적인 레일즈 어플리케이션에서는 관계형 데이터베이스를 액세스하는 모델 객체를 사용. 여기서는 관계형 데이터베이스를 관리할 수 있는 스크립트를 만들고 저장하는 곳.
lib: 외부 라이브러리를 제외한 모든 라이브러리들은 이 디렉토리에 저장.
log: 에러로그의 생성장소. 서버와 환경설정에 로그들로 나누어 저장 됨.
public: 웹 서버의 public 디렉토리 처럼, 변하지 않는 정적 웹 파일들을 넣어두는 곳. 자바스크립트, 이미지, Css, HTML.
test: 테스트에 관련된 코드를 넣는곳.
tmp: 레일즈가 중간 처리과정에서 사용하는 임시파일을 저장하는 곳.
vendor: 보안 라이브러리나 데이터베이스 유틸리티 처럼 서드파티 벤더들이 제공하는 외부 라이브러리들을 저장하는 곳.
0 notes
Text
Perl smartcd
perl을 사용해 개발을 할 때 이런저런 이유로 PATH 환경변수를 변경 해야할 때가 많다...
매번 eval 할 필요 없이 디렉토리 이동할 때 마다 자동으로 bash로 변경할 수 있게 하는것이 smartcd.
https://github.com/cxreg/smartcd
원하는곳에 클론을 받는다.
$ git clone https://github.com/cxreg/smartcd
설치를 한다.
$ make install $ source load_smartcd $ smartcd config
설치가 완료되면 입력할 폴더로 이동한다.
$ mkdir ~/test $ cd ~/test
smartcd 를 사용한다.
$ echo 'eval $(perl -Mlocal::lib=~/test | sed '\''s/export/autostash/'\'')' | smartcd edit enter
확인을 한다.
$ cd .. $ cd ~/test
커멘드에 표시가 된다.
smartcd: running /home/lars/.smartcd/scripts/home/user/test/bash_enter
궁금하니까 한번 �� 확인해 본다. $ echo $PATH /home/user/test/bin :/usr/local/sbin :/usr/local/bin :/usr/sbin :/usr/bin :/sbin :/bin :/usr/games :/usr/local/games
잘 추가가 되었다. 끝.
0 notes
Text
Cpanm Install
Cpanm Install
curl -L https://cpanmin.us | perl - --sudo App::cpanminus
peth 설정이 다 되어 있어도 local::lib error 발생할 때 이렇게 설치 해 준다.
eval $(perl -Mlocal::lib=~/??)
설정 되어 있으면 별 탈 없이 설치 된다.
0 notes
Text
Linux Ubuntu Postgresql Setup
Linux Ubuntu Postgresql Setup
일단 영어를 로케일설정부터 해준다. 나중에 콜렉터, 시타입 설정하려면 복잡하다.
$ sudo locale-gen ko_KR.UTF-8 $ sudo vi /etc/default/locale $ locale LANG=ko_KR.UTF-8 LANGUAGE=ko_KR:ko:en_US:en LC_CTYPE="ko_KR.UTF-8" LC_NUMERIC="ko_KR.UTF-8" LC_TIME="ko_KR.UTF-8" LC_COLLATE="ko_KR.UTF-8" LC_MONETARY="ko_KR.UTF-8" LC_MESSAGES="ko_KR.UTF-8" LC_PAPER="ko_KR.UTF-8" LC_NAME="ko_KR.UTF-8" LC_ADDRESS="ko_KR.UTF-8" LC_TELEPHONE="ko_KR.UTF-8" LC_MEASUREMENT="ko_KR.UTF-8" LC_IDENTIFICATION="ko_KR.UTF-8"
로케일 설정을 하지 않았다면 삭제를 추천한다.
$ dpkg -l | grep postgres $ sudo apt-get --purge remove postgresql postgresql-doc postgresql-common
dpkg에 나오는 내용 다 퍼지 리무브 한다.
그리고 본인 계정으로 포스트그레스가 안된다.
FATAL: role 'username' does not exist
잘못된거 아니고 계정만 만들면 된다.
$ sudo -u postgres createuser 'username'
테이블 만들기
$ *createdb -U postgres -O 'username' -E utf-8 'tablename'
로케일 타입 지정 테이블 만들기
*createdb -U postgres -O 'username' -E utf-8 --lc-collate=ko_KR.UTF-8 --lc-ctype=ko_KR.UTF-8 'tablename'
카피할 db 추가
*createdb -U postgres -O 'username' -E utf-8 --lc-collate=ko_KR.UTF-8 --lc-ctype=ko_KR.UTF-8 -T 'copytable' 'tablename'
0 notes
Text
Mysql dump
Mysql dump
덤프
$ mysqldump -u[사용자아이디] -p 데이터베이스명 [테이블명] > 저장될 파일명 $ mysqldump -uroot -p mydatabase > data.sql
테이블 덤프
$ mysqldump -uroot -p mydatabase member_table > users.sql
복구
$ mysql -u[사용자아이디] -p [디비명] < 덤프파일명 $ mysql -uroot -p < data.sql $ mysql -uroot -p mydatabase < users.sql
전체 테이블 스키마
$ mysqldump -uroot -p -d mydatabase > data.sql
특정 테이블 스키마
$ mysqldump -uroot -p -d mydatabase users > users.sql
0 notes
Photo
Gruber’s Markdown
개인적인 생각으로 HTML 코드보다 마크다운이 간결한 문서작성을 하는것 같아 보여서 써보기로 마음 먹었다.
일단 내가 아는 마크다운은 깃허브나 깃랩에서 써본게 전부였다. 예로 깃허브의 REDME.md가 있다.
일반 HTML 코드 쓸때 처럼 꺽쇠괄호를 쓰지 않았기 때문에 익숙하지��� 않지만 권가 더 재미있고...? 빠른 코드를 작성했던 것으로 기억한다.
한번 잘 써보기 위해 구글링을 시작했다. 일단 텀블러에 스태프에 게시된 내용이다.
http://staff.tumblr.com/post/36234584/markdown-now-supported-via-email-mobile
당최에에에에 무슨말인지 모르겠다.
결론은 http://pad.haroopress.com/ 이런 종류의 마크다운 에디터를 쓰는 방법이다.
0 notes
Text
Window play framework install
fuck play install administer 권한이 없는 폴더에 play 다운 받은 파일을 환경변수 패스로 잡아 주어야 java.io 어쩌고 하는 에러가 발생 하지 않는다. eclips - scala ide 설치 하면 scala 오브젝트 만들고 테스트 가능 하다.
0 notes
Text
Learning Perl 5
#!/usr/bin/perl pring "Hello, world!\n"; #!/usr/bin/perl use 5.010; say "Hello World!";
0 notes
Text
Javascript forms validation
http://parsleyjs.org/ http://digitalbush.com/projects/masked-input-plugin/ http://www.queness.com/post/10104/powerful-javascript-form-validation-plugins http://www.jquery4u.com/plugins/10-jquery-form-validation-plugins/
0 notes