MastodonをDB永続化忘れて起動したけど最小限の犠牲で済ませた
要はdocker psとdocker cp
hoge@ubuntu16:~/tmp/bk$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5b96312a6b26 mastodon_web "bundle exec rails..." About an hour ago Up About an hour 0.0.0.0:3000->3000/tcp, 4000/tcp mastodon_web_1 960bb0ec5396 mastodon_streaming "npm run start" 28 hours ago Up About an hour 3000/tcp, 0.0.0.0:4000->4000/tcp mastodon_streaming_1 e5436243c18a mastodon_sidekiq "bundle exec sidek..." 28 hours ago Up About an hour 3000/tcp, 4000/tcp mastodon_sidekiq_1 69e8481531c6 redis:alpine "docker-entrypoint..." 28 hours ago Up About an hour 6379/tcp mastodon_redis_1 8c5100e9fec4 postgres:alpine "docker-entrypoint..." 28 hours ago Up About an hour 5432/tcp mastodon_db_1
hoge@ubuntu16:~/tmp/bk$ docker cp mastodon_db_1:/var/lib/postgresql/data ./data
あとはdockr rm dbとかしてやればdocker-compose.ymlの設定が反映される
db: restart: always image: postgres:alpine ### Uncomment to enable DB persistance volumes: - /path/to/postgres/data:/var/lib/postgresql/data
最小限の犠牲(3トゥートぐらい)ですんだ。
泥臭いですね!
Mastodonのインストール
いろいろ四苦八苦してサービス提供開始できました。Dockerがむずい。
mastdn.lovesaemi.daemon.asia
是非きてください。
インストールは公式と
github.com
このqiitaでなんとかなる
CentOSとUbuntuの読み替え必要だけど基本同じ
qiita.com
MyDnsは
dotnsf.blog.jp
rvm、nvmはググって。
最初はサブディレクトリ運用出来ないかで四苦八苦した7時間ぐらい→無理と判断
ドメイン取ってすんなり3時間ぐらいで色々成功。
SparkPostがよくわからなくて辛かったよ。
本当は適切なドメインをお金だして買うべきなんだろうけど無料に固執した。
構築はとても楽しくて没頭しました。
サインアップして盛り上がって欲しいな。
Unity5の教科書 8章
おわりー。
レベルデザインはあまりふみこまないようにした。
もっといろいろできるのだろうけど。
とりまUnity触れまーす、初心者でーすぐらいには行けたかと。
Unity WebGL Player | AppleCatch
次はDeepLearningかなー
値渡しと参照渡し
値渡しだとコピーされるので値は変更されない。
参照渡しだと中身を変更できる。
ただし、参照型のオブジェクトだと常に参照渡しの模様。
あえて参照渡しをする意味も無い気がします。
<?php $str = "hoge"; // 値渡し function mod($str){ $str .= "fuga"; } // 参照渡し function modref(&$str){ $str .= "hoge"; } mod($str); echo $str . "\n"; // => hoge modref($str); echo $str . "\n"; // => hogehoge // ただし、参照型だと常に参照渡し $obj = new stdClass(); $obj->x = "10\n"; echo $obj->x; // => 10 function mod2($obj){ $obj->x = "20\n"; } mod2($obj); echo $obj->x; // => 20
参照渡しについては下記によくまとまってる。
qiita.com
JavaScriptのカスタムイベントとプロトタイプベースのオブジェクト指向(継承は知らん)
JavaScriptのカスタムイベントとプロトタイプベースのオブジェクト指向(継承
は知らん)
<html lang="ja"> <head> <meta charset="utf-8"> <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> </head> <body> <div id="d1" style="background-color:red;height:100px"> ターゲット1(生JavaScript) </div> <div id="d2" style="background-color:yellow;height:100px"> 発生源1(生JavaScript) </div> <div id="d3" style="background-color:green;height:100px"> ターゲット2(jQuery) </div> <div id="d4" style="background-color:lightblue;100px;height:100px"> 発生源2(jQuery) </div> <script> // イベント // 生JavaScript var d1 = document.getElementById("d1"); d1.addEventListener("myevent",function(){ alert("myevent fired"); }); var d2 = document.getElementById("d2"); d2.addEventListener("click",function(){ var event = document.createEvent("HTMLEvents"); event.initEvent("myevent",true,true); d1.dispatchEvent(event); }); // イベント // jQuery $("#d3").on("my-ev",function(){ alert("my-ev fired"); }); $("#d4").on("click",function(){ $("#d3").trigger("my-ev"); }); // プロトタイプベースのオブジェクト指向(継承とか知らん) var Hoge = function(){}; Hoge.prototype.bar = function(){ console.log(this.x); }; Hoge.prototype.x = 999; var obj1 = new Hoge(); obj1.x = 10; var obj2 = new Hoge(); obj2.x = 20; var obj3 = new Hoge(); obj1.bar(); obj2.bar(); obj3.bar(); </script> </body> </html>