のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

2014-07-01から1ヶ月間の記事一覧

C++11 Tuple

C++

皆さんこんにちは お元気ですか。私は元気です。さて、今日はC++11のTupleと呼ばれる機能について つまるところこれです。 tuple<int, string, double> tupleValue = make_tuple(10, "test", 9.7); 要は複数のクラスや型のコンテナを生成できます。 今までだと上記のは pair >と記</int,>…

SSHの鍵認証を使ったリモートログインの方法

皆さんこんにちは お元気ですか。私は元気です。さて、今日はsshについて sshにて鍵を利用することでパスワードが不要なログインを可能とします。 まずは、鍵を生成します。 ssh-keygen -f sakura Generating public/private rsa key pair. Enter passphrase…

混合ガウスモデルをC++で実装した(Gaussian Mixture Model)

皆さんこんにちは お元気ですか。私は元気です。今回は混合ガウスモデルと呼ばれるクラスタリング手法を解説したいと思います。まず手順ですが、今回は 1.負担率の計算 2.クラスタのパラメータの更新①負担率の計算 あるデータのラベルが出る確率というの…

【ネタ】アッカーマン関数によるプログラミング言語最速決定戦?

皆さんこんにちは おげんきですか?私はげんきです。本日は最速決定戦やります。いやはやC++がはええええとかいいつつ 他の言語どうだっけなんて思う常日頃です。 エントリー 6つの言語で行いました C++,Java,PHP,Python,Ruby,Javascript 種目 アッカーマン…

10000人以上の人が…

皆さんこんにちは お元気ですか?私は元気です。実は最近ですね。遂にはてなブログの解析カウンタがですね。なんと合計1万を突破しました。ブログを開始してから六ヶ月ぐらいかかっています。昔は本当に見てくださる方も少ないような印象でしたが、段々見て…

Boost::Date 日付管理を行うライブラリ

皆さんこんにちは お元気ですか。私は元気です。さて、今日はBoostの中にある日付管理のライブラリを解説します。現在の日付を表示したり、間の日付を計算したり日付に関する処理を行うことができます。 コンパイルオプション g++ date.cpp -lboost_date_tim…

Homebrew で mongodbをインストール

皆さんこんにちは お元気ですか。私は元気です。本日はMongoDBと呼ばれるデータベースをインストールしてみます。 What is mongoDB RDBMS(リレーショナル・データベース)ではなく、NoSQL型のデータベースである。Documentと呼ばれる形式で管理します。 詳…

Boost Thread(1) マルチスレッドに挑戦してみよう

皆さんこんにちは お元気ですか?やりたいこと、やることが増えすぎて困ってるけど、まぁなんとかなるでしょう。実は以前、C++11でのThreadを紹介させて頂きました。 今回はBoostを使ったMultiThreadを紹介したいと思います。因みにこのライブラリOSが変わっ…

もうこわくないエラーに引っかかった時の対処法のすすめ

皆さんこんにちは お元気ですか。私は腹痛です。エラーはコーディングしている時、環境設定している時、様々ありますね。 さすがにライブラリとかまで使っていると、もう見てられないぐらいコードやエラーの可能性が膨れ上がっています。そこで、私の解決方…

Boost::Timer 時間計測に使う

皆さんこんにちは お元気ですか。私は元気です。今日はBoost::Timerについて C++ではc_clockを使うことで時間を計測することができます。 しかし、 Timer 通常の使い方 #include <iostream> #include <cmath> #include <string> #include <boost/timer/timer.hpp> using namespace std; int main(int argc, ch</boost/timer/timer.hpp></string></cmath></iostream>…

Boost::Property_tree XML解析

皆さんこんにちは お元気ですか。私は元気です。さて、今日はXMLの解析並びに記述を行いたいと思います。 もれなく、boostに解析するライブラリがあります。 XML Parse 解析用XMLファイル <root> <person> <name>山田太郎</name> <address>東京都文京区</address> <gender>漢</gender> <age>42</age> </person> <person> <name>山田花子</name> <address>兵庫県神戸市</address> </person></root>

Boost Graph(1) グラフの表示をしてみましょう!

皆さんこんにちは お元気ですか。私は元気です。さて、今日はBoost Graphについて解説したいと思います。 このグラフはあれですよ、ほら有向グラフとかのグラフで折れ線グラフとかではありません。 グラフを構築する #include <fstream> #include <vector> #include <string> #include <boost/graph/adjacency_list.hpp></boost/graph/adjacency_list.hpp></string></vector></fstream>…

C++11 Enum Class

C++

皆さんこんにちは お元気ですか。私は元気です。さて、今日はC++11にあるEnum Classについて解説したいと思います。 enum class Number{ ONE, TWO, THREE, FOUR }; C++にて実装されているenumと比較して classを入れることで実現ができていますね。 使い方は…

よく利用されるデータ構造!(CSV,YAML,JSON,XML)

皆さんこんにちは お元気ですか。私は元気です。今日はデータ構造のお話を書こうと思います。 皆さんどんなデータ構造を利用していますか?csv?、json、yaml?、xml?まぁ色々ありますよね! CSV(comma-separated values) Excelを使っている時に時々見る形式…

C++11 に新たな乱数生成ライブラリ!?

C++

