Skip to content

Instantly share code, notes, and snippets.

@imaya
imaya / Makefile
Last active July 22, 2017 13:28
事前に zstd にして zip ファイルをコンテナとして扱うやつ
test:
which /bin/bash || { echo "please install bash to /bin/bash"; exit 1 ; }
which base64 || { echo "please install base64"; exit 1 ; }
which find || { echo "please install find"; exit 1 ; }
which sed || { echo "please install sed"; exit 1 ; }
which unzip || { echo "please install unzip"; exit 1 ; }
which xargs || { echo "please install xargs"; exit 1 ; }
which zip || { echo "please install zip"; exit 1 ; }
which zstd || { echo "please install zstd"; exit 1 ; }
@imaya
imaya / crc32.asm.js
Created June 9, 2017 03:00
CRC-32(asm.js)
function crc32_asm() {
var table = new Uint32Array([
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,
0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,
0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
@imaya
imaya / adler32.asm.js
Created June 6, 2017 11:58
Adler32(asm.js)
function adler32_asm(array) {
function asm(stdlib, foreign, heap) {
"use asm";
var array = new stdlib.Uint8Array(heap);
function adler32(length) {
length = length | 0;
return update(1, length) | 0;
@imaya
imaya / fix_phantomjs.js
Created March 28, 2014 05:29
PhantomJS で String.fromCharCode.apply の第二引数に Typed Array を渡すとバグるのを回避
if (window.Uint8Array !== void 0) {
try {
String.fromCharCode.apply(null, new Uint8Array([0]));
} catch(e) {
String.fromCharCode.apply = (function(fromCharCodeApply) {
return function(thisobj, args) {
return fromCharCodeApply.call(String.fromCharCode, thisobj, Array.prototype.slice.call(args));
}
})(String.fromCharCode.apply);
}
@imaya
imaya / jser.md
Created March 17, 2014 02:00
JavaScript プログラマの職種は4種類くらいに分けるべき

はじめに

JavaScript を使っていると「JavaScript出来るの? jQuery / AngularJS / Node.js etc... で困ってるんだけどさー」みたいな話を振られることがあります。 そういった時に、自分は一般的なライブラリの使い方やフレームワークに対して大した知見も興味もないので、わざわざ説明するのも面倒なのでこうして文章にしておきます。(本当に届いて欲しい人に限って、こういう文章が届かないのはわかっていますが、文章を書くこと自体が気晴らしだと思って諦めます。)

「フロントエンドエンジニア」という言葉の汎用性

先ほどのような話は自分に限ったことではなく、たぶん経験のある人も多いでしょう。 振られた話が自分の分かる範囲、あるいは興味のあるものならばまだ良いのですが、そうでないことがあまりに多すぎます。 話を振られるだけならともかく「JavaScriptできるんでしょ? じゃあ jQuery つかったこのサービスのメンテしてほしいんだけどー」みたいに仕事として振られることもあり、そう言う時は脳みそ取り出して洗剤で洗った方が良いのでは、と思うことも多々あります。

@imaya
imaya / poem.md
Created March 3, 2014 14:57
生産性とチームと技術的負債

生産性とチームと技術的負債

当然だけど正しいとは限らない。 普段思っている事を書きなぐった。

生産性

理想的には一人が最高。 コミュニケーションコストは人によってはコードを書くよりも遥かにコストが高い。

@imaya
imaya / nucon.md
Created February 13, 2014 01:10
nucon で cacoo について聞いてきたのでメモとそれについての感想

はじめに

趣味でお絵描きツールをつくっていることもあって、ブラウザで動くドローイングツールの cacoo には興味があったので nucon で cacoo について聞いてきました。 結構実装についても話していたので大変参考になりました。 個人的な感想としては「あーやっぱりそうなるよねー」という感じだったのですが、すぐに忘れてしまいそうなのでここに残しておきます。 メモを元に書いているので、脳内補完が働いている部分が多分にあると思いますので、そこは注意して読んでください。

操作まわりの実装、 Undo/Redo 機能、共同編集機能

操作に関しては State パターンを使って実装している。

@imaya
imaya / html5study044.md
Last active August 29, 2015 13:55
html5study#44

HTML5 とか勉強会

HTML5 security

  • 概要
    • 攻撃者にとっても便利
    • 攻撃の幅もひろがる
    • HTML5 で脆弱性になってしまうケース
    • 検証や周知が追い付いていない
  • 調査報告書の紹介
@imaya
imaya / gist:8662106
Last active January 4, 2016 18:39
やりたいことリスト

絶対やるけどいつやるかわからないリスト

zlib.js もろもろ

zlib.js 圧縮高速化

@imaya
imaya / gist:8241778
Last active January 2, 2016 03:09
アルバイトとして働くことになりました

アルバイトとして働くことになりました

このエントリは以前書いた転職先募集エントリに対する報告エントリとなります。

転職先募集エントリ

正直、エントリを書いた時点では面白がる人はいても実際に声をかけてくる人はいないだろうなと思っていました。 自分自身のスキルセットややりたい事などを考えると、マッチするところは限りなく少ないか、あるいはあったとしても偶然自分の書いたエントリを目にすることなど少ないだろうと思っていたからです。 前回のエントリは「いやあ、転職先は一応探したんだけどダメだったから仕方なく、本当に仕方なく光の戦士として生きていくしかないなあ」という自分に対する言い訳をするためのエントリという面もあったのです。