タグ

2013年12月21日のブックマーク (18件)

  • Clojureをつくったわけ

    The original document appears at http://clojure.org/rationale. The translation is based on November 27, 2009 version of the page. 読みにくくて申し訳ないです。数多くの間違いがあると思いますので、ご指摘ください。 顧客や出資家は、業界標準のプラットフォームであるJava仮想マシン (Java Virtual Machine; JVM) に相当な投資をしており、そのパフォーマンス、セキュリティ、安定性などに満足している。Java開発者は、動的言語の簡潔さ、柔軟さ、生産性をうらやましく思うものの、顧客の環境で動かせるかどうか、既存のコードやライブラリが使えるかどうか、そして動作速度などについて心配するかもしれない。また、ネイティブ・スレッドやロッキングによる並行処理に

  • マクロとモナドをいつ使うかという個人的ルール - tnoda-clojure

    できればマクロもモナドも使いたくないのですが,いつ使うかということについて個人的に決めているルールを言語化してみると,どちらのルールも似ているということに気づきました. マクロクラブとモナドクラブたしか「プログラミング Clojure」というに「マクロ・クラブ」と題したマクロ利用に関するルールが書かれており,それと同じことをモナドについても考えているのだということに気づいて,書き出してみました. マクロ・クラブマクロクラブのルールは次のようなものでした. マクロを書くな (言い換えると定義済みのマクロを使う分には構わない)それが,パターンをカプセル化する唯一の方法ならば,マクロを書けただし,同等の関数呼び出しと比較して簡単に書けるのならマクロを書いても構わないモナド・クラブ「モナド・クラブ」というのは今私が勝手につけた名前ですが,ルールはマクロ・クラブに似通っています. 新しいモナドを作

    マクロとモナドをいつ使うかという個人的ルール - tnoda-clojure
  • 俺のWeb Workersがこんなに遅いわけがない | SONICMOOV LAB

    フロントエンドエンジニアのらくさんです。ソニックムーブ Advent Calendar 2013 2日目の記事になります。 HTML5のAPIにWeb Workersというものがありますが、Androidの標準ブラウザでは使えないためスマートフォン向けには使いにくい状況が続いていました。しかし、Android 4.4 KitKatではWebViewがChromium 30ベースのものになり、標準ブラウザはどうなるのかまだ不透明ではありますが、標準ブラウザとしてChromeをプリインストールするかChromiumベースのものになっていく流れだと思われます。 そのため、スマートフォン向けの開発でも今後はWeb Workersが使える機会が徐々に増えていくでしょう。私が今開発しているスマートフォン向けのサービスでもWeb Workersを使っています。そこでこの記事では、Web Workersに

    俺のWeb Workersがこんなに遅いわけがない | SONICMOOV LAB
    aereal
    aereal 2013/12/21
  • Time Series with PostgreSQL

  • test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

    test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 拡張 POSIX シェルスクリプト Advent Calendar 2013、15日目の記事です。 書くのが遅れ、ネタは尽きかけ、 マニアックさやニッチさが足りなくなってきているような気がします。 ふつうの内容ですみません。 今日は test, [, [[ コマンドの違いについてざっくり紹介します。 [[ がある bash, ksh, zsh ならば test と [ の使用は避け、 [[ を使用すべきです。 [ は慎重に使わないと様々な罠にかかるため危険です。 (翌日のネタも併わせてどうぞ) test と [ の違い どちらもシェルの組込みコマンドです。名前が違うのと [ は最後の引数を ] にしなければいけない縛りがある以外、 動作まった

    aereal
    aereal 2013/12/21
  • 開発合宿でDockerとMesosを使っていい感じにリソース提供とデプロイするやつを作ってた - wtatsuruの技術方面のブログ

    3日間の開発合宿で、Docker と Mesos を使ってリソース管理からテスト・デプロイ管理までするやつのプロトタイプを作ってた。 4人チームで3日間みっちりやって、それなりにいい感じにはできたと思う。id:shiba_yu36 が既に書いてるけど、自分の視点から感想だけ書いておく。 番環境のBlue-Green Deploymentの仕組みのプロトタイプを作っていた - $shibayu36->blog; 経緯 最近忙しくてあまり触れてない、Immutable Infrastracture みたいなのを作ってみたかった。 Docker を開発に使うのはいい感じだけど、実際の運用に組み込むには、というイメージをつかみたかった。 というのをラーメン屋で話してたら4人集まったので風呂敷を広げてみた。 どんなものを作ったか アプリケーションは Docker コンテナとして動かす。 Debia

    開発合宿でDockerとMesosを使っていい感じにリソース提供とデプロイするやつを作ってた - wtatsuruの技術方面のブログ
  • Twitter: SPDYでiOSアプリのHTTPリクエストが早くなるポイント - ワザノバ | wazanova

    https://blog.twitter.com/2013/cocoaspdy-spdy-for-ios-os-x1 comment | 0 pointsChromeとFirefoxで利用できるSPDYプロトコルは、HTTP/2.0のベースになりますが、今回TwitterをそれをiOSアプリに提供できるCocoaSPDYをオープンソースで提供しています。こちらとこちらのグラフにあるように、概ね30%スピードアップできるようです。 HTTPをスピードアップするために、SPDYが改善しているポイントは、 TCPコネクションを介して一度に一つのリクエストを送るのではなくて、SPDYは一つのTCPセッションで複数のリクエストを送信し、レスポンスを任意の順番で扱うことができる。 SPDYはリクエストヘッダーおよびレスポンスヘッダーを圧縮できる。ヘッダー同士は、重複するテキストデータがあり、かなり似た

    aereal
    aereal 2013/12/21
  • ぼくがかんがえたさいきょうのGruntfileを晒してみる - Qiita

    開発中とリリースビルドをわけて考える。 開発中はとにかく速度重視。テスト重視。 リリースビルドのほうに、自動化できる便利なタスクを出来るだけ突っ込んでおく。 開発中に使用するソースファイルから、リリースビルドに余計なファイルを混ぜない。 こんな考え方でGruntfileを書いてみました。 プロジェクトごとに最適化したGruntfileを作るということも魅力的な挑戦なのですが、私は開発者一人で短納期な案件をいくつもこなさないといけないので、そのために導入したタスクランナーのはずなのにGruntfileの開発やメンテに時間を取られるのは末転倒になってしまうので、出来る限り汎用的に使えるように気をつけて書きました。 さらに何か特定の開発スタイルやフレームワークに依存しないように、特殊なディレクトリ構成などを必要としない点も気を付けました。 普段は開発は私一人ですが、デザイナーやコーダーや開発者

    ぼくがかんがえたさいきょうのGruntfileを晒してみる - Qiita
    aereal
    aereal 2013/12/21
  • Gruntのtaskの実行にかかる時間を劇的に短縮する方法 - Qiita

    最近ではGrunt無しでのフロントエンド開発は考えられなくなってきた気がしますが、大抵taskを実行した際に結構時間がかかってしまいます。 Gruntの実行にかかる時間を減らすにはどうすれば良いのか調べてみたら、loadTasks as they are needed to speed up Grunt load time · Issue #975 · gruntjs/gruntのissueに方法がありました。 何に時間がかかっているか taskを走らせた際、何で時間がかかっているのかをtime-gruntで確認してみると、実行しているtask自体ではなくnpmタスク(適切な表現かは分かりませんがGruntプラグインの事です。)の読み込みの方に時間がかかっている事が分かります。 loadNpmTasks()で2秒はかかっている状態 npmタスクの読み込みに何故時間がかかるかというと、Gru

    Gruntのtaskの実行にかかる時間を劇的に短縮する方法 - Qiita
    aereal
    aereal 2013/12/21
  • aereal on Instagram: "打ち上げです"

    aereal
    aereal 2013/12/21
    打ち上げです @ 麺や 高倉二条
  • 「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 - kazuhoのメモ置き場

    若い人たちは、「文字列型」があるプログラミング言語しか知らないかもしれない。だが、汎用的な文字列型が一般的になったのは、プログラミング言語の歴史の中でも比較的最近のことである。 たとえば、1972年に誕生したC言語には文字列型がない。1980年代に良く使われていたPascalの文字列型は最大255文字しか格納できなかった。 なぜか? それはメモリが貴重なリソースだったから。 1980年代のPCの搭載メモリは多くて数メガバイト。これに対し、長編小説の長さは1MB程度に達する*1。 当時、メモリはとても貴重な資源であり、テキストを処理するプログラムを開発するにあたっては、文字列をどのようにメモリ内に展開するかプログラマが細かくコーディングする必要があった。 だから、汎用的な「文字列型」というのは「夢」にすぎなかった。CあるいはPascalにおける文字列(CのASCIIZ文字列あるいはPasca

    「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 - kazuhoのメモ置き場
    aereal
    aereal 2013/12/21
  • 北大阪急行延伸決定へ、年度内に協定書締結…大阪府が100億円支出 箕面市300億円負担 - MSN産経west

    大阪市営地下鉄御堂筋線に接続する大阪府北部の北大阪急行線の延伸計画をめぐり、松井一郎府知事は18日の定例記者会見で、建設事業費600億円のうち、府が100億円を負担する考えを明らかにした。沿線の箕面市は300億円を負担する意向で、残りは北大阪急行電鉄など鉄道事業者の負担と、国からの補助金で賄う想定。今年度内に関係機関で事業費の負担割合や工期を盛り込んだ協定書を締結し、平成30年の開業を目指す方向で、30年来の地元の悲願だった延伸が一気に進み出しそうだ。 箕面市によると、延伸計画は昭和60年から検討を開始。ターミナル駅の千里中央(豊中市)から北へ約2・5キロ延ばし、箕面市に「箕面船場」と「新箕面」(いずれも仮称)の2駅を新設する。平成21年の市の調査で事業費は420億円と試算されたが、24年度の再調査で600億円程度に膨らむと見積もられた。 市は、負担する300億円のうち200億円を建設事業

    北大阪急行延伸決定へ、年度内に協定書締結…大阪府が100億円支出 箕面市300億円負担 - MSN産経west
  • Go言語の気に入ったところ/気に入らなかったところ - はこべにっき ♨

    二日間ほど集中してgo言語でコード書いたので、その間に感じたことをまとめてみます。普段はだいたいPerlJavaScriptでWebアプリケーションを書いています。 まとめの要約 go言語良い Webアプリケーション書くならPerlとかRubyが良い PerlとかRuby書ける人がミドルウェア書くならgo言語良い 気に入ったところ コンパイルエラーが親切 たとえば気楽な気持ちで以下のようなコードを書くと package main import ("fmt"; "net/http"; "log") func main() { resp := http.Get("http://hatenablog.com/") fmt.Println(math.Pi) } 以下のように丁寧に問題箇所を教えてくれます。 ./hoge.go:6: imported and not used: "log" ./h

    Go言語の気に入ったところ/気に入らなかったところ - はこべにっき ♨
  • http://dl.dropboxusercontent.com/u/9571220/g/c1631ca234dc8417858df6b930cba2fb.png

    aereal
    aereal 2013/12/21
    勢いある
  • gobi.jp

    Japanese to English dictionary focusing on gobi (sentence endings), such as です, ます What’s gobi? Japanese sentence ending, “gobi/語尾”, (linguistically called “ending particle” or “copula”) is a crucial part of Japanese real-life grammar. It’s common not to mention the actual subject (Watashi, Anata, etc) in regular conversation. You can do this because the last few syllables of a sentence (gobi) can

    gobi.jp
  • 本番環境のBlue-Green Deploymentの仕組みのプロトタイプを作っていた - $shibayu36->blog;

    最近Dockerとか、serfとかその辺りのツールが流行ってる。その中でとりあえずDockerはテスト環境やCIでは使えるかもしれないけど、実際にwebサービスが動いているものに使えるかどうかはまだわかんないねーという流れになっていた。 まあでもとりあえず動いているwebサービスDockerでやったらどうなるかというのを知りたいというのがあって、いろいろ機会があったので4人で3日くらいやってプロトタイプ実装というのをしてみて試した。 結局出来たこと 結局以下の様なものが実際に動くところまで行った。 AWSのような環境がなくてもDockerさえ動けばブルーグリーンデプロイ出来る VPSだろうが自宅サーバだろうがなんでも ボタンだけで「番用環境構築」「番前の確認」「番切替」が出来る web n台くらいを一セットとみなした環境をボタンひとつで簡単に作れる Docker imageのビルド

    本番環境のBlue-Green Deploymentの仕組みのプロトタイプを作っていた - $shibayu36->blog;
  • Ruby version policy changes starting with Ruby 2.1.0

    Posted by zzak on 21 Dec 2013 We’ve decided to change the Ruby versioning policy to a more Semantic Versioning type starting with the release of Ruby 2.1.0. In order to provide a more well defined and properly utilized versioning scheme for Ruby, we’ve decided to gradually switch to the following policy. Policy Changes This policy is based off a proposal by ruby-lang.org system administrator Hiros

    aereal
    aereal 2013/12/21
  • Mac OS Xの高速起動メカニズムをOSSへ

    GitHubに「Open Launchd」プロジェクトが追加された。Open LaunchdはMac OS Xのlaunchd(8)をFreeBSDへ移植することを目的にしており、最終的にはほかのBSD系オペレーティングシステムやLinux系オペレーティングシステムでも利用できるようにすることを目指している。システムの起動時間の短縮を実現できるほか、より包括的なプロセス管理が可能になるとされている。 Mac OS Xのlaunchd(8)は従来の仕組みでいえばinit(8)、rc(8)、cron(8)などを組み合わせたような作りになっている。カーネルが読み込まれたあとにカーネルによって起動され(init(8)に相当)、以降はシステムの起動処理を担当する(rc(8)に相当)。システム起動後はジョブ管理やユーザの使用するソフトウェア起動処理制御などに使われる(cron(8)に相当)。 /Use

    Mac OS Xの高速起動メカニズムをOSSへ
    aereal
    aereal 2013/12/21