近況 ― 2024師走

9年動いていなかったブログが今再び

関数型まつりのスタッフをやり出した

長年DroidKaigiのスタッフをやっていましたが、今年の秋頃から「関数型まつり」という関数型プログラミングのテックカンファレンスのスタッフをやっています。

2025年の夏に開催予定で、そろそろサイトとかブログとかが公開されます。(というか頑張ります)

去年まではScalaMatsuriというカンファレンスだったのが、Scalaに限定せず関数型プログラミングというより広い範囲でのカンファレンスに拡張して再始動した形になります。

まだ準備も始まったばかりですが、新しいカンファレンスというのに加え規模・文化や対象とする参加者・スポンサーもDroidKaigiと色々違う傾向があり、ははーんという感じです。スタッフもDroidKaigiとは別のタレントが集まってるなという印象があります。異文化交流ができるのは良い事なんだな、としみじみ思っています。

検索と機械学習をやり始めた

仕事の方は、検索と機械学習を触り始めています。 元々アプリエンジニアで片手間で検索エンジンを触ったりしていたのですが、世の中に追いつくため(?)ついに機械学習にデビューしてしまいました。

なんも分からないのでちまちま理論の部分を勉強したりしながら、モデルをメンテするための基盤作ったりしています。

…なあ、Androidアプリ開発やってるのか?

やってます!たぶん…!でも今年は大分手を動かさなかったですね。

昔から何やってるのかよく分からないキャラなんじゃないかと思っているので、その意味では平常運転です!

引っ越した

6年ぶりに引っ越しました。

20年近くぶりにお風呂を入れたらボタン一つで入れられる事に気づいて感動しました。 また、実家に近くなったので実家とのイベントが増えました。

今年の写真セレクション

マスカットソフトクリーム 道路に止まった蝶 mofusand cafe
誰かに見られている DroidKaigiの初ネイル キウイが半分入っていたクロワッサン
DroidKaigiのビーガン弁当 丘の上から見た住宅地 東京タワーが背景

菓子ばっかり食べてたのかもしれない。

iOS / Android のアプリの署名について調べてみた

最近スマートフォン向けの開発をしているのですが、アプリの配布などを行う際のセキュリティの仕組みがよくわからなくてモヤモヤしていました。特に iOS の方はプロビショニングプロファイルやら証明書やらが大量にあり、何をどう管理すればいいのかがよくわかりにくいです。

というわけで、アプリケーションを配布する際の署名やその他のセキュリティの基本的な仕組みを調べたので、それを整理してみました。原始的な配布方法から複雑な iOS の配布方法までを段階的に書いています。

対策なし

f:id:wm3:20150217030231p:plain

続きを読む

少しでもメンテナンスするならコードの抽象化は行った方が良い

「すべてのソースコードが手元にあるのに不要な抽象化を行うのはよくない」

http://blog.sigbus.info/2014/12/blog-post_29.html

を読んで。良いこと言っていると思ったのですが、どこまで抽象化するべきなのかについての議論がもう少しないと、見方によっては「抽象化を全然しない」言い訳にもなりうるかな、という印象も持ってしまいました。ひと昔前に流行ったコメント不要論に近いものがあるかな、と。

自分は人より抽象化をする方だと思っているので、こういうこと言われたらちゃんと反論できないとな〜、と思ったのが発端なのは秘密…。

なんてことから始まりつらつら考えていたら、抽象化に対する今の個人的な考えが一通りまとまってきたので書いてみます。

そもそも、誤った抽象化とは?

続きを読む

ORM を使わないデータアクセス

最近は、データベースをアクセスする時は以下のようにしています。

  • 属性をメモリ(インスタンス変数)に格納した「レコード」クラスを基本作らない
    • ORM ではなく SQL を抽象化したライブラリを使う
    • データを取得する時は DSL を使ってクエリを構築する
  • 参照用オブジェクトと更新用オブジェクトを分離する

以前は ORM をそのまま使う事が多かったのですが、上のようにスタイルを変えた結果、今の所結構うまく行っているので、紹介してみようと思います。

なお、今回は JavaSQL を使った前提で書いていますが、基本的には言語や DB によらない物だと思っています。

続きを読む

Object design rough talks に参加した

前日の勉強会(記事) に引き続き、 Object design rough talks という会に参加しました。

割と誰でも参加できそうな前日とは違い、オブジェクト指向設計ドメイン駆動設計についてある程度知っている人が対象の集まりです。また、「rough talk」と銘打ったり、イベントのページに「rough」の翻訳が書いてあったりと、やたらとラフである事が強調されていました…。

そんな内容に殺伐とした空気を感じつつ、定時過ぎにこっそりと会社を抜けて参加してきました。

続きを読む

Consumer Service Engineer MeetUp Vol.1 〜iOS編〜に参加した

Consumer Service Engineer MeetUp Vol.1 〜iOS編〜 に参加してみました。

経緯

最近、仕事でスマートフォン向けにネイティブアプリを作る事を検討しています。その一方で、仕事ではずっと Web アプリの開発をしてきたので、アプリ開発に関しては分からない事だらけだったりします。例えば、

続きを読む

Typesafe Config について

この記事は Play framework 2.x Java and 1.x Advent Calendar 2013 の 12 日目です。

Typesafe Config は Play framework でアプリケーションの設定に使われているライブラリです。Typesafe 製ですが、Play や Scala に依存してはいません。使い勝手が良く、Play を使わないような状況でもお勧めできます。

特徴は?

  • JSON 上位互換で .properties ファイル風にも書けるファイル形式 (HOCON形式)
  • 複数の設定情報の組み合わせがしやすい
  • 10s 等の期間および 512MB 等のデータサイズの記法のサポート
  • Typesafe 製だけど Scala 依存ではない
続きを読む