初心者が地方公共団体コードを扱うためのGemを作った話
by
ikuma-t
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
2022.01.25 ikuma-t 地方公共団体コードを 扱うためのGemを作った話 銀座Rails#41 初心者が
Slide 2
Slide 2 text
ikuma-t ・エンジニアになりたい人 from #fjordbootcamp ・(この後話す)伊藤さんのバーターではない ・最近はRubyist Hotlinksを読んでる ・「若手に一言」のコーナーが好き @ikumatdkr ikuma-t セットプチフォッカ ikuma-t IkumaTadokoro 自己紹介 早口で しゃべります
Slide 3
Slide 3 text
初心者が地方公共団体コードを 扱うためのGemを作った話 今回話すこと
Slide 4
Slide 4 text
つくったもの「jp_local_gov」 日本の地方公共団体コードと市区町村の情報を変換できるGem ・東京都 ・中央区 ・都庁ではない 市区町村情報 jp_local_gov 1 3 1 0 2 4 地方公共団体コード 地方公共団体コード 市区町村にわりふられた一意のコード 都道府県 市区町村 検査数字
Slide 5
Slide 5 text
できること(地方公共団体コードと自治体情報の変換) JpLocalGov.find id(地方公共団体コード)検索を行う @param code[String] @return [JpLocalGov::LocalGov] JpLocalGov.where 条件検索(複数の場合AND)を行う @param condition[Hash] @return [Array]
Slide 6
Slide 6 text
できること(地方公共団体コードと自治体情報の変換) JpLocalGov.find id(地方公共団体コード)検索を行う @param code[String] @return [JpLocalGov::LocalGov] JpLocalGov.where 条件検索(複数の場合AND)を行う @param condition[Hash] @return [Array]
Slide 7
Slide 7 text
できること(地方公共団体コードと自治体情報の変換) JpLocalGov.find id(地方公共団体コード)検索を行う @param code[String] @return [JpLocalGov::LocalGov] JpLocalGov.where 条件検索(複数の場合AND)を行う @param condition[Hash] @return [Array]
Slide 8
Slide 8 text
できること(Railsで使用する) local_government includeされると、引数で指定したカラムに対して、 local_governmentメソッドが使用可能になる このメソッドを経由して、以下の情報を表示できる ・都道府県 ・市区町村 ・都道府県庁所在地かどうか 【テーブル定義】 insurance_fees ・id: integer ・local_gov_code: string
Slide 9
Slide 9 text
できること(Railsで使用する) local_government includeされると、引数で指定したカラムに対して、 local_governmentメソッドが使用可能になる このメソッドを経由して、以下の情報を表示できる ・都道府県 ・市区町村 ・都道府県庁所在地かどうか 【テーブル定義】 insurance_fees ・id: integer ・local_gov_code: string
Slide 10
Slide 10 text
できること(Railsで使用する) local_government includeされると、引数で指定したカラムに対して、 local_governmentメソッドが使用可能になる このメソッドを経由して、以下の情報を表示できる ・都道府県 ・市区町村 ・都道府県庁所在地かどうか 【テーブル定義】 insurance_fees ・id: integer ・local_gov_code: string
Slide 11
Slide 11 text
できること(その他) 【テーブル定義】 insurance_fees ・id: integer ・local_gov_code: string ・コードが有効かどうかのチェック(バリデーション用) ・ランダムな地方自治体情報の生成(テストデータ用) ・すべての自治体情報を返す(セレクトボックス用) ...詳しくはリポジトリのREADMEを参照 使いそうなメソッドは順次追加中
Slide 12
Slide 12 text
開発のモチベーション
Slide 13
Slide 13 text
現在開発中のサービスで 必要だったから!!
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
市区町村ごとにレコードを持たないといけない 市区町村情報をメンテするのはダルい
Slide 16
Slide 16 text
自分の課題を解決するために Gemを作ろう!
Slide 17
Slide 17 text
開発してみてよかったこと
Slide 18
Slide 18 text
効率よく技術が身についた その1
Slide 19
Slide 19 text
GitHubActionsとか... このGemで一番重要な、地方公共団体データの更新処理を自動化 総務省HP 地方公共団体 コード GitHub Actions(月1) ... 北海道 青森県 沖縄県 sqlite3 ソートと 分割 差分あり →PR作成 チェック してマージ
Slide 20
Slide 20 text
メタプロとかRSpecとかRBSとか...
Slide 21
Slide 21 text
エリクソンの「目的のある練習」 能力を向上させるための練習に必要なのは... 1. はっきりと定義された具体的な目標 2. 集中した環境 3. フィードバック 4. コンフォートゾーンを出る
Slide 22
Slide 22 text
User=Authorなので、 書くのは楽しいし 役に立っている感がいい その2
Slide 23
Slide 23 text
たのしい開発 スタートアップRuby 2013/5/10 出版
Slide 24
Slide 24 text
作りたい人が自分を幸せにするために作り、 使いたい人に使ってもらうことで、 ほかの人を幸せにする。 プログラマが効率的に仕事ができるようにする。 気持ちよく仕事ができるようにする。 Rubyには、そのような想いが込められています。 『 』 6-3 人間の重視 Rubyに込められた想い
Slide 25
Slide 25 text
Rubyはいいぞ!!!
Slide 26
Slide 26 text
ありがとうございました