IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

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

Constantのファンクタ則を例を使って確認

インポート *Main> import Data.Functor.Constant 型の確認 *Main Data.Functor.Constant> :t Constant Constant :: a -> Constant a b *Main Data.Functor.Constant> Constant 1 Constant 1 *Main Data.Functor.Constant> let x = Constant 1 *Main Data.Fu…

nodeJSでES6を使う(多分)

よくわかってないのですが、harmonyオプションをできるみたいです。 :testnode$ node -help | grep harm --harmony_scoping (enable harmony block scoping) --harmony_modules (enable harmony modules (implies block scoping)) --harmony_proxies (enable…

ファイル読み込みでのモナドを使っている感じ

do記法でのファイル読み込み import System.IO printFile :: String -> IO() printFile path = do handle <- openFile path ReadMode contents <- hGetContents handle putStrLn contents hClose handle 型を確認する。 > :t openFile openFile :: FilePath …

PipesでHelloWorld

PipesでHelloWorld Prelude Pipes P> runEffect $ (yield "Hello World" ) >-> P.stdoutLn Hello World Producerの型 Prelude Pipes P> :t (yield "Hello Wordl") (yield "Hello Wordl") :: Monad m => Proxy x' x () [Char] m () Consumerの型 Prelude Pipe…

cabalのサンドボックスでモジュールを取り込みghci(?)を利用する

サンドボックスを作る。 $ cabal sandbox init Writing a default package environment file to ... モジュールをサンドボックスを取り込む。 $ cabal install pipes-safe ghciではなくて、cabal上で、対話用のオプション(repl)を指定して起動する。 $ cabal…

Haskellでgithubに公開されているパッケージを取得してサンドボックスで実行するまで

ポーカーゲームを例にしてGithubからパッケージを取得して実行するまでの手順をまとめる。 github.com 作業ディレクトリを作る。 aaa:work03 foo$ mkdir poker aaa:work03 foo$ cd poker gitからパッケージを取得する。 aaa:poker foo$ git clone https://gi…

Applicativeファンクタを使って見る

最初の取っ掛かりとして、Applicativeファンクタの例としてわかりやすいのは、データコンストラクタを使う例ではないかと。 データ型を定義 > :i Emp data Emp = Emp {first_name :: String, last_name :: String} -- Defined at testapp01.hs:1:6 instance …

^Mを取り除く

csvデータの改行コードが違っていたのでどうしたものかと。 とりあえず:%s/\r/\r/gでできました。 改行コード2回重ねるのに違和感がありますが。

pureをControl.Applicative.LiftA0と思う

引数が3個の場合 *> :t liftA3 liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d 引数が2個の場合 *> :t liftA2 liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c 引数が1個の場合 (あたかもLiftA1) *> :t liftA …

MacへのRのインストールで嵌った

単純にXQuartzが必要でした。これがないとグラフの表示ができません。 CRANのサイト https://cran.r-project.org: 2016/04/28 時点ではR-3.2.4.pkgが最新 XQuartz http://www.xquartz.org: 2016/04/28 時点ではXQuartz-2.7.8.dmgが最新 Pythonの似たようなや…

ざっくり機械学習

機械学習は参入障壁がとても高いということがわかった(今更感)。 機械学習 学習コストが高い 多変量解析 計算の途中で有用な情報がでてくるが(機械学習はそうではない)。 多変量解析の本をまず読む 機会学習の本ではすっ飛ばされる。 必要な知識が多岐に渡…

市ヶ谷Geek★Night「Scala大名の平成維新〜殿中でScala!〜」のメモ

Scalaは気になっているが実際に使ったことはないのでざっくり感を知りたくて参加してみました。 ichigayageek.connpass.com 自分用メモ。 ナイル 学び方はひとによって様々 ドワンゴ 新人研修でテキストのpull requestを受け付ける。 こちらかな dwango.gith…

AndroidのViewクラスを読んでみる

いつもお世話になっているViewクラスのコードを途中まで読んでみました。 http://tools.oesf.biz/android-4.4.0_r1.0/xref/frameworks/base/core/java/android/view/View.java#getListenerInfo Viewクラスは19533行もあります。お酒の力をつかって読み始めま…

IntelliJ乗り換え中

Android Studio で Android ではない Pure Java の開発が難しいので、Eclipseを使おうかと思いましたが、この際、Eclipseからも乗り換えて、IntelliJを使うことにしました。 本家サイト www.jetbrains.com Downloadへ行くと、エディションの説明があります。…

OnScrollListenerのscrollState

OnScrollListenerのscrollStateの挙動を確認しました。 ドキュメントを読むとscrollStateは0,1しかとら無いようにも読めますが、2もありました。 http://developer.android.com/intl/ja/reference/android/widget/AbsListView.OnScrollListener.html stateの…

OnScrollListenerのscrollState

AndroidのOnScrollListenerのscrollStateの挙動を確認しました。

グループ化のコードを書いてみた。

諸々の制約のもとグループ化のコードを書いてみた。 こんなことをしたい。 * input [1, 2, 3, 1, 1, 3, 3, 3] * grouping 1 [1, 2, 3] * grouping 2 [1] [2] [3] [1, 1] [3, 3, 3] * grouping 3 [1, 1, 1] [2] [3, 3, 3, 3] * grouping 4 {1=[1, 1, 1], 2=[2…

ReactiveX/RxAndroidのサンプルの入門

(1) プロジェクト作成 Android Studio で新規 プロジェクトをblank activityで作成します。 (2) ライブラリ依存関係の設定 Appディレクトリ配下のbuild.gradleファイルのdependencyのcompileに以下を追加します。 compile 'com.android.support:appcompat-v7…

Android Studio でビルドエラー

下記のようなエラーは都度対応しないとダメなようですね。 Error:Gradle: A problem occurred evaluating project ':app'. > Failed to apply plugin [id 'com.android.application'] > Could not create plugin of type 'AppPlugin'. AndroidStudioで今まで…

ExpandableListViewのPackedPosition

よくわからなかったのでコードを書いてログを出して確認してみました。 PackedPositionは内部的に管理されているポジションのようです。 PackedPositionはタイプがあって、親用(グループ)と子供用があります(Nullというのもあるが)。 使う時のパターンとして…

関数をn回適用する

foldr (.) id (replicate n f) を理解したい。 stackoverflow.com *Main> :t foldr (.) の型を考える。 *Main> :t foldr foldr :: (a -> b -> b) -> b -> [a] -> b 置き換えておく。 foldr :: (x -> y -> y) -> y -> [x] -> y *Main> :t (.) (.) :: (b -> c)…

swiftを使ってみた

某Wimax2の制限なしの2年縛りが近づいてきているので、諸々の大きめなファイルのダウンロードをしていました。xcodeもこの機会にダウンロードしました。せっかくなのでswiftを使ってみました。 起動する。 ガチで開発しない場合はPlaygroundを使うようです。…

JSONのVisitorPatternをやってみた

背景もどき 諸般の事情があり、JSONをVisitorパターン的に取り扱うことになりました。JSONはツリー構造になっているので、Visitorパターンが使える仕組みがあるのかとおもったのですが、org.jsonのAPIにはVisitorパターンはサポートされていないようです。 …

Warning:Gradle version 2.10 is required. Current version is 2.8

経緯 Android Studio 2.0 でのgradleのビルドエラーが発生しました。 Warning:Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in ...hoge...\myproject\gradle\wrapper\gradle-wr…

Custom cursor sample

AbstractCursor AbstractCursor implements CrossProcessCursor protected int mPos; // index public final boolean moveToPosition(int position) // various methods -> moveToPosition -> onMove (check) public boolean onMove(int oldPosition, int ne…

Android Custom Cursor Sample

追記 バージョンによっては動作しない。 column_keyに_idが必要 column数取得を実装する必要がある ContentProviderを別APKにすると、Cursor利用側でキャッシュがされる。 ScreenShot Class MainActivity-->MyAdapter (ItemLayout)<-->MyCursor<-->MyContent…

PowerShellでファイルの行数を取得する

手元にWindowsマシンがなくて試せないが、こんな感じのコードだったはず。 PASH /home/cg/root> Get-ChildItem C:\foo\bar.* -Include *.java -Recurse | %{$_.fullname + "`t" + (Get-Content $_.fullname).length} /home/cg/root/mmm.java 74 /home/cg/roo…