Skip to content

Instantly share code, notes, and snippets.

@imaya
Last active July 13, 2017 19:46
Show Gist options
  • Star 22 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save imaya/7215823 to your computer and use it in GitHub Desktop.
Save imaya/7215823 to your computer and use it in GitHub Desktop.
転職先の募集

転職先の募集

これは退職エントリではなく退職届を出したので転職先を募集する求職エントリです。

退職と転職先募集

これといった大きな理由はないのですが細かい不満が溜まったため、今年いっぱいで退職することになりました。 細かい不満といってもチームメンバーや業務内容に文句があるわけではなく、逆に素晴らしい環境を提供していただいたと感謝しています。 後先考えずに退職届を提出したため、次の職場や今後に関してはまったくの未定です。

特に顔が広いわけでもコミュ力があるわけでもないので、gist を使って募集してダメだったら諦めようかなとおもってこの記事を書いてます。 興味があれば @y_imaya などに連絡ください。

フロントエンドエンジニア?

退職することにしたので、建前として、本当は働きたくはないんですが、表面上は、次の仕事を探さなくてはいけません。 そこでまずは Web で「フロントエンドエンジニア」や「JavaScriptエンジニア」、「Webアプリケーションエンジニア」などで検索してみたのですが、 どうも自分の想定している職業とは少し違う気がします。

自分の希望する職業としては「基本的にブラウザのみで動作するアプリケーション・ライブラリの構築を行うエンジニア」なんですが、こういうのはなんて言うんでしょうか。 jQuery やら MVなんとかフレームワークを使って JSON API から受け取ったデータを小奇麗に表示するとかはあまり興味がないです。 (必要ならばもちろんやりますが、それが主要な業務となるようなプロジェクトは嫌だ、ということです)

できること

Webブラウザを使って、PC 用のファイルフォーマットを利用できるようにできます。 以下は個人で開発したライブラリです。(許可を得て修正や機能追加、パフォーマンスチューニングなどを業務時間中に行ったりもしました) オープンソース(MITライセンス)で公開しているため参考にしてください。

自作ライブラリ

JavaScript で ZLIB 圧縮・伸張を行うライブラリです。 zlib(C言語実装) の移植ではなく、JavaScript として高速に動くように書かれています。 ZLIB コンテナとして GZIP, PKZIP のサポートも行っています。 Node.js, 通常の Array, Typed Array で利用可能です。

JavaScript で書かれた PNG エンコーダです。前述の zlib.js を使っています。 仕様に書かれていることはすべて実装しているつもりです。(iCCP チャンクは若干手抜きですが…) Canvas#toDataURL では指定できない細かい仕様に対応しているため、たとえばサーバにアップロードする前にインデックスカラーの PNG を作りたくなった時などは便利です。

JavaScript (Web Audio API) で SoundFont を使った標準 MIDI ファイルの再生を行います。 RPGツクールシリーズなどで使われる CC#111 やYs2 Eternal で使われた Marker によるループなどの標準仕様以外のものにも一部対応しています。

JavaScript で PSD のパースを行います。 プレビューの表示や簡単なテキストの抽出くらいなら出来ます。 別人による同名のライブラリが一時期話題になりましたが、コード上の関連は一切ありません。 ちなみにこちらの実装が後発です。

利用例など

特に ZLIB ライブラリは広く使われていて、以下のライブラリ/アプリケーションで使用されているのを確認しました。

今やっていること、これからやりたいこと

たぶん以下は次の職場が見つかろうがニートになろうがやります。

zlib.js の圧縮速度改善

zlib.js の圧縮が遅い問題が大きな問題として残っており、これの影響が zlib.js で圧縮を行う他のライブラリにも影響がでているため、高速化の実装・検証作業を行っています。 具体的には LZSS 符号化がボトルネックになっているため SuffixArray, 簡潔ビットベクトル(完備辞書) などを使った LZSS 部分の高速化を検証しようとしています。 (直近では LZscan を試そうと思っています。)

上記の結果があまり良くないようならば、処理の簡略化を行うことでパフォーマンス調整を行えるようにしようと思います。

sf2synth.js のパフォーマンスチューニング、リファクタリング、仕様サポート率の向上

sf2synth.js は技術検証用にちょっとやってみたら出来てしまった感じなので、雑に作ってある所が多いです。 いくつか設計の見直しを行うことでパフォーマンス改善とメンテナンス性を上げることが出来ると思っています。 (ただし、一番のボトルネックは解消できそうにない)

また、現在は仕様のすべてをサポートしているわけではないため、こちらのサポート状況も改善していきたいです。 (現状はブラウザ側の実装状況によりサポートできない仕様もある)

ブラウザで動作するお絵描きアプリケーションの開発

3年ほど前から Closure Library を使って開発しているお絵描きアプリケーションの開発を進めます。(未だにリリースできる完成度になってない) 一般的なお絵描き掲示板などと違うのは、一度描いた線を後から編集できるベクター形式のレイヤーがあることです。 Android Chrome やペンタブレット、Windows 8 タブレットの IE10+ などではスタイラスによる筆圧も取得することができるようになっています。

その他興味関心など

ブログやGitHubを見れば傾向はわかると思います。

その他書いたドキュメント (2013/10/30 12:30 追記)

次の職場が見つからない場合

光の戦士として生きていこうと思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment