Articles
小飯塚 達也の記事
![OpenAPI関連のサイト・ツールまとめ](http://images.ctfassets.net/5ylkxb4fmvgk/6YEPFnixhV0lh3xFH7NUHR/07cae7e55f38aa9aa4f4384d6d951195/oai.png?w=600&fm=webp)
OpenAPI関連のサイト・ツールまとめ
OpenAPI関連のサイトやツールなどの情報が種々雑多にあるので、自分の中での整理と忘備録として残すためにまとめました。(2020年10月時点)
![OpenAPI×Stoplight Prismでモックサーバーをたてる](http://images.ctfassets.net/5ylkxb4fmvgk/7JPADjBmlZ3KoD3OiIvoAj/873a5266754cc34fd5bcd4da49c1667c/denny-luan-ovm_b91yEgY-unsplash.jpg?w=600&fm=webp)
OpenAPI×Stoplight Prismでモックサーバーをたてる
OpenAPIをバックエンドとフロントエンドの橋渡し役としてさらに活用すべく、OpenAPIのスキーマをもとにモックサーバーをたてることのできるStoplight Prismを試してみました。
![Rails APIモードのルーティングにおけるformatの扱い方](http://images.ctfassets.net/5ylkxb4fmvgk/7L65QSlB4T2AhrlLOtqzhh/4dc721c631628097fe93ff44ca0ddb6d/shaojie-jt6n0EQsZwM-unsplash.jpg?w=600&fm=webp)
Rails APIモードのルーティングにおけるformatの扱い方
RailsでAPIモードを使う場合のルーティング、特にformatの設定について見直してみました。
![Railsでキャメルケースのリクエストを扱うために](http://images.ctfassets.net/5ylkxb4fmvgk/1zGhGc1hDqcr8OSI8g20or/f28fb4962984cf6a9e045eca230a438f/kevin-bluer-QdU8SqGs6ek-unsplash.jpg?w=600&fm=webp)
Railsでキャメルケースのリクエストを扱うために
RailsでAPIを実装する場合にRailsのコードではスネークケースを使いつつ、クライアントにはキャメルケースのリクエスト(あるいはレスポンス)を扱っているように振る舞うための方法を調べました。
![タスク管理ツールを使う時に考えること](http://images.ctfassets.net/5ylkxb4fmvgk/2EgHB0ICNOlPS7sFZK6wO2/8de5173975ae458684d81b4cdb0045fd/samuel-giacomelli-XDu2gZkE1l8-unsplash.jpg?w=600&fm=webp)
タスク管理ツールを使う時に考えること
チームでタスク管理ツールを使う時、どんなことに気をつけるといいのか考えてみました。
![GiFTで実践しているSlackの活用法](http://images.ctfassets.net/5ylkxb4fmvgk/45UGpGr4ZieENgKE2hSc5y/a7442e284c707494d200d78cc331c97b/slack.png?w=600&fm=webp)
GiFTで実践しているSlackの活用法
リモートワークが中心となったことでオンラインでのコミュニケーションが増える昨今ですが、特にオンラインでのコミュニケーションの中心として利用しているSlackを弊社がどのように活用しているかまとめました。
![ClickUpの締切を過ぎたタスクを見える化しました](http://images.ctfassets.net/5ylkxb4fmvgk/51cZL9FM6WwXkcKczxQZdJ/345fd05948fa9f2245cdce0f0a060533/michael-anfang-LAVcmB1Gli0-unsplash_______________.jpg?w=600&fm=webp)
ClickUpの締切を過ぎたタスクを見える化しました
ClickUpで管理しているタスクが締切を過ぎても気づけない状態になっていたので、Slackに通知してわかりやすく目につくようにしました。
![GraphQLやめました](http://images.ctfassets.net/5ylkxb4fmvgk/17JO67BETuB6k7U2xtd9Qk/f4216a3062433eae2a7fd0291ab7549d/roksolana-zasiadko-JVu3_fQ_7Ek-unsplash__1_.jpg?w=600&fm=webp)
GraphQLやめました
当初Golang + GraphQLで作っていたAPIをRails + OpenAPIで作り直しました。なぜGraphQLで始めたのか、どうして作り直すことにしたのかなどを経緯とともにまとめました。
![リモートワークが長期化する状況でやっている事](http://images.ctfassets.net/5ylkxb4fmvgk/ZIOvia78YAZidLRAwQllA/dca13fba4c00d8d9df021fdd6a45f695/paolo-nicolello-RAN9XuZImto-unsplash__1_.jpg?w=600&fm=webp)
リモートワークが長期化する状況でやっている事
外出自粛が続く状況のなか弊社も早い段階でリモートワークに切り替えていますが、長期化するなかで感じたことなどを書きました。
![Serverless小ネタ](http://images.ctfassets.net/5ylkxb4fmvgk/6P3ZG2VThkkBEpf6LryB1d/8402021bf9cc8b6c8eecf11cf1bc4c6d/sophie-potyka-yr1yN3F8xso-unsplash.jpg?w=600&fm=webp)
Serverless小ネタ
ServerlessでAWS Lambdaへデプロイする時、 `package.json` を読み込んで情報を付与する方法を紹介します。
![GitHubを少し便利に使えるようなChrome拡張機能を作った](http://images.ctfassets.net/5ylkxb4fmvgk/7jgfSnPobm2ked9HIPzhG6/48289a1535a862504a57df03990e09ea/cosmic-timetraveler-vU4R5PyEO4k-unsplash.jpg?w=600&fm=webp)
GitHubを少し便利に使えるようなChrome拡張機能を作った
日々使うGitHubで外部リンクをブラウザの別タブで開けたらいいなと日頃から思っていたので、それを解決するChrome拡張機能を作って動かしてみました。
![IFTTT + TwitterでXaaSの情報をSlackに通知する](http://images.ctfassets.net/5ylkxb4fmvgk/1l2gAGIOiOETgrSk1gM5Fj/86ea27621fa04fdf767efa63a9ddbe9b/nathan-dumlao-spJMaE_NW-Q-unsplash.jpg?w=600&fm=webp)
IFTTT + TwitterでXaaSの情報をSlackに通知する
Xaas(SaaS, PaaS, IaaSなど)の障害やメンテナンスの情報をキャッチアップするためにIFTTTとTwitterを使ってSlackに通知を送る話。
![GiFTで2019年に利用した技術やサービスの感想まとめ](http://images.ctfassets.net/5ylkxb4fmvgk/yWMXjcTsYl47hQvHZqqdC/dd6b04de3c354983b7179f472a834225/gabor-vereb-DFVxpiljOqQ-unsplash.jpg?w=600&fm=webp)
GiFTで2019年に利用した技術やサービスの感想まとめ
2019年の振り返りとして社内のプロジェクトや各個人で使った技術・ツール・サービスをまとめつつ、良かったところやそうじゃなかったところをみんなでそれぞれ挙げてみました。
![Prisma2を使ってREST APIを実装してみる](http://images.ctfassets.net/5ylkxb4fmvgk/3fSEPDjjxXjqwA0nj0Aguk/8159c6f4f59c59cacc8ad37dcad712cd/cara-fuller-34OTzkN-nuc-unsplash.jpg?w=600&fm=webp)
Prisma2を使ってREST APIを実装してみる
Modern DB toolkitと謳うPrisma2の使い心地を試すべく、Prisma2のツールを使ってREST APIを実装してみました。
![SchemaSpyのメタ情報をYAMLで書く](http://images.ctfassets.net/5ylkxb4fmvgk/23mEDzssxhXkww8uAmkUgV/0e1f4056acff02c7cf7a5a664150b836/jc-gellidon-TPZNooS1Meg-unsplash.jpg?w=600&fm=webp)
SchemaSpyのメタ情報をYAMLで書く
SchemaSpyにメタ情報を追加するmeta.xmlをYAMLで書いてから生成するようにしてみた。
![OpenAPIのスキーマを分割・構造化していく方法](http://images.ctfassets.net/5ylkxb4fmvgk/38syK8lI7dbIG1MYaEQGBl/e626db0551c0c3ead74e5972b0bff413/charl-durand--Yu8GhTbbmc-unsplash.jpg?w=600&fm=webp)
OpenAPIのスキーマを分割・構造化していく方法
ファイルが大きくなりがちなOpenAPIのスキーマの定義ファイルを分割・構造化して運用していく方法について書きました。
![committee×OpenAPI×RailsでスキーマファーストなAPI開発](http://images.ctfassets.net/5ylkxb4fmvgk/5rbcVjADvt8iDqB5swpM0O/d6681cf07087ebcbf166909c63547aba/delaney-van-rbyLWEAjl0M-unsplash.jpg?w=600&fm=webp)
committee×OpenAPI×RailsでスキーマファーストなAPI開発
committeeというgemとOpenAPIのスキーマを使ってRailsでスキーマファーストなAPI開発を試してみました。
![Makefile小ネタ](http://images.ctfassets.net/5ylkxb4fmvgk/1wWXYEoCcLTTXK7XL4xcLO/c52ee3badf621a3a96416647ed874128/nrd-PGHIP0o15Hk-unsplash.jpg?w=600&fm=webp)
Makefile小ネタ
make(Makefile)の小ネタを紹介します。
![PrismでVue.jsをシンタックスハイライトできるようにしたかった](http://images.ctfassets.net/5ylkxb4fmvgk/66xzbXOuLjzYE5yG1tPM66/f567f6f5971c2a5136a434292953a25d/ekamelev-Adpsgy4JFIE-unsplash.jpg?w=600&fm=webp)
PrismでVue.jsをシンタックスハイライトできるようにしたかった
Prismでは(いまのところ)Vue.jsのシンタックスハイライトができなかった、というまとめ。
![CircleCIでeslint-disable-lineを検出する](http://images.ctfassets.net/5ylkxb4fmvgk/4IhC06teBF54c3Hqpz9Utg/3d6ca776ccd32c7319c86f971f9d5b72/marisa-teruel-vNCOefF6pJk-unsplash.jpg?w=600&fm=webp)
CircleCIでeslint-disable-lineを検出する
ついやりがちな `eslint-disable-line` を残さないために、やっておくといいかもしれないこと。
![GAE/Go + Database migration](http://images.ctfassets.net/5ylkxb4fmvgk/42kzkyZiInB09Ku5LfUckT/3eb9fd4970c9122c505d6a0bfe48da9f/aj-robbie-BuQ1RZckYW4-unsplash.jpg?w=600&fm=webp)
GAE/Go + Database migration
GAE/Goで開発する際のデータベースマイグレーションの運用について。
![Golang: xo + sqlx](http://images.ctfassets.net/5ylkxb4fmvgk/XzyWMfYDGwqo1PjKnKwjV/cc8d97f6fdbc2c45b4400a40c1488d7b/paul-carroll-eA_Da4OfNTU-unsplash.jpg?w=600&fm=webp)
Golang: xo + sqlx
Golangでデータベースを操作するためにxoとsqlxを併用する方法について。
![GAE/Goの開発環境について](http://images.ctfassets.net/5ylkxb4fmvgk/4hIACEc7XObdjFVQTqvwKo/e467a3f62e30daa68ca1ee29ee959f95/john-d-eichenour-fbia4CXcODw-unsplash.jpg?w=600&fm=webp)
GAE/Goの開発環境について
GAE/Goの開発を進めていくための環境構築について考えてみました。
![GAE/Go + Firebase Auth](http://images.ctfassets.net/5ylkxb4fmvgk/26jUP5ibfy2DcmhbmmMvDK/49a434d63724b8434d1c97bfc65caaa9/kimberly-collingwood-rm4sR0v2bfw-unsplash.jpg?w=600&fm=webp)
GAE/Go + Firebase Auth
GAE/GoとFirebase Authで認証付きAPIを実装してみました。
![Nuxt.js + Contentful + Prism](http://images.ctfassets.net/5ylkxb4fmvgk/4jDDqGD3Ca5rwWA9aIgcF8/ed99c2c7642af009b572391c5045d9ca/david-clode-3YEMFXYBgu8-unsplash.jpg?w=600&fm=webp)
Nuxt.js + Contentful + Prism
Nuxt.js + ContentfulのサイトにPrismを導入してシンタックスハイライトできるようにしました。