Y's note

Perlの多次元連想配列をJSONエンコードする方法

[Perl] : Perlの多次元連想配列をJSONエンコードする方法 初めてのPerl 第5版 作者: Randal L. Schwartz,Tom Phoenix,brian d foy,近藤嘉雪出版社/メーカー: オライリージャパン発売日: 2009/10/26メディア: 大型本購入: 22人 クリック: 293回この商品を含むブログ (41件) を見る はじめに 業務でPerlを使う事になったので少しずつ学習した事を書いて行きます。この記事での目的は連想配列を多次元で定義して、その配列をjson_encodeします。 超簡単 Perl一問一答学習帳 - Yuta.Kikuchiの日記 配列 定義 配列の定義には@を使います。@は配列を示す宣言ですが、定義の仕方は色々とあります。以下では()括弧、添字、qw演算子での指定について書きます。qw演算子とは空白での区切りでlistにしてくれるものです。 #!/usr/local/bin/perl -w use strict; use warnings; # @を使う my @sample = ( 'a', 'b', 'c' ); # $を使う my @sample2; $sample2[0] = 'a'; $sample2[1] = 'b'; $sample2[2] = 'c'; # qwを使う my @sample3 = qw/a b c/; 取得 各要素を取得するにはfor,foreach,whileなどの繰り返し文が使えます。Perlの特徴的な記述とし$#配列名とすると配列の最後の添字番号を取得する事が出来ます。またforeachで括弧に@配列を入れると自動的に$_に要素を展開してくれます。スゴい事にPerlは繰り返しを使わなくても全要素を表示する事ができます。print @配列名またはprint "

魔法少女まどか☆マギカN-Gram

[機械学習] : 魔法少女まどか☆マギカN-Gram 小説 魔法少女まどか☆マギカ (まんがタイムKRノベルス) 作者: 原作:Magica Quartet,文:一肇(ニトロプラス),イラスト:蒼樹うめ・シャフト出版社/メーカー: 芳文社発売日: 2012/05/08メディア: 単行本(ソフトカバー)購入: 1人 クリック: 78回この商品を含むブログ (14件) を見る まどマギN-Gram抽出 魔法少女まどか☆マギカのN-Gramを抽出したデータを記載します。目的はテキスト機械学習用のデータ抽出です。N=3〜7で試してみました。台詞のデータは以下のサイトをPythonでスクレイプ、N-Gramの解析にはC++で行いました。 魔法少女まどか☆マギカ WIKI - トップページ まどマギ台詞 台詞をスクレイピングするプログラムを記載します。プログラムをmadmagi_scrape.pyとして保存します。Pythonプログラムを実行するとmadmagi.txtというファイルができるので中身を確認します。 #!/usr/bin/env python # -*- coding: utf-8 -*- import sys,re,urllib,urllib2 urls = ( 'http://www22.atwiki.jp/madoka-magica/pages/170.html', 'http://www22.atwiki.jp/madoka-magica/pages/175.html', 'http://www22.atwiki.jp/madoka-magica/pages/179.html', 'http://www22.atwiki.jp/madoka-magica/pages/180.html', 'http://www22.atwiki.jp/madoka-magica/pages/200.html', 'http://www22.atwiki.jp/madoka-magica/pages/247.html', 'http://www22.atwiki.jp/madoka-magica/pages/244.html', 'http://www22.atwiki.jp/madoka-magica/pages/249.html', 'http://www22.atwiki.jp/madoka-magica/pages/250.html', 'http://www22.atwiki.jp/madoka-magica/pages/252.html', 'http://www22.atwiki.jp/madoka-magica/pages/241.html', 'http://www22.atwiki.jp/madoka-magica/pages/254.html' ) f = open( './madmagi.txt', 'w' ) opener = urllib2.build_opener() ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.

Hadoop MapReduceのExamplesで分散grep、WordCount、randomwriter、sort、join、数独、円周率計算を試してみる

