2012-01-01から1年間の記事一覧
"オブジェクト指向のこころ"をはじめて読んだとき、Bridgeパターンで一度挫折しかけました。「実装から抽象的側面を切り出して、それらを独立して変更できるようにする」"オブジェクト指向のこころ"では、[抽象的側面]がShapeクラス、[実装]がDrawingクラス…
"オブジェクト指向のこころ"で出てくる順番にとりあえず従って、今回はAdapterパターンです。今回も http://www.dofactory.com/Patterns/PatternAdapter.aspx#_self2 をC++に移植していきましょう。https://github.com/TakahashiShuuhei/DesignPatternPracti…
Wikipediaによれば、 "関連するクラス群を使用するための手続きを、窓口となる一つのクラスに集約することにより、プログラムの冗長性を無くすことを目的とする。" http://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3ってことらしい…
デザインパターンの復習していきます。毎回1つのパターンを取り上げて、そのパターンを使えるお題を無理やりひねり出してそれをC++で実装して行こうと思います。 とおもったけど自分で無理やりひねり出すのはやめました。 思ってた以上に思いつかなかったの…
※ 20121001 追記 Googleデスクトップ検索でしたこんばんは。僕の勤めている会社では、自席からネットにアクセスできません。 ネット専用PCでアクセスして、データを部内サーバに一度保存して、それを自席からダウンロードするという糞システムです。糞システ…
"実践テスト駆動開発"超良いですね。ということで、C++で使える単体テストフレームワークであるGoogle testとモックフレームワークであるGoogle Mockを使える環境を整えましょうという話になりますね。Cygwin上で動かせるようになれば、あとはどこでも動かせ…
前回shared_ptrの使い方を適当に勉強したので、早速使ってみるぞーと思って使ってみたら"あれ?これどうすんだ?"ってことがあったのでそれらの確認をします。 constは? shared_ptrを引数で渡すにはとりあえずそのまま渡しても動きます #include "stdafx.h"…
タイトルのとおりです。 基本的な使用方法 まず基本的な使い方。 #include "stdafx.h" #include <memory> #include <iostream> class Hoge { public: Hoge(){} ~Hoge(){ std::cout << "Hogeのデストラクタだよ" << std::endl; } int number_; }; int _tmain(int argc, _TCHAR* </iostream></memory>…
C++をはじめてちょうど一年くらいです。 大分慣れてきた感はありますが、 未だに基本的な部分がちゃんと理解できてないようなバグをたまに出すので、 確認していきます。 ポインタ まず大前提として。 class Hoge { public: int member_; double value_; voi…
Git講座を見てからドットインストールさんのファンになったので結構な数の講義動画を拝見させていただきました。Web関係はからきしで、JavaScriptとかもほぼ触ったことないのですが、短時間で焦点を絞った勉強ができるのでとても重宝してます。ただ、やっぱ…
うちの会社で単体テストを誰も教えてくれません。でも、達人プログラマを読んでも、コードクラフトを読んでも、アジャイルソフトウェア開発の奥義を読んでも、リファクタリングを読んでも、コードコンプリートを読んでも、レガシーコード改善ガイドを読んで…
今、勉強のためにケント・ベックの"テスト駆動開発入門"を再読しております。本はJavaとPythonの例が載っているのですが、仕事でC++しか使っていないので、C++でそれらの例を書き直しながら読み進めております。そこで、わからないところがありました。Money…
僕の生活は、土日は 朝起きて、 朝ごはんを食べて、 息子と遊んで、 お昼ごはんを食べて、 息子と遊んで、 夕飯を食べて 寝るという素敵な生活なのですが、 平日は、 朝起きて、 糞みたいな仕事をして、 お昼ごはんを食べて、 糞みたいな仕事をして、 夕飯を…
いろいろ適当にしてるとこがありますが、とりあえず動くようになったので公開。https://github.com/TakahashiShuuhei/LauncherCtrl-Shift-F12で画面表示 ESC or Ctrl-Gで画面消去 Ctrl-Nで下へ Ctrl-Pで上へ Ctrl-M or Enterで選択みたいな感じです。ただ、…
GnomeDo的なランチャを作るとすれば、所謂スタートメニュー的なところからショートカットを集めてきて、そいつをhttp://d.hatena.ne.jp/QtCoder/20110902/1315010586 を参考にして // ExplorerやFinderでローカルパスを開く QString path = QDesktopServices…
QuickSilverとかGnomeDoとか、ああいう感じのソフトが作りたいのでその第一歩。Windowsアプリケーション開発は少しだけ経験がありますが、Qtは最近はじめたばかりです。では早速。新規プロジェクト > Qtウィジェットプロジェクト > QtGUIアプリケーション を…
QxtGlobalShortcutを使いたかったので環境はwindows7 64bitqtをインストールしてあれば、インストールしたフォルダ内にqmakeとmingw32-make.exeがあるのでそれぞれのパスを通しておくQxtのソースをダウンロード http://dev.libqxt.org/libqxt/wiki/Home ここ…
基本的にC/C++用 NTEmacsのダウンロード http://cha.la.coocan.jp/files/emacs-23.3.zip からバイナリをいただく c:\emacsに展開 Cygwinのダウンロード http://www.cygwin.com/ このとき、gccとかzshとか必要なものもとりあえずインストールしてくらさい。 …
Thinkpad X121eを買ったので、ひとまずWindows7専用マシンとして使うことにしました。Windows7で行った設定とかをメモ バックアップ この辺を見ながらバックアップ http://allabout.co.jp/gm/gc/20922/ パーティションの分割 後でLinuxを入れるのでそれ用の…