ぽかぽかウンティ

第10回 指名 (未返答 : 0/0件)年収を見るには?


まだ何もありません

あなたを気にしている企業

  • Macbee Planetがぽかぽかウンティを検討中にしています。

    2018.01.20 15:56
  • 笑屋がぽかぽかウンティのレジュメを見ています。

    2018.01.19 15:23
  • OLTAがぽかぽかウンティを見てメモをしました。

    2018.01.19 02:36
  • OLTAがぽかぽかウンティのレジュメを見ています。

    2018.01.19 02:13
  • クレジットエンジンがぽかぽかウンティのレジュメを見ています。

    2018.01.18 20:30
  • ラクスルがぽかぽかウンティのレジュメを見ています。

    2018.01.18 12:42
  • マンションマーケットがぽかぽかウンティのレジュメを見ています。

    2018.01.18 10:58
  • コネクトムがぽかぽかウンティのレジュメを見ています。

    2018.01.18 09:04
  • コネクトムがぽかぽかウンティのレジュメを見ています。

    2018.01.18 01:07
  • コネクトムがぽかぽかウンティのレジュメを見ています。

    2018.01.17 18:13
ぽかぽかウンティ
今年で30代中盤
Vim
高校卒業/修了
参加ステータス
参加中
転職意欲
参加回数
7回
累計平均提示年収
--万円
3年後の目標や野望
C, C++を読んでGoを書く
なぜいまさら文章を書くのに鉛筆削りの練習が必要な言語を学ぼうとしているのか。 私は業務レベルでは `Java` `PHP` `Ruby` と順番に触れてきたが、なぜ言語ランキングの上位に `C` や `C++` が居座り続けるのかがわからなかった。 [こんな記事](http://juangotoh.hatenablog.com/entry/2017/12/28/143929) もあって学習対象とすることに迷いも生まれたが、現実的に数々のOSSが `C` で書かれて使われ続けているのを考えると時代に逆行して学ぶ必要があると考えた。 `C++` はゲーム業界で使われていると聞いてこれも対象にした。とりあえず読めるようになるだけでもコードに使われている様々なテクニックを吸収できると考えている。そして普段の業務(Webサービス開発)では触らない領域のプログラミングでアウトプットを出すことにより、量産型プログラマから脱出できるのではないかと考えている。アウトプットに `Go` を選択したが、これは様々なパラダイムを学ぶ機会は後回しにして、とりあえずコンピュータに近いプログラミングをしてみたいからシンプルで動かしやすい言語が望ましい、という理由である。 便利なシャーペンを触っているだけではカチカチするスキルしか身につかない、という危機感がある。 将来的には何か作品と呼べるようなモノ作りをしたい。商品やサービスは利便性を追求するものだが、作品には面白さが求められると考えている。そして会社に依存しなくても食っていける大人になりたい。
経験プロジェクトカテゴリ
  • webサービス
  • 自社プロダクト
  • 業務システム
  • 受託開発
  • ゲーム
  • OSS開発
主な役割
  • バックエンド
  • インフラストラクチャ
  • フロントエンド
使用技術
  • Ruby
  • MySQL
  • jQuery
  • Elasticsearch
  • CentOS
  • Bash
  • Apache
  • Ruby on Rails
  • Java
  • WebLogic
  • Oracle11g
  • Terraform
  • Symfony
  • Redis
  • PostgreSQL
  • PHP
  • openstack
  • Memcached
  • Embulk
  • chef
  • capistrano
  • AWS
  • Ansible
  • prototypejs
  • passenger
  • Redis-Cluster
  • ApacheSolr
  • websocket
  • Socket.io
  • Node
  • grunt
  • Express
  • CSS3
  • AzureWebApps
  • nginx
  • docker
  • CoreOS
  • puma
  • AzureVM
  • Mackerel
  • Go
  • gem
プロジェクト詳細

### プロダクト

* 個人プロジェクトのゲームです
* [デモ環境](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 を仕込んでいるが誰も遊んでくれなかった

プロジェクト詳細

### プロダクト

* 個人プロジェクトのサイトで、水泳の大会の結果が閲覧できます
* [サイト](http://japan-masters-swimming.japaneast.cloudapp.azure.com/)
* [ソースコード](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 指定が必要
* Railsが動くAPコンテナからPostgreSQLが動くDBコンテナを参照するときは、普通にサービス名で参照できる

プロジェクト詳細

### プロダクト

* 基本的に会社の業務で踏んだバグ修正や必要に迫られて追加した機能のプルリクです。
* これらの活動は自己満足ではなく、あくまで日々の業務への貢献を大前提としています。

### 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) に比べて過疎ってるのでは

パフォーマンスを出せる環境
* ThinkPad と Ubuntu で仕事ができる環境 * 自分のスキル的にチャレンジ要素があり、プロダクトと共に成長できる環境
身につけなければいけない技術
上から優先的に * [プログラミング言語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/)
直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
水とプログラミングどっちが大事?
自信を持って人より秀でていると言える点
未入力です
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
好きなプロダクトがある
やりたくない分野
SI / 金融 / 医療・介護 / 人材 / 広告 / ファッション
その他の特徴
使用言語にはこだわらない / レガシーな環境を改善できる
アウトプット

GitHub:あり

Qiita:なし

SIGN UP
SIGN IN


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