bouzuya.hatenablog.com

ぼうずやのにっき

bbni: blog.bouzuya.net for iOS をつくった

bouzuya/bbni をつくった。 bbni: blog.bouzuya.net for iOS 。 bbna: blog.bouzuya.net for Android (bouzuya/bbna) の iOS 版。

https://blog.bouzuya.net/ から HTTP で JSON を取得して、それを解釈したあと TableView + WebView で表示するところまでつくった。ほとんど Tutorial と差がない。 Android 版のような更新確認はない。

雰囲気は分かった。コピペっぽい箇所が残っているのだけど、放置する。

明日からは Haskell を触るぞ。何度目だ。


星のカービィ スーパーデラックス』は『銀河にねがいを』をクリア。プラズマは安定して強いなあ。

bouzuya/bbni をつくっている

bouzuya/bbni をつくっている。 bbni: blog.bouzuya.net for iOSbouzuya/bbnaiOS 版。ストア公開はしない予定だが、ほぼ同等の機能まではつくりたいと思っている。

今日は Tutorial 的なもの (2017-05-02) を終わらせて、 HTTP GET から TableView への表示まで実施した。まだ git commit & git push していないけど……。

何時間も昼寝してしまったので、思ったほど進捗は良くない。


星のカービィ スーパーデラックス』 (2017-05-01) は『メタナイトの逆襲』をクリア。次は『銀河にねがいを』だ。

Amazon ECS と AWS CloudFormation / iOS Getting Started

2017-04-28 に続き、今日もまた Amazon ECS: EC2 Container Service を使う。 Cluster の ECS Instance の細かい設定のために AWS CloudFormation を触る。これは強力だ。

まだ、ざっくりとした理解だけど……。 ECS Instance は amazon/amazon-ecs-agent の動いている適切な権限の EC2 Instance に過ぎない。 ECS の画面から Scale を変更すると、 CloudFormation が更新される。 CloudFormation は Auto Scaling と Launch Configuration を更新する。それらが動くと EC2 Instance は更新される。ふむ。

CloudFormation の Template に EC2 の user-data などが含まれている。 AMI は Parameters 経由で指定されている。 CoreOS を使うためにこれらを変更した。

CloudFormation 強い。


iOSStart Developing iOS Apps (Swift) を進めている。明日には終わらせてしまいたい。 GW 中に bbni を完成させる。

映画『リミット』 / ぼくと『星のカービィ』

2017-04-30 に映画『リミット』を観た。ネタバレをする。

2017-04-17 『シング・ストリート』 / 2017-04-26 『怪盗グルーのミニオン危機一発』 に続いて iTunes のレンタルで観た。これで 1000 円を使い切った。

棺に閉じ込められた男が助けを求めて電話をかける話。雑な説明だけど、これがほぼすべてだ。棺の外の景色はわずか数秒しか出てこない。回想さえもない。最初から最後まで救いのない話だ。


先週に『星のカービィ スーパーデラックス』を買った。これまたわけあって手に入れたニンテンドー プリペイド番号 3000 円で買った。星のカービィが 25 周年らしく、割引セールが宣伝されており、懐かしさから買ってしまった。

カービィにはいくつかの思い出がある。

星のカービィ スーパーデラックス』は、ぼくが遊ぶことのできなかったゲームのひとつだ。ステージやキャラクターなどほとんどすべてを知っている。なぜなら知人が遊んでいるのをずっとそばで観ていたからだ。ぼくの前で彼らは毎日のように何度も遊んだ。スネ夫のび太のようだ。のび太にはドラえもんが居るものの、ぼくには居なかった。母さんはゲームを絶対に買わないと宣言しており、ぼくがスーパーデラックスのカービィに触れることはついに一度もなかった。

20 年以上が経ち、 Wii U バーチャルコンソールにて 823 円で買えるようになった。おまけに 25 周年セールで 25% 引きの 617 円だ。いまのぼくには数百円の値引きなどそこまでの意味はない。ほしければ買う。気まぐれに買える。

