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 25, 2022
Programming
2k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
初心者が地方公共団体コードを扱うためのGemを作った話
https://ginza-rails.connpass.com/event/234304/
銀座Rails#41の登壇資料です
ikuma-t
January 25, 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
1.1k
これで最後にしたい! Astroと立ち向かう 6度目の個人ブログ再開発
ikumatadokoro
6
2.7k
Panda CSS と Ark UI ではじめる個人開発
ikumatadokoro
4
3.1k
見た目から始める生産性向上
ikumatadokoro
12
6.3k
ぼくが 美容師さんに伝えたかった バンドの話
ikumatadokoro
0
370
Railsアプリをコスパよく読むための環境整備
ikumatadokoro
2
1.4k
HTTPを手で書いて学ぶ ファイルアップロードの仕組み
ikumatadokoro
82
34k
Other Decks in Programming
See All in Programming
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
280
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
140
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.2k
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.4k
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
220
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
150
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
140
AmebaブログはKMPから卒業します
kmars0605
0
320
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
510
GraphQL の onError と Nullability のこれから
quramy
0
200
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
280
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
180
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
60k
The Invisible Side of Design
smashingmag
301
52k
GraphQLとの向き合い方2022年版
quramy
50
15k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
320
How to train your dragon (web standard)
notwaldorf
96
6.9k
How to Talk to Developers About Accessibility
jct
2
610
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
610
Transcript
2022.01.25 ikuma-t 地方公共団体コードを 扱うためのGemを作った話 銀座Rails#41 初心者が
ikuma-t ・エンジニアになりたい人 from #fjordbootcamp ・(この後話す)伊藤さんのバーターではない ・最近はRubyist Hotlinksを読んでる ・「若手に一言」のコーナーが好き
@ikumatdkr ikuma-t セットプチフォッカ ikuma-t IkumaTadokoro 自己紹介 早口で しゃべります
初心者が地方公共団体コードを 扱うためのGemを作った話 今回話すこと
つくったもの「jp_local_gov」 日本の地方公共団体コードと市区町村の情報を変換できるGem ・東京都 ・中央区 ・都庁ではない 市区町村情報 jp_local_gov 1 3 1
0 2 4 地方公共団体コード 地方公共団体コード 市区町村にわりふられた一意のコード 都道府県 市区町村 検査数字
できること(地方公共団体コードと自治体情報の変換) JpLocalGov.find id(地方公共団体コード)検索を行う @param code[String] @return [JpLocalGov::LocalGov] JpLocalGov.where 条件検索(複数の場合AND)を行う @param
condition[Hash] @return [Array]
できること(地方公共団体コードと自治体情報の変換) JpLocalGov.find id(地方公共団体コード)検索を行う @param code[String] @return [JpLocalGov::LocalGov] JpLocalGov.where 条件検索(複数の場合AND)を行う @param
condition[Hash] @return [Array]
できること(地方公共団体コードと自治体情報の変換) 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
できること(Railsで使用する) local_government includeされると、引数で指定したカラムに対して、 local_governmentメソッドが使用可能になる このメソッドを経由して、以下の情報を表示できる ・都道府県 ・市区町村 ・都道府県庁所在地かどうか 【テーブル定義】 insurance_fees
・id: integer ・local_gov_code: string
できること(Railsで使用する) local_government includeされると、引数で指定したカラムに対して、 local_governmentメソッドが使用可能になる このメソッドを経由して、以下の情報を表示できる ・都道府県 ・市区町村 ・都道府県庁所在地かどうか 【テーブル定義】 insurance_fees
・id: integer ・local_gov_code: string
できること(その他) 【テーブル定義】 insurance_fees ・id: integer ・local_gov_code: string ・コードが有効かどうかのチェック(バリデーション用) ・ランダムな地方自治体情報の生成(テストデータ用) ・すべての自治体情報を返す(セレクトボックス用)
...詳しくはリポジトリのREADMEを参照 使いそうなメソッドは順次追加中
開発のモチベーション
現在開発中のサービスで 必要だったから!!
None
市区町村ごとにレコードを持たないといけない 市区町村情報をメンテするのはダルい
自分の課題を解決するために Gemを作ろう!
開発してみてよかったこと
効率よく技術が身についた その1
GitHubActionsとか... このGemで一番重要な、地方公共団体データの更新処理を自動化 総務省HP 地方公共団体 コード GitHub Actions(月1) ... 北海道 青森県
沖縄県 sqlite3 ソートと 分割 差分あり →PR作成 チェック してマージ
メタプロとかRSpecとかRBSとか...
エリクソンの「目的のある練習」 能力を向上させるための練習に必要なのは... 1. はっきりと定義された具体的な目標 2. 集中した環境 3. フィードバック 4. コンフォートゾーンを出る
User=Authorなので、 書くのは楽しいし 役に立っている感がいい その2
たのしい開発 スタートアップRuby 2013/5/10 出版
作りたい人が自分を幸せにするために作り、 使いたい人に使ってもらうことで、 ほかの人を幸せにする。 プログラマが効率的に仕事ができるようにする。 気持ちよく仕事ができるようにする。 Rubyには、そのような想いが込められています。 『 』 6-3 人間の重視
Rubyに込められた想い
Rubyはいいぞ!!!
ありがとうございました