shokosブログ

プログラミング

2011-01-01から1年間の記事一覧

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から起動できないのー!?って聞いたらたくさんリプ…

HTMLのタグを除去する

最近、プログラミング書く以外のお仕事が増えてきました。(証跡残したり) めんどくさがりなので色々自動化していきたいなーと思い、ちょこちょこスクリプト書いています。よく使いそうなもの第一弾、HTMLのタグを除去する。 package jp.ne.hatena.syoko_sa…

ブログのすすめ

はじめまして! 新卒準備カレンダー 2011春 : ATND こちらのイベントで、33日目を担当する@shokosと申します。株式会社ドワンゴで社内アプリケーションの開発をしているプログラマです。 ほぼ初心者でこの業界に入って今3年目です。 新卒のみなさまに言いた…

はじめてのHaskellめも

Haskellのインストール方法と最初のプログラムforMac(雪豹)Haskell Platformをインストールします。 Download Haskellけっこう時間かかりました。インストール終わったら、ターミナルで GHCi を起動してみよう! こんな感じで色々試せます。コマンドは前に…

Wicketはこんなにいろいろテストを書くことができるんだよ!

Wicketはこんなにいろいろテストを書くことができるんだよ! 常々からWicketのテストの充実さ(Ajaxまわり除く)に助けられているので、どんなことができるのか一部ご紹介します。 package jp.ne.hatena.syoko_sasaki; import java.awt.Label; import junit.…

Wicketでステータスコードを指定してレスポンスする方法めも

Wicketでステータスコードを指定してレスポンスする方法めも超ざっくり!WebPageをextendsしたclassでconfigureResponseを下記のようにOverrideする。 @Override protected void configureResponse() { super.configureResponse(); if (getWebRequestCycle()…

新卒準備カレンダー 2011春 に参加します

新卒準備カレンダー 2011春 : ATND何書くか未定ですが、参加します。枠が無制限になったようなので、まだまだ参加できますよー。俺の社2病が火を吹くぜ!って思ったけど、このときもう3年目なのか。

昨日の続き

完成したので載せますー。BIASED-RANDOMに2回問い合わせをしたとき、1,0が返ってくる確率=0,1が返ってくる確率となるので、それを利用しました。1,1と0,0だったらやり直しする仕様です。 public static int get0or1(double p) { if (p <= 0 || p >= 1) thro…

乱数を使用したアルゴリズム

こちらの本を勉強しはじめました!amazon:アルゴリズムイントロダクション第5章の練習問題を解いてみました。【問題】 RANDOM(0,1)に対する呼び出しだけを用いて、手続きRANDOM(a,b)を実現せよ。 ※RANDOM(a, b)とは、a〜bの整数のこと。 package jp.ne.hate…

乱数を使用したアルゴリズムその2

前回ご紹介した、アルゴリズムイントロダクションにのっている、第5章の練習問題5.1-3に挑戦。 毎回、まず自力で考えてギブアップして、ヒントもらったり教えてもらったりして解いています。 がんばれわたし! そして教えてくれる優しいお兄さんに感謝!実…

cayenneめも(ORDERするところでハマったお話)

うちのプロジェクトは、ORマッピングツールはcayenneを使っています。 今日ちょこっとハマったところがあったのでメモ。・やりたいこと Aテーブルのhogeカラムが"foo"のものを問い合わせする。 Bテーブルのhogeカラムでソートする。(ASCで)なにも考えずに…

自分的SQL Developerメモ

普段DBまわりいじるときはSQL Developer使っています!完全に自分的メモ: GROUP BY を自動生成してほしい時は、 ツール→プリファレンス→構文補完インサイト→GROUP BY句を自動生成にチェックデフォルトだと確かチェックがついているのだけど、だいたいうざい…

MacBookAirにeclipseをいれたよ!

MacBookAirかったよ!!初Mac!eclipseをインストールした際、やったことを書きます。1:普通にインストール Eclipse Downloads Max OS 用のものを。 あとは解凍したり、使いやすい場所においたり。そして起動して、ワークスペースを設定したり。 2:ワークス…

ネットワーク初心者勉強会にいってきました!

ネットワークの知識ないぞっやばい! と思い、勉強会に行ってきました。 学んだことを箇条書きで書きます。 なにか突っ込み等あったらどんどんコメントください!間違ったまま覚えるのだけは避けたいので! •MACアドレス ハードウェア依存に依存したアドレス…

起きていますかメール

わたしのいるチームは11時集合なのですが、集まりがあまりよくありません。 11時半くらいに、出社していない先輩に「◯◯さん起きていますか?」とメール。 ↓ 返信が来たらIRCに「◯◯さん今起きたそうです!」と書きこむ。 といった業務フローをだいたい毎…