タグ

2013年12月22日のブックマーク (23件)

  • Yesod Web Framework for Haskell

    Yesod is a Haskell web framework for productive development of type-safe, RESTful, high performance web applications. Yesod is a Haskell web framework for productive development of type-safe, RESTful, high performance web applications. Why Yesod? Turn runtime bugs into compile-time errors Yesod believes in the philosophy of making the compiler your ally, not your enemy. We use the type system to e

  • 少しはテストを楽しくやる(QuickCheck) - yunomuのブログ

    テストって別にやりたくないわけじゃないっていうかやりたいんですけど、なんかつい後回しになってしまうというか。 でも例えば外部システムとの連携部分だったりすると私は割と真面目にテストを書くんですが、普段はなんかなんとなく面倒臭い。面倒くさいと面倒くさくないの境界線は何なんだ。 外部システム連携みたいな入出力系のテストがそれほど苦じゃないのは、どっちにしろ動作確認で動かすからなんですよね。 一方でそれ以外の部分、いわゆる計算というか、モジュール間のデータのやり取りだったりデータ変換だったりとか、そういう部分のテストがなんで面倒くさいかといったら、それは足し算をテストする時の事を考えるとだいたい想像つくと思いますけど、 @Test void testPlus() { assertEqual(plus(1, 1), 2); assertEqual(plus(1, -1), 0); assertEq

    少しはテストを楽しくやる(QuickCheck) - yunomuのブログ
  • 有限主義ってなんですか?直観主義とは違うのですか? | ask.fmhttps://ask.fm/ytb_at_twt

    有限主義とは「有限的な数学的対象」のみの存在を認める立場です。ベースとなる論理は、古典論理でもかまいません(排中律とかそういうこだわりはありません)。その点で直観主義と大きく異なります。 http://en.wikipedia.org/wiki/Finitism 背景ですが、20世紀、公理的集合論などの無限的理論や無限的手法が広く数学の中で使われるようになりました。無限集合などの無限的対象も広く登場します。しかし一方で、無限的対象は、かつての無限小のように、一部の「数学の基礎」を気にする数学者にとっては、ものすごく胡散臭いものにうつります。そこで、無限的対象を心置きなく使用できるようにしようと、ヒルベルトらが有限主義を提唱しました。これは二段ロケット方式です。1)当に存在する数学的対象は有限的なもの(自然数とか)だけである。疑うヤツには自然数を構成してみせればよい 2)だけど有限的対象だ

    有限主義ってなんですか?直観主義とは違うのですか? | ask.fmhttps://ask.fm/ytb_at_twt
  • Chef Solo の Environments - naoyaのはてなダイアリー

    今年3月に入門Chef Soloを書いた時点では、Chef Solo は Environments の機能をサポートしてなかったため解説は省略しました。 その後、Chef はバージョン 11.6.0 (現在は 11.8.2) で Chef Solo での Environments をサポートし、入門Chef Solo で推薦している knife-solo も 10月末にリリースされた 0.4.0 から Environments をサポートしました。というわけで、現状 Chef と knife-solo が最新版であれば Environments を利用することができます。 たまたま今手をつけている仕事で Environments のことを調べたので備忘録的に記しておきます。 Environments とは Chef の Environments は、例えば development や pr

    Chef Solo の Environments - naoyaのはてなダイアリー
    somemo
    somemo 2013/12/22
  • AWSのネットワークACLとセキュリティグループの違い - プログラマでありたい

    前回、ブラックリスト型ファイヤーウォールとしてネットワークACL(NetworkACL)を紹介しました。セキュリティグループとの役割の違いが解り難いところがあるので、改めて整理してみたいと思います。 ネットワークACL(NetworkACL)とセキュリティグループ(SecurityGroup)の違い まずセキュリティグループとネットワーク ACLの違いは何でしょうか?これは、公式のドキュメントに表形式でまとめられていて非常に解りやすいので、是非一度見て頂ければと思います。表を転載すると以下の通りです。 セキュリティグループ ネットワーク ACL インスタンスレベルで動作します(第 1 保護レイヤー) サブネットレベルで動作します(第 2 保護レイヤー) ルールの許可のみがサポートされます ルールの許可と拒否がサポートされます ステートフル: ルールに関係なく、返されたトラフィックが自動的に

    AWSのネットワークACLとセキュリティグループの違い - プログラマでありたい
    somemo
    somemo 2013/12/22
  • Travis CI: Travis CIへようこそ

  • HaskellとテストとBDD - あどけない話

    Haskellでの BDD を実践するとどうなるかを考えるためのメモ。 型 豊かなデータ型とセクシーな型システムを持つ Haskell では、型が以下のような意味を持つ。 仕様 保守性の向上 簡単なドキュメント 設計図 BDD では、テストの用語ではなく設計の用語を使ってテストを記述する。だから Haskell で、まず型を書く習慣があれば、ある意味 BDD を実践していると言える。この感覚は、他の言語のプログラマには分からないかもしれない。 fromList :: Ord a => [a] -> Set a fromList = undefined このコードはコンパイルを通過するので、型に関する誤りがないことを確かめられる。 僕はへなちょこなので、型を先に書くこともあれば、後から書くこともある。 単純なコードはさっさと実装したい 型は GHC に推測させて、ghc-mod で自動挿入す

    HaskellとテストとBDD - あどけない話
  • Open Source Initiative OSI - Licensing

    OSI Approved Licenses Open source licenses are licenses that comply with the Open Source Definition – in brief, they allow software to be freely used, modified, and shared. To be approved by the Open Source Initiative (also known as the OSI) a license must go through the Open Source Initiative’s license review process.

    Open Source Initiative OSI - Licensing
  • GitHub - blaix/license-generator: Generate an open source license in your project.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - blaix/license-generator: Generate an open source license in your project.
  • binPress Software License Generator

    Distribution Type: Do you allow licensee to distribute your software?

  • Clojure (Java) はやはり速かったという話 - Doge log

    Clojure (Java) はやはり速かったという話 あまりにも遅すぎなのでは?と思ったので調べたらやはり計測方法に問題があっ たみたい。 Java がこんなに遅いわけない。 遅かった原因 いつも通り nrepl 経由で適当に実行していたのが原因。 leiningen から nrepl を立ち上げていたのだが、以下を見れば遅い理由がわかる。 java -client -Xbootclasspath/a:/home/ma2/.lein/self-installs/leiningen-2.3.3-standalone.jar -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Dfile.encoding=UTF-8 -Dmaven.wagon.http.ssl.easy=false -Dleiningen.original.pwd=/home/m

    Clojure (Java) はやはり速かったという話 - Doge log
    somemo
    somemo 2013/12/22
    こっち見てない人多い気がする
  • (writeboost report) カーネルVMで発表してきました! - テストステ論

    http://akiradeveloper.hatenadiary.com/entry/2013/10/31/211356 の続き. 昨日発表してきました. dm-writeboost-kernelvm from Akira Hayakawa コードがなくても話せるので, コードなしで話しました. 詳細な動作とかも(カーネルVMのみなさんなら)コード読めば概要レベルは30分で分かるので, 完全に省きました. その代わり, 戦略的なところとか, コミュニティ活動の話をしました. こういう話をする方が価値があると思ったので. ネタが豊富にあって, ソフトウェアがコミュニティによって磨かれていく過程を共有することに価値があると思いました. ソフトウェアは, 基原理も私のアイデアではないですし, 実装もそこまで大したことはないのですが, しっかりとドキュメントを書き, 明確な戦略でアプローチして

    (writeboost report) カーネルVMで発表してきました! - テストステ論
    somemo
    somemo 2013/12/22
    オポ
  • リバーシのビットボードの操作アルゴリズムのDiagramsを使った可視化

    作成日時 2013年12月22日 06:06 JST 最終更新日時 2015年09月08日 22:27 JST タグ Haskellアルゴリズム この記事は Haskell Advenct Calender の17日目の記事です。遅れてしまって申し訳ありません。svg画像が表示できるブラウザで閲覧してください。 学科の課題で夏休みにHaskellで リバーシAIの実装 を行ったのですが、その際に考えた盤面処理のアルゴリズムを画像として可視化したいなと思っていたので、Haskellで図形描画をするライブラリである Diagrams を使って行いました。 ビット演算を駆使してビットを並び替えるようなアルゴリズムは好きなのですが、そうしたアルゴリズムは概して暗号じみています(ビット反転 などが例)。その手のアルゴリズムを上手く画像で表現する、めずらしい試みかと思います。 ビットボードとは リバー

    リバーシのビットボードの操作アルゴリズムのDiagramsを使った可視化
  • Effective/Efficient C++を読書中 - プログラミング練習帳&備忘録

    5五将棋のプログラムを作るため現在Effective/Efficient C++読書中。 C++で作成するため。当はC#使いたいのだけど、5五将棋に関してはC#ではカバーしきれないほど、実行速度が影響しそうなので仕方なくC++を使う予定です。 C++については現状、String型が便利なクラス付きCぐらいにしか思ってないので一から勉強します。 タイトルのはどちらもまだチラ見程度ですが、 Efficient C++:C++の構文を使っていかに正しく間違いの無いプログラムを書けるか Effective C++:C++の構文を使っていかに実行速度をCに近づけることが出来るか という主題があるかと思います。 特に、C++のオブジェクト指向的な使い方(classのnew delete)とかSTLの挙動とか、実行速度などが分かっていないので、どちらのもすごい参考になりそうです。 あー論文の締め

    Effective/Efficient C++を読書中 - プログラミング練習帳&備忘録
    somemo
    somemo 2013/12/22
  • 第39回 一般向けの「Haskell Platform」とインストール・ツールの「cabalコマンド」

    2010年3月22日に,Haskell Platform 2010.1.0.0がリリースされました(参考リンク1,参考リンク2)。 Haskell Platformは,その名の通りHaskellでプログラミングをするユーザー向けの開発プラットフォームです。Haskell Platformには,GHCに加え,GHCには含まれていないライブラリや,cabalコマンド(cabal-install)などのツールが収録されています。 Haskell Platformが生まれた理由 Haskell Platformは,Haskell処理系であるGHCに加え,実際のプログラミングで必要になるライブラリやツールなど,Haskellによるプログラミングを行うのに必要な環境一式を提供するものです。ただし,Haskell Platform 2010.1.0.0のリリース時点では,どのOSを使用しているかによって

    第39回 一般向けの「Haskell Platform」とインストール・ツールの「cabalコマンド」
  • Rails3 ActiveRecordではないモデル « ツボニチ

    ActiveModelを使うとDBに値を保存しないで、form_forで使用したり、バリデーションができるモデルオブジェクトを作成することができます。 app/models/contact.rb class Contact include ActiveModel::Conversion include ActiveModel::Validations extend ActiveModel::Naming extend ActiveModel::Translation attr_accessor :name attr_accessor :email attr_accessor :subject attr_accessor :message validates :name, :presence => true validates :email, :presence => true, :con

    somemo
    somemo 2013/12/22
  • PostgreSQL Exercises

    Welcome to PostgreSQL Exercises! This site was born when I noticed that there's a load of material out there to help people learn about SQL, but not a great deal to make it easy to learn by doing. PGExercises provides a series of questions and explanations built on a single, simple dataset. It's designed for use as a partner to a good book or Postgres' excellent documentation. The exercises on thi

  • ikebin - 七誌の開発Wiki

    七誌の開発Wiki プログラミングについてのWiki。 トップページページ一覧メンバー編集 ikebin 最終更新: n7shi 2014年03月14日(金) 16:07:07履歴 Tweet このページは移転しました。 https://bitbucket.org/7shi/ikebin/wiki/history

    ikebin - 七誌の開発Wiki
    somemo
    somemo 2013/12/22
  • [haskell][yesod] Yesodのインストールとチュートリアルの実行手順のまとめ

    プログラミング・IT関連。知っていると便利なこと、気になって調査したこと、はまったけど解決できたことなど。 HaskellのウェブアプリケーションフレームワークであるYesodに触れてみました。Yesodのチュートリアルを参考にして、自分のmac上にYesodをインストールし、サンプルサーバーをデプロイしたときの手順と、あとで調べたいと思った疑問点のメモを残しておきます。haskell platformがインストールされている環境を前提にしています。 Yesodのセットアップ手順: cabalでyesod関連のパッケージをインストール コマンドラインから以下のコマンドを実行。20分くらい?かかります。 cabal install yesod-platform yesod-bin cabal-dev プロジェクトの生成 以下のコマンドを実行 yesod init プロジェクト名に"Yosog

    [haskell][yesod] Yesodのインストールとチュートリアルの実行手順のまとめ
  • 入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい | GREE Engineering

    はじめに この記事はGREE Advent Calendar 2013年の21日目です。お楽しみください! こんにちは、アゴひげがダンディーだと評判の九岡です。GREEでは、JavaScalaを布教するための土台を固めるため、デプロイや監視の仕組みづくりなどを横断的にやっています。今回はその過程で得られた知識を「Capistrano 3の入門記事」という形で共有させていただきます。 この記事ではCapistrano 3の基礎をご紹介します。Capistrano 3はRubyをベースにしたサーバ操作およびデプロイの自動化ツールです。Capistrano 3を利用することで、デプロイなどの複雑なサーバ操作を自動化することができます。ここの記事では、特にデプロイに焦点をあてながら、Capistranoでサーバ操作を自動化する考え方と実現方法をご説明していきます。 Capistrano 3の習得

    入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい | GREE Engineering
  • PHP 5.6 に採用されるデバッガ phpdbg を使ってみた

    Shin x blog Advent Calendar 2013 の 21 日目です。 第 12 回関西 PHP 勉強会 にて、PHP 5.6 に採用予定の phpdbg をひと足先に PHP 5.5.7 で触ってみました。 phpdbg phpdbg は、gdb ライクな PHP 用のデバッガです。ブレークポイントを設定して、その時点のコンテキストを確認したり、ステップ実行などができます。 phpdbg | php debugger インストール PHP 5.6 から同梱される予定の phpdbg ですが、これ自体はすでにリリースされており、PHP 5.4 から利用することが可能です。インストールには、PHP のソースコードが必要になるので、PHP も ソースからインストールします。 $ sudo yum -y groupinstall "Development Tools" $ sud

  • Frege REPL

    {- | ____|| _ \ | ____| / _____|| ____| | |__ | |_) | | |__ | | __ | |__ | __| | | __| | | |_ | | __| | | | |\ \__ | |____ | |__| | | |____ |__| | _| `.___||_______| \______| |_______| ************ A Haskell for the JVM ************* Here in the editor, you can edit Frege code and then run it by clicking the 'Evaluate' button at the bottom or by pressing 'Ctrl + Enter'. The following is an example

  • プログラミング言語Frege(フレーゲ)を紹介します - uehaj's blog

    これはマイナー言語 Advent Calendar 2013の21日目の記事です。 Frege(フレーゲ*1 )を紹介します。 Fregeは、Java VM上で動作するHaskell風の言語です。以下のような特徴を持っています。 純関数型言語 非正格評価(いわゆる遅延評価) Hindley-Milner型推論に基づく静的型言語 これらの特徴は、Haskellと共通するものであり、構文も基的なところについてはHaskellとだいたい同じか似ているかもしくはサブセットです。標準関数やデータ型やモジュールについても、Haskell 2010からたくさん引っぱってきているそうです。 しかしながら、Fregeはその目標において、Haskellとの完全な互換性を達成しようとはしていません。実際かなり違っています。特にJava VM上で有用であることに重点が置かれており、プリミティブ型はJavaのもの