kanetaiの二次記憶装置

プログラミングに関するやってみた、調べた系のものをQitaに移して、それ以外をはてブでやる運用にしようと思います。http://qiita.com/kanetai

C++

swiftで外部コマンド実行

qiita.com に移動 頭に#!/usr/bin/swiftって書いておくと chmod a+x hoge.swift ./hoge.swift #swift hoge.swiftでも起動できる って感じでスクリプトみたいに起動できることを知ったので、勉強がてら手元にあるperlスクリプトをswift翻訳してた。 その際の…

UUID生成方法

リポジトリ S/D Appで使う機会があったので調べました UUID (Universally Unique Identifier) 全世界でIDが重複しない程度に桁数が大きい(通り) App•サービスごとに都度発行 Appを削除してから再取得すると異なる値が発行される。 各App間で発行されるUUIDに…

rand, arc4random, random

C++での乱数の使い方をまとめとく。 rand, srand Cの標準ライブラリを使う方法。srandでシードを設定して、randで 0以上, RAND_MAX以下の整数乱数を発生させる。 良くやるのはの time_t time(time_t *timer); を使うやり方。引数のtimerには戻り値と同じ現在…

Boost.Random

Chapter 21. Boost.Random - 1.51.0 様々な分布の乱数の生成できる。 C言語標準のrand, srandはグローバル関数となっているが、 Boost Randomでは乱数計算はvariate_generatorオブジェクトでまとまっていている。 C+11で、randomが使えるようになったが、Boo…

xcodeでC++11とかboostを使う

C++11 デフォだとC++11が使えるようになっていないが、Build Settingsで切り替えられるみたい(参考) 割と簡単だった。 [Build Settings]を開いて、[All]にスイッチする(多分始めは[Basic]になっている) [Build Options]のセクションでコンパイラを[Apple LLV…

Boost.Format

The Boost Format library - 1.47.0 型、引数の数安全なprintf的なもの 名前空間/ヘッダ boost ※一部boost::io空間 #include <boost/format.hpp> basic_format class 以下のようにtypedefされてる typedef basic_format<char> format; typedef basic_format<w_char> wformat; 使い方1(基本) b</w_char></char></boost/format.hpp>…

C++でsplit

C++

間違って消したので復旧 競技プログラミングでは基本的にboostは使えないのでsplitを作った 〜mysplit〜 istringstreamとback_inserter利用 ホワイトスペースでsplit std::vector< std::string > mysplit(const std::string &str) { std::istringstream iss(…

Shift-JIS

C++

Boost.Tokenizer Function Conceptの練習用にShift-JIS文字の切り出しをしたときのついでに、作ったやつ。 簡単にShift-JIS文字列を1文字毎に分割する 日本語文字コードを見て作った。 ※正しいShift-JIS文字列が入力されているかはチェックしてないので注意 …

lexical_cast

lexical_cast - 1.47.0 atoi,atof,sprintf,sscanf, etc.を使わずに、文字列int,double, etc. の変換ができる。 C++11でstd::to_string()が使えるようになったので、使用頻度は減りますが、 lexical_castはoperator >を定義しときゃ使えるので、std::complex…

Boost.Foreach

Chapter 7. Boost.Foreach - 1.47.0 マクロで定義されたforeach。 (C+11でRange-based for loopがサポートされたので必要なくなっちゃいましたね) 配列、STLコンテナ、std::pairイテレータ、Null-terminated string(char and wchar_t)を回せる。 ※ただし、マ…

progress_display

Boost Timer Documentation - 1.46.0 deprecatedだと...知らんな.mylibに保存した 名前空間/ヘッダ boost #include <boost/progress.hpp> コンストラクタ 使用例見りゃだいたいわかる progress_display(unsigned long expected_count, std::ostream & os = std::cout, const std:</boost/progress.hpp>…

Boostインストールメモ(Visual Studio 2010)

Visual Studio を 2010にしたとき、いろいろ迷ったのでメモ。 ダウンロード、ビルド Boost C++ Librariesを落として、解凍(/lib/に解凍することにした)。 [スタートメニュー]->[すべてのプログラム]->[Microsoft Visual Studio 2010]->[Visual Studio Tools]…

Boost String Algorithms Library

Boost String Algorithms Library ちょっとづつ更新 名前空間/ヘッダ boost::algorithm 長いのでbaと記述する #include<boost/algorithm/string.hpp> namespace ba = boost::algorithm; ba::split(&Result, &Input, Pred, eCompress = token_compress_off) Pred(セパレータ)の文字で、文</boost/algorithm/string.hpp>…

Boost.Tokenizer

Boost.Tokenizer C++でsplitを使いたいときに使う。 Boost String algorithms Libraryのほうでもいいかな。 w_charとかも使えるっぽい。 分割関数を定義すれば、マルチバイトでも使えそう。 名前空間/ヘッダ boost #include<boost/tokenizer.hpp> boost::char_separator セパレー</boost/tokenizer.hpp>…

UTF-8

C++

C++でUTF-8を扱うときに作ったもの。 UTF-8文字列を一文字単位に分割する UTF-8文字の2バイト目以降は10で始まる。 →0xC0(11000000)でマスキングして0x80(10000000)になってたら2バイト目以降 ※入力された文字列が正しいUTF-8文字列になっているかどうかはチ…

リンク

Wikipedia 数学 数学のいろいろ私の備忘録 tex 物理、プログラミング, etchttp://moondial0.net/archives/www12.plala.or.jp/ksp/ LaTeXコマンドシート一覧 tex,matlab,gnuplot,etc.move @KUMAZAWA Yoshiki C++ 日記2012-02-26 - 思うだけで学ばない日記 リ…

MeCab

C++

MeCab (和布蕪) オープンソースの形態素解析エンジン。条件付き確率場(CRF: Conditional Random Fields)でパラメータ推定されており、比較的高速な形態素解析が可能。MeCab導入の際、参考にしたページのリンクを貼っておく。 MeCab: Yet Another Part-of-Spe…

Boost.Program_options

Boost.Program_options Boost C++をチューンアップする最先端ライブラリの序章で、紹介されていて、便利そうなので使ってみた。コマンドライン引数やコンフィギュレーションファイルから取得し、プログラムの設定オプションを簡単に設定できる。(Cなら非標準…

Boost

Boost C++をチューンアップする最先端ライブラリを買ってみた。ピアソン・エデュケーションの書籍はやっぱり高いなあ。まだ、Boostの紹介のところしか読んでいないが、かなり便利なものがそろっている様子。 この本で詳しく解説されているのはライブラリは12…