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

ST2の中でGitDiffを視覚化するGitGutterが死ぬほど便利だった

st2

jisaacks/GitGutter · GitHub https://github.com/jisaacks/GitGutter 一見に如かず。 Install Package Control: Install Package > GitGutter ちなみに自分のST2のgit周り git, gist, githubinator, sidebargitが入ってます

非同期呼び出しの見た目上の同期を実現するためにnode-fibers 使ってみた

laverdet/node-fibers · GitHub https://github.com/laverdet/node-fibers ネタ元としてはRubyのFiber。他のcontrol flow系とは経路が違って、V8を直接叩いて実装されている。よって普通のJSの直感から反した挙動を取ることが可能となっているし、nodeでしか…

大学で時間かけてゆっくりプログラミングを独学してみた経験から汚いコードについて考えてみようとした

思いつきで色々書く回ですよっと。を、読んで自分の経験からどう捉えるべきか色々考えてみた。まず、自分は、無駄が多い勉強をしてきたのだけど、何をどうやって覚えたか、その話からしようとおもったけど、殆どの人はあんまり興味ない気がしたので「思った…

JSのMVCについて考えてみた ~ その2 テンプレートエンジンの分業とパフォーマンス

この前の続き。相変わらず思いつきでつらつら書いてて図とかまともなサンプルとかない。 JSのモデルには二種類ある フロントエンドである以上本質的にすべてビューだとも言える。 であるがゆえにあやふやにしないほうがいい。 ビューモデル UIの状態を示す属…

大規模JSでのBackbone.js/CoffeeScript について考えてみた

これ読んでたらr7kamura君にJSのMVCどうするの的な話きかれてたのを思い出したので、自分がBackboneを使う時のパターンをr7kamura君の記事をベースに書きなおしてみた。 > サバクラ両方で動く JavaScript の大規模開発を行うために ― Gist https://gist.gith…

エヴァQ感想の感想

「これが俺たちが求めてたワケがわからないものだ!」などと興奮しているが、 それが具体的になんなのか言及できず、ワケがわからないものを誉めそやす私たちハイコンテクストね!!!って言ってる人だけが増えていく感じマッハ

should.jsが辛いのでやめたくなった

Rspec風に使える、という理由で使ったけど、もうなんというか気分的に辛い visionmedia/should.js https://github.com/visionmedia/should.js/ 問題1 nodeのassert依存 ブラウザ用に移植できない 問題2 undefined, null は prototypeを持たない 次のようなコ…

[coffee-script] coffee-scriptでrubyのModuleっぽいものを実装してみた

とはいっても関数1つだけど。ここしばらくずっとtypescript書いてる。 typescriptのmoduleをコンパイルされたコードみてたら、名前空間がなかったら作る、あったら何もしない。と、それだけの実装だったので普通の関数として実装してみた。 root = if window…

AimingStudyでHTML5のJavaScript設計について話した

Aiming study#6pdf from Koutaro Chikuba なにがHTML5だ

ウェブ業界の新卒が集まる勉強会行ってきた #oblove

ちょっと酔ったまま書いてるので色々アレですが何も書かないよりマシだと思ったので書きます。オブラブ 収穫祭 〜若手エンジニア、実りの秋 http://esminc.doorkeeper.jp/events/1746 ウェブ業界の新卒(そんなものが存在するのか)が集まって、どんな業態で新…

クライアントJSをパッケージ管理できるjamjsが便利

