# 職務経歴書 中尾 宇真   作成日:2019/09/20 ## 得意なこと、好きなこと - 人から笑われるものを作る。 - 例: ニャーンボタン - 新しい技術やサービスを使って日常をどう改善できるか考える。 - 例: Amazon Recogniser + Twitterで二次元画像保存 - だれも知らないようなものを調べて掘り下げる。 - 例: 謎のARMサーバの話 - 「その発想はなかった」と言われることをする。 - 例: Azure + Raspberry Piで無限音楽サーバ ## なにがしたい? - 現在持っているPHP(Laravel)のスキルを活かしたい。 - 持ち前の広い技術力を活かしたい。 - やりたいことのためならばサーバを用意したり、Vueを勉強したり、AWSの画像分類機を使ったりなど、その場に合わせた解決策を用意する能力を活かしたい。 ## どうなりたい? - PHPのスキルをもっと磨いていきたい。 - 「この人に聞けばPHPは何でも知ってる」と言われるような人になりたい。 - 広く技術力を身に着けつつも、誰も知らないモノを作りたい。 - アプリでも、ライブラリでも。 - チームで開発をして、チーム開発ならではのコミュニケーションを取りたい。 # 技術スタック - PHP - 現在一番パフォーマンスが出せる言語です。 - これに限らず他の言語も習得中。 - Javascript - Vue.jsやNode.jsも使えますが、リファレンスを途中で見たりします。 - MySQL - 基礎であれば理解できています。複雑なSQL文は書けません。 - 通常はLaravelなどに付属しているORMを使っています。 - OS - Debian系(Ubuntu/Raspbian) - Red Hat系(Amazon Linux 2) - Arch Linux - Windows Server(基礎程度であれば) - AWS - Aurora/Route 53/EC2/VPC/S3/Dynamo/CloudFront - Azure - Storage/DNS/Web App - GCP - DNS ## SEO対策ツールの開発(2018/4) - 指定したURLや検索ワードの順位を表示するツールを開発。 - Laravelで開発。GoutteでGoogleをスクレイピングし表示をする。 - d3.jsで検索順位をグラフィカルに表示する。 - 上位のサイト内テキストを読み込み、Node.jsを使用して形態素解析をかけることでどの単語が多く使われるかも表示するようにした。 - PHP7.2から強化された型宣言を使うよう意識したため、管理のしやすいコードとなった。 ### 技術スタック - PHP7.2 - MariaDB 10.1.37 - Laravel 5.6 - Arch Linux - Git(Gitlab) ## タイムカード(2018/5~2018/7) - 弊社独自のタイムカードシステムを開発。 - 根本的な部分をREST APIで実装しフロントエンドと隔離して開発することで、今後打刻方法が変わっても柔軟に対応できるようにした。 - 出退勤時はSlackで通知するようにした。 - 名前をタップするとその人の1ヶ月分の出勤履歴が確認できる。 - 支社にもVPN設定を施したiPadを設置し、タイムカードを一元で管理できるようにした。 - iOS標準機能のL2TP over IPsecでは常時VPN接続することができないため、OpenVPN Clientを使用してVPN接続を行った。 ### 技術スタック - PHP7.2 - MariaDB 10.1.37 - Laravel 5.6 - Arch Linux(ConoHa) - SoftEther VPN Server + OpenVPN Client ## 既存システムのログイン処理開発(2018/7) - Laravelで開発された既存のシステムを改修し、Laravelのコンポーネントである認可の仕組みを使って、ユーザーの権限に応じて機能を制限するロジックを開発した。 ### 技術スタック - PHP7.2 - MariaDB 10.1.37 - Laravel 5.5 LTS - Arch Linux ## 大規模CMS開発(2018/6~2018/11) - 権限を厳重に管理できてスケーリング可能なCMSを開発。 - Laravelで開発。データベースにはAurora、ストレージにはS3を使用。 - マルチAZ構成を選択し、さらに自動スケーリングを導入することによって可用性と耐障害性を実現した。 ### 技術スタック - PHP7.2 - Laravel 5.5 LTS - Aurora DB - Amazon S3 - EC2(Amazon Linux 2) - AWS OpsWorks - Git(Gitlab) ### 意識したこと - 権限を厳重に管理できてスケーリング可能にした - マルチAZを利用することで自動スケーリングを可能としたため、負荷にも耐えれるようにした。 ## 社内wiki整備 - 情報が散乱しており、重要なデータが「誰かに言わないと出てこない状態」であった。 - 社員が自力でドキュメントにたどり着けるようにwikiを用意した。 - wikiにはGrowiを選定した。 - コストを抑えて運用したかった。 - esa.ioやkibelaはサーバーの管理が不要だがユーザー毎に費用がかかる。 - 後ほどG Suiteを導入したことで、SSOによるログインに対応させたためユーザー登録を不要にした上、情報にアクセスしやすくした。 - Dockerが動いていたVPSがあったため、リソースのオーバーヘッドが低いDocker上で稼働させた。 ### 技術スタック - ConoHa (Arch Linux) - Docker Compose ## Googleしごと検索最適化WordPressプラグイン開発(2019/05) - Googleの求人情報である「Google しごと検索」に反映されるようOGPを最適化したプラグインの開発 ### 技術スタック - PHP5.6 - WordPressの最低動作バージョンに準拠 ## G Suite移行(2019/7~2019/8) - メールの管理が煩雑になっていた上、メールサーバの容量が逼迫していた。 - G suiteに移行することで、メールサーバの容量を気にする必要がなくなった。 - グループ機能を活用することで、社内の複数ユーザーが閲覧するメールも送受信できるようにした。 - 個人アカウントのGoogle Driveを社内で使っており利用規約に違反した状態であった。 - G Suiteに移行することで規約上問題ない状態にした。 - 会議室の利用状況がスプレッドシートで管理されており、把握が難しかった。 - Google カレンダーを利用することで利用状況を把握しやすくした。 - iPhoneなどと連動できるため、参加者はスプレッドシートを開かなくても自分の参加する会議が確認できようになった。 ## Slack Bot - 電車遅延通知 - Yahoo!乗換案内の遅延情報をスクレイピングしてSlackで通知する。 - DJ bot - 今日社内でBGM流す部署を通知するbot - 温度計 - たまに気温が気になるので ## Dashボタン オフィスの入り口に設置している照明は、手の届きにくい位置にスイッチがあり不便であったが、スマートコンセントに接続することで、Dashボタンで操作できるようにした。また遠隔で管理できるようにした上、操作時は社内のGoogle Homeから効果音が鳴るようにした。 - Amazon DynamoDB - AWS IoT - AWS lambda(Node.js) - Hubot # 個人の活動 ## Windows ServerとHyper-Vを使用したブログ用サーバの構築 仮想化基盤上にブログ用のサーバを構築することで、万一オペミスが発生して異常が発生しても戻せるようにした。 WordPress用の超高速マシンであるKUSANAGIを参考に構築を行った。 ## Raspbery Piを用いたホームオーディオ用ミュージックサーバの構築 Raspberry Pi用のLinuxディストリビューションである `Volumio 2` を使用することで、ブラウザ上から好きな音楽をオーディオ機器で再生できるようにした。 Apple製品で使用されているAirPlayにも対応できるため、HDDにない曲でもスマートフォン等から直接再生できるようにした。 オープンソースカンファレンス2017Fukuokaと呼ばれるカンファレンスでは、Softether VPNの設定を施したRaspberry PiとWIMAXルーターを組み合わせることで、会場から自宅のiTunesライブラリに接続して音楽を再生するデモを行った。 去年の冬ではコミックマーケットと呼ばれる同人誌即売会にあわせて、Microsoft Azureのストレージ機能を使用して、Azureに配置した音楽ライブラリに接続して音楽を再生する手順を解説した。 ## SORACOM LTE-M Buttonを用いたツイート専用ボタンの開発 携帯電話と同じ通信ができるAmazon DashボタンのようなものとAWSを用いることで、どのような場所でも定型ツイートができるようにした。実装にはAWSのLambdaを使用して、Node.jsで記述した。 ## Raspberry Piを用いたスマートホームの構築 Raspberry Pi上でNode-RedとHomebridgeを使用して全部の部屋の照明やエアコンの制御をiPhoneで制御できるようにした。 手元で使用しているデバイスがiPhoneのため、AppleのHomekitを再現できるHomebridgeを使用した。 ## 録画サーバーの構築 EpgDataCap_Bonを使用することで、遠隔でテレビ番組を予約するシステムを構築した。録画後はNVIDIAのハードウェアエンコーダであるNVENCを使用して自動でH.264と呼ばれるスマートフォンやPC向けの動画形式に変換されるようにした。 # コミュニティ活動 ## OSSコミュニティ「ラズパイオーディオの会」 Raspberry Piを使用したオーディオシステムを広めていく活動をしている。ハードウェアもソフトウェアも自由にカスタマイズできるため、カスタマイズ例をオープンソースカンファレンスなどの技術系イベントで展示している。