ぽかぽかウンティ

3年後の目標や野望


C, C++を読んでGoを書く

なぜいまさら文章を書くのに鉛筆削りの練習が必要な言語を学ぼうとしているのか。 私は業務レベルでは `Java` `PHP` `Ruby` と順番に触れてきたが、なぜ言語ランキングの上位に `C` や `C++` が居座り続けるのかがわからなかった。 [こんな記事](http://juangotoh.hatenablog.com/entry/2017/12/28/143929) もあって学習対象とすることに迷いも生まれたが、現実的に数々のOSSが `C` で書かれて使われ続けているのを考えると時代に逆行して学ぶ必要があると考えた。 `C++` はゲーム業界で使われていると聞いてこれも対象にした。とりあえず読めるようになるだけでもコードに使われている様々なテクニックを吸収できると考えている。そして普段の業務(Webサービス開発)では触らない領域のプログラミングでアウトプットを出すことにより、量産型プログラマから脱出できるのではないかと考えている。アウトプットに `Go` を選択したが、これは様々なパラダイムを学ぶ機会は後回しにして、とりあえずコンピュータに近いプログラミングをしてみたいからシンプルで動かしやすい言語が望ましい、という理由である。 便利なシャーペンを触っているだけではカチカチするスキルしか身につかない、という危機感がある。 将来的には何か作品と呼べるようなモノ作りをしたい。商品やサービスは利便性を追求するものだが、作品には面白さが求められると考えている。そして会社に依存しなくても食っていける大人になりたい。

年収評価シート

このプロジェクトは公開されていません

このプロジェクトは公開されていません

2012年/1ヶ月以内

ネット対戦ができるシューティングゲーム

### プロダクト * 個人プロジェクトのゲームです * [デモ環境](http://supercaracal.github.io/duel-shooting-online/) * [オンライン対戦環境](http://duel-shooting-online.azurewebsites.net/) * [ソースコード](https://github.com/supercaracal/duel-shooting-online) ### 特徴 * 画像やCanvasは使わずに全部divタグでCSS装飾 * アニメーションはすべて自前で実装 * 音が出る * チャットができる * 機体は3種類あり、それぞれ武装が異なる * 2人以上のアクセスがあると対戦相手と機体が勝手に決まってゲーム開始、しかしアクセスが1人だけだと永遠に待たされる * 基本的にPCからのキーボード操作を想定しているがタッチやクリックイベントも考慮した * オンライン対戦環境はAzureのPaaSを使用 ### 学んだこと * JavaScript/Prototype.js に深く触れられた * サーバーサイドのJavaScriptに軽く触れられた * WebSocketでのリアルタイム通信に軽く触れられた * 普段仕事で触るWebサービス開発とは違ったゲームプログラミングに触れられた * Webサービスは基本的にはただのテキスト処理だが、ゲームは考え方を変えないといけなかった * オンライン対戦における情報の同期処理が難しかった * デモ用のAI実装が難しかった、ランダム性を多用するのは厳禁だということがわかった ### 課題感 * 初回アクセス時はPaaSのコンテナが起動するのに時間がかかる * 海外リージョンでコンテナが立ち上がると対戦中のラグが激しい * コードにリファクタの余地が多い、特にオンライン対戦における同期処理周り * AIが賢くない、中央で連射すればあっさり勝ててしまう、時折玉に当たりに行く動作をしてしまう * DOM操作が激しく、もはやブラウザの負荷テストと化している * 使用しているライブラリが数世代前 * テストコードがない * Google Analytics を仕込んでいるが誰も遊んでくれなかった

このプロジェクトは公開されていません

2016年/2年以上

OSS contribution

### プロダクト * 基本的に会社の業務で踏んだバグ修正や必要に迫られて追加した機能のプルリクです。 * これらの活動は自己満足ではなく、あくまで日々の業務への貢献を大前提としています。 ### Rails * [セッションストア機能を無効にしている場合の force_ssl 不具合の修正](https://github.com/rails/rails/pull/27140) ### Mackerel * [Apache Solr用のメトリックプラグインを追加](https://github.com/mackerelio/mackerel-agent-plugins/pull/143) * [Apache Solr用のメトリックプラグインにテストを追加](https://github.com/mackerelio/mackerel-agent-plugins/pull/341) * [Apache Solr用のメトリックプラグインの不具合を修正](https://github.com/mackerelio/mackerel-agent-plugins/pull/381) * [Apache Solr用の監視プラグインを追加](https://github.com/mackerelio/go-check-plugins/pull/46) * [PostgreSQL用の監視プラグインを追加](https://github.com/mackerelio/go-check-plugins/pull/47) ### Redis * [Ruby用の公式RedisクライアントをRedis Clusterに対応させる](https://github.com/redis/redis-rb/pull/716) * 実際は [リファレンス実装](https://github.com/antirez/redis-rb-cluster) のポーティング(リファクタがメイン) * [Redisの父からも言及](https://github.com/redis/redis-rb/pull/716#issuecomment-333320979) された ### Apache Solr * [LSolr](https://github.com/supercaracal/lsolr) * 個人で作成したApache Solr用のクエリビルダ―ライブラリ * Solrにとっての予約後や意味のある記号のエスケープ、およびクエリ断片の合成機能の実装 * 上記機能を実現するためにLinkedList型のデータ構造を用いた * ピュアRuby1クラスでシンプルにGem化 ### 学んだこと * Railsコミュニティは体制がしっかりしている * 日々のissueやプルリクを大量に捌けている * 糞なプルリクは数分以内に速攻で閉じられる * Golangはインフラ的なツール作成に適しているシンプルで速い言語である * Redis には [Redis Cluster](https://redis.io/topics/cluster-spec) という公式の水平分割機能がある * Redis Cluster は `SET` や `GET` コマンドなどで指定されるキーを元にスロットと呼ばれる値を算出し、そのスロットごとに格納するノードを確定して分散させている * クライアントソフト側からすると Redis Cluster は基本的にどのノードにアクセスしてもOKだが、例えばノードBに格納されているキー1をノードAから `GET` しようとすると、そのレスポンスは「ノードBから取得してね」という具合なもので、クライアントソフトにリダイレクト処理を要求する * [Apache Solr](http://lucene.apache.org/solr/) は [Elasticsearch](https://www.elastic.co/jp/products/elasticsearch) に比べて過疎ってるのでは

2016年/1ヶ月以内

ジャパンマスターズ水泳大会結果サイト

### プロダクト * 個人プロジェクトのサイトで、水泳の大会の結果が閲覧できます * 許可なしにスクレイピングして公開してたので本家協会に怒られて今は閉鎖しました * [ソースコード](https://github.com/supercaracal/japan-masters-swimming) ### やったこと * 東洋電子システムの本家サイトが見にくいのでスクレイピングして整形 * [第29回日本マスターズ水泳選手権大会 2012年7月13日(金)から7月16日(月) 会場:千葉県国際総合水泳場 50m](http://www.tdsystem.co.jp/JAPANMASTERS2012/PRO.HTM) * [第30回日本マスターズ水泳選手権大会 2013年7月12日(金)から7月15日(月) 会場:日本ガイシアリーナ 50m](http://www.tdsystem.co.jp/JapanMasters/2013/PRO.HTM) * [第31回日本マスターズ水泳選手権大会 2014年7月18日(金)から7月21日(月) 会場:横浜国際プール 50m](http://www.tdsystem.co.jp/Masters/JM2014/PRO.HTM) * [第32回日本マスターズ水泳選手権大会 2015年7月16日(木)から7月20日(月) 会場:東京辰巳国際水泳場 50m](http://www.tdsystem.co.jp/Masters/JM2015/PRO.HTM) * [第33回日本マスターズ水泳選手権大会 2016年7月14日(木)から7月18日(月) 会場:千葉県国際総合水泳場 50m](http://www.tdsystem.co.jp/Masters/JM2016/PRO.HTM) * [第34回日本マスターズ水泳選手権大会 2017年7月14日(金)から7月17日(月) 会場:東和薬品RACTABドーム 50m](http://www.tdsystem.co.jp/Masters/JM2017/PRO.HTM) ### 学んだこと * CoreOSは初期設定では自動でOS更新して再起動するため、コンテナ起動時は restart always 指定が必要 * しかしCoreOS上(というかsystemd)のdockerは socket activated service なので `docker ps` などのコマンドを打たないと実際には立ち上がらない * なのでsystemdのtimerでboot後に`docker ps`コマンドを1回だけ実行するserviceを追加して対処した * sshd_configが初期設定ではパスワード認証やrootアクセスを良しとしてしまっているため`/var/lib/coreos-install/user_data`にcloud config設定を追加してセキュアに、`/etc/ssh/sshd_config`はboot後はreadonlyなので手動では書き替えられない * Railsが動くAPコンテナからPostgreSQLが動くDBコンテナを参照するときは、普通にサービス名で参照できる

マネージメント能力

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です

今後、身につけなければいけないと思っている技術は何ですか?

上から優先的に * [プログラミング言語C](https://www.amazon.co.jp/dp/4320026926) * [ふつうのLinuxプログラミング](https://www.amazon.co.jp/dp/4797386479/) * [詳解UNIXプログラミング](https://www.amazon.co.jp/gp/product/4798134880/) * [ロベールのC++入門講座](https://www.amazon.co.jp/gp/product/4839926050/) * 数学 * [ゲームプログラマになる前に覚えておきたい技術](https://www.amazon.co.jp/gp/product/4798021180/) * 英語/物理 以下は踊らされている感があるのでしばらく様子見 * クラウドサービスの全貌 * スマホのネイティブアプリ * JavaScript界隈のトレンド

エンジニアとして影響を受けた本を教えてください

* [ハッカーと画家](https://www.amazon.co.jp/dp/4274065979/) * [伽藍とバザール](https://www.amazon.co.jp/dp/4904807022/) * [闘うプログラマー](https://www.amazon.co.jp/dp/4822247570/) * [言語設計者たちが考えること](https://www.amazon.co.jp/dp/4873114713/) * [7つの言語 7つの世界](https://www.amazon.co.jp/dp/4274068579/) * [David Heinemeier Hansson](http://david.heinemeierhansson.com/) * [Salvatore Sanfilippo](http://blog.baia-network.org/baiablog/2014/12/salvatore-sanfilippo-from-sicily-redis.html) * [NEW GAME!](http://newgame-anime.com/)

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

* ThinkPad と Ubuntu で仕事ができる環境 * 自分のスキル的にチャレンジ要素があり、プロダクトと共に成長できる環境

キャラクター

直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
水とプログラミングどっちが大事?
自信を持って人より秀でていると言える点
未入力です
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
好きなプロダクトがある
やりたくない分野
SI / 金融 / 医療・介護 / 人材 / 広告 / ファッション / 仮想通貨
その他の特徴
使用言語にはこだわらない / レガシーな環境を改善できる
その他のやりたいこと・やりたくないこと

* ゲームをつくりたい
* OSSに貢献したい
* 自分が使うようなサービスをメンテしたい
* 他人が使うシステムを他人のためにつくることに興味はない
* マネジメントに興味はない

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で30代中盤
好きな Text Editor
Vim
希望勤務地
リモート勤務
集まる必要性がない場合は基本リモートが許可される環境が必要
希望年収
未入力
ただいまの期間
ドラフト参加受付中

  • この期間に審査合格した方は次回ドラフト参加になります
  • ドラフト初参加以外の方は次回のドラフト参加 / 不参加を選択してください
  • レジュメは更新できます
  • 審査は随時行っています
ご意見箱

要望、不具合報告、使いづらい点や感想など、なんでもお気軽にご連絡ください。

※個別回答は行っていません。ご回答が必要なお問い合わせにつきましては「CONTACT US」よりご連絡をお願いいたします。
  • {{error}}
ぽかぽかウンティ
今年で30代中盤
Vim
参加ステータス
不参加
転職意欲
参加回数
8回
累計平均提示年収
-- 万円
SIGN UP
SIGN IN


このサービスを友人に薦めたいですか?