shunshock!

しゅんそくになりたい開発者です。

もみじ饅頭は揚げたてがうまい

@shunsockです. YAPC::Hiroshimaから無事帰宅したので, entryを更新します. ちなみに私は以下の日程でした.

  • 2024.02.09: 前夜祭
  • 2024.02.10: YAPC:Hiroshima
  • 2024.02.11: YAYAPC
  • 2024.02.12: 観光@宮島

3泊4日とは言っても, 私は目立った活躍をしていたわけではないのでそういうエントリは他の人にやってもらうことにしてこのエントリでは, 私個人が面白いと感じたものを自由気ままに取り上げようかなと思います. 要するにお好みです.

theme of YAPC::Hiroshima 2024

関数型プログラミングと型システム

最初だし本編の話から. いわゆる関数型プログラミングができるRustという言語を最近始めたので気になって聞いたセッションです.

www.rust-lang.org

何故関数型プログラミングを進めるのかという話をわかりやすくされており, 大変勉強になりました. 特に下記のようなケースで考え方が役立つのかなと思いました.

1つ目. これはflagの変数を消せる. これによってUserとArchivedUserはImmutableになる.

// 手続き型プログラミングの場合 
class User
{
    public bool $delete_flag;
    public readonly string $name;
}

user.flag = true;

// 関数型プログラミングの場合
class User
{
    public readonly string $name;
}

class ArchivedUser
{
    public readonly string $name;
}

$archived_user = archive_user($user);

二つ目の事例, こちらもflagやnullをtypeから取り除くことができる.

interface Member
{
    userId: MemberId
}

interface Guset
{
    guestId: GuestId
}

// Union (和)で表現できる
type User = Member | Guest

プログラムの正しさを強力な型システムを持ったコンパイラに保証させることによってテストの負担を抑えることができるという話がグッと来ていて, コンパイラIDE型推論といった機械に寄り添ったプログラミングをすることでより効率的に堅牢なシステムを構築したいなと感じました.

余談ですが, Pythonで使い勝手が良さそうだなと思いました. Pythonでは実行時の型チェックがされないのと全ての変数がpublicという特徴があります. なのでPydanticで型を作り, 関数の中に入れて受け流していくという動きをよくすることになり, 結果として例のようなコードが頻出だからです.

もみじ饅頭は揚げたてがうまい

広島の株式会社stakのメンバーの方とYAPC本編の懇親会をしている時にもみじ饅頭は揚げたてがうまいぞという話を教えていただきました.

stak.tech

宮島に行けば食べられるとのことなので最終日に宮島に行ってきました!揚げたてのもみじ饅頭とビール。最高です。

で、実際食べた感想なのですが. 揚げたてだと美味しさが200%になります. 全員食べた方がいいレベル. 本当に美味しいので今回食べれなかった方は是非次の機会に食べに行ってみてください!!

ちなみにクロワッサンもありました. こちらも美味です.

私、中の人です!

私とISUCONに一緒に出た4tsさんがYAPCに登壇されていて(学生なのにすごすぎる!), 偶然3次会で話す事象が発生しましたw お互いきていることを知らなかったのと顔を見たことがなかったのでとても驚きました.

fortee.jp

実はそれだけでなく, 弊社(PR TIMES, 執筆時点)の2年前のインターンの方とばったり懇親会で遭遇することがありました. 今プロパーで働いていると話したところ, uzullaさんの顔を見たことがないが, 話たいとのことだったので案内することに. 無事合流することができてよかったです!

YAYAPCが最高だった話

いやー書きたいんだけどね、書きたいこと大体書けないんですわw

LTの採点システムが仮装大賞だったのはOKかな? かなり凝った作りでリアルタイムで投票が反映されて本物さながらの動きをしていました.

moznionさんのLTが芸術点が高かったです. 内容そのものも面白いテーマでサマータイムの実装の話でした. 日本をはじめとする東アジア圏ではあまり導入されていないのですが, EUアメリカなどといった地域ではメジャーな制度のようでです. 発表ではソフトウェア開発からの視点でしたが, 機械学習や統計解析する時でも意識する必要がありそうだなと感じました.

余談ですが, ビール飲んでからLTするのいいなーと思ったので真似しようかなと思ってますw

YAYAPC後の二次会は, 居酒屋が空いておらず困っていたのですが, ふと見たカラオケが機能要求を満たしていることに気づき, #yapckaraoke が開催されることに. 途中からエンジニア替え歌をして遊び始め, 最高でした.

papixさんのお願いシンデレラの替え歌最高だったのでブログで公開してほしいw

ところでPR TIMESって略すときどういえばいいんですかね. P社だとピクシブ株式会社さんと被ってしまうし, どうしたものか.

みなさま本当にお世話になりました

運営の皆様を始めとする関係者の皆様, 素晴らしいイベントを開催していただきありがとうございました!YAPCには昨年から参加していて, 今年は二回目でした.

shundeveloper.hatenablog.com

このようなイベントで怖いのがぼっちになり二次会以降参加できないことですが, 一日目から三日目まで混ぜていただくことができ本当にありがたかったです. ファインディ株式会社(Findy Inc)の皆様, 株式会社はてなの皆様には特にお世話になりました. 感謝の気持ちでいっぱいです.

来年は, 登壇できるように技を磨いて帰って来ます!!