taketoncheir.log

Like the Decatoncheir by Poseidon Industrial, This blog is Yet Another Storage for My Long Term Memories.

Install GHC and cabal on Arch (& Yaourt)

Haskell PlatformをArchで使おうとしたら、リポジトリに登録されていない。 同僚に聞いたら”Haskell Platformはオワコン"だそうなので、VagrantからArchのVMを立ててGHCとcabalをいれて構築することにした。 まぁ確かに、ほとんどcabal sandboxしか使わない…

gen-idea設定を書いたbuild.sbtは~/.sbt/plugins/build.sbtに配置する

ScalaプロジェクトをIntellij Ideaで扱えるようにするためには、 プロジェクトのbuild.sbtがあるディレクトリにて $ sbt gen-ideaとしますが、そのままだと [error] Not a valid command: gen-ideaと怒られます。プロジェクト内に、sbt-ideaプラグインの参照…

Functional Programming Principles in Scala in 2013/Sep Week 2

week 2の備忘録# Higher Order Functions とりあえず、こいつがScalaのEBNF (Extended Backus-Naur form)だ | はalternative, [...]はoption, {...}はrepetitionを表す varがない。functionalな部分について、ということか? // Types Type = SimpleType | F…

Functional Programming Principles in Scala in 2013/Sep Week 1

Scala作者のOderskyさんが自ら解説するScalaのオンライン講義があります。Functional Programming Principles in Scala (Coursera) 先週から始まったので、ざっと見たところをメモっておきます。 時間節約のためビデオは見てません。あしからず。※とても大雑…

Chrome DevToolsのテーマを変えてみた

Chromeのテーマ、スポンジボブのファニーな顔が好きなのですけど、欠点があってDevToolsのボタンが黒く塗りつぶされてしまう。テーマの色設定を変えたりすればできるのかと思いましたが、効果なし。 テーマの作り方そこで、DevTools themeで検索すると、あ、…

私のVim-Plugin開発環境(仮)

事の発端 Evernoteのエディタがいけてません。 私はツリー形式でメモをとるので、Indent up/downがスムーズにできてほしい。 あと、メモを取った内容をブログ等に貼り付けたい。 これらが満たされないので、Evernoteに見切りをつけました。で、XML等に変換さ…

E. Kmettさんに圏論学習の教材を聞いてみた

