タグ

2012年7月14日のブックマーク (14件)

  • Closure Compilerを使う!

    「Closure Compilerを使う!」は、Googleが提供しているコード圧縮・最適化ツールであるClosure Compilerの使い方を紹介するサイトです。 このサイトのコンテンツの大部分は公式サイトやチュートリアルの記述をベースに日語で再構成したものですが、その内容はあくまで管理人の個人的な理解に基づくものです。ご利用は自己責任でお願いします。 Closure Compilerとは Closure CompilerはGoogleが無償で公開しているJavaScriptコードの圧縮・最適化・難読化ツールです。ライセンスはApache License 2.0です。 JavaScriptのコード圧縮・難読化ツールとしては他にpackerやYUI Compressorなどが有名ですが、Closure Compilerも基的な機能としてそれらと同等のコード圧縮機能を有しています。以下

    Closure Compilerを使う!
  • http://www.machu.jp/posts/20060506/p01/

    joan9
    joan9 2012/07/14
  • GHC は再帰を末尾再帰に最適化するか? - あどけない話

    GHC に -ddump-simpl オプションを渡すと、Core 形式(中間表現の関数型言語)を出力するというので、Performance/Accumulating parameterのコードに対して Core を出力しみた。 len 末尾再帰でない len のコードはこう。 len :: [a] -> Int len [] = 0 len (x:xs) = len xs + 1 これに対して、Core を出力させるとこう。明らかに末尾再帰には直されてない。 len_rfB = \ (@ a_afQ) (ds_dyA :: [a_afQ]) -> case ds_dyA of wild_B1 { [] -> GHC.Types.I# 0; : x_afH xs_afJ -> GHC.Num.+ @ GHC.Types.Int GHC.Num.$f6 (len_rfB @ a_afQ xs

    GHC は再帰を末尾再帰に最適化するか? - あどけない話
  • Haskellにおける末尾再帰の最適化 - 射撃しつつ前転 改

    Haskellにおいて、末尾再帰の最適化というのは、どうなっているのだろう?気になったので、ちょっと試してみた。適当に階乗を定義して、実験してみる。 fact 0 = 1 fact n = n * fact (n - 1) 末尾再帰にすらなっていないが、このfactは、fact 100000とか実行しても、ちゃんと計算が行われる。スタックは溢れない。(計算に10分ぐらいかかるけど…。)もちろん、末尾再帰の形に書き直してもちゃんと動く。 Haskell WikiのTail Recursiveの項によると、「Haskellのような遅延評価型の言語においては、末尾再帰で書いたからといって、スタックの使用量が減るとは限らないよーん(もしコンパイラが末尾再帰の最適化を行ったとしてもね)」と書いてある。ここだけ読むと、単なる普通の再帰も賢く最適化するので末尾再帰の方が効率よくなるとは限らないよ、という

    Haskellにおける末尾再帰の最適化 - 射撃しつつ前転 改
  • Success is a Journey, not a Destination: Haskellの中間形式を見て関数が末尾再帰かどうか調べる

    きのう参加した Start Haskell ではパフォーマンスの話題、とくに末尾再帰の話が多かった。遅延評価が関わると (?)、ある関数が末尾再帰になっているかを判断することさえそれほど単純ではないようだ。コンパイル後のアセンブラを読むのはさすがにやりたくないので、もう少し手軽な方法はないかと思っていたら、GHCが生成する中間形式を見る、という方法があるそうだ。 昨日の演習問題だったsplitAtを例としてまとめてみる。 splitAtは、整数とリストを受け取って、リストを整数が示すインデックスで2つに分ける関数。splitAt 2 "abcd" -> ("ab", "cd") という感じ。Haskellのコードはこう。 sp1 :: Int -> [a] -> ([a], [a]) sp1 = sp1' ([],[]) where sp1' (l1,l2) _ [] = (reverse

  • ポケットサイズのガジェットの作り方

    イベント・セミナー集客プラットフォーム 「こくちーずプロ」を使えば、驚くほど簡単で安全なイベント告知・集客ができます。誰でも使えるシンプルさ、とことんまでイベント集客の手助けができる拡張性、大規模なイベントの大量な申し込みも安心して受付ができる高機能を併せ持っています。 一般的なイベントだけでなく講演会や、定期的に開催する地域セミナー、クローズドな社内勉強会、大規模な学会など様々なイベント形態にあわせた募集が可能です。 サービスのトップへ セミナー会場検索サービス 「こくちーずスペース」は、イベント・セミナーの開催に適したセミナー会場(貸し会議室・ホール)を所有する全国2,700箇所以上の公共施設を掲載!リーズナブル・格安で安心して利用できる貸し会議室やレンタルスペースを中心にイベントの規模や設備など目的にあった施設を簡単に検索できます。 今まで見つけにくかった公共施設の詳細な情報をまとめ

    ポケットサイズのガジェットの作り方
    joan9
    joan9 2012/07/14
  • ギコ猫とデザインパターン

    /‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ ワーイ スレッドヘン 1ゲト ズザー! \ ‾‾‾‾‾‾|/‾‾‾‾‾‾‾‾‾‾‾ (   Λ_Λ ⊂ ´⌒つ゜ー゜)つ ‾‾‾‾‾‾‾ .___________ |               ..| | ギコ暗号入門はこちら .| |___________| ∧,,∧ || ⊂ミ.,,゜Д゜彡つ https://www.hyuki.com/cr/cat_index.html 目次 はじめに 登場するたち ギコGoFのパターンたち ギコとマルチスレッドのパターンたち アニメGIF みなさんからのフィードバック ぜひ、感想をお送りください このページにリンクしてくださっている方々 リンク集 更新履歴 はじめに このページでは2ch.netのキャラクタ「ギコ」にナビゲートしてもらい、 デザインパターンをいくつか紹介(?)します。 といっても

  • テスト自動化について5分で分かるまとめ

    みなさんこんにちは。@ryuzeeです。 テスト自動化について簡単に教えてほしいと言われることが多いので、以下にまとめました。 テスト自動化/テスト駆動開発についてXPのプラクティスの中で、最も単体で導入しやすいプラクティスの1つであるこのプラクティスのみで1冊のが書けるくらい奥が深い基的な方法失敗するテストを書くできる限り早く、テストがパスするような最小限のコード体を書くリファクタリングをする適用範囲通常では、独立性の高いクラスやファンクションへの適用が良いGUIや分散オブジェクト、自動生成されたコード、DBのスキーマに関するテストは導入が難しい既存システムにおいて、テストが準備されていない場合に、部分的に導入するのは難易度が高い。したがって新規プロジェクトの初期から導入することが望ましい問題点開発者が仕様を誤解していた場合、誤解に基づくテストコードが作成されるため、誤解の検知は保

    テスト自動化について5分で分かるまとめ
    joan9
    joan9 2012/07/14
  • CakePHPでユニットテストする際に気をつけること

    今やっている案件ではCakePHPを使ったアジャイル開発で、当然テストも自動化している。 テストの自動化を徹底的にやったので楽なんだけど、次回の案件のためにどういう観点でテストを組んでおくと良いか、またどこに嵌りがあるかメモとして残しておく。 CakePHPに限らない話 テストしやすい実装にする。例えばメソッドに複数の異なる役割を持たせない。引数と戻り値が明確。適切な行数など MVCの複数レイヤーにまたがる処理を書かない。例えばコントローラの中でSQLじゃぶじゃぶ投げたり、バリデーションチェックをぐちゃぐちゃやったりしない 自動でテスト実行できる仕掛け作り。例えばPHPならphpUnderControl。JAVAならCruiseControlとかHudson。 基に返って、テストを先に書くという意識付け テストがいっぱいありすぎたら今度はテストのリファクタリング。似たようなテストがコピペ

    CakePHPでユニットテストする際に気をつけること
  • http://bulknews.net/lib/mailmag/29/mag.txt

  • Macのアプリを、ターミナルから起動すると意外と便利だった - Goodpic

    This shop will be powered by Are you the store owner? Log in here

    joan9
    joan9 2012/07/14
  • OSXの固有コマンド - MacWiki

    -c creator[編集] ファイルのクリエータを creator に設定する。 クリエータとは Classic MacOS でファイルとそれを作成したアプリケーションを関連させるために用いられていた情報で、英数字または空白4文字からなる文字列で指定される。クリエータが空白を含む場合には必ず引用符で creator を囲む必要がある。 -d date[編集] ファイルの作成日を設定する。date の書式は mm/dd/[yy]yy [hh:mm:[ss] [AM | PM]] となる。date が空白を含む場合には引用符で囲まなければならない。 -m date[編集] ファイルの修正日を設定する。date の書式は -d オプションと同じ。 -t type[編集] ファイルタイプを設定する。ファイルタイプとは Classic MacOS でファイルの種類を示すために用いられていた情報で、

    joan9
    joan9 2012/07/14
  • twieve(ツイエバ)

    ツイエバは2023年12月31日をもってサービスを終了いたしました。

    twieve(ツイエバ)
  • Scotty + Aeson + Persistentで作るJSON Web API

    BYE-BYE!! ASP.NET MVC,Hello! ASP.NET SPA~ASP.NET WEB API & ASP.NET CORE WITH ...Bin Matsui

    Scotty + Aeson + Persistentで作るJSON Web API