ブログ

【技術書典14参加レポート】メンバー制作の技術書を販売!新たなつながりが生まれました

2023年5月、『技術書典14』がオンライン・オフラインで同時開催されました。

「技術書典」は、ITに関する様々な技術書と出会える、技術書のオンリーイベントです。 オフラインでの頒布会は5月21日(日)に池袋サンシャインシティにて開催されました。 弊社では、Ruby、Rails、Firebaseに関する3種の技術書を制作。著者であるプログラマ6名が、会場で販売しました。本記事では、当日の様子を写真と共にレポートします。


目次

    つながりを感じ、つながりを生む場

    当日は、開始前から列ができている盛況ぶり。

    ソニックガーデンのブースは会場ほぼ中央にあったのですが、ソニックガーデンブースに一番最初に訪れてくれた方もいらっしゃいました。

    「開場と同時に真っ先にブースに来て、買ってくれた人がいたことが嬉しかったです。あの方がいたから幸先良く始められました」(中谷)

    また、前回の技術書典13出展時に技術書を購入してくれた方がブースに来てくださり、新版を購入してくださる場面も見られました。

    「前回のTestable Firebaseを買ってよかったので、新しい方も購入しますという方もいました。ファンができたみたいで、かなり嬉しかったです」(近藤)

    「技術書典を通じて繋がりができてる感じがして、連続で参加したかいがあったなと思いまいした」(広上)

    他にも、弊社のプログラマが運営をしている技術コミュニティ『Hotwire.love』で関わりがある方や、学生・第二新卒向けのプログラミングコミュニティ『ソニックガーデンジム』や、プログラミング合宿『ソニックガーデンキャンプ』の参加者がブースに訪れてくれたりも。

    技術書典14は、これまでの活動を通して築かれたつながりを感じることのできる機会であり、つながりを生む場となっていることを実感しています。

    次回の技術書典にも出展予定ですので、興味がある方はぜひ足を運んでみてください。

    会場で頒布した技術書について

    弊社から頒布した3冊の電子版は、現在も技術書典オンラインマーケットで購入可能です。興味がある方は手にとってみてください。(画像をクリックすると詳細に飛びます)

    「コードレビューで学ぶ Ruby on Railsー初級Railsプログラマに送るレビュー実例集ー」

    ■目次
    ◆第1章 Model
    1.1 中間テーブルのモデルは関係性を表す命名をする
    1.2 一般ユーザーと管理者ユーザーでモデルを分けるべき?
    1.3 default_scope は使わない
    1.4 デフォルト値の定義には attribute メソッドを使おう
    1.5 マイグレーションの中でモデルを参照しない
    1.6 データベースに制約を設定する
    1.7 トランザクションを使ってデータ整合性を守る

    ◆第2章 View
    2.1 ビューに複雑なロジックを書かない
    2.2 ビューのレイアウトファイルを分割する
    2.3 パーシャルのルート要素にマージンを使わない
    2.4 時間、日付のフォーマットには I18n.l を使おう

    ◆第3章 Controller
    3.1 一覧を取得する際には order をつける
    3.2 安全にオブジェクトを取得する
    3.3 管理者と一般ユーザーの namespace は分ける
    3.4 削除は destroy! を使う

    ◆第4章 Test
    4.1 describe/context/it でテスト対象を表現する
    4.2 テストコード単体で期待値の根拠を示す
    4.3 システムテストでは操作後の結果まで確認しよう
    4.4 デザインに依存しないテストを書こう
    4.5 入力値や期待値はベタ書きにする
    4.6 factory_bot の trait を使って書く負担を減らす
    4.7 「されないこと」だけの検証には注意が必要
    4.8 Strong Parameter の設定漏れを検知する
    4.9 テストコードを準備、実行、検証で構造化しよう
    4.10 sleep は使ったら負け?
    4.11 効率よくテストを書く

    ◆第5章 その他
    5.1 環境間の差異を意識する
    5.2 gem バージョンを固定しない
    5.3 Enumerable を活用する
    5.4 YAGNI
    5.5 命名について
    5.6 禁止リストよりも許可リストを優先的に使おう
    5.7 コメントには言い訳を書く

    「Practicable Firebase」

    ■目次
    ◆第 I 部 設計編
    第1章 セキュリティルールはどう書いていくか
    第2章 サブコレクションの扱いには気を付けよう!
    第3章 トリガの扱いには気を付けよう
    第4章 ユーザーごとのアクセス制御
    第5章 Firestore データでマップの配列はアンチパターン
    第6章 期限付きデータの作成
    第7章 Realtime Database の使いどころ

    ◆第 II 部 実装編
    第 章 Hosting と Functions でコードを共有する
    第9章 Firestore で不等号が必要なクエリのうまい検索方法
    第10章 Firestore の部分一致検索
    第11章 無限スクロールの作り方
    第12章 Functions はテスト駆動開発がお勧め

    ◆ 第 III 部 運用編
    第13章 Identity Platform を有効にしよう
    第14章 Firestore のバックアップと一部リストア
    第15章 Functionsで固定IPを利用する

    「Railsのサンプルコードで学ぶユーザー認証」

    ■目次
    ◆第1章 パスワード認証
    1.1 シンプルなパスワード認証の実装
    1.2 ハッシュ関数を使ったより良いパスワード認証
    1.3 Rails 標準のパスワード認証の仕組み

    ◆第2章 セッション
    2.1 HTTP で状態を保存する
    2.2 ⼀般的なセッションの仕組み
    2.3 Rails のデフォルトのセッションの仕組み

    ◆第3章 OpenID Connect
    3.1 OAuth 2.0 と OpenID Connect の概要
    3.2 OpenID Connect による認証の実装の準備
    3.3 OpenID Connect による認証の詳細
    3.4 OpenID Connect による認証の実装
    3.5 OAuth 2.0 と OpenID Connect の攻撃対策

    この記事を共有する