皆さんこんにちは お元気ですか。私は元気です。さて、今日は乱数についてC++11では新たに乱数を生成するライブラリが追加されています。 一様分布を作るとき、以前まで線形合同法で作成されていたのが、このライブラリではメルセンヌ・ツイスターなど選択が…

もう怖くないPythonの順番変更

皆さんこんにちは お元気ですか。私は元気です。 なんかLineのネタ記事が大盛況…少々驚きです。さて、本日はPythonのsortedメソッドについて 皆さん、listの内容の順番を並び替えたいこと、ありませんか?そんな時にこの関数を利用して、順番を変更すること…

C++11 thread(2) mutex。さぁレッツマルチスレッド!

C++

皆さんこんにちは お元気ですか?私は元気です。さて、今回はmutexで使うlockについてまずはこのプログラムを動かしてみましょう。 mutex_lock mutexとは 複数のスレッドで動作させるときに 他に影響を与えたくない場合にロックをかけ、侵入できるスレッドを…

【ネタ】WebMoneyくれくれ詐欺【Line乗っ取り】

皆さんこんにちは お元気ですか。私は元気です。いやね、ほら、Lineでなんかきたなーと思ったら、 なんか怪しげなWebMoney買ってほしいという内容ではないですか。んで調べてみた。 WebMoney詐欺とは LINEでの不正ログインをされ、そこからWebMoney買ってく…

Boost::ublas(4) 逆行列と行列式

皆さんこんにちは お元気ですか。私は元気です。久々にublasのネタですね。 ところで、boost::ublasで逆行列と行列式を求めたいことありませんか?そこで、ライブラリを探すのですが…実は逆行列と行列式は存在しません。 要はつまり、実装しろと…しかし、逆…

graphvizとdoxygenでC++ソースコード解析

C++

皆さんこんにちは お元気ですか?私はげんきです。今日はコード解析について取り組みたいと思います。 人のソースコードって結構読むの面倒ではないでしょうか?なんか纏めてある書類とかあれば楽なのになぁとか思うことは多々あります。そんな貴方へ贈る今…

HomebrewのPermission denied

皆さんこんにちは お元気ですか?私はげんきです久々にHomebrewのエラーに悩まされました。 皆さん以下のようなエラーになったことはありませんか? (やってることはbrew linkです。) brew link doxygen Linking /usr/local/Cellar/doxygen/1.8.6... Warnin…

C++で素数を求めよう(エラトステネスの篩)

皆さんこんにちは お元気ですか。さて、本日は素数を求めてみます。素数とかいう不思議な値がこの世には有ります。普段の生活において何に使うのかよくわかりませんが、プログラミングのコンテストとかで素数を利用した解き方もあるようです。 素数の特徴 計…

DesignPattern Proxy(代理人ですね)

皆さんこんにちは お元気ですか。私は元気です。さて、今日はDesignPatternのProxyについて Proxy まぁ何やってても良く聞くワードですが、代理人という意味が篭っています。 自分がない部分の処理を他に移譲します。 無駄にクラスを拡張するなという意味も…

C++11 thread(1)普通に使う(引数とか)

C++

皆さんこんにちは お元気ですか。私はげんきです。さて、今日はC++11に搭載されたthreadについて これが便利なところはOSによって処理を行う関数が異なっていたのを threadライブラリが賄ってくれるという素晴らしきかな。 普通に使う #include <iostream> #include <thread> u</thread></iostream>…

MySQL Table生成のコマンドを纏めます!

皆さんこんにちは お元気ですか。私は元気かも。うまいコーヒーは最高だ。さて、今日はTableについて、特にテーブルについてまとめてみようと思います。 Table生成について テーブル生成について 以下の例に基づいて考えてみましょう。 CREATE TABLE IF NOT …

初めてプログラミングをするにあたってこれだけ覚えておけば大丈夫な構文まとめ・6選

皆さんこんにちは お元気ですか。私は元気です。さて、今回はプログラミングって難しいんじゃないの? でも、これだけ覚えられれば大丈夫ってところを説明しようと思います。プログラミングってそんなに難しいことでしょうか? いや、そんなことはない。結構…

MySQL Databaseの操作方法

皆さんこんにちは お元気ですか?今日はDatabaseを操作することについて試してみようと思います! データベース 基本的に各アプリケーションで一つのデータベースを作ることが多いですね。 データベースを使ってから内部でテーブルを構成します。 データベー…

音声認識 Juliusのインストール(OSX:10.9 Marvericks)

皆さんこんにちは お元気ですか。音声認識やってみたいなーなんて思い Juliusをインストールしてみました。結構手間かかりました…。 portaudioのインストール wget http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz tar -xzf pa_stable_v19_20…

C++(C) 意外に知らないconst修飾子の使い方

C++

皆さんこんにちは お元気ですか。私は眠いです。さて、今日はconst修飾子の使い方です。 constとは 基本的に内容を書き換えることができないものにつけくわえる修飾子(Javaでいうfinal) なぜこんなのが必要なのでしょうか?変数の値を保証したい時に使いま…

PyQt ボタンクリックによるイベント動作

皆さんこんにちは お元気ですか?私は普通に生きています。さて、今日はPyQtにてボタンクリックによる動作を実行したいと思います。まずはサンプルコードを御覧ください。 #coding:utf-8 import PyQt4.QtCore as QtCore import PyQt4.QtGui as QtGui import …