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

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に「◯◯さん今起きたそうです!」と書きこむ。 といった業務フローをだいたい毎…

MacBook Air 11インチ欲しい!

MacBook Air 11インチ欲しい!プレゼントキャンペーンにあやかって! MBAちゃんマジ天使今年はもう少しブログ頻度を増やしたいと思います。 よろしくお願いいたします。

SQLめも:四半期を求める

現在の年月から四半期を求める方法ここでいう四半期とは、1/1〜3/31なら1/1、4/1〜6/30なら4/1、7/1〜9/30なら7/1、10/1〜12/31なら10/1のことを指します。 SELECT TRUNC(TO_DATE(201008,'YYYYMM'),'Q') FROM DUAL 実行結果:10-07-01

CSV出力

きょうは久しぶりにjavaの日記!!!!!!!!!!!!!!!CSV出力の方法を書きます。supercsvを使います。 SuperCSV API まずはsupercsvをダウンロード。いつものようにプロジェクトのpom.xmlに以下を追加して、mvn eclipse:eclipse <dependency> <groupId>net.sourceforge.su</groupid></dependency>…

SQLめも:パーティションを調べる

パーティションを調べるSQL SELECT partition_name,high_value FROM user_tab_partitions WHERE table_name='テーブル名'

RubyでHQ9+

書きかけで放置していたのを完成させました class HQ9Plus def initialize(source) @source = source @count = 0 end def run @source.each_char do |c| case c when "H" hello when "Q" source when "9" bottles when "+" count end end end private def he…

VBA印刷めも

VBA

シートの印刷枚数が2枚以上になる場合、1枚に収めてかつ中央寄せする処理 If Application.ExecuteExcel4Macro("get.document(50)") > 1 Then With ActiveSheet.PageSetup .Zoom = False .FitToPagesTall = 1 .FitToPagesWide = 1 .CenterHorizontally = Tr…