Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
地方公共団体コードを便利に扱うためのGemを作った
Search
ikuma-t
January 20, 2022
Programming
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
地方公共団体コードを便利に扱うためのGemを作った
K-Ruby#28、LT会の登壇資料です
ikuma-t
January 20, 2022
More Decks by ikuma-t
See All by ikuma-t
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.5k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
1.2k
いまさらのStorybook
ikumatadokoro
0
1k
これで最後にしたい! Astroと立ち向かう 6度目の個人ブログ再開発
ikumatadokoro
6
2.7k
Panda CSS と Ark UI ではじめる個人開発
ikumatadokoro
4
3k
見た目から始める生産性向上
ikumatadokoro
12
6.2k
ぼくが 美容師さんに伝えたかった バンドの話
ikumatadokoro
0
350
Railsアプリをコスパよく読むための環境整備
ikumatadokoro
2
1.4k
HTTPを手で書いて学ぶ ファイルアップロードの仕組み
ikumatadokoro
82
34k
Other Decks in Programming
See All in Programming
iOSDC2026登壇資料.pdf
riofujimon
0
190
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
540
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
280
速習iPhone Duo対応
yuukiw00w
2
840
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5k
Webの地図
yosuke_furukawa
PRO
6
4.8k
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
280
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
18
17k
The Rails Doctrine Decade
koic
2
390
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
410
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
320
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
Side Projects
sachag
456
43k
A Tale of Four Properties
chriscoyier
163
24k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
720
GitHub's CSS Performance
jonrohan
1033
470k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Designing for Timeless Needs
cassininazir
1
510
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
880
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Transcript
2022.01.20 ikuma-t 地方公共団体コードを 便利に扱うためのGemを作った #はじめてのGem K-Ruby#28
ikuma-t ・FJORD BOOT CAMPで学習中です! ・趣味:ツール・自動化、ドット絵、作曲家巡り ・住んでいるところ:千葉県 ・今年のお正月は鹿児島黒牛の牛しゃぶを食べました@千葉 K-Ruby 初参加です
@ikuma-t ikuma-t セットプチフォッカ ikuma-t IkumaTadokoro 自己紹介
地方公共団体コードを 便利に扱うためのGemを作った話 今回話すこと
つくったもの「jp_local_gov」 日本の地方公共団体コードと市区町村の情報を変換できるGem ・鹿児島県 ・鹿児島市 ・県庁あり 市区町村情報 jp_local_gov 4 6 2
0 1 2 地方公共団体コード 地方公共団体コード 市区町村にわりふられた一意のコード 都道府県 市区町村 検査数字
なんで作った?
現在開発中のサービスで 必要だったから!!
None
市区町村ごとにレコードを持たないといけない 市区町村情報をメンテするのはダルい
Gemで情報を持てたらよさそう →作ってみるか!
なにができるの?
できること(地方公共団体コードと自治体情報の変換) JpLocalGov.find id(地方公共団体コード)検索を行う @param code[String] @return [JpLocalGov::LocalGov] JpLocalGov.where 条件検索(複数の場合AND)を行う @param
condition[Hash] @return [Array]
できること(Railsで使用する) local_government includeされると、引数で指定したカラムに対して、 local_governmentメソッドが使用可能になる このメソッドを経由して、以下の情報を表示できる ・都道府県 ・市区町村 ・都道府県庁所在地かどうか 【テーブル定義】 insurance_fees
・id: integer ・local_gov_code: string
できること(その他) 【テーブル定義】 insurance_fees ・id: integer ・local_gov_code: string ・コードが有効かどうかのチェック(バリデーション用) ・ランダムな地方自治体情報の生成(テストデータ用) ・すべての自治体情報を返す(セレクトボックス用)
...詳しくはリポジトリのREADMEを参照 使いそうなメソッドは順次追加中
くふうしたところ
データ更新処理の自動化 このGemで一番重要な、地方公共団体データの更新処理を自動化 総務省HP 地方公共団体 コード GitHub Actions(月1) ... 北海道 青森県
沖縄県 sqlite3 ソートと 分割 差分あり →PR作成 チェック してマージ
RBS対応 ・デフォルトでもスケルトンを作成するように なったのでこのGemでも対応 ・CIでSteepを実行して、型チェック https://bit.ly/3Kec8sB
Gemをつくってみた感想
感想:はじめてのGemをつくってみて ・作り手になることで、OSSがより身近になった ・今まで機能しか見ていなかったところから、それ以外の構成とか、 その先にいるメンテナの労力が、少しだけわかるようになった ・もっと力をつけてOSSに貢献できるよう、今年もがんばりたい
ありがとうございました