Masanari KIMURA のアーカイブ

Rustのチャネルを使用した並行処理

2016年11月28日

```rust use std::sync::{Arc, Mutex}; use std::thread; use std::sync::mpsc; fn main() { let data = Arc::new(Mutex::new(0)); let (tx, rx) = mpsc::channel(); for _ in 0..10 { let (data, tx) = (data.clone(), tx
続きを読む

スタックでキューを作る

2016年11月16日

先日見かけて、面白かったのでメモ。 enque用、deque用のstackを2つ用意して実現できる。 ```c++ template class Queue { std::stack in, out; void enq(const T& v) { in.push(v); } T deq() { if (out.empty()) { if (in.empty()) throw "Empty";
続きを読む

C++ラムダ式

2016年11月9日

C++ではラムダ式を用いて、簡易的な関数オブジェクトの生成を行うことが出来る(C++11移行). ラムダ式の書式は ```c++ [](){} ``` となっている。順にキャプチャリスト、パラメータリスト、関数の本体が記述される。 ### 例 ```c++ auto func = [](int a, int b){ return a + b; }; int res = func(2, 3); //= res = 5 ``` また、
続きを読む

jujuを使ってjenkinsをインストール

2016年11月2日

# jujuのインストール ``` $ sudo apt-add-repository ppa:juju/stable $ sudo apt-get update $ sudo apt-get install juju-local ``` # 使用方法 ``` $ juju deploy jenkins $ juju deploy -n 5 jenkins-slave $ juju add-relation jenkins jenkins-sl
続きを読む

C++で三値論理

2016年10月19日

boost::triboolという真/偽/不定という三種の論理値を扱う型が存在します。 http://www.boost.org/doc/libs/1_59_0/doc/html/tribool.html ## 例 ### 初期化,代入,コピー ``` tribool b(true); b = false; b = indeterminate; tribool b2(b); ``` ### 条件 ``` triboo
続きを読む

C言語製深層学習フレームワークdarknet

2016年10月12日

[darknet](https://github.com/pjreddie/darknet) ##インストール方法 ``` $ git clone https://github.com/pjreddie/darknet.git $ cd darknet $ make $ ./darknet ``` くわしい使い方とかは[こちら](http://pjreddie.com/darknet/)
続きを読む

C++でベンチマーク

2016年10月5日

C++11から追加されているchronoを使用する. ###サンプルコード ``` #include #include using namespace std; int fanc(int n) { return n == 0 ? 1 : n * fanc(n-1); } int main() { auto start = chrono::system_clock::now(); int a = fanc
続きを読む

Rust用Facebook Messenger APIラッパー

2016年9月30日

[rmessenger(crates.io)](https://crates.io/crates/rmessenger) [rmessenger(github)](https://github.com/nocotan/rmessenger) ###使い方 Cargo.toml ```toml:Cargo.toml rmessenger = "0.0.3" ``` src/main.rs ```rust:src/main.rs exte
続きを読む

Pythonでベイジアンフィルタの実装

2016年9月20日

``` # -*- coding: utf-8 -*- """ベイジアンフィルタ実装.""" import math import sys class NaiveBayes(object): """単純ナイーブベイズクラス.""" def __init__(self): """コンストラクタ. @set() vocabularies @dict word_count @d
続きを読む

MySQLの型キャスト

2016年8月19日

MySQLではCast関数の第二引数には、普段使っている型名ではなく、Cast関数に用意された独自の型を使用する必要がある. - BINARY[(N)] - CHAR[(N)] - DATE - DATETIME - DECIMAL - SIGNED [INTEGER] - TIME - UNSIGNED [INTEGER]
続きを読む

いろいろなC++コーディングテクニック

2016年8月17日

なんか簡潔にかけて、すぐ使えそうな奴。 思いつくぶん抜粋。 文字列末尾削除 ``` string s = "abc"; s.erase(--s.end()); ``` char型からint型に変換して演算 文字コードを利用したもの。'0'は48番に当てられているため、'0'で引き算すると元の数字に戻る ``` char c = '5'; int num = c - '0'; cout
続きを読む

ブラウザでJavaScriptの動作を確かめられるjsfiddle

2016年8月15日

ブラウザ上でHTML,CSS,JavaScriptを書いて動作を確認できるエディタです。   動作確認ならchromeコンソールやfirebugでもできますが、これを使うと、各ライブラリやフレームワークを指定して書き始められたり、 保存できたり、ウェブページに埋め込んだりできます。 その他、他の人のコードをフォークしたり、自分のコードを成形できたりします。 jsfiddle(https://jsfiddle.net/)
続きを読む

linuxでもpbcopy

2016年7月27日

Macの```pbcopy```の代わりにLinuxには```xsel```コマンドがあります. ``` $ cat hoge | xsel --input --clipboard ```
続きを読む

Eclipse補完ショートカット

2016年7月20日

```command+2 l```で左辺補完。 便利。
続きを読む

C++で並列プログラミング

2016年7月6日

並列プログラミングライブラリ(PPL)のうち、今回は簡単な並列forループであるTParallel.Forを使ってみます。 素数かどうか調べる関数 ``` bool IsPrime(int N){ bool aPrime=true; for (int Test=2; Test < N-1; Test++) { if(N % Test == 0){ aPrime = false; break; } } return aPri
続きを読む

Eclipseで変数の中身確認

2016年7月1日

ブレークポイントで止めた状態で 確認したい変数を範囲選択->右クリック->インスペクタ 便利。
続きを読む

分散トレーシングシステムZipkin

2016年6月29日

[Zipkin](https://github.com/openzipkin/zipkin) > Zipkin とは >分散環境における各サービスの呼び出し状況を収集・可視化できるシステムです。 >文字だけだとよくわかりませんが、サービス間の呼び出しをこんな感じで可視化できるサービスです。 >[Zipkinを導入してみた(サーバー編)](http://nextdeveloper.hatenablog.com/entry/2016/06/28/180839)
続きを読む

ncコマンド

2016年6月17日

>ncコマンドはtcpまたはudpにてネットワーク通信を行うためのユーティリティで、通信状態の確認やポートスキャンなどに使用できます。またクライアントとしての使い方のほかにリッスンモードにて起動することにより、デーモンサービスとしても使用できる http://www.ksknet.net/linux/nc_netcat.html - TCPサーバとして動作 ```nc -l -p 8888``` - TCPクライアントとして動作 ```echo
続きを読む

【chppl】ヘッダオンリライブラリ管理ツール

2016年6月15日

つくりました。 C/C++でヘッダオンリライブラリを管理できます。 https://github.com/nocotan/chppl-tool http://qiita.com/noco/items/4e4ca6c6abac99d19619 ##依存パッケージインストール ``` $ sudo apt-get install subversion subversion-tools postgresql postgresql-server-d
続きを読む

vimでEvernoteのファイルを編集できるプラグイン

2016年6月10日

[evervim](https://github.com/kakkyz81/evervim) vimでEvernoteのファイルにアクセスできます。 Evernoteをマークダウンで書けるのはめちゃくちゃうれしいです。
続きを読む