1月の振り返り

2020-01-31 雑記

2020年の目標 の振り返り、1月版です。

立てた目標のそれぞれについて、ヨシ(✅)・微妙(🤔)・ダメ(🙈)に分けて振り返っていきたいと思います。

目標と状況は以下のとおり。

  • 🙈 趣味のWebサービスを作って公開する
  • ✅ 継続的にカンファレンスや勉強会で情報発信する
  • ✅ 英語でコミュニケーションできるようになる
  • 🤔 筋トレを習慣づける
  • 🙈 新しい資格を取る
  • 🙈 週に1回はブログを更新する

半分は進捗ダメです……(反省)

それぞれ個別に振り返っていきましょう。

Continue reading

2020年の目標

2020-01-02 雑記

あけましておめでとうございます。

2019年の振り返り に続き、2020年の目標を綴っていきたいと思います。

🎯 目標リスト

今年の目標はこんな感じになりました。

  • 💻 趣味のWebサービスを作って公開する
  • 🗣 継続的にカンファレンスや勉強会で情報発信する
  • 🌏 英語でコミュニケーションできるようになる
  • 💪 筋トレを習慣づける
  • 🏫 新しい資格を取る
  • 📓 週に1回はブログを更新する

以下、ひとつずつ「なぜその目標を立てたか」「具体的に何をするか」を書いていきたいと思います。

Continue reading

2019年の振り返り

2019-12-28 雑記

プロデューサーさん、年末ですよ、年末!

というわけで2019年も残すところ3日。年納めに、今年あったことを振り返っておきたいと思います。

📆 イベント振り返り

カンファレンス・勉強会「🗣 登壇 (>= 20min)」「🛎 LT参加」「👂 聴講」

その他イベント「🎤 ライブ」「🖋 同人誌即売会(サークル参加)」

みたいな感じでアイコンを付けてます

イベント多くない???

見ての通り勉強会の登壇やLTが多く、合間にアイマスライブに行ったり技術書典にサークル参加したりなど、なんだかやたらとアクティブな一年でした……

今振り返ってみても、11/3-11/10の間に富山・松江・愛知のイベントを巡ってるのは頭おかしいですね。

以下、カテゴリごとに振り返っていきたいと思います。

Continue reading

セトリを見ながら感想を書けるサービスを作りたかった話

この記事はアイドルマスター Advent Calendar 2019の21日目の記事です。思いっきり締め切りをぶっちしました……

それもこれも、シャニマス2ndのチケットをくれないイープラスってやつの陰謀なんです……

嘘です、普通に間に合いませんでした。

📝 ライブの感想をピンポイントに共感したい問題

突然ですが、みなさんライブに行くと「この曲の感想を知りたい」みたいな気持ちになりませんか?

例えば、プロデューサー感謝祭で突如特殊イントロから始まった「NEO THEORY FANTASY」とか……

例えば、演出なしでたった一人、センターステージでほたるちゃんが歌い上げた「谷の底で咲く花は」とか……

ライブの中でも、特にその曲についての感想を知りたい! 語り合いたい! 「よかった……」「それな……」って共感したい! ってなると思うんですよ。というかなった。

とはいえ、こういった感想をピンポイントで探すのは結構困難です。

ライブが終わるとTwitterでは「自分のエモ」をみんなが好き好きに語りだしますし、ツイートに曲名をしっかり入れているとは限りません。また時間が立つとTwitterでは探せなくなってしまいます。

一方、いわゆるライブレポ記事は公演ごとになっており、そのなかから特定の曲の感想を探してまわるというのは大変ですし、「わかる、それな!」したいという軽い気持ちがどんどん失われていきます。

🎵 曲ごとに感想をつけるサービス

そもそも、ライブの感想は「頭から順」に思い出すより、セトリを眺めて「この曲はここがよかった」「あ、この曲はエモの塊だった」みたいに順不同で考えることが多い気がしますよね。

ということは、「セトリを見ながら感想を曲ごとにつける」サービスがあれば、公演通したレポートも書きやすいし、曲ごとの感想を横串で見ることもできるのでは?

と思って試しに作ってみたのがshiny-liveというアプリです。

16f2dea95786b6aa6f22b9d1.png (198.4 kB)

先に謝っておくと、とりあえず作ってみましたが穴が多いのであんまり実用的ではないです。 あと、データを入れるのが大変だったのでシャニマスのライブしか入ってません。

というわけで、今回はこのアプリの話をします。

Continue reading

Rubyパターンマッチを闇の力でアクティブにする

この記事はMisoca+弥生 Advent Calendar 2019の1日目です。

もう12月ですよ、12月!

