MastodonにDBのGUIを追加する
qiita.com
読んで我が家のmastodonにも導入しました。
設定
docker-compose.ymlに下記追記
postgres-gui: restart: always image: donnex/pgweb command: -s --bind=0.0.0.0 --listen=9999 --url postgresql://<mastodonのdbユーザー名>:<mastodonのdbパスワード(あれば)>@db/<mastodonのdb名>?sslmode=disable depends_on: - db ports: - "9999:9999"
"mastdonのdbユーザー名"や"mastodonのdb名"は.env.productionの冒頭に書いてあるのでそれを使います
作業
$ docker-compose stop $ docker-compose up -d
起動時にimageをダンロードする動きが一回入ります(通常の起動より時間かかる)
だめなときはとりあえずdocker logsで内容確認。必要な対処を。多分問題なく動くはずです。
アクセス
$ ssh -L 9999:localhost:9999 <user>@<server>
感想
db見てなんの意味があるのでしょうか?という根本的な問題にぶち当たります。
dockerをいつの間にか見よう見まねで触ってますが、だんだん知識が深まっていきますね。
せっかく身につけた知識がムダにならないようにdockerには死なないでほしい今日このごろ。
スターティングGo言語読了 良書もう一度読み直して、次は何か作るべし。
今日やったこと(やろうとしたこと)
サーバーの/boot領域がいい加減心もとないのでなんとか大きくしようとしました。
LiveDVDから起動して適当にググったサイトで/bootの/dev/sda1を消して/にgrub入れろとか書いてあったのでやってみました。
騙された!!(勝手な言い分)
起動しなくなりました。死に体。
いろいろやりましたけれど
/dev/sda1や/bootをもう一度作り直してgrub-installしました。
起動がGUIになってしまいました。死に体。
で、諦めた。
サーバー再起動時には
init 5して直付けディスプレイとキーボード・マウスはGUI運用します。openboxで。
サーバーなので基本sshさえあいていればなんとかなる。。
ムダな時間を使ってしまった。
4時間ぐらいゴニョゴニョしてサーバーのカオス度が一段と高くなりました。
スッキリしたいけど再セットアップはあまりにも労力が。。
もやもやする。忘れたい。
もうこれ以上変な事しようとしない(何度目の誓いよほんとアホかと)。
スターティングGo言語が良い
Go言語学ぶならA tour of Goより初めからスターティングGo言語買うと良い。とても良い。
付随的な知識でGoは「スーバーC」なので私はC言語で仕事をしたことが無いのもあるけれど、桁数とか桁あふれとか丸めとか補数とか体感できるし、そういう解説もある。JavaやC#との比較もあるし「ベターなのはこの書き方」とかも書いてあるので非常に良い。本気でおすすめ。高い本ではないのでKindleで購入しましょ。まじ良い。
開発環境はGogland一択。デバッグに設定いらない、補完めっちゃ賢い。Idea系統の優れたUI最高です。CE版出てほしいなぁ。仕事でGoを使う可能性はゼロなので趣味のプログラムのために有償のIDE購入はちょっと違うよね、と。
今日の勉強おしまいー
- 作者: 松尾愛賀
- 出版社/メーカー: 翔泳社
- 発売日: 2016/04/15
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る
再掲:javascriptでActiveRecordっぽくハッシュを検索するコードの断片
2011年の投稿ですが個人的によくできたと思ったので再掲します
記事
javascriptもrubyと同様にインスタンス*1に対して動的にフィールドを追加できるようだ。javascriptなのでバインドは名前を付けた関数でも可能である。
ということでActiveRecordみたいな手触りのものが作れる。
めっぽう簡単なコードで。
今のところ機能として絞り込み(and検索)にも対応しているが都度実処理してしまっているところを最終段階まで遅延させたいところ。
// コード var AR = { Init : function(hash){ //関数をバインド for(x in this) if(typeof this[x] == "function") hash[x] = this[x]; return hash; }, find :function(k) { //関数をバインド for(x in this) if(typeof this[x] == "function") this[k][x] = this[x]; return this[k]; }, query : function(m){ //検索クロージャ this.selecta = function(finder,_this,qs){ var ret = {}; //検索をしつつ絞り込みのために関数もバインド for(x in _this){ if(qs == _this[x][finder]) ret[x] = _this[x]; else if(typeof _this[x] == "function") ret[x] = _this[x]; } return ret; }; this.finder = m; return this; }, is :function (qs){ // 検索を実行 return this.selecta(this.finder,this,qs); }, clean : function(){ // バインドした関数を取り外す for(x in this) if(typeof this[x] == "function") delete(this[x]); return this; } };
//対象データ var datasource = { tableA : { rowA: { field1 : 1,field2 : 1, field3 : 4 } , rowB: { field1 : 2,field2 : 1, field3 : 5 } , rowC: { field1 : 3,field2 : 2, field3 : 6 } , rowD: { field1 : 4,field2 : 2, field3 : 7 } , rowE: { field1 : 5,field2 : 3, field3 : 8 } , rowF: { field1 : 5,field2 : 3, field3 : 9 } }, tableB : { rowA: { field1 : 1,field2 : 1, field3 : 4 } , rowB: { field1 : 2,field2 : 1, field3 : 5 } , rowC: { field1 : 3,field2 : 2, field3 : 6 } , rowD: { field1 : 4,field2 : 2, field3 : 7 } , rowE: { field1 : 5,field2 : 3, field3 : 8 } , rowF: { field1 : 5,field2 : 3, field3 : 9 } }, tableC : { rowA: { field1 : 1,field2 : 1, field3 : 4 } , rowB: { field1 : 2,field2 : 1, field3 : 5 } , rowC: { field1 : 3,field2 : 2, field3 : 6 } , rowD: { field1 : 4,field2 : 2, field3 : 7 } , rowE: { field1 : 5,field2 : 3, field3 : 8 } , rowF: { field1 : 5,field2 : 3, field3 : 9 } } };
//使い方 var ret = AR.Init(datasource).find("tableB").query("field2").is(2).clean(); for(x in ret) console.log(ret[x].field1 + " - " + ret[x].field2 + " - " + ret[x].field3 ); /* 3 - 2 - 6 4 - 2 - 7 */ //絞り込み var ret = AR.Init(datasource).find("tableB").query("field2").is(2).query("field1").is(3).clean(); for(x in ret) console.log(ret[x].field1 + " - " + ret[x].field2 + " - " + ret[x].field3 ); /* 3 - 2 - 6 */
都度回すよりも簡単です。ハッシュはjavascriptでも(やはり)速いので配列よりもハッシュがこのましい。
配列を回すと処理時間が不安定なのでsetTimeoutとか使って処理をバックグラウンドで行う場合にはやはりハッシュが好ましいです。
速度
dev状態のmusicdbで使用しているが軽快っぽい
http://lovesaemi.daemon.asia/musicdb_dev/
*1:呼び方知らない
Zabbix3.2のグラフで日本語を表示する。(どうしてもだめな方へ)
デフォルトだと日本語のグラフがだめ。
raspi.ryo.sc
このへんでフォントいれるんだよーとか言われてやってみてもだめ。
結論
/usr/share/zabbix/include/graphs.inc.phpをいじれ。
function imageText($image, $fontsize, $angle, $x, $y, $color, $string) { mb_convert_variables("EUC-JP", "UTF-8", $string); // コレたせ。
以上です。
A Tour of Go むずい 2017/05/10
むずいわー。
Goつかいこなしたいわー