Android アプリ 無駄新聞 v1.8.3 をリリースしました
Android アプリ 無駄新聞 v1.8.3 をリリースしました。
主な修正点
- 2013-04-06 bugfix 画像が取得できない場合に表示しているイメージがリサイズされなかったのを修正した。
- 2013-04-06 bugfix 古い記事の削除中にデータベースロックエラーになることがあったのを修正した。
- 2013-04-06 feature 古い記事の削除を、設定画面から行なうように変更した。
bugfixと古い記事削除機能呼び出しの場所を変更
Golang で、Multivac という Starbug1の後継BTSを作ってます
Starbug1
もう7年前くらいから、Starbug1というBTSをC言語で作成して公開しています。
Starbug1は、高速に動作するカスタマイズの制約の少ないBTSを目指して作成しました。 これはこれで、redmineなどのプログラマ向けプロジェクト管理システムは大袈裟だけど、 気軽にタスク管理をしたいという、ITに疎い人達でも使えるBTSとして、 それ程ユーザが多いとは言えないですが、使ってもらえています。ありがとうございます。
Starbug1は、C言語で書いていて、機能的には 様々な制限を設けています(私の力量不足ですが)。その結果一応高速に動作するようにはなっていました。 制限というのは以下のようなもの
- MVCではなく、テンプレート機構がないため、ユーザがHTMLレイアウトを気軽に変更できない
- サーバ側validationが貧弱(無いに等しい。おかしなデータがきてもそのまま登録するだけ)
- C言語でベタベタに書いてたので、OSS的な開発者の広がりが少なかった。
それらの問題を解決できるし、モチベーションを維持できそうな解決策として、 Starbug1とデータ互換な、BTSをGolangで作るというのを考えました。
Golang
Golangを採用する利点というのは、ネイティブバイナリにコンパイルする言語なので、動作速度や配布・インストールの面で期待できると思ったからです。 あと、C言語に比べれば数倍書き易いし読み易いし、MVCで作ればテンプレートも分離できて、パッチとかも沢山もらえるといいなというのもあります。
Multivac
https://github.com/smeghead/multivac
今のところ、新しいBTSの名前は Multivac です。変わる可能性はあります。 まだまだ移行中で、チケットの参照と検索ができる状態です。
Starbug1 の デモサイトのデータベースを参照して動いてるMultivacです。
※デモサイトのデータは、だいぶスパムにやられててゴミデータがたくさんあります。すいません。
Starbug1からの移行は、ぼちぼち進めていきますが、以外とStarbug1の内部構造が複雑だったのと、 仕事の関係で時間が取りにくいので、公開はもうちょっと先になると思います。
youtubeで気になるギタリスト達
最近、15年振りくらいにギター熱が再燃してギター少年ならぬギター中年になってる。 昔と全然変わったことは、youtubeを見ながらギターの練習してることが多くなったことです。 最近のギター少年は恵まれてるなーと、年寄りくさい感想を持ったりしてるんですが、スイープ やりたいなと思っても、youtubeで探せば、非常に詳しく説明してくれてるビデオがあるし、 エフェクターについてもいろんなのを試してくれているビデオも見つかる。
それは置いといて、youtubeを良く観るようになって、いいギタリストを沢山見つけたので紹介してみます。
JESS LEWIS
若い女性ギタリスト。弾いてるところを見てるとぎこちないくらいに見えるんだけど、出てる音はすごくカッコいい音です。
ALEX HUTCHINGS
いろんなところにセッションで顔出して、他の共演者を食いまくってる印象がある凄腕ギタリスト。
Guthrie Govan
ブルース的なフレーズがベースになってる感じで、めちゃくちゃ巧くて正確なプレイなんだけど、出てくる音はすごく個性があっていいです。
Phil X
いろんなギターとかのハイテンション試奏レポートなどのvideoを沢山アップしてる人。 ギターも上手いけど、歌も歌う。試奏レポートでもzeppelin叫びながらだったりw
Vinai Trinateepakdee
タイのギタリスト。今、一番のお気に入りギタリスト。 Move the Sky は、オリジナルで、曲が素晴しい。グッとくるポイントがちりばめられた名曲です。 始めて聞いたときから思わず耳コピを始めてました。
という感じでyoutubeでいろんなギタリストを発見してます。 お勧めギタリストがいたら教えて下さい。
Golang のテンプレートで、スライスのインデックスにアクセスし、さらにそのプロパティにアクセスする
Golangのテンプレートはいろいろとクセがある。
普通に考えて、Elementsのインデックス 3 のオブジェクトのStrValプロパティを表示したかったら、以下のように書けそうな気がする。
{{.Elements.3.StrVal}} |
しかし、Golang text.templateは、スライス(配列)の要素にアクセスするには、indexという関数を使う必要がある。
index Returns the result of indexing its first argument by the following arguments. Thus “index x 1 2 3″ is, in Go syntax, x[1][2][3]. Each indexed item must be a map, slice, or array.
文字列のスライスの要素にアクセスするならこれでいいんだけど、スライスの要素がオブジェクトの場合は、これだけでは都合がわるい。
{{index .Elements 3 | .StrVal}} |
これはだめ
{{index .Elements 3 | printf "%s" .StrVal}} |
これもだめ
いろいろ試行錯誤した結果こうなった。
{{with index .Elements 3}}{{.StrVal}}{{end}} |
結局xss対策のために、htmlフィルタを追加して最終形は下のようになった。
{{with index .Elements 3}}{{.StrVal|html}}{{end}} |
なんでこんなに冗長なんだろう
Android アプリ 無駄新聞 v1.8.1 をリリースしました
Android アプリ 無駄新聞 v1.8.1 をリリースしました。
主な修正点
- 2013-01-27 feature 古い記事を削除する機能を追加した。
- 2013-01-27 feature サムネイルの画像のサイズを設定画面で選択できるようにした。
久し振りに機能追加をしました。
古い記事の削除機能
過去2週間より古い記事を削除する機能を追加したので、貴重なandroidのディスク容量を圧迫せずに済みます。 メニューの「古い記事の削除」から削除できます。
サムネイルの画像サイズ設定
無駄新聞について、画像が小さすぎるという感想がどこかに書かれてたと思います。 メニューの「設定」から設定画面を開いて、サムネイルの画像サイズを変更できます。