Node.js+Express でなんかしたくなった時に見るメモ
アプリの新規作成とかあんまりしないから忘れるよね
node.jsとかは入ってるものとします
mkdir myapp cd myapp npm init --yes npm install --save express npm install --save express-generator express
実行するとき
run.shを叩く
run.sh #!/bin/bash export PORT=19999 npm start
これだけすれば触ったことあれば思い出すんじゃないの(適当)
npm install しようとしたら insufficient space(容量不足)といわれた
実行しようとしたコマンド
npm install --save express
出てきたエラー
ENOTSUP: operation not supported on socket, symlink '../mine/cli.js' -> '/home/m77/shares/myapp/node_modules/.bin/mime' This is most likely not a problem with npm itself and related to insufficient space on your system.
ディスク容量は足りている。
VMwarePlayer上のArchLinuxとホストOSとフォルダ共有をする失敗談 - みちのいに!! で、ゲストのLinuxからホストのWindowsの領域にアクセスできるようにして容量不足問題を解消したが、シンボリックリンクが貼れなくてよくないらしい。
でも
シンボリックリンク張れないといっぱいエラーが出るから茨の道だ やめようかな
ArchLinuxでsimutransサーバを建てる 2016/02 120.1.3
simutransサーバーをマルチプレイ用に建てたかった
またかよ
まあ 去年の記事、Archでsimutransサーバー - みちのいに!! の焼き直しだけど、新しい記事のほうが安心感あると思う。
ArchにかぎらずLinuxならだいたい同じ方法でできると思う。
まず無用なトラブルとかを避けるために、simutrans専用ユーザを作ってそれにログインする。
コンパイル
mkdir simutranstmp cd simutranstmp wget -O simutrans-src-120-1-3.zip https://sourceforge.net/projects/simutrans/files/simutrans/120-1-3/simutrans-src-120-1-3.zip/download unzip simutrans-src-120-1-3.zip chmod +x configure.sh ./configure.sh make
configure.shするとconfig類は勝手に設定してくれる。GUIがあるサーバだったら明示的にconfig.defaultを書かないといけないのかもしれない。
設置
今回はバージョン別に管理したかった。
mkdir -p ~/simutrans_bin/120.1.3 cp sim ~/simutrans_bin/120.1.3 cp -r simutrans/* ~/simutrans_bin/120.1.3 cp get_pak.sh ~/simutrans_bin/120.1.3 cd ~/simutrans_bin/120.1.3
pak取得
このまま本体を実行するとエラーが出てくる。
120.1.3に同梱されているget_pak.shはpak64のバージョンがちょっと古いので、Windows版のpackset downloadでダウンロードしたものとバージョンが一致しない。
https://sourceforge.net/projects/simutrans/files/pak64/120-1/simupak64-120-1-2.zip
に55行目のリンクを書き換える。
pakを取得すると、 ~/simutrans_bin/simutrans/pak ができる。ここではうごかないのでsimと同階層に移す。
chmod +x get_pak.sh ./get_pak.sh mv ~/simutrans_bin/simutrans/pak ~/simutrans_bin/120.1.3/pak
get_pak.sh、自分のディレクトリ名がsimutransであることを前提としているのかな。
言語ファイル取得
そして、こんなエラーも
FATAL ERROR: simmain::main() - Unable to load any language files *** PLEASE INSTALL PROPER BASE FILES *** either run ./get_lang_files.sh or download a complete simutrans archive and put the text/ folder here. Aborting program execution ...
言語ファイルがちゃんと入ってないらしい。さらにそれを入れるシェルスクリプトも改行コードがCRLFになっててめんどくさい。
cp ~/simutranstmp/get_lang_files.sh ~/simutrans_bin/120.1.3/text/ cd ~/simutrans_bin/120.1.3/text/ chmod +x get_lang_files.sh sed 's/\r//' -i get_lang_files.sh ./get_lang_files.sh
iptablesとかいじってSimutransで使用するポート(13353)を開いておく
~/simutrans/save/ に GUI環境なんかで同じpakで作ったセーブデータを設置(test.sveとする)
サーバーは自力でセーブファイルを作ることはしないらしい
./sim -server -objects pak -load test.sve
これでアクセスできるか確認 とくにエラーらしいエラーを吐かなければOK
デーモン化
systemdだからこんなことしてるけど、それぞれの方法で
/home/simutrans/simutrans.sh
~/simutrans_bin/120.1.3/sim -server 13353 -server_name m77Server -objects pak -lang ja -nomidi -nosound -load test.sve
/usr/lib/systemd/system/simutransd.service
[Unit] Description=Simutrans [Service] User=simutrans ExecStart=/bin/sh /home/simutrans/simutrans.sh
GoogleMapのアプリで自宅の位置を微調整する方法
検索してもなかなか正解にたどり着いている人がいなかったので。
support.google.com
で自宅と設定すればよいです。
モバイル端末にて
- 自宅の位置にピンをドロップする。
- 場所の名前をスワイプする
- 右上メニューからラベルの追加
- 自宅 とする
- 自宅の住所を設定するが出てくるので押す
- アップデートをおす
2017.04.01 追記
なんかアクセスが増えていたので確認してみたら,なんかアプリの動きが変わっているような……
また確認してみます.
Cordovaとandroidでデバッグするときの備忘録
端末一覧
adb devices
端末を指定する
端末一覧の左側に出たIDをつかう
adb -s <id>
ログを見る
adb logcat
時刻
adb logcat -v time
shell
adb shell
パッケージ一覧
$ pm list package
アプリごとの作業ディレクトリに潜る
シェル内で
$ run-as com.example.package
VMwarePlayer上のArchLinuxとホストOSとフォルダ共有をする失敗談
結論
日本語のArchWikiには書いてないけど、vmhgfs-fuseってのがあるらしいよ
できなかった方法
mount -t vmhgfs .host:/<shared_folder> /home/user1/shares
cannot mount filesystem Invalid Argument
といわれてうごきません。せっかくopen-vm-tools-dkms のインストールもしたのに。
なんでかはしらない。
英語Wikiにはlegacyな方法として紹介されていて、 VMware Workstation and Fusionでしか動かないって書いてある。
できる方法
vmhgfs-fuse -o allow_other -o auto_unmount .host:/<shared_folder> <shared folders root directory>
/etc/fuse.conf の allow_other をアンコメントすること
詳細は
VMware/Installing Arch as a guest - ArchWiki
みてがんばろう。といっても上のコマンドが実行できたら、あとはboot時に動くように、oneshotのservice作るだけです。
できない方法で頑張ってた人は、その過程で作った、mnt-hgfs.mountやmnt-hgfs.automountなどの削除及び/etc/fstabの修正も忘れずに。
node.jsからmongooseでmongoDBさわる時のメモ
メモです とても適当に書きます
mongo shell
//db一覧 show dbs; //collection一覧 show collections; //collection作る db.createCollection("users"); //いれる db.users.insert({name:"jack",age:19}); //みる db.users.find(); //けす db.users.remove({name:"jack"}); //けす db.users.drop();
node.js
var mongoose = require("mongoose"); mongoose.connect("mongodb://user:pass@localhost/db_name"); //スキーマを作る http://mongoosejs.com/docs/guide.html var Schema = mongoose.Schema; var blogSchema = new Schema({ title: String, author: String, body: String, comments: [{ body: String, date: Date }], date: { type: Date, default: Date.now }, hidden: Boolean, meta: { votes: Number, favs: Number } });