横田 敏明 (Toshiaki Yokoda) プロフィール
横田 敏明 (Toshiaki Yokoda)のプロフィールです。
経歴
- 2000/03/31 公立中学卒業
- 2000/04/01 公立高校入学
- 2003/03/31 公立高校卒業
- 2003/04/01 地元の国立大学入学(情報系)
- 2007/03/31 地元の国立大学卒業
- 2007/04/01 同国立大学大学院入学(情報系:博士前期課程)
- 2009/03/31 同国立大学大学院卒業(情報系:博士前期課程)
- 2009/04/01 同国立大学大学院入学(情報系:博士後期課程)
- 2010/04/01 ホテル向けシステムベンダー入社(研究開発系)
- 2017/03/31 博士後期課程退学
- 2017/11/05~ 病気により休職
- 2018/05/05 ホテル向けシステムベンダー退職(病気により)
- 2019/07/08~ IT零細企業に入社(自動車業界関連)
- 2022/06/13~ ホテル向けシステムベンダーに再入社(前の会社へ転職)
修士課程卒業まではストレート、その後はちょっと色々ありました。
学生時代は塾と家庭教師のバイトをしていました。
社会人になってからはIT以外の仕事をしたことがありません。
簡単なwebベースのシステムを作ることが多かったと思います。規模感としてはDBのテーブル数が多くても50~60程度、1テーブルあたりのカラムは15~30程度のものばかりでした。
設計から実装、運用までを一通りこなした経験はあります。分析系アプリの集計SQLのレスポンスを上げるためのチューニング等も一通りやったことがあります(PostgreSQLで)。
スキル
プログラミング
主にPerl,PHP,JavaScriptを書いています。
- Perl
- そこそこ流暢に扱えていると思います。WAFとしてはMojoliciousが好きです。ORMはDBIx::Classを使っています。WAF無しのCGIの時代からPerlを触っていたりします。
- PHP
- 文法がPerlと似ているのもあって、カタコトではありますが、それなりに使えていると思います。業務で触ったWAFはFuelPHPしかありません。
- JavaScript(ECMA?)
- 言語仕様どころか正式な名前すら分かっておらず、コピペ改変ばかりの日々です。が、なんとかなってしまうのが怖いですね。
- Node.js
- WebRTCでビデオチャットの機能を作ったりしたことがある程度です。
データベース
RDBMSとしてMySQL, PostgreSQLを業務で使っています(いました)。
常識的なレベルで、インデックスを適切に貼ることぐらいはできます。
遅いSQLを高速化する時には、普段は以下の観点で調査しています。
- N+1問題の確認
- そもそも非効率で無駄なSQLになっていないかを確認
- カーディナリティの高いフィールドのWhere狙いインデックスを確認
- Explainの結果を確認
- 遅い集計アルゴリズムの組み合わせをSQLの組み方で改善できるか検討
- RDBMSのパラメタチューニング
DBの運用を専門にしたことはないので、上記程度が現時点での私の限界です。
- MySQL
- 1テーブルあたりに利用されるインデックスは1つまで、という仕様ぐらいは把握しています。
- PostgreSQL
- かなり長い間業務で使っていました。Explainの結果を見て、メモリの許す限りHash Joinアルゴリズムを使うように仕向けたりしていました。
- IBM DB2
- 業務で仕方なく使っていた程度です。DB2独自の使い方等はほとんどわかりません。
その他
自然言語処理のウェブアプリをMojoliciousで作ったことがあり、 MeCab(形態素解析)やCaboCha(係り受け解析)のPerlバインディングを利用していました。 ナイーブベイズを利用した簡単なネガポジ判定アプリ等を作っていました。
MongoDB、Redis、memcached等のNo SQLは最低限の運用しかやったことがありません。
next: コトブキ プロフィットフィルター X3 所感
updated at : 2022-08-07 17:23:03
author : Toshiaki Yokoda