とりあえず『洞窟大作戦』をコンプリートするところまで進めた。

意外とカービィの動きにクセを感じる。ジャンプから膨らんだあとに戻るときや、吸い込んだままだと飛べないことなどだ。分かってはいるのだけど、シビアというか気持ち良さをすこしずつ阻害している感じだ。あとはコピー能力の当たり外れがひどい。強いものと弱いものの差が激しい。特性的に使うしかないものもあるんだけど、攻撃力のバランス調整などはこれでいいのだろうか。

いろいろ文句をつけているのだけど、とても良いと思う。うん。

せっかくなので、もうすこし、ぼくとカービィの思い出を書いておく。

実は、ぼくはゲームボーイの初代『星のカービィ』を持っていた。コピー能力がない頃のカービィだ。

前述のとおり、我が家はゲームを買わない方針で、両親が買ってくれることはなかった。そこで、ぼくはばあちゃんにねだった。ぼくの人生でそこまで人にものをねだったことはなかったと思う。

結果として、ばあちゃんがゲームボーイ「ポケット」を買ってくれた。ポケット。つまり 1996 年か 1997 年だ。たしかポケモンが出ていた。当時のぼくはまったく知らなかったが、カービィは既に 2 が出ていたはずだ。ぼくは昔から二重三重に時代遅れの世間知らずだったことが分かる。それでも、とにかくゲームボーイが欲しかった。買ってもらったのは「赤」のゲームボーイポケットだった。小学生的だが「赤は女子の色」「赤を男子が持つのは恥ずかしい」という認識を持っており、嫌だった。だけど、在庫がそれしかなく、ばあちゃんに買ってもらえる機会を逃したら……と考えて妥協した。妥協して、帰り道でスキップした。

このとき一緒に買ってもらったのが『星のカービィ』だった。世間のカービィにはコピー能力がついていたのかもしれないが、ぼくのカービィにはなかった。ぼくのはいもを食って空気を吐き出すような奴だった。流行りの『ポケモン』を手に入れたのは、それからまたしばらく後だった (ぼくが手に入れた頃はそれがポケモンでなかったら、もう既に時代遅れだったに違いない) 。それまでぼくはひたすらカービィをやり続けることになった。当たり前だが、エクストラもクリアした。

2017-W17 2017-04 ふりかえり

2017-W17 と 2017-04 をふりかえる。


2017-W17 をふりかえる。

2017-04 の目標

2017-W17 の目標

  • ☑ bbna 1.1.0 のことを書く
  • ☑ 2017-04 のふりかえりを書く
  • ☑ bbna 1.2.0 をつくる
  • ☑ Rust で何かをつくる
  • Android で BLE をためす
  • ☐ 『アンダースタンディング コンピュテーション』を進める

Rust は Android / iOS が優先なので、ひとまず区切る。 Android は上々。『アンダースタンディング コンピュテーション』は放置されている。

今週の記事

Rust を gh-repos-rs で区切り、 Android の BLE 検証などを実施した。来週は iOS を進める。

つくったもの

2017-04-24/2017-04-30

bbna: blog.bouzuya.net for Android の 1.2.0 (ベータ版) を公開 した。

その他

Android を優先し、 Rust を区切り、『アンダースタンディング コンピュテーション』は放置している。 Android アプリの開発を通じて SPA の設計がうまくならないかと期待している。

ゲーム。『スーパーマリオ ラン』をやめた。だらだら続けていたが、先日のアップデートでボリュームが増えたのでやめることを決意した。わけあって 3000 円のニンテンドープリペイド番号を手に入れてしまった。それで『星のカービィ スーパーデラックス』を買った。これはまだ書いていない。

映画『リミット』を観た。例によって iTunes の 1000 円 (2017-04-17) の残りだ。また書く。

2017-W18 の目標


2017-04 をふりかえる。

期間別の目標

