IT練習ノート

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

作業ログ

git gitignoreまとめ - maeharinの日記 unsigned int converter Unsigned integer (32-bit) Converter よくある名前 Most common last names in the United States, top 1000

作業ログ

mysql のインストール アンインストール mac OS XにHomeBrewでmysqlインストール。からの設定(mysql_install_db、mysql_secure_installation、my.cnf)やらアンインストールやら - tweeeetyのぶろぐ的めも SSL SSL/TLS(SSL3.0~TLS1.2)のハンドシェイクを復…

HaskellでHeteroなListを構築する

Heteroリストをfoldrでつくる 下記の実装のようにforlrでリストを作ることができるが、同様なことをHeteroなリストを作りたい。 http://hackage.haskell.org/package/base-4.5.0.0/docs/src/Data-Foldable.html#toList

作業ログ

Haskell パッケージの雛形 Haskeleton: a Haskell project skeleton · taylor.fausak.me Free Monadのリンク Free Monads

作業ログ

haskell An Introduction to Cabal sandboxes Lambda palmstroem.blogspot.jp

haddockのインクリメンタルサーチ

ちょっと作ってみた。そもそもなんで付いていないんだろうか。

作業ログ

Haskell Haskellの例外処理 | Netsphere Laboratories Exceptions Best Practices in Haskell

cabalでローカルにあるライブラリを使う

課題 ローカルに自作ライブラリのソースコードがある。 ライブラリ側の変更はない仮定(安定している仮定)。 そのライブラリを使うプログラムをローカルで作りたい。 ライブラリのソースコードとディレクトリは別にするが、cabalプロジェクトを作る。 ライブ…

作業ログ

Vim Vim の置換で後方参照 - Qiita ファイル内の各行ごとに編集処理を実行する、何行かおきに編集処理を実行する。 — 名無しのvim使い

作業ログ

haskell How to split a string in Haskell? - Stack Overflow Vim VimとWindows コピーの違い - World Wide Wonderful

作業ログ

haskell Data.Binary.Get 読み込みの場合、基本的にバイナリデータピッタリでないと実行時エラーとなる。runGetしてデータがない場合や不足した場合、Nothingや読み込め多分が返却されるような仕組みではない。(と思う)。終わりがわからない場合runGetOrFail…

MySQLのSample Databaseの設定

sample data https://dev.mysql.com/doc/index-other.html word_x-db Download and unzip shell> wget http://downloads.mysql.com/docs/world_x-db.zip shell> unzip world_x-db.zip Read instruction shell> less world_x-db/README.txt Connect to MySQL:…

ysql-connector-java-6.0.6のサンプル実行

$javac -cp .:mysql-connector-java-6.0.6-bin.jar DevApiSample.java $java -cp .:mysql-connector-java-6.0.6-bin.jar:lib/protobuf-java-2.6.0.jar DevApiSample Connected! Default schema is: Schema(foo) Currently reading Effi Briest on page 42 Cu…

作業ログ

haskell Haskell 文字列変換入門 - Qiita Example of streaming data from the database using Persistent and Conduit libraries in Haskell Smart Data with Conduits — Monday Morning Haskell

作業ログ

VIM vim-plugin NERDTree で開発効率をアップする! - Qiita Vim split line command - Stack Overflow haskell ストリーム処理ライブラリはなぜ必要なのか // Speaker Deck MySQL Streaming MySQL Results Using Java 8 Streams and Spring Data JPA

RealWorld Example を触ってみる

Haskell Servant RealWorld Example App リポジトリの場所 Haskell Servant RealWorld Example App インストール サイトの手順の通り データベース >sqlite3 /tmp/haskell-servant-test.db < {your_path}/haskell-servant-realworld-example-app/scripts/sch…

Preview版のVisual Studio for Mac の削除

