2014-01-01から1年間の記事一覧

altjs武闘会で得られた知見 あるいはTypedCoffeeScriptの進捗と、TypeScriptリファレンスについて

vvakameさんに誘われて、どのAltjsが最強か殴りあう会合に参加してきた。 当日の資料やどんな様子だったかはこちら。 天下一altJS武闘会 - 資料一覧 - connpass 天下一altJS武闘会 - Togetterまとめ で、TypedCoffeeScriptについて発表してきた。自分の発表…

Swift ファーストインプレッション

とりあえずThe Swift Programming Language読んで、実際に自分で少し書いてみた感想。 諸事情でAppleにiOSデベロッパーとしてお布施していたので Xcode6beta落として少し書いてみた。プロジェクトスケルトンをswiftで生成できるので、そのコードを眺めたりし…

1989年前後生まれのブロガー ウェブエンジニア編

1989年前後生まれ世代のブログをまとめたい - ぐるりみち。 これみて、自分は88年なんだけど、エンジニア界隈って、観測側がすごい偏ってて、とりあえず自分が知ってる情報だけでまとめてみようと思った。自分の観測範囲の影響で88が多い。 hitode909の日記 …

GithubKaigi 感想 #githubkaigi

昨日知ったんだけどAtomの作者きてて、Atomのコード全部読んだマンとしては懇親会で凸せざるを得なかった。英語がたまに通じなかったりしたんだけど、Qiitaの @yaotti さんに手伝ってもらったりして助かった。学びがあった。 Github Issue #githubkaigi うち…

常飲用炭酸を考える

ペリエとウィルキンソンとゲロルシュタイナー箱で買って飲み比べていた Perrier(ペリエ) 330ml×24本 缶 [並行輸入品]出版社/メーカー: ペリエメディア: 食品&飲料購入: 2人 クリック: 2回この商品を含むブログを見る アサヒ ウィルキンソン タンサン 500ml×2…

論理的な設計と非論理的な人間

TDD勢に叩かれそうな言葉で、「複雑すぎてテストできない」といいたくなるケースあるんだけど、「テストを想定してないので振る舞いが多用すぎて現実的にすべての振る舞いを確認できない」という、いわゆる設計が失敗してるコード、どう向き合ったらいいんで…

モバイル環境でDOM挿入する時innerHTMLとappendNodeどっちが速いの?という話

面白かったので紹介。 Mika Raento's Tech Blog: innerHTML vs appendNode vs DocumentFragment - Optimizing bulk DOM operations for mobile まあ正確に言うとDocumentFragmentの比較もあるんだけど、ベンチ上appendNodeと違いはないのでタイトルからは割…

タッチタイピング矯正器としての無刻印キーボードが良いという話と、無刻印の辛い点

これみて思い出した。 私はブラインドタッチが出来ない - はてな村定点観測所 僕も昔は右手のホームポジションが右に一個ずれてた我流で、たまに手元見ながらタイピングしちゃう癖があったんだけど、HHKB無刻印にしたら綺麗なフォームになってたので、ちゃん…

TypeScriptのd.tsパースして型情報を抜き出すの作った

土日使って気合で作った。 mizchi/dts-parser とりあえずlib.d.tsがパースできたのでだいたいのものはパースできると思う。 パース結果のファイルサイズが大きすぎてバイナリ扱いされてて笑った。 https://raw.githubusercontent.com/mizchi/dts-parser/mast…

めっちゃヤク刈った

やりたいこと: TypeScriptの型定義 *.d.tsファイルをパースして型情報を手に入れたい 最初に考えたこと: TypeScriptのASTを引っこ抜いて適当にパースすれば良いんじゃね? scala.jsの作者がTypeScriptからscala.jsへの変換を書いてるのを発見 sjrd/scala-js-…

最小最速で作るaltjs

最近、というか昨日からTypedCoffeeScriptの開発再開してAST 気分が盛り上がってるので、簡単なチュートリアルでも。 この記事でやること ASTの取得 ASTの生成 JavaScript の出力 やらないこと 構文解析 準備 適当にプロジェクト作ります。 $ mkdir tinyaltj…

JavaScriptの継承イディオム coffeescriptとtypescriptの比較

coffeescriptのclass syntaxで生成されたコードと、typescriptのそれは、お互いに継承でき、互換があると言われている。 本当に互換があるのかちゃんと調べないといけないなーと常々思ってたので、確認する。 検証コード coffeescript class A f: -> console…

最近読んだSF

機龍警察 暗黒市場 (ミステリ・ワールド)作者: 月村了衛出版社/メーカー: 早川書房発売日: 2012/09/21メディア: 単行本購入: 1人 クリック: 12回この商品を含むブログ (24件) を見る ヨハネスブルグの天使たち (ハヤカワSFシリーズ Jコレクション)作者: 宮内…

Atomのコード読みまくったので、git-grepの結果へジャンプできる拡張を作ってみた

ここしばらく気が狂ったようにGithubのAtomのコードを読んでた。 コードリーディングの成果はここに貼ってる。まだ更新するかもしれない atom-reading.md で、大体のコードを読んだのはいいとしてなんか作らないと勿体無い気がしたので、エディタ内でgit-gre…

久しぶりにガンプラ作った

昔からガンダムというかガンプラが好きで、子供の頃はガンダム作品を見ずにとりあえずガンプラをひたすら作ったりしてた。たしかミニ四駆の流行が終わってから、自分は機材がもったいなくてSDガンダムか何かのプラモを作り続けていたような気がする。 とはい…

