2012-11-01から1ヶ月間の記事一覧

Webサイト作った

http://uhiaha888.com/まだ何も無いですが。なんしか、作成に必要だったほとんどの知識はドットインストールから学べたのが驚きでした。

Windowsで使えるタイル型ウィンドウマネージャPython Window Tiler

Linuxを使っているときはxmonadを使っていますが、"Windowsにはタイル型ウィンドウマネージャはないよ!"っていう情報をどっかでみたのを鵜呑みにして"そっかーないのかー"と思ってしゃーなしでそのまま使っていましたが、昨日使えそうなものを見つけたので…

STLをいろいろ使ってみようと思います 第5回 algorithm(2)

今回はalgorithmの2回目です。 今日のサンプルで使ってるメソッドはどれも使ったこと無かったです。 普段の開発で、"あれ?これが出来る関数がalgorithmに入ってたはずだ!"ってなることが目標なので、この調子でどんどんやっていけたら良いですね。 #inclu…

STLをいろいろ使ってみようと思います 第4回 algorithm(1)

今回からalgorithmを数回に分けてやっていきたいと思います。個人的にはfor_eachとラムダ式の組合せが大好きで、結構良く使うのですがsearchとかsort以外はそんなに使ったことがないのでいろいろ試していきたいと思います。 #include <iostream> #include <algorithm> #include <vector> #</vector></algorithm></iostream>…

STLをいろいろ使ってみようと思います 第3回 list

今回はlistです。 #include <iostream> #include <list> int main() { std::list<int> l; // vector同様push_back()で要素を追加できる l.push_back(1); l.push_back(2); // push_front()でも追加可能 l.push_front(3); l.push_front(4); std::cout << "要素を追加" << std::endl;</int></list></iostream>…

STLをいろいろ使ってみようと思います 第2回 vector(2)

今日もvectorです。 #include <iostream> #include <vector> int main() { std::vector<int> v; for(int i = 0; i < 5; ++i) v.push_back(i); v.erase(v.begin() + 1); // 先頭の次の要素を削除する std::cout << "先頭の次を削除" << std::endl; for(std::vector<int>::iterator it = v.</int></int></vector></iostream>…

STLをいろいろ使ってみようと思います 第1回 vector(1)

第一回はvectorを取り上げたいと思います。まずは基本的な使い方。 #include <iostream> #include <vector> int main() { std::vector<int> v; v.push_back(1); // push_backで要素を末尾に追加 v.push_back(2); v.push_back(3); std::cout << std::endl << "イテレータでアクセス" <</int></vector></iostream>…

STLをいろいろ使ってみようと思います 第0回 はじめに

前回のデザインパターン企画で、毎日少しずつでもなんか書くってのはいいなぁと思ったので続けます。今日からはSTLの簡単なサンプルを書いて使い方を学んでいこうとおもいます。普段vectorや一部のalgorithmの関数は使ったりしますが、"list? deque? よくわ…

C++でデザインパターンを実装していこうよ 第23回 Iteratorパターン

ついに今回でこの企画も最後ですね。最後はIteratorパターンです。なんか理由があってIteratorを最後に持ってきたかというと、そういうわけでもなくて、ないわけでもなくて、、、というのは、IteratorパターンをC++で実装したところでほぼ意味が無いというか…

C++でデザインパターンを実装していこうよ 第22回 Interpreterパターン

興味深くはあるし、学んでよかったとは思うけれど…。自分が個人的に作るソフトに拡張用のスクリプト的なのをつけようとしたら、 http://code.google.com/p/chibi-scheme/ この辺のありもんを使えないかってまず考えるし、 自分でちゃんと作るならもっといろ…

C++でデザインパターンを実装していこうよ 第21回 Commandパターン

コマンドパターンです。アンドゥリドゥにつかえます。というか、呼び出し時と別のタイミングで必要なパラメタを渡しておけて、使うときは何も知らんでもExecute()を呼び出せばオブジェクト側で良い感じに実行してくれるってのがいいってはなしですね。http:/…

C++でデザインパターンを実装していこうよ 第20回 Proxyパターン

今回はProxyパターンです。今回のサンプルだとなんもメリットが無い感じですね。なんしか一枚皮をかぶせることによってオブジェクトの生成のタイミングを遅らせたり、アクセス権を設定したりとかいろいろできるよってことみたいです。汎用的な分抽象的ですが…

C++でデザインパターンを実装していこうよ 第19回 FlyWeightパターン

今回はFlyWeightパターンです。 とってもSingletonっぽいですね。ただ、一度生成したインスタンスをSingletonではインスタンスそのものがstaticとして持っていたのに対し、FlyWeightでは今回のサンプルだとCharacterFactoryがコレクションとして持っています…

C++でデザインパターンを実装していこうよ 第18回 Stateパターン

C#のコードだと.hと.cppに分けるみたいなことはないっぽいので、というかすくなくともサンプルコードではそういうことはないのでなんとなくそれっぽくC++で書いてきて、いままでほぼ問題なかったのでそのままだったんですが、今回はヘッダと分けたほうがよか…

C++でデザインパターンを実装していこうよ 第17回 Mementoパターン

オブジェクトの状態を保存する、ってやつですね。今回のサンプルで微妙なのはname_とかphone_とかがかぶっちゃってるところですね。今回の場合Mementoクラスがただのデータホルダクラスなんだから、SalesProspectクラスのメンバとしてMementoオブジェクトの…

C++でデザインパターンを実装していこうよ 第16回 Mediatorパターン

この企画の良い点は、あんまり考えなくてもコードをC++に書き直してるうちになんとなく"あーそういうことか"ってなるので、仕事が終わってから寝る前にビャってやってしまえる点です。良くない点はあんまり考えないし、わざわざいろいろ調べるほどには元気が…

C++でデザインパターンを実装していこうよ 第15回 ChainOfResponsibilityパターン

今回はChainOfResponsibilityパターンです。たらいまわし的なことでしょうか?まず、Approverクラスの子をSetSuccessor()メソッドで鎖状につなげます。そしたら、その鎖に対してひとつずつ引数として渡されたPurchaseオブジェクトを受け入れるか否かをProces…

C++でデザインパターンを実装していこうよ 第14回 Visitorパターン

今回は、Visitorパターンです。 初めて見たときは完全に"?"でしたが、今見ると少し面白いですね。訪問されるオブジェクト(例ではElementインタフェースの実装であるEmployeeとか)のコレクション(Employees)に、訪問するオブジェクト(IVisitorインタフェース…

C++でデザインパターンを実装していこうよ 第13回 Compositeパターン

今回はCompositeパターンです。要は、"フォルダはフォルダもファイルも一緒くたに格納できるよ"的なことですね。今回はPrimitiveElementは直線とか円とかの単純な図形で、CompositeElementはそれらの単純な図形やそれを組み合わせたCompositeElementを組み合…