タグ

ブックマーク / mizchi.hatenadiary.org (9)

  • 動的型とか静的型の話の前に「作者の気持ち」を考えろ - mizchi log

    自分の思考を整理する意味でも、件のアレについて考えたことを書いてみる。 変数に型がないということの利点について考える - サンプルコードによるPerl入門 http://d.hatena.ne.jp/perlcodesample/20130227/1361928810 この件に触れることはプログラマとしての中二病である。恥ずかしい。マジレス乙だ。 でも気づいたら5000文字も書いてしまったし、公開して酒のんで寝る。 型のフローは機械のためだけでなく、人間に対するものでもある 最近TypeScriptを書いている。こいつを使って、二次元座標上で二点間を求める関数、getDistanceを定義してみよう。 interface IPoint { x: Number; y: Number; } var getDistance = (a:IPoint, b:IPoint): Number => Ma

    動的型とか静的型の話の前に「作者の気持ち」を考えろ - mizchi log
    joan9
    joan9 2013/03/03
    動的型とか静的型の話の前に「作者の気持ち」を考えろ
  • プログラミングエディタ Sublime Text2 を使ってみよう! - mizchi log

    つかってみたら結構便利だったので、カスタマイズ中のメモがてら紹介。 Sublime Text2 というエディタがありまして、日語圏で全然有名でない、しかも2というバージョンがついてるのにエディタ厨の僕が1を寡聞にして聞いたことがない、そんな感じでわず嫌いだったのですが、試しにインストールしてみると存外に使いやすく、カスタマイズしてみると結構良い感じだったので、レビューしてみたいと思います。 ちなみに、自分はCocoaEmacsをVimpulseという拡張でVimキーバインドにしてAnything/AutoCompleteを自分流にチューニングしてるゲテモノ好きなので、これが一般的な意見かどうかは不明。 Sublime Text2特長 そこそこ賢い補完 Anything風ミニバッファ Chrome風タブ 縦タブ バッファのプロジェクト管理 画面分割 画面分割ごとのグループ管理 スニペット

    プログラミングエディタ Sublime Text2 を使ってみよう! - mizchi log
  • HaXe触ってみた - mizchi log

    適当に書いた奴をGithubにあげておいた。 mizchi/haxe-try https://github.com/mizchi/haxe-try enchant.jsもHaXeから触ってみた。nodeとenchant.js、enchantの型アノテーションは haXeでenchant.jsする利点 - mitamex4uの日記 http://d.hatena.ne.jp/mitamex4u/20111230/1325248577 を使わせていただきました。 とりあえずクイックソート 配列操作系のユーティリティはあんまりなさそう。 undescore.jsクローンのUndescore.hxってのはあった。が、名前空間がほんとにUnderscore.mapとかで冗長な気が… HaXeを使う指針 何よりも気に入ったのが型がオプショナルであるという点。Dynamic型にすればそれ以下のプロパティ

    HaXe触ってみた - mizchi log
    joan9
    joan9 2012/11/28
  • CoffeeScriptがさらに拡張されたLiveScriptの紹介 - mizchi log

    2ヶ月ぐらい前にHackersNewsで見かけて、触ってみたらやたらかっこよかったので紹介。 LiveScript http://gkz.github.com/LiveScript/ LiveScriptはCoffeeScriptがさらに拡張された、JavaScriptにコンパイルされる系言語。 JavaScriptが最初に名付けられた名前「livescript」に立ち返って、関数型の特色が色濃い言語のようです。 OOPと関数型のマルチパラダイムという点でScalaなどに近いのかもしれません。型が弱いScalaで、見た目はHaskell。 インストール npm install -g livescriptより関数型っぽくしたい人のための prelude-lsと一緒に使うのが推奨されているそうです npm install prelude-ls追加されるメソッドについては以下を参照 prelud

    CoffeeScriptがさらに拡張されたLiveScriptの紹介 - mizchi log
  • なぜ coffee-script が盛り上がるか - mizchi log

    情報感度が高く体面を気にするIT企業の皆さんは、今日はさっさと帰れと言われてるので、やることなくなったエンジニア達がcho45さんの釣り針に釣られてハッスルしているのだと思われます。弊社も朝からudzuraあたりがハッスルしてるのをみてました。 暇なので大喜利に参加。というか、他の方が言及していない、なぜcoffee-scriptの良い面、について書きたいと思っています。 -> のエイリアスが、関数オブジェクトの意識を変えた > の関数定義はJS来の関数型言語への意識を呼び覚ましました。そもそも今までが関数型もどきの言語ポテンシャルだったくせに関数オブジェクトが文字数的な問題で使いにくかったのです。 テンプレートエンジンのCoffeekupでは、高階関数の入れ子によってDOMを表現するなんてこともやってます。 doctype 5 html -> head -> meta charset:

    なぜ coffee-script が盛り上がるか - mizchi log
    joan9
    joan9 2012/04/04
  • coffee-script v1.2.0で--watch と --joinが併用できるようになった - mizchi log

    複数ファイルにまたがって自動ビルドしつつ1つのファイルにまとめることができます http://jashkenas.github.com/coffee-script/#changelog --watch は指定したファイルを監視し、自動的にjsにコンパイルする --join はファイルを指定した順番で連結 --output で出力するディレクトリの指定 こんなディレクトリ構成だとします src/ - a.coffee - b.coffee - c.coffee lib/ - all.jsこんな感じでファイルの変更をwatchする coffee -wcb -j all.js -o lib src/a src/b src/clib/all.jsがエディタで変更される度にビルドされます ブラウザではall.jsさえロードしておけば、リロードされる度にすべてのファイルがコンパイルされたものが適用され

    coffee-script v1.2.0で--watch と --joinが併用できるようになった - mizchi log
    joan9
    joan9 2011/12/26
  • Emacsのcoffee-modeで、おもむろにJavascriptをcoffeeに置換する。(マージされました) - mizchi log

    *追記* 家にマージされたので、デフォルトでこの機能使えます https://github.com/defunkt/coffee-mode を参照してください CoffeeScriptは素晴らしい言語なんだけど、ネット上のサンプルは基的にJSで転がってるので、コピペした際は手作業で修正する必要があります。 で、js2coffeeっていうjavascript -> CoffeeScript って変換を行うプログラムがあるんだけど、それ使ってEmacsのcoffee-modeでjavascriptをcoffeeに置換できるようにした。 使い方 こんなコードを拾ってきたとして hoge = function(){ console.log("hello"); };リージョン選択して M-x coffee-js2coffee-replace-region すると置換される hoge = -> c

    Emacsのcoffee-modeで、おもむろにJavascriptをcoffeeに置換する。(マージされました) - mizchi log
  • CoffeeScriptを知らない友人にCoffeeScriptを紹介する10のワンライナーテクニック - mizchi log

    って、日のギークならそういうんだろうなー みなさんCoffeeScript使ってますか?ちょっとjsわかる人ならすぐ覚えられて、文法が平易で、かつRubyPythonぽく拡張されてるので非常にストレスが少ないです しかも、元のJSの特性をほとんど妨げないようになってるので、jsでできてcoffeeでできないことはほとんどない。(まったくない、かはちゃんと確かめてませんが… ないと思います) 雰囲気、インデントブロックのRuby記法のような印象。 というわけで元ネタは 10 CoffeeScript One Liners to Impress Your Friends | ricardo.cc です CoffeeScriptインストール済なら、$ coffee -i、もしくは $ coffee で対話インタプリタ起動します 1. リストに含まれるアイテムを2倍に coffeescript

    CoffeeScriptを知らない友人にCoffeeScriptを紹介する10のワンライナーテクニック - mizchi log
    joan9
    joan9 2011/07/03
    だれかがemacsのcoffeescript-mode作ったらやる、、
  • PythonでWebアプリ開発入門のススメ Flask/MongoDB - mizchi log

    TwitBlogin! http://twitblogin.com/ とか作ったことだし、そこそこ開発環境整って、今なら思いつく限りのサービスはさっくり実装できそうだったのでPython初心者向けに書いておく。 少しでもPythonユーザが増えれば幸い。 対象は Python の基的な構文程度はわかるけど、具体的に何から手をつけていいかわからない人 目次 Apache/WSGI/MongoDBの環境構築 flask [ Sinatra風ウェブアプリケーションフレームワーク] pymongo [ MongoDBラッパー ] werkzeug [Web Application デバッガ] jinja2 [ HTMLテンプレートビルダー ] pyquery [ jQuery風HTMLパーサ ] nose [ TDD ] 細かいライブラリの使い方とかPython体の言語仕様とかは適当にぐぐって

    PythonでWebアプリ開発入門のススメ Flask/MongoDB - mizchi log
    joan9
    joan9 2011/02/16
  • 1