ゴールデンウィークの成果報告

誰とも会わなかった(完) 読んだ本 エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子出版社/メーカー: 翔泳社発売日: 2011/04/09メディア: 大型本購入: 19人 ク…

ブラウザの永続ストレージをActiveModelっぽいAPIで扱えるライブラリ作った

momicっていうmongo shell風APIでストレージを使える自作の薄いラッパーが作ってるんだけど、それの上にActiveModel風のAPI足して便利にした。 mizchi/momic v0.3.3 User = Momic.Model.extend # or extends style key: 'users' Momic.Model.setup({ name: '…

Promise時代のJavaScriptの関数の処理/提供

最近自分で非同期前提のプラグイン書くときはThenableな感じで書いてることが多い。 Thenableってのはどういうことかというと、typescirptのes6-promises では次のように定義してある。 interface Thenable<R> { then<U>(onFulfilled: (value: R) => Thenable<U>, onR</u></u></r>…

Vue.jsの足りない機能を補うために死活管理付きのルーター作った

誕生日だけど誰とも会わずにひたすら家でコード書いてた、朝から何も食べていない。 26歳になりました。なおこのリンクは26歳になったことと関係はなく欺瞞は一切ない http://t.co/CsuJWpKXrM— 俺は平気だよ (@mizchi) 2014, 5月 2 というわけで賢いルーター…

PS4のブルーライトオブデスに遭遇した

うちのPS4ちゃんは生まれつき体が弱く…っていうアレ 追い込みの峠を超えて、チャイルドオブライト出たしPS4久しぶりにやろうと起動したら、青いランプのまま起動せず死んだ。 症例 ぐぐったら症例が結構出る。XBOX360のレッドリング・オブ・デスになぞらえて…

#ガチJS でJavaScriptとフロントエンドの未来について熱い話をした

(追記): このブログで一部のJSをgithubに置いてたら 「The website abuses rawgit.com」という警告が出てました。現在修正しました。ご迷惑おかけしました。 @kyo_agoさんの主催で、 @mizchi(シングルページ系フロントエンドJSer) と @damele0nさん(ゲーム系…

超会議の偏った感想

超チューニング祭りに参加したので行くことになった。 http://cyoppaya.kunikiya.jp/ 二日目は遅刻して、しかも最後にアップロードするファイル間違えた。残念、私の冒険はここで終わってしまった。 LT資料はこれ / 超チューニング反省会 - Glide http://gli…

JavaScriptの生きてるundefinedと死んでるundefined

JavaScriptの悪魔的な振る舞いの一つにundefinedがあると思う。 javascriptには存在するundefinedと存在しないundefinedがあるし、それはつまり [undefined].length => 1 だ— 俺は平気だよ (@mizchi) 2014, 4月 22 JavaScript、[undefined].length => 1 で a…

Promiseの中で吐かれた例外は暗黙的にcatchされてrejectedにいく

(タイトル修正。勘違いだった) momic.jsの実装で一番つらかったところ。Promiseが新機能とは言え、何も言わずに死ぬのだいぶ困る。 仕様を勘違いしていた 環境は Chrome34Mac var p = new Promise(function(done){ throw 'error' done(); }); p.then(funct…

Momic.DB :: Mongoシェル風のAPIでブラウザのストレージを扱う

前々から欲しかったブラウザの永続ストレージのラッパーを作りました。 mizchi/momic https://github.com/mizchi/momic momicは"mongo mimic"の略で、mongo風にしたかったけどJavaScriptやストレージの制約を考えると完全な互換にする必要ないんだけど、やっ…

情報量が低い記事

弊社はエンジニアを募集しております 募集してない会社みたことない 技術的負債を減らそう 減らし方は? => ケースによります 時代は~。~を知らないエンジニアはこの先ついていけない。 半年前にその対象なんだったっけ テストを書こう! そもそも書かないで…

重い初期化の誤魔化し方

ウェブアプリ、とくに滞在時間が長いSNSやゲームだと、なんかいろいろあって裏側で大量のデータを初期化しないといけないケースがよくある。 そういうときに誤魔化し方を考えてたりする。 保存先 localStorage IndexedDb WebSQL(deprecated) ネイティブ側のS…

初心者に理解あるふりしたモヒカンの自己満足に付き合うのはうんざり

インターネットのほとんどの初心者向けに書かれたと宣言されたコンテンツは、想定すべき初心者のペルソナを失っている。初心者向けの記事は、「これは(俺が想定する都合のいい初心者には)わかりやすい」であり、「実在する初心者」の方を向いていない。習熟…

OSXでjs_of_ocamlの動く環境を構築する

ocamlからjsを生成する。altjsの一種なんだろうけど、結構激しい。 前々からビルドが成功しなかったんだけど、今やっと成功したのでメモ置いとく。 ocamlあんまり詳しくないんだけど、昨日「プログラミングの基礎」を買ったので、それなりにモチベーションが…

L字机二つ買って合体させた

転職して半年ほど経ち、金銭に余裕が出て各所に借金返したりしたので、家のあれこれを買い足した。 作業机作った pic.twitter.com/yZ8uWzmkqJ— 高意識エネルギー (@mizchi) 2014, 4月 4 ニトリでこれのL型とR型を買って合体させた。 L型デスク(リッケン2 14…