[Hadoop] : Hadoop MapReduceのExamplesで分散grep、WordCount、randomwriter、sort、join、数独、円周率計算を試してみる Hadoop徹底入門 作者: 太田一樹,下垣徹,山下真一,猿田浩輔,藤井達朗,濱野賢一朗出版社/メーカー: 翔泳社発売日: 2011/01/28メディア: 大型本購入: 14人 クリック: 668回この商品を含むブログ (43件) を見る Try この記事はHadoopのMapReduce examples.tarで以下の事を試した記録です。とても初歩的な事を書いています。 sudoku : 数独 Pi Estimator : 円周率計算 WordCount : 単語数カウント grep : 文字列検索 randomwriter : 文字列生成 sort : sorting join : データ結合 この記事では以下のサイトを参考にしました。中でもHadoop入門 IBMが一番詳しくて分かりやすいと思います。 Overview (Hadoop 0.20.2 API) FrontPage - Hadoop Wiki CDH3_Quick_Start_Guide_u3.pdf Hadoop入門 IBM また今までHadoopに関連した以下の記事を書きました。何かの参考にしていただければと思います。 CentOSでHadoopを使ってみる - Yuta.Kikuchiの日記 Hadoopをより便利に使う!HiveでのMapReduceまとめ - Yuta.Kikuchiの日記 「魔法少女まどか☆マギカ」の台詞をJavaScriptでMapReduceしてGoogle Chart APIでグラフ出力したよ! - Yuta.

Apache Mahout 機械学習Libraryを使って「魔法少女まどか☆マギカ」の台詞をテキストマイニングしてみた

[Hadoop] : Apache Mahout 機械学習Libraryを使って「魔法少女まどか☆マギカ」の台詞をテキストマイニングしてみた Mahout in Action 作者: Sean Owen,Robin Anil,Ted Dunning,Ellen Friedman出版社/メーカー: Manning Pubns Co発売日: 2011/10/28メディア: ペーパーバック購入: 4人 クリック: 81回この商品を含むブログ (10件) を見る Index Information & Links Apache Mahout Abouc Apache Mahout Mahout has machine learning libraries Mahout Download / Setting Madmagi Words Scraping Word MA Mecab MA HDFS PUT Clustering Theory TF/IDF K-Means Canopy Clustering Word Vector Clustering Graph Display Required JAR Sample Graph Image Information & Links この記事は「魔法少女まどか☆マギカ」の台詞を機械学習によりClusteringした内容についての記録です。Clustering/Graph Image出力などの実験/検証が不十分であるため後日再挑戦しますができたところまで公開します。以下はこの記事で参考にしたリンクです。

C++最速マスター その4

[C++] : C++最速マスター その4 C++プログラミング入門 作者: グレゴリーサティア,ダウグブラウン,Gregory Satir,Doug Brown,望月康司,谷口功出版社/メーカー: オライリー・ジャパン発売日: 2001/11メディア: 単行本購入: 9人 クリック: 147回この商品を含むブログ (29件) を見る Index inline iterator reverse_iterator const_iterator pair cast static_cast dynamic_cast const_cast reinterpret_cast Class Inner Class Local Class Annonymous Class etc size_t inline inlineは関数に付ける修飾子です。inline void echoError() {}のように設定すると関数をインライン展開します。インライン展開は呼び出しもとにコードそのものを埋め込んでしまうようなイメージです。これにより関数呼び出し処理の時間削減を行います。inlineはサイズの大きい関数またアドレス取得するような関数には適用ができません。 #include using namespace std; // inline関数 inline int max( int x, int y ) { return ( x y ) ?

Javaを最速でマスターするための予備知識7項目