2017 の目標

  • 自分の使うものはできるだけ自分でつくる。
  • なるべくはやく見えるもの・かたちあるものにする。
  • 納得のいくものをつくる。
  • こつこつとやる。
  • 斑鳩ノーマルをノーコンティニュークリアする。
  • 型システム入門を読む。

Android アプリの公開については「かたちあるものにする」や「自分の使うものはできるだけ自分でつくる」を実践できており、良かったと思う。

2017-04 の目標

プログラミング言語の基礎概念』に目を通した、が、あまり理解できていない。

週別のふりかえり

つくったもの

2017-04-01/2017-04-30

bbna: blog.bouzuya.net for Android を公開した。良い。同様に bbni: blog.bouzuya.net for iOS をつくろうとしている。まだまったくつくっていない学習段階だ。

blog.bouzuya.net は textlint のルールを変えた。「〜かも」を禁止するルールを外した。

fake-history および fake-history-fns は History の fake object 。 mr-jums ほかで使うためにつくった。

gh-repos-rs は「 Rust で何か小さいものを」と思って、つくった。しばらく忙しいので Rust は勉強会だけに留める。

mr-jums はいろいろあって、しっかり更新が止まっている。

その他

いくつか箇条書き。

買い物。

ゲーム。

イベント。

おでかけ。

映画。

読書。

総括。

2017-01 は病気、 2017-02 は落ち込んで、 2017-03 は斑鳩ときた。 2017-04 はどうか。

プログラミング言語の基礎概念』を終えた。これは良かった。理解度はともかく前進した。それに続く『アンダースタンディング・コンピュテーション』が盛大に停滞しているのは問題だけど……。

代わりに Rust へ手を出した。きっかけは『神戸 Rust の会 #2 』だ。勉強会がこういう形で機能するのは良い。

何度目か分からないが Android アプリに挑戦し、今度は bbna を公開した。今回は事情もあってどうしてもやらないといけないので……。かたちとして残るところまで進められているのは良い。 2017-05 は iOS アプリへの初挑戦と Haskell への再挑戦になりそうだ。

いろいろあってごちゃごちゃしているのだけど、それでも前進を感じられて良い状況にある。

2017-05 の目標

  • iOS アプリをつくる (ストアには公開しない)
  • Haskell でなにかつくる

bbna: blog.bouzuya.net for Android 1.2.0 を公開した

bbna: blog.bouzuya.net for Android の 1.2.0 (beta) を公開した。ちなみに 1.1.0 は 2017-04-24 に公開した。

1.1.0 からの変更点は次のとおりだ。

  • 毎日 07:00 に更新を確認し、新しい記事を通知するようになりました

更新確認とその通知のみ。 BLE: Bluetooth Low Energy を使った Beacon での機能は、手に入れた Beacon が動作しなかったので 1.3.0 に先送りだ。

今週はこれに関してのいくつかの記事を書いた。

  • 2017-04-28 ... SharedPreferences / Notification をためした
  • 2017-04-27 ... andoid-beacon-library のドキュメントを読んだ
  • 2017-04-26 ... BLE Beacon の scan をためした & M Permissions でつまずいた

明日以降は iOS アプリをつくる。

Android の Notification と SharedPreferences / Amazon ECS

昨日 (2017-04-27) は AltBeacon/android-beacon-library を使うと書いた。実際には使わなかった。 Beacon で通知を出すよりも前に、更新通知をつくることにしたからだ。

まずは SharedPreferences で、取得した記事のうち、最新のものの日付を保持しておくようにした。

次に Notification で通知を表示した。上記の保持しておいた日付と取得した記事の日付を比較して、新しい記事があることを通知している。そもそも Activity が出てから通知が出ても、あまり意味がないのだけど……。

明日はバックグラウンドでの更新確認と通知の ON / OFF をつけて、最後に Beacon の検知をつけたい。厳しいかな。日曜日に 1.2.0 かな。


Amazon ECS: EC2 Container Service を使ってみた。思ったより良くて「いいじゃん」ってなってる。