![田中 賢治](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=384&q=75)
田中 賢治
田中 賢治が執筆した記事
![クラスメソッドと僕。あるいは退職エントリ。](https://devio2023-media.developers.io/wp-content/uploads/2018/05/ktanaka117.jpg)
クラスメソッドと僕。あるいは退職エントリ。
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![技術書典4で『Swiftで書いておぼえるTDD』という本を持ってサークル参加します #技術書典](https://devio2023-media.developers.io/wp-content/uploads/2018/04/0b44e6679d6c2a7734610e912bad0d35.jpeg)
技術書典4で『Swiftで書いておぼえるTDD』という本を持ってサークル参加します #技術書典
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![try! Swift Tokyo 2019をもっと楽しむための、一年前の僕からのTips #tryswiftconf](https://devio2023-media.developers.io/wp-content/uploads/2018/02/riko.png)
try! Swift Tokyo 2019をもっと楽しむための、一年前の僕からのTips #tryswiftconf
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![Swift版リーダブルコード「関心の分離と単純化のためのSwiftコードの最適化」 #tryswiftconf](https://devio2023-media.developers.io/wp-content/uploads/2018/02/riko.png)
Swift版リーダブルコード「関心の分離と単純化のためのSwiftコードの最適化」 #tryswiftconf
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![技術書典 サークル連絡会 に参加してきました #技術書典](https://devio2023-media.developers.io/wp-content/uploads/2018/02/bGNOS-yg_400x400.jpg)
技術書典 サークル連絡会 に参加してきました #技術書典
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![なぜCIが必要なのか](https://devio2023-media.developers.io/wp-content/uploads/2018/01/cmlogo.jpg)
なぜCIが必要なのか
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[書いて覚えるTDD] ポーカーのロジックを実装しよう 〜その2〜](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[書いて覚えるTDD] ポーカーのロジックを実装しよう 〜その2〜
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![2017年に体感した、身の回りのコミュニティや人の変化](https://devio2023-media.developers.io/wp-content/uploads/2014/11/logo_swift_400x400.png)
2017年に体感した、身の回りのコミュニティや人の変化
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![正規表現をサッと確認するのに重宝した神サイトを紹介してみる](https://devio2023-media.developers.io/wp-content/uploads/2017/12/1075918d554959d0b7cd1bf17b352ee5.png)
正規表現をサッと確認するのに重宝した神サイトを紹介してみる
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![正規表現のデバッグに重宝した神サイトを紹介してみる](https://devio2023-media.developers.io/wp-content/uploads/2017/12/1075918d554959d0b7cd1bf17b352ee5.png)
正規表現のデバッグに重宝した神サイトを紹介してみる
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![エンジニアとして仙台で一週間単位のリモートワークを繰り返してみた](https://devio2023-media.developers.io/wp-content/uploads/2017/03/ktanaka117.jpg)
エンジニアとして仙台で一週間単位のリモートワークを繰り返してみた
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![XcodeでInfo.plistのkey名を見る方法](https://devio2023-media.developers.io/wp-content/uploads/2015/12/ios.png)
XcodeでInfo.plistのkey名を見る方法
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![学校では教えてくれなかったブログを書くときの手順 〜その3. その他意識していること〜](https://devio2023-media.developers.io/wp-content/uploads/2017/03/ktanaka117.jpg)
学校では教えてくれなかったブログを書くときの手順 〜その3. その他意識していること〜
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![学校では教えてくれなかったブログを書くときの手順 〜その2. 文章を考えるときの手順〜](https://devio2023-media.developers.io/wp-content/uploads/2017/03/ktanaka117.jpg)
学校では教えてくれなかったブログを書くときの手順 〜その2. 文章を考えるときの手順〜
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![学校では教えてくれなかったブログを書くときの手順 〜その1. 大枠から入って、徐々に詳細にする〜](https://devio2023-media.developers.io/wp-content/uploads/2017/03/ktanaka117.jpg)
学校では教えてくれなかったブログを書くときの手順 〜その1. 大枠から入って、徐々に詳細にする〜
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[書いて覚えるTDD] ポーカーのロジックを実装しよう 〜その1〜](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[書いて覚えるTDD] ポーカーのロジックを実装しよう 〜その1〜
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[iOS] YoutubeとVimeoに展開されている動画を再生する方法](https://devio2023-media.developers.io/wp-content/uploads/2015/12/ios.png)
[iOS] YoutubeとVimeoに展開されている動画を再生する方法
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[社内勉強会レポート] 訳者の和田卓人(t_wada)さんと『テスト駆動開発』を読む会 〜前編〜](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[社内勉強会レポート] 訳者の和田卓人(t_wada)さんと『テスト駆動開発』を読む会 〜前編〜
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[イベントレポート] 2017年 AKIBA.swift忘年回 を開催しました! #akibaswift](https://devio2023-media.developers.io/wp-content/uploads/2016/12/akiba-swift-eyecatch1.png)
[イベントレポート] 2017年 AKIBA.swift忘年回 を開催しました! #akibaswift
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #9](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #9
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #8](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #8
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #7](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #7
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #6](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #6
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[イベントレポート] iOS Discord Offline に参加しました! #ios_discord](https://devio2023-media.developers.io/wp-content/uploads/2014/11/logo_swift_400x400.png)
[イベントレポート] iOS Discord Offline に参加しました! #ios_discord
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[Node.js] 順序に関わらず、配列同士が全く同じ要素で構成されているかをテストする](https://devio2023-media.developers.io/wp-content/uploads/2013/09/nodejs.png)
[Node.js] 順序に関わらず、配列同士が全く同じ要素で構成されているかをテストする
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[Node.js] Base64エンコードされたファイルデータをデコードして、S3にputObjectする](https://devio2023-media.developers.io/wp-content/uploads/2013/09/nodejs.png)
[Node.js] Base64エンコードされたファイルデータをデコードして、S3にputObjectする
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[Node.js] ファイルの拡張子とMIME Typeを取得する](https://devio2023-media.developers.io/wp-content/uploads/2013/09/nodejs.png)
[Node.js] ファイルの拡張子とMIME Typeを取得する
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[Node.js][koa] エラー定義とエラー詳細定義を分離して、エラーを読み書きしやすくする #node_js](https://devio2023-media.developers.io/wp-content/uploads/2013/09/nodejs.png)
[Node.js][koa] エラー定義とエラー詳細定義を分離して、エラーを読み書きしやすくする #node_js
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #5](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #5
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #4](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #4
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #3](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #3
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #2](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #2
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #1](https://devio2023-media.developers.io/wp-content/uploads/2017/11/tdd-reading-study.jpg)
[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #1
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[イベントレポート] AKIBA.swift 第11?回を開催しました! #akibaswift](https://devio2023-media.developers.io/wp-content/uploads/2017/10/akiba-swift-eyecatch.png)
[イベントレポート] AKIBA.swift 第11?回を開催しました! #akibaswift
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[JavaScript] 僕がasync/awaitを好きなワケ](https://devio2023-media.developers.io/wp-content/uploads/2013/09/nodejs.png)
[JavaScript] 僕がasync/awaitを好きなワケ
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[JavaScript] sleep(setTimeout) を Promise化する](https://devio2023-media.developers.io/wp-content/uploads/2013/09/nodejs.png)
[JavaScript] sleep(setTimeout) を Promise化する
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![WebAPI作りで最低限押さえておいたほうが良いと思ったこと](https://images.ctfassets.net/ct0aopd36mqt/1dD7b8HkT2sbiJzUIewMTD/e5cdc6f33c4fdd9d798f11a4564612ff/eyecatch_developersio_darktone_1200x630.jpg)
WebAPI作りで最低限押さえておいたほうが良いと思ったこと
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[イベントレポート] 俺コン day2 に参加してきました! #orecon_ios #akibaswift](https://devio2023-media.developers.io/wp-content/uploads/2017/10/orecon-poster.jpg)
[イベントレポート] 俺コン day2 に参加してきました! #orecon_ios #akibaswift
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[イベントレポート] 俺コン day1 に参加してきました! #orecon_ios](https://devio2023-media.developers.io/wp-content/uploads/2017/10/orecon-poster.jpg)
[イベントレポート] 俺コン day1 に参加してきました! #orecon_ios
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![iOSDC 2017 でベストスピーカー賞をいただきました! #iosdc](https://images.ctfassets.net/ct0aopd36mqt/1dD7b8HkT2sbiJzUIewMTD/e5cdc6f33c4fdd9d798f11a4564612ff/eyecatch_developersio_darktone_1200x630.jpg)
iOSDC 2017 でベストスピーカー賞をいただきました! #iosdc
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![iOSDC.fm 公開収録 でゲスト出演させていただきました! #iosdc #d](https://images.ctfassets.net/ct0aopd36mqt/1dD7b8HkT2sbiJzUIewMTD/e5cdc6f33c4fdd9d798f11a4564612ff/eyecatch_developersio_darktone_1200x630.jpg)
iOSDC.fm 公開収録 でゲスト出演させていただきました! #iosdc #d
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![ワークフローエンジン『Digdag』でSlack通知する #digdag](https://devio2023-media.developers.io/wp-content/uploads/2017/06/digdag-logo-01.png)
ワークフローエンジン『Digdag』でSlack通知する #digdag
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[イベントレポート] サポーターズ勉強会 アプリが動いたその先へ(iOS アプリ開発編) に参加してきました!](https://devio2023-media.developers.io/wp-content/uploads/2014/11/logo_swift_400x400.png)
[イベントレポート] サポーターズ勉強会 アプリが動いたその先へ(iOS アプリ開発編) に参加してきました!
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![iOS開発者に最高の夏をお届けする、 iOSDC について紹介するよ! #iosdc](https://images.ctfassets.net/ct0aopd36mqt/1dD7b8HkT2sbiJzUIewMTD/e5cdc6f33c4fdd9d798f11a4564612ff/eyecatch_developersio_darktone_1200x630.jpg)
iOS開発者に最高の夏をお届けする、 iOSDC について紹介するよ! #iosdc
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![SWWDC × AKIBA.swift in Sendai を開催しました! #swwdc #akibaswift](https://devio2023-media.developers.io/wp-content/uploads/2017/07/SWWDC_AKIBA.png)
SWWDC × AKIBA.swift in Sendai を開催しました! #swwdc #akibaswift
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)
![[イベントレポート] iOS Test Night #5 に参加してきました! #ios_test_night](https://devio2023-media.developers.io/wp-content/uploads/2017/07/051cca72a83e9c9025ff1026764eca45-200x200.png)
[イベントレポート] iOS Test Night #5 に参加してきました! #ios_test_night
![User avatar](/_next/image/?url=https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2Fdevio_thumbnail%2F2024-06%2Ftanaka-kenji.jpeg&w=256&q=75)