[Java] : Javaを最速でマスターするための予備知識7項目 Java: The Good Parts 作者: Jim Waldo,矢野勉,笹井崇司出版社/メーカー: オライリージャパン発売日: 2011/02/24メディア: 大型本購入: 3人 クリック: 148回この商品を含むブログ (36件) を見る index 1.Compile javac Making Jar 2.Class Relations Basic Class Nested Class Static Nested Class Inner Class Local Class Anonymous Class 3.NameSpace 4.Annotation 5.Generics 6.Extension for 7.Variable Arguments Links 1.Compile Javac JavaのCompileにはjavacを利用します。javacコマンドの実行により.javaなどのjavaソースファイルを.classファイルにコンパイルします。javacの使用についてはhelpが参考になるので内容を見てみます。 $ java -version java version "1.7.0_01" Java(TM) SE Runtime Environment (build 1.

C++最速マスター その3

[C++] : C++最速マスター その3 C++プログラミング入門 作者: グレゴリーサティア,ダウグブラウン,Gregory Satir,Doug Brown,望月康司,谷口功出版社/メーカー: オライリー・ジャパン発売日: 2001/11メディア: 単行本購入: 9人 クリック: 147回この商品を含むブログ (29件) を見る index Char Pointer String Function wide character / wstring atof/atoi/atol join/split character encoding conversion zen2han / han2zen kata2hira / hira2kata / latin2kata / latin2kata / kata2latin/ latin2hira / hira2latin Regex regcomp / regexec / regfree / regerror Char Pointer C++の場合string型を使ってしまいがちですが、標準関数がcharにしか対応していない(stringがNG)ことも多くcharの性質を理解しておきます。charは1文字を表す型で配列にすると文字列が表現できます。ポインタにはデータのアドレスが格納、ポインタ変数には配列の先頭アドレスが格納されるのでインクリメントしてアドレスの中身であるデータを取得します。char配列はint配列と性質が異なります。例えばint *pp = {1,2,3,4,5}; はコンパイルエラーになりますが、char *stp = "

C++最速マスター その2

[C++] : C++最速マスター その2 C++プログラミング入門 作者: グレゴリーサティア,ダウグブラウン,Gregory Satir,Doug Brown,望月康司,谷口功出版社/メーカー: オライリー・ジャパン発売日: 2001/11メディア: 単行本購入: 9人 クリック: 147回この商品を含むブログ (29件) を見る index 最速C++マスター その2です。今回内容としてまとめることは以下の通りです。 Const Static Template Template関数 Templateクラス Struct SmartPointer STL Container List Vecotr Map curl Const Constは変数を後から書き換えができないようにする制約修飾子です。Const変数に対して書き換えを行うプログラミングを書くとコンパイル時にread-onlyエラーがでます。Constを付けると誤ったプログラミングを防ぐだけでなく、コンパイラが最適化しやすくなるので出来る限りConstを付けても良い箇所は付けるようにすると良いと思います。Constは通常の変数だけでなく、ポインタ変数、関数の引数、メンバ関数にも適用可能です。 #include #include class Student { private : std::string name; int number; public : void setName( const std::string& name ); void setNumber( const int& number ); std::string getName() const; int getNumber() const; }; //Constructor Student::Student() { } //Destructor Student::~Student() { delete this; } // メンバ関数 引数をconstで定義 void Student::setName( const std::string& name ) { this-name = name; } // メンバ関数 引数をconstで定義 void Student::setNumber( const int& number ) { this-number = number; } // メンバ関数 メンバ関数もconstを指定できる std::string Student::getName() const { return this-name; } // メンバ関数 メンバ関数もconstを指定できる int Student::getNumber() const { return this-number; } int main(){ const int a = 1; // errorになる // a = 2; Student *student = new Student(); student-setName( "

C++最速マスター その1

[C++] : C++最速マスター その1 C++プログラミング入門 作者: グレゴリーサティア,ダウグブラウン,Gregory Satir,Doug Brown,望月康司,谷口功出版社/メーカー: オライリー・ジャパン発売日: 2001/11メディア: 単行本購入: 9人 クリック: 147回この商品を含むブログ (29件) を見る Index 業務でC++を使う事になったので少し勉強した内容をまとめておきます。内容をまとめるのに時間がかかりそうなので3回ぐらいの記事に分けてまとめたいと思います。今回の記事では以下を紹介します。 Compiler man options usage Hello World Address / Pointer Address / Pointer 値渡し / 参照渡し extern C Class Basic Class Constructor / Destructor Object Pointer Inheritance Singleton virtual function Link Compiler C言語のコンパイラはgccを利用しましたが、C++ではg++というコンパイラを利用します。基本的な使い方はgcc,g++ともに違いは無いようです。 man $ man g++ G++(1) GNU Tools G++(1) 名称 g++ - GNU プロジェクト C++ コンパイラ (v2.

Hadoop HDFS SHELL TIPS

[Hadoop] : Hadoop HDFS SHELL TIPS Hadoop Articles 今までHadoop関連で紹介した記事は以下のものです。それぞれMapReduceについては紹介したのですが、HDFSの操作については記述していなかったので今回まとめてみました。 CentOSでHadoopを使ってみる - Yuta.Kikuchiの日記 Hadoopをより便利に使う!HiveでのMapReduceまとめ - Yuta.Kikuchiの日記 「魔法少女まどか☆マギカ」の台詞をJavaScriptでMapReduceしてGoogle Chart APIでグラフ出力したよ! - Yuta.Kikuchiの日記 HDFS SHELL HDFS File System Shell Guide cat chgrp chmod chown copyFromLocal copyToLocal count cp du dus expunge get getmerge ls lsr mkdir moveFromLocal moveToLocal mv put rm rmr setrep stat tail test text touchz OverViews The FileSystem (FS) shell is invoked by bin/hadoop fs .