開発環境のフォントを変えてみた

いままでVimではMS_Gothic、IntelliJ IDEAではSourceCodeProと分けていたのですが、VL_Gothicに統一するようにしてみた。Vim(Before) Vim(After) IntelliJ IDEA(Before) IntelliJ IDEA(After) IntelliJ IDEAのテーマもVimに併せてWombatにしてみた。

共変とか反変とかわからないので躓いている

こんなクラスを作ってみた scala> case class K[A](l:List[A]) そしてこんな関数を作ってみる。しかし実行してみるとうまくいかない。 scala> def returnK(a:A):K[A] = K[A](List(a)) returnK: (a: A)K[A] scala> returnK(1) <console>:15: error: type mismatch; fou</console>…

JenkinsでSpecs2の結果を読むと(It is not a test.) と出てしまう件

せっかくSpecsにスペックを書いているのに、Jenkinsの結果にて(It is not a test)と出てしまうのは嫌な気分です。(下図) これはSpecs2のIssueでSpecs2の3.3では治りました。(下図) 参考リンク→ sbt (0.13) junit xml reporter: "It is not a test" · I…

Lensってなんぞやと思ってたのが、ここ見て一発でわかりました

argonautを使うようにしたら、Monocleという謎のライブラリが追加されていた。HaskellのLensというのをScalaに移植したものらしい。 Lensって最近良く見る。でもなんだかよくわからんなあ、と思ってました。が、下のリンク先を見て一発で分かりました。 Mono…

argonautを使ってみた