nodeのnpmみたいなインターフェースで、クライアントjsの依存管理をする。 インストール $ npm install -g jamjspackage.jsonのjamプロパティ以下に依存モジュール書く { "name": "hogefuga", "version": "0.0.0", "jam": { "baseUrl": ".", "packageDir": "…

typescriptでenchant.jsのハローワールドやってみた

mizchi/enchant-with-typescript https://github.com/mizchi/enchant-with-typescript coffeescriptで書いた時と同じく、interfaceを書いて継承してモジュール定義、という流れsrc/types/enchant.d.tsが定義ファイル。プロパティを網羅できてないが、typescr…

typescript触ってみた ついでにunderscoreのinstance定義ファイルを作ってみた

主に自分が一番使っているcoffee-scriptとの比較underscoreのは練習がてら作ってGithubにおいた mizchi/underscore.d.ts https://github.com/mizchi/underscore.d.ts 書き味 構文の硬さがJavaが10 Python6 Rubyが3という記事をどっかで見たけど、同じように…

闇鍋勉強会#2いってきた + LTしてきた資料 #yaminabePG

いってきた第2回 闇鍋プログラミング勉強会 : ATND http://atnd.org/events/29973 発表資料はgistだけどな! ○ JavaScriptを書きたくない話 https://gist.github.com/3726883要は、いかにJS書かずに他の言語から生成できるか、どういうスキルの人がどの言語…

Backbone.Model の かっこいい使い方

IE8は死に、get, set 使わずに値を出し入れできて、ちゃんとchangeイベント発火します。こういうのかっこいいしプロダクトで使おうよと言ったんですが、@SubaruG に大反対されて悔しいのでブログに載せておきます!!!!!!!!!!! 使っていいよ!!!!

HaXeで関数型っぽくクイックソートするとこうなった

using Lambda; したかっただけとも言える。 switchが値を返す。switch文の中では一番最後に評価された値が変える。 Lambda使うと各種アルゴリズムを適用しやすいように二分木なList型に変換して、List#array()を呼ぶと普通の配列で返すっぽい。

HaXe触ってみた

適当に書いた奴をGithubにあげておいた。 mizchi/haxe-try https://github.com/mizchi/haxe-tryenchant.jsもHaXeから触ってみた。nodeとenchant.js、enchantの型アノテーションは haXeでenchant.jsする利点 - mitamex4uの日記 http://d.hatena.ne.jp/mitamex…

HTML5でロードオブナイツとかいうゲームを作った

陣取り戦争ゲーで、iPhoneのUnity版からの移植です。ロードオブナイツ - Yahoo!モバゲー http://yahoo-mbga.jp/game/12011436/detail PC(Chrome/Firefox/IE9以上)とスマホ(Webkit)で同じ物が動きます。ヤバゲーとモバゲーでアカウントは共有してるので、どっ…

最近買ってよかったもの。

PFU Happy Hacking Keyboard Professional2 墨/無刻印 英語配列 USBキーボード 静電容量無接点 UNIX配列 WINDOWS/MAC両対応 ブラック PD-KB400BN出版社/メーカー: PFU発売日: 2006/03/23メディア: Personal Computers クリック: 192回この商品を含むブログ (…

socket.ioとenchant.jsでネトゲ作り始めた

某所に提出するように昔作ったもののコア部分を詰めて作ったんだけど、興が乗ったので今日そのまま作りこんでみた。同時にログインして相手に近づいて殴ったらHPバーが減って死ぬ。死ぬと4秒でリポップする。 まだマップを実装したりモンスターを徘徊させた…

CoffeeScriptのあまり知られていない文法

知られてない機能ってのは大抵公式リファレンスにのってない奴なんですが、結構便利なのがあるので紹介しておこうと思います。 ハッシュ値を取り出す方法 {abs, sin, cos} = Math引数値でもパターンマッチ的に使うことができる。 次のコードが $.get "/json"…

sinonとCoffeeScriptでクラスのテストをしたい時はprototypeにstubを刺す

sinonとcoffee-scriptでテストするとき、どうやったらいいかな、ということを考えてて、色々やった結果上の結論に自分の中で至った。のでやり方だけ書いておく。こんなモックがあるとする。 class MockClass method: -> method2: -> ここではメソッドを定義…

死んで覚える本当のGitの使い方

Git

注意: バズってますが、これははてなダイアリーからはてなブログの自動マイグレーションに失敗してたものを復旧させたもので、書かれたのは2012年です。 - 最近流行っているGit初心者向け記事は、「僕らが本当に知りたかったこと」が欠けているようにしか思…

CoffeeScriptがさらに拡張されたLiveScriptの紹介

2ヶ月ぐらい前にHackersNewsで見かけて、触ってみたらやたらかっこよかったので紹介。LiveScript http://gkz.github.com/LiveScript/ LiveScriptはCoffeeScriptがさらに拡張された、JavaScriptにコンパイルされる系言語。 JavaScriptが最初に名付けられた名…

JSXへのファーストインプレッションのメモ

サンプルコードをひたすら読んだ。その感想。 http://jsx.github.com/try-on-web/#読んだだけなのでコードはまだ書いてません。 言わなきゃいけない前提として、僕はJavaが嫌いです。 以下雑文 coffee-scriptっぽさはほとんど感じない(あえていうとコンスト…

nodeでrequireしたときにキャッシュしたくない

キャッシュ消す coffee delete require.cache[key] for key,val of require.cache

StudyGiftはなぜ失敗したか

ざっくりとした結論から。家入氏とヨシナガ氏が失敗した原因は、内輪の坂口氏に対する評判を、インターネット全体のそれと勘違いしたことだ。ARCHIVES | KAZUMA IEIRI - Part 2954坂口綾優については、真性ひきこもり氏が普通の女子大生は、Google+で「日本…

大規模JSプロジェクトのための、モダンなjavascript/coffee-script の学習用資料まとめ

A社coffee-scriptエヴァンジェリストのmizchiです。今日は昨今の大規模JSの需要の高まりに応えるべく、お前が知ってる資料をまとめろとのお達しが下ったので、社内wiki面倒だしここに載せてますん。 前提 大規模JSをモジュール化する為にcoffee-scriptのシン…

社内LTで「炎上」について話した

ブログ書くにあたって気をつけていることについて社内LTで話したのですが、評判がよかったので公開許可をもらいました。 こんなひどいテーマで公開許可をくれたAimingありがとうございます(ステマ) 炎上 View more presentations from Koutaro Chikuba 一応…

クライアントサイドMVCについて喋った

月曜日のclient-side templating 勉強会 http://atnd.org/events/28189 で喋った内容をうろ覚えに書き出す。 クライアントMVCが求められるようになった背景 AJAXの流行 PushStateの流行の兆し メディア系のゲームで使えるAPIの充実今まではページ遷移の度にJ…