shokosブログ

プログラミング

自分用Erlang環境構築メモ

OS:Yosemite vimの設定 github.com.vimrcは上記を参考にhybridが効かないと怒られるので、 git clone https://github.com/w0ng/vim-hybridhybrid.vimを~/.vim/colorsにおく NeoBundleの設定 mkdir -p ~.vim/bundle git clone https://github.com/Shougo/neo…

Haskellでプロジェクトオイラーを問いて解説するスレ

shokos Advent Calendar 2012七日目プロジェクトオイラー たまにやると頭の体操になっておもしろい。筋トレ感覚。第一問 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is …

Haskellでワンライナーで書いたフィボナッチ数列がなにをやっているのか

shokos Advent Calendar 2012六日目。ほとんどHaskell触ったことない人向けです。 社内勉強会で使おうと思っているネタ。 Haskellでフィボナッチ数列を定義すると、こうなります。 fib = 1:1:zipWith (+) fib (tail fib) 何をやっているのか、式の左側から説…

spring3でひとつのコントローラーに複数URLをマッピングさせる方法

shokos Advent Calendar 2012五日目spring3のマッピングアノテーションで、複数URLを指定する方法 @RequestMappingで、valueにStringの配列を渡してあげればOKです。 @Controller @RequestMapping(value = {"/", "/top"}) public class TopController { ちな…

とびだせHaskellの森1

shokos Advent Calendar 2012四日目CAで「とびだせHaskellの森」という社内勉強会をしています! とびだせHaskellの森1 from Shoko Sasaki 初回はghciでのコマンドを色々試してもらいました。 ちょろっと遅延評価の説明とかもしつつ。結構人が集まって…

mavenプロジェクトにコンバートしたときにエラーが出る場合の対処法

shokos Advent Calendar 2012三日目今日はエラーの対処法の話なので、人の役に立つ確率が高い。1. 久しぶりにjavaプロジェクトを作ろう。 2. うっかりコマンドから mvn archetype:generateして作ってしまった! 3. eclipseからmavenプロジェクトにコンバート…

ActiveAdminで作ったアプリのindex画面を編集

shokos Advent Calendar 2012二日目昨日つくったActiveAdminで作ったアプリのindex画面がいけてないので編集します。app/admin/schedules.rb を開いて # encoding: utf-8 ActiveAdmin.register Schedule do index do column "予定", :plan column "日時", :o…

ActiveAdminでらくらくCRUDをつくる

shokos Advent Calendar 2012一日目rails ActiveAdminでらくらくCRUDをつくる! Active Admin | The administration framework for Ruby on Railsスケジュール管理アプリ、Popuraをつくりました。 rails new Popura がーっとファイルやフォルダが作られ、イ…

Jenkinsがテストこけているのにグリーンになる件解決

Jenkinsをバージョンアップ(1.475)したら、失敗したテストがあるのにグリーンになる珍現象が起きた。解決方法メモ 各プロジェクトの設定画面 ビルド後の処理追加で「publish xUnit test result report」を選択 Faild TestsのThresholds(しきい値)をすべ…

非エンジニアにgitをレクチャーする

レクチャーしたいターゲット ・ エンジニアではない(エンジニアは自分でちゃんと勉強しましょう) ・デザイナーさん等、ローカルでwebアプリケーションを確認しながらマークアップ編集したり、画像を追加したりする感じで、あまりロジック部分はいじらない …

Haskell Platform 2012.2.0.0を入れたよ!

6月3日、わたしの誕生日かつ結婚式の翌日にHaskell Platform 2012.2.0.0がリリースされたようです!!Download HaskellHaskellからの結婚祝い&誕生日祝いだと思えるくらい、うれしい機能追加が。@shelarcy さんがGoogleGroupのHaskell-jpにまとめてくれてい…

ghc7.0.4で、バイト文字列を日本語ファイル名で保存する方法

環境はmac、ghc7.0.4yesodアプリケーションで、アップロードされた画像ファイルをローカルに保存するときに、日本語ファイル名だと文字化けしてしまう問題が発生した。どうやらghc7.0.4は日本語ファイル名に対応していないっぽい。Haskell-jaに質問を投げて…

Bundleでghc-modをいれる方法

Bundleでghc-modをいれる方法 Bundleを持ってくる $ cd ~/.vim $ git clone http://github.com/gmarik/vundle.git ~/.vim/vundle.git vimrcにインストールしたいものを追加 vimrcのトップに書く set nocompatible filetype off set rtp+=~/.vim/vundle.git/ …

yesod0.10をいれてcabal installしたらコケた問題

開発環境:mac、ghc7.0.4新しく作ったyesodプロジェクトで、cabal installすると下記エラーがでた。 Resolving dependencies... Configuring language-javascript-0.4.9... cabal: The program alex version >=3.0 is required but the version found at /us…

Haskell Platform 2011.4.0.0をいれたよ!

Haskellのwebフレームワークyesodをいれようと思ったらattoparsecまわりの依存関係で怒られてインストールできず。(とあるライブラリはattoparsec0.10以上が必要だけど別のライブラリは0.10未満が必要なので競合するとかそんな感じで怒られた。ヤムチャ言い…

定数固有メソッド実装

Enumで抽象メソッドを定義して、それを定数ごとにOverrideできるってことを、今日Effective Java読んではじめて知りました。 定数固有メソッド実装というらしい。かっこいい。具体的にはこんな書き方ができる。 package jp.ne.hatena.syoko_sasaki; public e…

剰余もfor文も使わないでHaskellでfizzbuzzを書いてみた

遅延評価バンザイヽ(^o^)丿 fizz = cycle ["","","fizz"] buzz = cycle ["","","","","buzz"] fizzbuzz = zipWith fb [1..100] $ zipWith (++) fizz buzz where fb n a | a == "" = show n | otherwise = a cycleは循環リストを作る関数なので、GHCiでなにげ…

windowsでHaskellのIOまわりで日本語を文字化けなく表示させる方法

ghc7.0.2utf8-stringをインストール。 こちら参照 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/utf8-string cabal install utf8-string System.IO.UTF8のモジュールを見ると、だいたいIO周りが揃っている! appendFile hGetLine openBinary…

CSVファイルで各行の先頭を見て、重複した値があったら取り出すスクリプト

業務で必要になったので、勉強がてらHaskellで書いてみた。 import Data.List.Split main = do csv <- readFile "./foo.csv" print $ check $ dataList csv --各行の先頭をリスト化する dataList :: String -> [String] dataList csv = foldr (\x xs -> (hea…

Haskellが短く書けてステキな件について

(主に私のまわりで)流行っているからというミーハーな理由でHaskellを勉強中です。単純に短く書けてすごいなと思います。 例えば、リストを引数に渡して、偶数の要素だけ返す関数なんかこれだけでおk。 evenList :: [Int] -> [Int] evenList [] = [] even…

ダウンロードしたcsvファイルの中身が想定通りかどうか確かめるテスト

wicketでつくったページからダウンロードしたcsvファイルの中身が想定通りかどうか確かめるテスト!!!mainのパッケージに置いたshokos.csvをダウンロードして、testのパッケージに置いたまったく同じ内容のexpected.csvと比較するテストを書きます。ファイ…

MacのeclipseでQuickJUnitを日本語メソッドで動かす方法

超自分的めもeclipse.ini(eclipseを右クリックして「パッケージの内容を表示」をクリック) ファイルの最後に以下を追加 -Dfile.encoding=UTF-8 調べてみると、どうやらMacOSX上のJDKが6からSJISになったのが原因っぽい?これでUnrooted Tests initializatui…

Haskell版文芸的プログラミング

こちらのイベントに参加してきました第0回 スタートHaskell : ATND色々もりだくさんで、有意義な時間がすごせたと思っています。 どうもありがとうございました!そこで出たおもしろい話。文芸的プログラミングきいたことありますか?わたしは知らなかった。…

HaskellでStack実装

HaskellでStackを実装しました。 参加する予定だった初心者Haskell勉強会第3回 - [PARTAKE]の宿題になっていたやつです(結局いけなかったのだけど) data Stack a = Stack [a] deriving (Show) empty :: Stack a empty = Stack [] isEmpty :: Stack a -> Bo…

Ajaxまわりのtestができなくて悩んでいる話

お仕事で作っているwebアプリケーションはAjaxごりっごり取り入れているのですが、残念ながらWicketTesterでAjaxまわりのテストはできないのです。Seleniumならできるかなーと思って実験してみたのだけど、けっきょくできなかった話。TextFieldにいれた数字…

はじめてのseleniumめも

業務自動化計画その2、selenium簡単な導入方法めも!まずはpom.xmlの設定 <dependency> <groupId>org.seleniumhq.selenium.server</groupId> <artifactId>selenium-server</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium.client-drivers</groupId> <artifactId>selenium-java-client-driver</artifactid></dependency>

Firefox4に対応していないアドオンを無理矢理いれる方法

めも アドオンを右クリックで保存 展開してinstall.rdfのFirefoxのバージョンのところ4.*.*とかに書き換える 圧縮して拡張子を.xpiに戻す Firefoxにドラッグ

第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』にいってきました

第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - [PARTAKE] にいってきました!初ドラ娘をキメタ☆ いろいろ至らない点もありましたが、楽しかったです! 第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - ニコニコ生放送 ここ見て、次の休みにもう1回復習しよう。 …

今日の新刊をメールでお知らせしてくれる処理

わりと高頻度で漫画を買っているわたしです。発売日当日に本屋さんで買わないと気が済まない性格なので、コミックダッシュ! - 漫画(マンガ)、コミックの蔵書管理と新刊発売日のチェックをサポートする総合サイト | コミックダッシュ!で管理している漫画の…

eclipseからTomcatを起動する方法

基本的にローカルでweb作業するときはeclipseでjetty起動していましたが、Tomcatを使う機会が出てきました。war作ってwebappsの下においてTomcat起動がめんどくさすぎてダウナーになって、Twitterでeclipseから起動できないのー!?って聞いたらたくさんリプ…