Visual Studio 2010 Express で Entity Framework + SQLite を使う
めっちゃハマった…。
日々之スクラッチ: Visual Studio 2010 express に SQLite を統合する
ハマりにハマってここの方法試してみたら SQLite が選択肢に出るようにはなったけど 最後の最後で「アセンブリ参照に一致しません」 とかで怒られて使えない。
最終的に以下な手順でなんとかできるようになったのでメモに残しとく。
このあたりについての知識が全くないのでこれで正しいのかは謎だけど…。
環境は
- Windows XP Professional SP3 (32bit)
- Visual C# 2010 Express
必要ライブラリをインストール
Setups for 32-bit Windows (.NET Framework 4.0) をダウンロードしてインストール
System.Data.SQLite: System.Data.SQLite Download Page
SQLite-1.0.xx.x-setup.exe の最新版をダウンロードしてインストール
ADO.NET 2.0 Provider for SQLite - Browse /SQLite for ADO.NET 2.0 at SourceForge.net
このときに最後に出てくる「Visual Studio に Designer をインスールしますか?」的なところで何もチェックせずに終了しておく (成功したときはこうしたので。本当にこの手順が必要かは不明…)
dllを最新版にする
C:\Program Files\System.Data.SQLite\2010\bin
から以下の組み合わせでコピペする
System.Data.SQLite.dll
→C:\Program Files\SQLite.NET\bin
System.Data.SQLite.Linq.dll
→C:\Program Files\SQLite.NET\bin
SQLite.Designer.dll
→C:\Program Files\SQLite.NET\bin\Designer
Designerをインストール
C:\Program Files\SQLite.NET\bin\Designer\install.exe
を実行。
System.Data.SQLite.dll の場所を求められるので C:\Program Files\SQLite.NET\bin
のやつを指定する。
指定してOKしても、また求められて無限ループになるので、1回OKしたらその後はキャンセルして進める。
おわり
Visual C# 2010 Express を起動すれば、ADO.NET Entty Data Model とかで SQLiteが利用できるようになっている、はず。
これでできなかったら、最初の参考リンクにあるように machine.config とかを変更したりするとできるかも、しれない…(自信ない)
ただどちらにしてもコードファーストは使えないみたいで、とても悲しい…。
Windowsにvim環境を作る手順
最近Windows端末を渡り歩くことが多いので自分用メモ。
kaoriyaから落す
ダウンロード・解凍して C:\Vim に配置
(64bit/32bit は、Python とあわせること)
フォルダ移動・環境変数設定
Pathに C:\Vim を追加
設定ファイル設置
dotfilesリポジトリをclone
適当なディレクトリを掘って設置
cd ~\Documents\src git clone github:moqada/dotfiles.git
~/.ssh/config をちゃんと設定してても no address associated with name
つって怒られるときがある
その場合は $HOME の環境変数が設定されていない可能性あり。
シンボリックファイル作成
cd ~ mklink/D vimfiles Documents\src\dotfiles\vim mklink _vimrc Documents\src\dotfiles\vimrc mklink _gimrc Documents\src\dotfiles\gvimrc
Powershell からだとコマンドが見つからなくて実行できなかったので コマンドプロンプトから実行する
SKK辞書を設置
SKK-JISYO.L.gz をダウンロードしてきて解凍、設置
前提として Git for Windows をインストールして、binにパスを通してあること
cd ~\Downloads gzip -d SKK-JISYO.L.gz mv SKK-JISYO.L ~/
powerline用のフォントを用意
自分の環境からビルド済バイナリコピーしてきてインストールする
ビルドが必要な場合はこのあたりを参考にしつつ
Vim - powerlineをいつ使う?今でしょ! - Qiita
ctagsインストール
taglistで使うのでインスールしておく
Win32版(バイナリのみ) をダウンロードして、Vimのディレクトリに追加
w3mインストール
vim-refで使うのでインストールしておく
プラグイン関連をインストール
まず neobundle.vim を設置する
cd ~ mkdir -p .vim\bundle cd .vim\bundle git clone https://github.com/Shougo/neobundle.vim.git
※ パスを設定で決め打ちしてた、そのうち直すかもしれない
GVimを起動して以下を実行
:NeoBundleInstall
TMPDIR 設定は Unix のやつをひきずってるので tmp を作成しておく
mkdir ~\tmp
※ なおすかも、なおさないかも
所感
なんか bat とか作ったほうがよさげ
less を自動コンパイルしたい
とりあえずここ見ときゃいい、ってんで見てみました
https://github.com/cloudhead/less.js/wiki/Command-Line-use-of-LESS
recess ってのがありました
npm install -g recess
以下のコマンドでOK 指定ディレクトリ以下を監視して自動コンパイルしてくれる
recess ./less/input.less:./css/outoput.css --watch ./less
ただ、コンパイル結果が生のlesscとちょっと違ってなんか汚ない (空白が除去されてなかったり、アルファベット順に並んでなかったり...)
lintはちゃんと出してくれるっぽいんでその用途には使えるかも
結局 autoless ってのにしました
やっぱコンパイル結果が違うのが気にくわなかったんで変えることにしました
npm installl -g autoless
ディレクトリ指定するだでmixinsとかvariablesは避けて、 ちゃんとimportしてるmainのlessだけコンパイルしてくれる
autoless ./less ./css
recess はコンパイルのログが出力されなかったけど、 こっちはちゃんと色付きで表示されるので安心
とりあえず、GruntとかYeomanとか使わないような簡易環境ならこれでいいんじゃないかと
しょかん
いつも coffee コマンドも起動しっぱなしなんで 常時CoffeeScript用とLess用のふたつのnodeプロセスが走ってる
これはこれでなんか微妙な気がしないでもないけど今のところは必要十分なのでこれでいいや
fulcrum と Unicorn と Nginx と SSL と Basic認証と
昨日の記事のやつを運用にのっけるためにやったことのメモ
fulcrum の設定
cd /home/fulcrum/fulcrum bundle exec fulcrum:setup db:setup RAILS_ENV=production
アセットファイルのコンパイル
bundle exec rake assets:precompile
設定を変更
cd /home/fulcrum/fulcrum
cp config/fulcrum.example.rb config/fulcrum.rb
app_host と mailer_sender を変更
Configuration.for('fulcrum') do # Set this to the domain name of your installation. Env var APP_HOST app_host '<MY_DOMAIN>' # The email address that notification emails will be sent from. Env var # MAILER_SENDER mailer_sender 'noreply@<MY_DOMAIN>' # Disable registration pages. If set to true, users will need to be invited # to a project rather than being able to self sign-up. # Env var DISABLE_REGISTRATION #disable_registration false end
nginx の設定
インストール
yum install nginx
fulcrum のバーチャルホストを設定
vim /etc/nginx/conf.d/fulcrum.conf
SSL証明書を作成
期限は適当に10年に設定
cd /etc/nginx mkdir ssl openssl genrsa -des 1024 > key.pem openssl rsa -in key.pem -out key.pem openssl req -new -days 3650 -key key.pem csr.pem openssl req -new -days 3650 -key key.pem -out csr.pem openssl x509 -in csr.pem -out cert.pem -req -signkey key.pem -days 3650
Basic認証
htpasswdをインストール
yum install httpd-tools
パスワードを生成
htpasswd -c /etc/nginx/htpasswd <username>
その他
ホームディレクトリの権限変更
chmod 751 /home/fulcrum
起動
/etc/nginx/init.d/nginx start
自動起動設定
chkconfig nginx on
Unicorn
インストール
gem install unicorn --no-ri --no-rdoc
起動
unicorn_rails -c config/unicorn.rb -E production -p 5000
ブラウザからアクセスできるか確認だけして落とす
起動ファイル作成
vim /etc/init.d/fulcrum
GitLab からインスパイアして作成
自動起動設定など
chmod 755 /etc/init.d/fulcrum chkconfig fulcrum on
起動
/etc/init.d/fulcrum start
HTTPS でアクセスできる、はず
Amazon Linux に fulcrum をインストール
https://github.com/malclocke/fulcrum
すぐ動くかと思ったけど動いてくれず、いろいろ回り道したのでメモ
そもそも不要なことをいっぱいしてそうな気がするけど…
もろもろ必要なやつをいれる
# yum update # yum install -y make # yum install -y gcc-c++ # yum install -y patch # yum install -y readline-devel # yum install -y zlib-devel # yum install -y libyaml-devel # yum install -y libffi-devel # yum install -y openssl-devel # yum install -y libxml2-devel # yum install -y libxslt-devel # yum install -y sqlite-devel # yum install -y postgresql-devel # yum install -y git
postgresql いらなそうだけどとりあえず入れとく
fulcrum の Gemfile の production のとこに書いてあった、ってそんだけ
がんばって Qt いれる
capybara-webkitでQtを使うっぽい development 用だし必要ないっぽいけど入れとく
https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit
入れるためにリポジトリを追加する
# vim /etc/yum.repos.d/atrpms.repo
下記を新規作成
[atrpms-stable] name=ATrpms RHEL5 stable baseurl=http://dl.atrpms.net/el5-$basearch/atrpms/stable/ gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms gpgcheck=1 enabled=1 priority=1 [atrpms-testing] name=ATrpms RHEL5 testing baseurl=http://dl.atrpms.net/el5-$basearch/atrpms/testing/ gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms gpgcheck=1 enabled=1 priority=1
qt-webkit-devel が必要なので、ここで検索していろいろ入れる
とりあえず CentOS のやつから選択したけど、Redhat のほうがいいかも
# wget ftp://ftp.muug.mb.ca/mirror/centos/6.3/os/x86_64/Packages/gstreamer-tools-0.10.29-1.el6.x86_64.rpm # wget ftp://ftp.muug.mb.ca/mirror/centos/6.3/os/x86_64/Packages/gstreamer-0.10.29-1.el6.x86_64.rpm # rpm -Uvh gstreamer-0.10.29-1.el6.x86_64.rpm # rpm -Uvh gstreamer-tools-0.10.29-1.el6.x86_64.rpm # yum install libXv # yum install cairo # yum install ios-codes # wget ftp://ftp.muug.mb.ca/mirror/centos/6.3/os/x86_64/Packages/cdparanoia-libs-10.2-5.1.el6.x86_64.rpm # rpm -Uvh cdparanoia-libs-10.2-5.1.el6.x86_64.rpm # yum install libgudev1 # yum install libogg-devel # yum install pango # yum install libtheoradec1 # yum install libtheora-devel # yum install libvisual # yum install libvorbis-devel # wget ftp://ftp.muug.mb.ca/mirror/centos/6.3/os/x86_64/Packages/liboil-0.3.16-4.1.el6.x86_64.rpm # yum install liboil-0.3.16-4.1.el6.x86_64.rpm # wget ftp://ftp.muug.mb.ca/mirror/centos/6.3/fasttrack/x86_64/Packages/gstreamer-plugins-base-0.10.29-2.el6.x86_64.rpm # rpm -Uvh gstreamer-plugins-base-0.10.29-2.el6.x86_64.rpm # wget ftp://ftp.muug.mb.ca/mirror/centos/6.3/os/x86_64/Packages/libmng-1.0.10-4.1.el6.x86_64.rpm # yum install lcms-libs # rpm -Uvh libmng-1.0.10-4.1.el6.x86_64.rpm # yum install qt47-webkit # yum install libxcb-devel --disablerepo=atrpms-testing # yum install libX11-devel --disablerepo=atrpms-testing # yum install qt47-webkit-devel
PATHに追加
# vim /etc/profile
こんだけ
export PATH=/usr/lib64/qt47/bin:$PATH
node.js いれる
setup のとこで execjs 使ってて怒られるので、いれとく
# cd /usr/local/src # git clone git://github.com/creationix/nvm.git # source /usr/local/src/nvm/nvm.sh # nvm install v0.8.18 # nvm alias default 0.8.18
起動時に読み込むようにしとく
# vim /etc/profile.d/nvm.sh
こんだけ
source /usr/local/src/nvm/nvm.sh
rbenv で環境つくる
ユーザつくる
# useradd fulcrum # sudo su - fulcrum
rbenv いれる
$ git clone git://github.com/sstephenson/rbenv.git .rbenv $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(rbenv init -)"' >> ~/.bashrc $ mkdir -p ~/.rbenv/plugins $ cd ~/.rbenv/plugins/ $ git cloen git://github.com/sstephenson/ruby-build.git $ cd ~ $ source ~/.bashrc $ rbenv install 1.9.2-p320 $ rbenv global 1.9.2-p320 $ rvenv rehash
fulcrum いれる
$ gem install bundler --no-rdoc --no-ri $ git clone git://github.com/malclocke/fulcrum.git $ cd fulcrum $ bundle install $ bundle exec rake fulcrum:setup db:setup $ rails server
3000番ポートで起動する
そのままだと会員登録とかしてもメールが送信されないので注意
production で起動するか config/environments/development.rb の config.action_mailer.perform_deliveries を true にしとく
pip install from repository
$ pip install git+git://github.com/django/django.git@stable/1.5.x#egg=django
リポジトリ経由でpip installしたいときは
$ pip install git+<branch url>@<branch name>#egg=<name>
な感じで指定すればよい
GitLab hooks を受けてメール通知するような wsgi サーバ
素の Gitだと普通にhook書けばいいけど、GitLab だと hook 用にサーバ用意せないけんので。
wsgiref でとりあえず動作するようにして、 gunicorn でデーモン起動させて、とりあえず Yammer にメール投稿するように設定してる