IT練習ノート

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

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

OpneCVのAPIを使ってみる

とりあえずできるようになったので、徐々にAPIを覚えていこうと思います。 プログラムで図形を書く #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> int main(int argc, char *argv[]) { cv::Mat img(cv::Size(640, 480), CV_8UC3, cv::Scalar(0,0,255)); cv::line(img, cv::</opencv2/highgui/highgui.hpp></opencv2/core/core.hpp></iostream>…

はじめてのOpenCVで結果をファイル出力してみる

OpenCVって盛り上がっているのでしょうか?Twitterで検索すると継続的にツイートが出てきますね。OpenCVをAWS EC2のubuntuにインストールして試してみました。サンプルを動かしたところ、GUI前提のようでしたので、結果をファイルに出力するように変更してみ…

FFIの練習 Haskellからcを使う

HaskellにはFFIという仕組みがあり、他言語とバインディングできるようです。言語の枠組みとしては、cだけでなくc++,Javaも視野に入っているようです。 Chapter 8 Foreign Function Interface http://www.haskell.org/onlinereport/haskell2010/haskellch8.h…

Haskellで初めてのHttp通信

Httpクライアント処理を書いてみました。 import Network.HTTP.Conduit import qualified Data.ByteString.Lazy.Char8 as BS main :: IO () main = do res <- simpleHttp "http://www.example.com/" putStr $ BS.unpack resp コンパイルをします。 [ec2-user…

はじめてのSpring.NET

Spring.NETの今 Spring2.0.0が2012-12-11にM2になってから、アナウンスがなく、どうなってしまうのか状況がわからないところです。Web検索や、Twitterで検索しても、最近の情報はヒットしません。フォーラムでは、なんか死んだも同然との話題もあったりしま…

C#のはじめの一歩

c#

コマンドラインからC#でHelloWorldを練習してみました。もちろん、VisualStudioですと諸々よろしくやってくれて便利なので、コマンドラインから試す必要は全くありません。ただ、便利すぎて、諸々隠蔽化されているので、仕組みが理解できません。なので、あ…

日経SYSTEMS4月号 超リスク管理

特集はリスク管理でした。タイトルは 挑むプロジェクトを成功させる 超リスク管理 先見性と俊敏性を高める実践テク です。検討したリスクをどのように見積もりやスケジュールに反映するかという点に関心がありまして、興味深く読みました。中身は下記です。 …

VisualStudioでGithubからリポジトリ取り込み

VisualStudioでGitを使ってみました。Web検索したところ、ローカルのリポジトリをリモートに反映させる情報はいくつかありましたが、リモートをローカルに取り込む情報が見つけられなかったので、試してみました。VisualStudio上でgit操作は可能ですが、すべ…

アセンブリの練習(2)

そういえば、アセンブリという形になると、それを作った言語に依存しないので、C#で作成したアセンブリがVBで利用できることの確認をしてみました。昨日C#でつくったClassLibrary1.dllを、VBのコンソールアプリにとりこみました。VBのコード Imports ClassLi…

アセンブリの練習

C#でdllを作るにはどうしたらよいだろうとWeb検索をしてみましたが、それらしい情報がうまく見つけられませんでした。どうも、C#でdllを作るという考えがあまりよろしくないようです。C#では、外部ライブラリとしては、アセンブリという仕組み(名称)になっ…

VisualStudioのチュートリアルで練習

VisualStudioに慣れるためにチュートリアルをやってみました。 試したチュートリアル http://msdn.microsoft.com/ja-jp/library/dd492135.aspx 嵌ったところ 早速嵌った訳ですが、まず、ツールボックス上で、オペミスなんですが、Ctrl+C,Ctrl+Vをやってしま…

Azureの仮想マシンにMacからリモートデスクトップ接続と日本語設定

Azureを触ってみました。 MacよりRDP 参考ににした情報 http://buchizo.wordpress.com/2013/01/21/windows-azureのクラウドサービスにmacからrdpする/ Microsoft Remote Desktopにて、仮想マシンで指定されたIPとパブリックポート、自分で設定したUserID,Pas…

Yesodのインストールと立ち上げ

Amazon Linux AMI 2013.09.2にて試してみました。 嵌ったところ ec2-userでhaskellやYesodをインストールしましたが、permissionエラーになる箇所があり(具体的な場所は忘れてしまいました)、ルートユーザでインストールした方が良さそうです。 [ec2-user@…

AWSにhaskell環境構築

Haskell開発環境構築 vimでコーディングがしやすいようにプラグインを入れてみる。毎度のことながら嵌りましたねぇ。 感想などなど cabal等を使っているものの、各種モジュールの依存関係で手こずる。 各種インストールはblog等のweb情報を参考にしつつも、…

Amazon Linux AMI にhaskellインストール

haskellのライブラリをいろいろインストールして試行錯誤したいと思ったので、wasのEC2上にHaskellをインストールしました。ただ、インストール自体で試行錯誤しました。。cabelがインストールできず成功はしてないとおもいますが、とりあえず動きました。た…

Data.ListのByつき関数

Data.ListにはByつき関数がありますが、ないものとあるものを並べてみました。対応関係としては、 Eq a が a -> a -> Bool Ord a が a -> a -> Ordering となっています。 関数 型 Byつき関数 型 nub Eq a => [a] -> [a] nubBy (a -> a -> Bool) -> [a] -> […

Windows Server2012でJava

aws

まぁ、それってどうよ、って感じですが、それはそれとして、練習ということでやってみました。インスタンスを作成します。 Management ConsoleよりEC2選択 Launch Instanceボタン Quick Start Tab Microsoft Windows Server 2012 Baseを選択(free tierのやつ…

課金されたら通知する設定

aws

各種通知の設定はCloud Watchで行うみたいですね。その中に、金額に関する通知設定ができるようです。Tokyouリージョンで課金に関わる通知設定をしようと思ってしまい、嵌りました。 Management Console Cloud Watch 右側のメニューよりAlarm リージョンをVe…

EBSのバックアップリストアの練習

aws

注意というほどでもないですが、下記についてウッカリしないようにします。 volumeをdetachするときは、unmountを忘れずに。 snapshotからvolumeを作った場合、attache後にdfすると悲しいことになる。snapshotを取っているのでもともとformatされている。 EB…

EBSの練習

aws

Management Console上でボリュームを作った後の話です。 無理矢理Detacheするのはやめましょう。。アタッチされていることの確認をしたが、dev/s*配下には見つからず。なんで? bitnami@ip-XXX-XX-XX-XX:/$ sudo ls -l /dev/s* lrwxrwxrwx 1 root root 8 Mar…

MySQLでの従業員サンプルデータベース導入

MySQLでの従業員サンプルデータベース導入でまとまった情報がなかったので作成してみました。 情報源 https://dev.mysql.com/doc/employee/en/index.html ファイル入手先 https://launchpad.net/test-db/ サンプルデータベースのスクリプトをダウンロードす…

AWS事始め

aws

AWSを始めるにあたり下記サイトを参考にさせていただきました。 AWSの無料枠について http://fanblogs.jp/kagayakibito/archive/105/0 アカウント作成、EC2インスタンス作成、Apacheインストール http://liginc.co.jp/web/programming/server/39969 yumにつ…

Haskellのコードを左から読むとき右から読むとき

-- 合成関数の場合、右から読む。 Prelude> ( (+1) . (*3) ) 4 13 Prelude> -- Control.Arrowを使ってみる -- >>>は左から読む。シェルのパイプをつなげるように。 Prelude> :m Control.Arrow Prelude Control.Arrow> ( (+1) >>> (*3) ) 4 15 -- <<<は右から…

Haskellでの集合演算は簡単だけどpreludeの場合少し嵌る

http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-List.html の "Set" operations を参照しました。 -- 和 Prelude> Data.List.union [1,2,3] [3,4,5] [1,2,3,4,5] -- 積 Prelude> Data.List.intersect [1,2,3] [3,4,5] [3] -- 差 Prelude> Data.…

99 questions/Solutions/31の回答の作り方(よくない例)

試行錯誤の履歴です。もっとうまい試行錯誤の方法があるはず。。 -- 2から10までの配列を作る Prelude> ( \x -> [2..x] ) 10 [2,3,4,5,6,7,8,9,10] -- 作った配列に対して、なんらかの関数を適用してみる。 -- filterを使うつもりだが、まずは結果が分かりや…

再帰でのletとinが読み熟せない

99 problems 20より別解として下記が示されていました。 removeAt :: Int -> [a] -> (Maybe a, [a]) removeAt _ [] = (Nothing, []) removeAt 1 (x:xs) = (Just x, xs) removeAt k (x:xs) = let (a, r) = removeAt (k - 1) xs in (a, x:r) 再帰しているので…

Haskellの2種類の割り算

-- 割り算結果は小数部分込み Prelude> 7 / 2 3.5 Prelude> :t 7 / 2 7 / 2 :: Fractional a => a --割り算結果は整数扱い Prelude> 7 `div` 2 3 Prelude> :t 7 `div` 2 7 `div` 2 :: Integral a => a -- drop の第一引数の型は int のため下記はエラーとな…

haskellの型推論わからん

99 problemsのquestion 9の回答をみたら、span関数がありました。http://www.haskell.org/hoogle/?hoogle=span Prelude> :t span span :: (a -> Bool) -> [a] -> ([a], [a]) 第一引数は関数なので、適当にidを渡してみたところ、こうなりました。 Prelude> :…

関数適用は最優先 (99 questions problem 8 より)

回答は、下記なのですが、理解に苦しみました。 compress :: Eq a => [a] -> [a] compress = map head . group mapを使ってリストの要素に対してhead . group をする意味が分かりませんでした。 map head . group [1,1,2,2,3] とあったときにリストの要素0番…

モナドが消える

99 questions の6問目の別解が難しい。 Prelude> Control.Monad.liftM2 (==) id reverse [1,2,3,2,1] True Prelude> Control.Monad.liftM2 (==) id reverse [1,2,3,2,4] False Prelude> となっています。次のように型を確認すると、 (1) Prelude> :t Control…