記事の内容とはなんの関係もありませんが、デレステにM@GICが実装されましたね。

Screenshot_20191128-222733.jpg (175.9 kB)

アニメを思い起こさせる最高のMVでした……

💎 Rubyのパターンマッチ

Ruby 2.7で、ついにパターンマッチが導入されますね。

今はRuby 2.7.0-preview3で試すことができます。正式にリリースされるのは、おそらく例年通り12月25日でしょうか。

パターンマッチ機能の使い方をざっくり書くと、case ... in ...のような形でパターンマッチを行える機能です。

case { key: :value}
in { key: x }
  p x # => :value
end

詳しい話はRubyKaigiでの発表スライドのほか、メドピアさんの「Ruby2.7の(実験的)新機能「パターンマッチ」で遊ぶ」がよくまとまっておりわかりやすいです。

🐫 F#のアクティブパターン

ところで、F#ではアクティブパターンという機能を使うことができます。

これは、パターンへの分解を、マッチ対象とは別に定義できるものです。

let (|Even|Odd|) input = if input % 2 = 0 then Even else Odd

let TestNumber input =
   match input with
   | Even -> printfn "%d is even" input
   | Odd  -> printfn "%d is odd" input

TestNumber 11 (* 11 is odd *)
TestNumber 32 (* 32 is even *)

上記のように、マッチ対象となる数値とは独立してEvenOddというパターンを定義することができます。

さらに、パターンへの分解方法を変えることも可能です。

let (|RGB|) (col : System.Drawing.Color) =
     ( col.R, col.G, col.B )

let (|HSB|) (col : System.Drawing.Color) =
   ( col.GetHue(), col.GetSaturation(), col.GetBrightness() )

let printRGB (col: System.Drawing.Color) =
   match col with
   | RGB(r, g, b) -> printfn " Red: %d Green: %d Blue: %d" r g b

let printHSB (col: System.Drawing.Color) =
   match col with
   | HSB(h, s, b) -> printfn " Hue: %f Saturation: %f Brightness: %f" h s b

上記のように、Color型に対してRGB値で取り出したりHSB値で取り出したりすることができます。

Rubyのパターンマッチでは、パターンへの分解はマッチ対象のdeconstructdeconstruct_keysを使うため、分解方法を切り替えるにはRefinementを使うのが現実的な落とし所です。

deconstructなどをパターン側ではなくマッチ対象側に持たせた理由は、辻本さんがn月刊ラムダノート Vol.1, No.3に書かれていました。設計判断の話や他言語との比較もいろいろ言及されていて興味深かったです。

……が、それでもF#っぽい書き方をしたい! と思ったのでそれっぽい実装を考えてみよう、というのが今回のテーマです。

ちなみに「闇の力」とタイトルに入っていますが、実装してみたらTracePointとかISeqとかを使わない形に落ち着いたので若干釣りタイトルになっています。

Continue reading

Programming Partyの紹介

2019-09-16 イベント

池袋サンシャインシティで来週9/22(日)に開催される技術書典7にサークル参加します。

技術書典への参加は技術書典4以来なので結構久々ですね。

場所はえ24Cです。 3F入り口から正面の壁沿いですので、ぜひ遊びに来てください。

16d3a2dc6d5148b8a395680c.png (54.5 kB)

💻 Programming Party

さて、技術書典7ではプログラミングゲーム「Programming Party」を頒布します!

IMG_20190910_200455.jpg (1.1 MB)

同人誌(冊子とは言っていない)……

いや、ちゃんと本も頒布するんですが、今回はカードがメインですね。

ぱっと見ではカードゲームっぽいですが、このカードだけでは遊べず「カードで決まった仕様に沿ってプログラミングする」ゲームになっています。

今回はこのゲームの概要を紹介していきたいと思います。

Continue reading

esa.ioからの記事更新でカード画像を設定する

以前の記事で紹介したとおり、このブログはesa.io内の特定カテゴリに書いた記事が、Hugo+Netlifyによって自動で反映されるようになっています。

この際、記事のFrontmatterはesa.ioのGitHub WebHookによって自動で設定されるため、記事ごとの画像を設定することができずサイトアイコンを表示するだけにしていました。

しかしながら今どきTwitterCard画像に非対応というのも寂しいので、少し頑張ってみた結果、以下のように記事ごとの画像をTwitterCardに入れられるようになりました。

16befe3e032a12a2fcca24e1.png (274.8 kB)

先日書いたデレステの記事も、スクショをいい感じに設定できて楽しいです。

ものすごく簡単なアイディアではあるのですが、どうやったのかをまとめておきます。

Continue reading
Older posts