設定をXMLよりももっと簡単に記述して読み込みたい、という希望のもとにあれこれ調べるまでもなく、実際Jsonを使ってやってみるのが標準のようだ。Scala標準のJsonパーサーはどうやら使いにくいし今後無くなる方向だそうです。(こちら参照→標準ライブラリのJ…

「本物のプログラマはHaskellを使う」をこなしていく。 第ニ回

前回定義したrepeatedをもう一回使う。 Prelude> let repeated f n = \x -> (iterate f x) !! n Prelude> :type repeated repeated :: (a -> a) -> Int -> a -> a Prelude> let f1 = \f n -> repeated f n 12 Prelude> :t f1 f1 :: Num a => (a -> a) -> Int…

「本物のプログラマはHaskellを使う」をこなしていく。 第一回

勉強しようと思っては何度と無く挫折しているHaskellです。おそらく最大の難関と思われるモナド。例に漏れず僕もモナドがなんだかよくわからない。Functors, Applicatives, And Monads In Pictures - adit.ioが一番わかり易いらしいけど、それでもまだわかっ…

scoverageを使ってビルドしたらNoClassDefFoundError: scoverage/Invoker$

Jenkinsも導入したことだし、scoverageを使ってみた。しかしjarファイルを起動したらこんなエラー。 (ちなみに僕はassemblyプラグインを使って、依存ライブラリをすべて含めたFatJarにしている) Exception in thread "main" java.lang.NoClassDefFoundErro…

Mercurialでのタグつけ、ブランチ作り

ほぼ個人的なプロジェクトをBitBucketを使ってプロジェクトを管理している。 僕は面倒なのが嫌なので、ブランチも何も作らず、単純にコミットプッシュを繰り返していた。まあこれで十分だろうとおもっていたわけです。ですが、有る変更を行うまえの状態に戻…

IntelliJ IDEAにて、困ったこと

いくつかあるんですが、 個人的に解決済み 1.Projectのデフォルトロケーションを %USERPROFILE%/IdeaProjects から変えたいが、Settingなどに見つからない > 無理矢理ですが、%USERPROFILE%/.IdeaIC14/config/options/ide.general.xmlに次の行を追加する <option name="lastProjectLocation" value="C:\hogehoge\my_idea_projects" /> </option>…

HtmlUnitDriverを使ってログインをしてから、他のページにアクセスする

HtmlUnitDriverでPOSTするのはどうやるの? と調べてみた。結果的にWebクライアントらしく、ユーザー名パスワードを入れて、ボタンをクリックという動きになります。以下、githubにログインしてトップページを開くという動き。 object MainApp extends App {…

すぐに使い方を忘れるのでメモ

僕は開発者じゃないので、めったにIntelliJ IDEA+Scala+Sbt開発を行う機会がない。 そんなわけで、さて、今からなにかを作ろう、と思うと超基本的なことからして忘れていて、常にまごつきます。 なぜって年寄りだから。1. 外部ライブラリの追加 プロジェ…

もっと短くかけないものかな:ハッシュが存在していない時はハッシュ値を入れ、存在しているときはハッシュ値+"X"で更新する、

最近Code Golfに目覚めて、その簡潔なコーディングに日々感銘を受けています。Rubyでは、たとえば、Aという変数がすでに定義済みであればなにもせず、定義されていなければ"B"という値をいれる、というのを自己代入演算子を用いて短く表現できます。 A||="B"…

テストを充実させつつある

IntelliJ IDEAでsbtをつかいビルドしていたところ、ふとテストにSpecs2が使えることに気づいた。気づくのが遅すぎかもしれないが気づいた。あちらこちらの情報を収集して、 コードカバレッジにはscctがいいよ scalastyleつかうと便利だよ ということがわかっ…

自作Scalaのライブラリを、sbtの依存ライブラリに入れる方法

以下のサイトを参考にしました。http://blog.takumibaba.com/post/62023920631/sbt-scala sbtでpublishLocalしたjarを取り込んで開発サイクルを回す - Qiita 以下の作業はIntelliJ IDEAを使っているという仮定です。 1.ライブラリのプロジェクト(というか…

やっとScalaのSlick2使ってDBテーブルの中を見れるようになった

いかの2つを参考にして、 Introduction — Slick 2.1.0-M1 documentation Connections / Transactions — Slick 2.1.0-M1 documentationこんなソースコードを書いてみた。 動かなかった例 import com.typesafe.slick.driver.ms.SQLServerDriver.simple._ objec…

sbtよくわからないで苦しんだ

MS SQL Serverにアクセスしたくて、scalaのSlick2というのを使おうと思った。その苦労。 sbtの作法にぶつかる。あれって、一行ずつ空白行をあけないとダメなの? 空白をあけずに書くとエラーが出ます。 libraryDependenciesを複数追加する方法がわからなくて…

IntelliJ IDEAにてScalaの開発

巷ではScalaの開発にはIntelliJ IDEAを使うと捗るよ、とのことで、初めて見ました。 以下参考にしたサイトEclipseユーザがIntelliJ IDEAを使い始める時に見ておいたほうがよいページのメモとか - 新しいフォルダ (3) Eclipseユーザの為のIntelliJ IDEA Q&A -…

MS SQL ServerにHeidiSQLでアクセス

リモートのWindows7PCでMS SQL Serverが動いている場合、なんどやっても接続できないことがあります。例えば、 「[DBNETLIB][Connectoin Open(Connect())] 指定されたSQL Serverが見つかりませんとか QL エラー (17): [DBNETLIB][ConnectionOpen (Connect()…

HeidiSQLでMySQLサーバーにリモート接続(SSH Tunnelingを使う)

HeidiSQLというのが便利そうなので使ってみました。 でもいろいろハマったのでここでまとめます。特に下のエラー。 SQL Error (2003): Can't connect to MySQL server on 'localhost' (10061)会社のDBサーバーはMySQLで、Linuxに入っていて、そこにはSSHでア…

Windows7にscalatraをインストール。その前にgiter8を使えるようにしてから

手順として gitをインストール sbtをインストール(これはインストーラーじゃないほうが便利かも) conscriptをsbtでビルド、--> 失敗 conscriptにjarを取得 giter8をsbtでビルド まず、giter8を作っている、n8hanさんのgithubより、以下を取得。 git clone …

Fat Jarプラグインを入れたのに、Build Fat Jar (Fat Jarでビルド)が出てこない場合

使っているビューが、Java−パッケージ・エクスプローラーでないと、プロジェクトを右クリックしたメニューにBuild Fat Jarが選択肢に表示されません。一般カテゴリのプロジェクトエクスプローラーやナビゲータでは使えないので注意が必要です。

ラノベタイトルの形態素解析について

web

こちらのエントリが面白そうに思えました。 http://blog.0108note.com/archives/90 楽天ブックス書籍検索APIというのを使うと特定のジャンル限定で書籍データをずらっと取ってくることができるようだ。最大3000件。 サンプルのをやってみると、たしかに30件…

ScalaTestで実行できない時がある

ScalaTestをEclipseから実行していて2つほど困ったことが起きてます。 ファイル単位でのテストを実行できるのに、パッケージ単位では実行できない いつのまにやらファイル単位でのテストも実行できなくなる 1の問題は、テストが開始されるが実際にテストが…

大きなCSVファイルの特定列だけを抜粋して重複を取り除く処理を書いてみた

思いつくままにやってみた版(ミュータブルなSetを使う) C列目の値を取ってくる val br = new(BufferedReader(new InputStreamReader(new FileInputStream(“hogehoge.csv”))) def distinctCsv(br: BufferedReader, c: Int): Set [String]= { val it = Itera…

Kindleのカバー画像を変更する方法

僕はKindle3という米国で発売されていたKindleを所有している。いままでは既存のカバー画像(下のような)で別にいいやと思っていたけど、なんとなく違う画像にしたくなってきた。こちらのサイトに従って、やってみたら文鎮化することもなく無事にカバー画像…

Scalaのテスティングフレームワーク、ScalaTestを使いはじめる

Specs2が一番スマートに書けそうなので、まずはEclipseにて導入。しかしどうやっても実行できない。わけが分からない。sbtとか導入するんでもいいけど、なんだか面倒になってEclipse内で完結できるのがないかと探したらScalaTestというのが見つかった。こっ…

MeCabとRubyで日本語の頻出単語を調べる

こちらのサイトに影響を受けて、日本語の頻出単語を調べてみたくなった。http://blog.fenrir-inc.com/jp/2011/10/ruby-mecab-japanese-keyword.htmlこのサイトにRubyのスクリプトが乗っているのですが、なぜか一行になっていて、うまく動かない。だから頑張…

provisionでなぜか2回スクリプトが実行されて悩んだ

railsのインストールするスクリプトを書いて、これを vagrant provision で実行すればOKだ。と試してみたところ、確かにちゃんと入る。しかしなぜか2回実行されてしまう。 いろいろ調べていたら、二箇所Vagrantfileがあった。一箇所はvagrant initしたとこ…

GPartedを使って仮想環境のパーティションサイズを増やす方法

Haskellを入れようとしたらパーティションサイズが1Gもなくて、入れられなかった。そこで、パーティションサイズを増やすことにしたのだが、それが大変でした。何しろVirtualBoxでHDDイメージ自体は可変サイズとしてあっても、もともとのパーティションサイ…