下記を参考にしました。 Uninstalling Visual Studio for Mac | Microsoft Docs How to uninstall Visual Studio for Mac Preview version? Uninstalling Visual Studio for Mac | Microsoft Docs 自分の場合は下記で削除しました(それぞれの環境で異なると…

Basic認証のユーザIDとパスワードを削除する方法がわからない

Web検索をしても情報が見つからず。。。 Safari バージョン 9.0.3 (10601.4.4) 試したこと メニュー -> Safari -> 環境設定 -> パスワード 該当のサイトの情報なし メニュー -> Safari -> 環境設定 -> 自動入寮 該当のサイトの情報なし メニュー -> Safari -…

なぜトーラスやメビウスの輪が重要かわかる動画

トポロジーの入門書をみると、必ずトーラスやメビウスの輪が出てきます。しかし、そもそも論として「なぜトーラスやメビウスの輪を考察することが重要か?」ということはほとんど述べられていないと想います。その疑問に答える一つの回答の動画が下記です。 …

ServantチュートリアルのBasic認証でIO

http://haskell-servant.readthedocs.io/en/stable/tutorial/Authentication.html チュートリアルだとユーザIDパスワードチェックのコードがハードコードされています。一見、どこでIOできるのかわからなかったので試してみました。 Servant Basic Auth by u…

ServantのルーティングでのIO

ServantでhandlerでのIOの取り回しのサンプルはWebに情報があるのですが、:>で記述していくルーティングでのIOの取り回しがわからず四苦八苦していました。 HasServerという型クラスでルーティングを記述していきますが、このクラス自体にIOが明示的にはない…

作業ログ

MySQL CONV:X進数をY進数へ変換する VIM [一日一Vim](その4)大文字小文字変換 - Qiita Haskell haskell - Efficiently turn a ByteString into a hex representation - Stack Overflow string - Haskell How to Create a Word8? - Stack Overflow

作業ログ

音楽 Funky Decade Mix funk 80's live #12 greatest tracks - YouTube Haskell System.IO.Streams.Tutorial string - Haskell How to Create a Word8? - Stack Overflow SHA-1 SHA-1 - Wikipedia

ログのサンプル

a small sample (the smallest ?) of MonadLogger

ghciの使い方

プロンプトを変える :set prompt "foo>" バンドされている情報を見る :show bindings foo>let x = 123 foo>let y = "abc" foo>:show bindings x :: Num t => t = _ y :: [Char] = _ foo> ロードされているモジュールを確認する :show module foo>:l MyWebApp…

Polynomialを整形して表示する

Math.PolynomialパッケージのPoly型のShowは内部構造をそのまま文字列表現するので、読みにくいときがあります。そこで、多項式を数式のように表示するサンプルを書いてみました。 polynomial: Polynomials

Tabularのインストール

vim

deinの設定ファイルにtabularのリポジトリを追加します。 設定ファイルの場所 ~/.dein.toml 設定内容 [[plugins]] repo = 'godlygeek/tabular' 使い方 ビジュアルモードで範囲を指定して下記コマンドを実行します。(範囲指定は必要ないはずなのですが、範囲…

フェルマーの小定理のテスト

gist.github.com

TraversableからFoldableを求める

From Traversable to Foldable

DeriveFoldableの練習

FoldableであるにはFunctorであることが前提です。そのため、Derivingの対象となるのは、型の最後のパラメータになります。 a sample of deriving foldable

Record syntaxを使うときに設定しておくと便利な言語拡張

Record syntax を使うときに設定しておくと便利な言語拡張 DuplicateRecordFields フィールド名の重複を許す。ただし、曖昧になる場合はエラーになる。 Prelude> :set -XDuplicateRecordFields Prelude> data Foo = Foo {x :: Int} Prelude> data Bar = Bar …

cabalでのtest実行

ライブラリのテストを実行しようとしたらそのままではテストが実行できませんでした。 Servant-Serverをgit cloneして、cabal testしたら依存関係ライブラリがないと指摘されます。 (root)bar:servant-server foo$ cabal test Re-configuring with test suit…

Servant API の変遷

HasServerのroute関数の変遷 class HasServer layout where type ServerT layout (m :: * -> *) :: * route :: ********* version implementation 0.2.1–0.4.0 route :: Proxy layout -> Server layout -> RoutingApplication 0.5–0.6 route :: Proxy layout…

Haskellの名前空間をまとめる実装

下記のようなコードがありVertex3のドキュメントを確認しようとおもったのですが、上手くドキュメントが見つけられませんでした。 import Graphics.Rendering.OpenGL as GL GL.vertex $ (GL.Vertex3 (-1) (-1) 0 :: GL.Vertex3 GL.GLfloat) Graphics.Renderi…

OpenGL (GLFW-b)

下記のチュートリアルをGLFW-bに書き換える。 OpenGLTutorial1 - HaskellWiki Haskell OpenGL Tutorial Rewrite for GLFW-b

ServantのType Familiesの理解の準備

Sec 4.2 of Servant Paper

ServantのAPIからHandlerへの型の流れを確認する

Servantのチュートリアルでは、2.2.3でチートシートのように説明されています。 https://media.readthedocs.org/pdf/haskell-servant/v0.6/haskell-servant.pdf combinator handelrのパラメータ 補足 Capture “something” a a QueryParam “something” a Mayb…

Learn Physics の導入

Learn Physics learn-physics: Haskell code for learning physics stackでインストールしてみます。 bar:graphics foo$ stack new graphics-work01 Downloading template "new-template" to create project "graphics-work01" in graphics-work01/ ... The …

Servantでipadress取得のサンプル

Servant IP Address Sample

ghcmod-vimのインストールで嵌った点

foo$ ls -al ~/.cache/dein/repos/github.com/eagletmt/ghcmod-vim/ total 80 drwxr-xr-x 18 foo staff 612 4 2 15:11 . drwxr-xr-x 4 foo staff 136 4 2 14:45 .. drwxr-xr-x 15 foo staff 510 4 2 19:00 .git -rw-r--r-- 1 foo staff 49 4 2 14:45 .gitign…

neovimの導入

neovimはbrewでインストールします。 https://github.com/neovim/neovim foo$ brew install neovim/neovim/neovim Updating Homebrew... ==> Auto-updated Homebrew! Updated 2 taps (homebrew/core, homebrew/php). ==> New Formulae alexjs dmtx-utils gte…

react-bootstrap-tableでcolumnが動的の場合のテーブル生成

Reactのテーブルコンポーネントはどれがデファクトなのでしょうか。よくわからなかったので、目についたreact-bootstrap-tableを使ってみました。 allenfang.github.io ライブラリの取り込み <script src="https://unpkg.com/react@15/dist/react.js"></script> <script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script>

ReactでHTMLの共通化

SBAdmin2のダッシュボードページにあるカードのUI部分をReactにて共通化してみました。 startbootstrap.com ここの部分です。 下記が4枚あるカードのコードになります。これをReactを使って共通化します。背景色と表示内容だけが異なり、タグの構造は全く同…

ServantのCSVファイルダウンロードのサンプル

Servant CSV download sample $ curl -i http://127.0.0.1:8081/csv/UNdata_Export_pork HTTP/1.1 200 OK Transfer-Encoding: chunked Date: Mon, 20 Jun 2016 16:12:16 GMT Server: Warp/3.2.9 Content-Type: application/csv "Country or Area","Year","Un…

HaskellのCSV読み込み

利用ライブラリ Text.CSV インポート Prelude> import Text.CSV 1行読み込み Prelude Text.CSV> parseCSVTest "aaa,bbb" [["aaa","bbb"]] Prelude Text.CSV> parseCSVTest "aaa,bbb,ccc" [["aaa","bbb","ccc"]] トリムはしない Prelude Text.CSV> parseCSVTe…

ServantのFileUploadサンプル

package servant-multipart: multipart/form-data (e.g file upload) support for servant $ cabal install servant-multipart Resolving dependencies... Notice: installing into a sandbox located at foo/.cabal-sandbox Downloading http-client-0.5.6.…

HaskellでYamlの任意項目の取り扱い

Applicativeスタイルで.*?で任意項目、.!=でデフォルト値を設定します。` parseJSON (Object m) = AppConfig <$> m .:? "port" .!= 8081 -- default a sample of reading a yaml file by Haskell

ghciのプロンプトをいい感じにする方法

いつも忘れるので備忘 coderwall.com >:set prompt "\ESC[34mλ> \ESC[m" λ> aa <interactive>:28:1: error: Variable not in scope: aa λ> :set prompt "\ESC[1;34m%s\n\ESC[0;34mλ> \ESC[m" *Main Control.Monad.Morph Control.Monad.Trans Control.Monad.Trans.Maybe Co</interactive>…

tidalをreplから使う

1: SuperColliderを起動する。 2: SuperDirtを起動する。 SuperDirt.start; 3: ghciを起動、ライブラリの取り込み $ cabal repl GHCi, version 8.0.1: http://www.haskell.org/ghc/ :? for help Prelude> import Sound.Tidal.Context -- インポート 4: repl…

(solved) The pkg-config package 'libpcre' is required but it could not be found.

pkg-confgとして認識されているか確認する。 $ pkg-config --libs libpcre Package libpcre was not found in the pkg-config search path. Perhaps you should add the directory containing `libpcre.pc' to the PKG_CONFIG_PATH environment variable No …