先週末、ekmett勉強会なる会が開かれました。 (発起人の@tanakhさん、ありがとうございます!) ekmett勉強会 (partake) ekmettとは、HaskellやScalaにて重要なlibrary群を、ありえないスピードで作り上げていくEdward Kmmetさんのことです。 ekmett (githu…

Haxeで.hxmlをコンパイル、.jsを吐き出す

最近Haxeを触ってます。 基本ではありますが、備忘録として記事を残しておきます。 hxmlを用意 こんなディレクトリだったとして ---- haxe | | | -- hello_haxe.hxml | | | -- hello | | | -- main | | | -- Main.hx | -- html | -- hellohtml/hello以下に、…

Data.AesonのJSONパースをデバッグする

Haskell製のWebフレームワーク、ScottyとAngularJSを使ってアプリを作っています。 MagpieJSONのパース周りで割とはまったので、そのデバッグ過程をメモしておきます。Model周辺のみを抜き出したテストプロジェクトを用意したので参照してください。 デバッ…

riak1.3.0をOSX10.6にインストール

以下の手順でインストール出来ました。 ちなみに自環境はOSX 10.6.8です。 いい加減アップグレードしないと。。 Erlang R15B01をインストール Installing Erlangを参考にインストール。当初Homebrew経由でインストールしていたErlang/OTPはR16でriak-1.3.0が…

Angularで異なるdivに同一名controllerを登録してもそれらは同じcontrollerを指さない

fiddleはこちら。Angularjsで$scopeの状態を見るには、Chrome ExtentionのBatarangを入れるのがいい。 それと、consoleでangular.element($0).scope();jsfiddle自身のサイトではangularが見えない。 上記fiddleのURL末尾に/showを付けてやるとホストされた状…

Scotty、起動

軽くWebアプリ作ろうと思い、Scottyに触れてみることにしました。Scotty (github) 使用環境 MacOS 10.6.8 Haskell-platform2012.4.0.0 Scotty 0.4.6 cabal-dev 0.9.1, cabal 1.14.0 起動まで とりあえずソースコードをclone。 $ git clone git://github.com/…

QuickCheckのコード読んでみた

QuickCheckでtestデータがgenerateされる仕組み 実際に定義したデータ型に対してデータを生成する方法はこちら ここではQuickCheckのソースコードについて記します。 実際に読み取った順に書いているので分かりにくいです、すいませんm(__)m 登場人物 class …

QuickCheckでデータ型に対するテストを書く

QuickCheckで自分で定義したデータ型のテストを書く QuickCheckです。 QuickCheckはIntやStringについてデータを生成はしてくれますが、自分で定義したデータ型についてはそのままでは生成してくれません。 データ型に対してArbitraryのinstanceを定義すれば…

QuickCheckテストの信頼度チェック

この記事はHaskell Advent Calendar 2012用の記事です。今年はテストに関わる記事が多いように思います。 継続的な開発を行う上でテストは必要なので、テスト手法をキャッチアップしたいと思っていたところでした。まるで渡りに船、いや、ほむらにまどかです…

Maven3でDynamic Web Projectを設定する

m2eclipseが嫌いです。 でも食わず嫌いなだけかもしれません。 Mavenを使うときは、eclipseを介さず直接mvnコマンドを叩く方がわかりやすいと思うのです。 mvn eclipse:eclipseでDynamic Web Projectをセットする ちょこっと検索しただけだと、いたる所でm2e…

Haskell-platform入れたら

備忘録。 Haskell-platformのcabalはupdateしてはいかん。多分。 updateしたらcabal-dev ghciがこけるようになってしまった。(fake-ghc-cabal-devとやらで)以下、haskell-platform入れ直しの作業ログ Haskell platform uninstall stackoverflow Haskell-plat…

Yesodでjsライブラリ使いたい時のファイル配置

Yesodで.jsや.cssを配置したい時。 基本は、staticフォルダ以下のjsやcssフォルダの中にファイルを配置します。 defaultで読み込みしたい場合は、templates/default-layout-wrapper.hamletに以下のように記述します。static/js/angular.jsを読み込みたい時 <script type="text/javascript" src=@{StaticR js_angular_js}/> …

ScalaでEclipse plug-in

Eclipse plug-inを作ってるのですが、SWTのせいか、どうもコードが汚くなってしまいます。 できればScalaあたり使いたいと思って調べてみたら、普通にScala使えるじゃないか! (まぁ、ScalaIDEがScalaで開発されているのは知っていたんですが。scala-ide/sca…

YesodでJSON

YesodでJSON投げたり受けたり Yesod1.1でJSON使う際のメモ書いときます。 これ出来ればサーバサイドだけYesodを使うということも可能です。とりあえず全コードはこちら(github) データ定義 まずはデータ定義から。 Todo json text Text done Text config/mod…

Yesod1.1のLogging

Yesod1.1のLogging MonadLogger @rf0444と、Yesodのログ周りを見てました。 参考にしたのは、SnoymanさんのエントリーYesod's new logging system。とりあえず、Yesod1.1で。 getHomeR = do $(logInfo) "That's it!!" -- Infoレベルでログ defaultLayout $ d…

Yesod1.1 on Heroku

YesodアプリをHerokuにdeployする 2012年8月13日23時17分、HerokuにYesodアプリをdeployすることに成功しました。 作業において、@thimuraさんのブログとこちらの記事を参考にしました。 今回の作業内容をメモっておきます。 今回のレシピ Ubuntu10.04LTS-64…

TaPL chap.3 ~ Untyped Arithmetic Expressions

未だ型のない世界。 型について語る前に、プログラミング言語について知っておくべき事柄がある。 ここではプログラムのシンタックスと意味論についての表現方法とその意味付けを学ぶ。※以下、英単語をそのまま用いたところは訳語について悩むことを避けたと…

「プロの学び力 (清水久三子著)」を読んだ

プロの学び力 / 清水久三子読んだ目的は、最近自分の学習効率が落ちていると感じていたから。 感想としては、学び方の整理に役立った。簡単にまとめると、、 本質の理解:その事柄について自分の言葉を持てる状態、まで行けば、学習内容は情報として価値を持…

Maven - OSGiにおける依存関係の解決方法

Eclipse-pluginを作っているわけですが、依存関係の泥沼にはまりました。 最終的に解決に成功したので、ここに記しておきます。 まず、OSGiにおける依存の記述について。 (OSGiの概要はここらへん見てもらえれば atmarkit) OSGiではBundle間の依存をMANIFE…

EclipsePluginプロジェクトに対するテストをJUnitで実行しようとしてハマった

クラス名にTestを含んでいますか? Mavenはクラス名にTestを含んでいないと、JUnitテストとみなしてくれません。 さもないと、There are no tests to run.って怒られます!!target/surefire.propertiesに、includes=**/Test*.class,**/*Test.class,**/*Test…

Update Siteを社内サーバーに構築してみた話

Eclipseのプラグインって、Install New SoftwareでUpdate Siteを指定すると楽にインストールできますよね。 そのSiteを社内サーバーに立ててみました。肝は、 mavenコマンドは、"mvn clean deploy site-deploy"で repositoryを設定し、社内サーバーを認識さ…

TychoでEclipseプラグインへのテストを実行する

備忘録。基本的には、tychoのgitリポジトリにある、tycho-demo/itp01以下を参考にすればよろし。 テストに使うPlugin本体プロジェクト内のクラスはどうやってビルドパスを通すのか? 本体プロジェクトのMANIFEST-MF内で、 Export-Package: sampleproj.handle…

社内Mavenリポジトリを構築してみた

EclipsePluginを開発中です。 PluginをEclipseにインストールさせるために、update-siteを設定しようとしましたが、Jenkinsを回しているサーバーからなぜか取得できない。。。 (p2Repositoryがサーバー側がHTTP1.0ベースで動くことを期待しているからではな…

ビルド中にorg.eclipse.core関係の依存性が解決できない場合

以下のようなエラーメッセージが出たときは org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from someproduct.bundle…