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

アウトラインプロセッサを試している

良さそう OlivineEditor:今のところ一番良さそう。階層付き Nami2000:軽い。表題非表示でテキストにできる。 Kie:Kieと似てる。 構造化エディターMDI/SDI: もう一歩 NanaTerry:パネルがたくさんあって何をすれば良いのかわからない。初期状態でノード作…

Excel(Xls,Xlsx)を読みこむ開発してます

日々の雑務が激しくScalaのことを勉強できていないけど、こんなことを合間合間にやってます。 1.Excelのファイルを読みこみ、定位置のフィールドを取得。所定のルールに従っているかチェックする。 ただし、ファイルが100MByteを超えるときもざらなのでUse…

sbtのインストール

sbt 0.13.8をインストールするには、以下を参照に This page has moved http://d.hatena.ne.jp/kanbayashi/20080412/p1 $ echo "deb http://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list $ sudo apt-get update $ sudo apt…

Ubuntu14.04にPythonのpandasをインストールするまで

一昨日に引き続き、pythonのpandasをインストールするまで。1.Windowsに入れようとおもった → 失敗。様々なエラーがでて意味不明なので諦めた。 2.Ubuntuにてsetuptools、pipをインストール、それからpandasを入れようとした → 失敗。様々なエラーが出て…

VirtualBox上のUbuntu 14.04でspark-shellを使えるようになるまで

CodeIQのこちらの問題、https://codeiq.jp/q/1587 をWindows7のPCで行っていました。 spark-shellから一行ずつ入力して、一応それなりの結果を得ることはできた。 が、やっていてなんだかちょっとなあ、と感じた。シェルにコマンドを打ち込むというのがなん…

コップ本2の19章「型のパラメータ化」をやってみる。その1

「関数型待ち行列」をつくる、という題材を通して型のパラメータ化を学ぶ章です。関数型待ち行列の要件は1.head:待ち行列の先頭要素を返す 2.tail:先頭要素を取り除いた形で待ち行列を返す 3.enqueue:指定した要素を末尾に追加した新しい待ち行列を…

返ってくる型がわからないときは、Anyを使う?

昨日、5/14と書いた以下のエントリでは、関数に指定する型パラメータで悩んでいたけど、結局戻ってくる値がわからないのであればAnyを返す、というのでちゃんと動くようにできた。僕が2015/5/14に書いた型パラメータに関するエントリがすごく間違っている気…

僕が2015/5/14に書いた型パラメータに関するエントリがすごく間違っている気がする

数日前の記事(共変とか反変とかわからないので躓いている - 趣味プログラマがまれになんかしたことの記録 )にて、僕は下のように書いたけど、 def get[A >: Any](i:Int):K[A] これは下限境界というやつで、AnyまたはAnyのスーパークラスのみ型パラメータに…

Iterator.duplicateの動き

直前のエントリで気になったのでIterator.duplicateの動きを調べてみた。 val it = Iterator.continually... val (it1, it2) = it.duplicate println(it.foldLeft(0)((c, _) => c+1)) println(it1.foldLeft(0)((c, _) => c+1)) println(it2.foldLeft(0)((c, …

300M超のテキストファイルを読み込ませてIterator.continuallyで処理すると

Iterator.continuallyの動作がどれぐらい大きいファイルまで耐えられるのか確認したく、以下の様なスクリプトを書いてみた。 import java.io.{FileInputStream, InputStreamReader, BufferedReader} val br = new BufferedReader(new InputStreamReader(new …

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

いままで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 {…