Apacheでアクセス制限をする

etc

Apacheでアクセス制限をしようと頑張った結果こうなりました. 1. やりたいこと 私がやりたかったのは以下のことです. /docroot はアクセス制限有り. /docroot/foo はアクセス制限有り. /docroot/bar はアクセス制限無し(省略. ここでのアクセス制限と…

1: Best Software Writing

読みました! とても面白かったです.特にソーシャルソフトウェアについての内容はとても興味深いです.あとWIPOの話など読んでいて面白い(そして知るべきである)ストーリなどが多くありとても勉強になりました.BEST SOFTWARE WRITING作者: Joel Spolsky,…

Boost.PtrContainer

Boost.PtrContainerのptr_array<>というのを使ってみました. 中身をポインタとして保持して,アクセスする時はポインタの先の参照を返してくれる粋なやつです. ptr_array<>はptr_vector<>とかに比べてちょっと特殊かも. 実体の供給方法とかnullの保持とか…

PropertyTreeのptreeをiterationする

ちょっと調べたのでメモです.以下の様なiniファイルのKeywordsを順番にiterationしていくのが目的です.// trends.ini [Keywords] 触手 = 秋猫 しまぱん = 桜花 縞ぱん = 桜花 縞パン = 桜花 #include <iostream> #include <boost/property_tree/ini_parser.hpp> namespace ptl = boost::property_tree; in</boost/property_tree/ini_parser.hpp></iostream>…

AnyPtrとxtal::undefinedの比較

バージョンはXtal Unofficial Wikiのr429です. Xtalスクリプトで定義したbooleanの値を取得しようとした所,undefinedと==が成り立っちゃいました. // .xtal bool_true : true; bool_false : false; // .cpp const xtal::CodePtr& code = load_and_call(th…

少し前に誤って消したファイルを復旧する

git

最近gitを使い始めてます. そして日記を書きたいので,gitでこんなことをやったというのを書こうかと. 正しい(最適)かは分かりませんが…. いつのまにか必要なファイルをdeleteしてコミットしてしまったようで,ファイルfoo.cppがトラックから消えてまし…

普通のBoostプログラミング

この記事はC++ Advent Calendar jp 2010 : ATNDの7日目の記事です. 他の記事と比べちゃダメです. わたしはほんわか担当なので. テーマは(自分の力量制限により)「普通のBoostプログラミング」です. 最近Boostを使ったコード片の比較的つまらなくなさそ…

Boost.MultiArrayでresize()やview()がコンパイルできない件

1つ前の記事(と言っても11ヶ月前のですがw)の解決方法です. いえ,解決自体はもっと前にしてたのですがメモをしていなかったので.参考: compiler bug in msvc10 with std::copy _HAS_ITERATOR_DEBUGGING | Microsoft Docs これによると,MSVC2010のstd…

VS2010でMultiArray::resize()が使えない?

VS2010 beta2で次のコードがコンパイルエラーになります. VS2008 EEだと通るんですけどね. #include <boost/multi_array.hpp> int main(){ boost::multi_array<int, 2> ary(boost::extents[1][2]); ary.resize(boost::extents[2][3]); } error C2665: 'std::_Copy' : none of the 2 overlo</int,></boost/multi_array.hpp>…

セマフォ

Boost.Threadにセマフォが無いのでどうしようかと思いましたが,Boost.Interprocessにあるんですね. 単純にそれを使ってみました. 超シンプルです. #include <cstddef> #include <iostream> #include <boost/thread/thread.hpp> #include <boost/interprocess/sync/named_semaphore.hpp> const std::size_t create_threads_number = 5; const std::si</boost/interprocess/sync/named_semaphore.hpp></boost/thread/thread.hpp></iostream></cstddef>…

三項演算子のようなもの

C++

とあるC言語で書かれたソースコードを見ていたのですが,こんなのがありました. #define some_value (foo ? bar : baz) ... void some_func(){ some_value = qux; } some_valueはファイルの先頭で定義されていて,複数の関数内で使われていました.うーん・…

staticなdestructorでファイル出力(VC)

C++

半年振りの日記です.やっと落ち着きました・・・. どうも以下の挙動が理解できない. #include <fstream> class foo { public: ~foo(){ std::ofstream fout("out.txt"); //*1 } }; int main(){ static foo f; //*2 std::ofstream fin; //*3 } 上のプログラムをVS200</fstream>…

deviceの管理

DirectXで描画をする時はDeviceが必要なわけだが,どうにもこれがめんどくさい. struct directx { LPDIRECT3DDEVICE9 device() const; // ... }; struct texture { bool create(LPDIRECT3DDEVICE9 device, const std::string& file_path); // ... }; なんて…

com_ptr

DirectXのCOM用のスマートポインタcom_ptr<>を書いてみた.assertは書いてないけど. 合ってるのか不安だがw #ifndef YUKIMI__UTILITY__COM_PTR_HPP #define YUKIMI__UTILITY__COM_PTR_HPP /// /// @file /yukimi/utility/com_ptr.hpp /// @brief DirectXの…

COCOMOによる見積もり

「ゆきみ」まとめ - GFSの興味ごととか ゆきみライブラリの開発をCOCOMOを使って見積もる. COCOMO 規模[K LOC] = プログラム行数[LOC(Lines of Code)] / 1000(Kilo)工数[PM] = 2.4 × 規模^1.05期間[M] = 2.5 × 工数^0.38要員[P] = 工数 ÷ 期間生産性[K LOC/…

ソフトウェアテスト

こんな本を読んでます.SEのためのソフトウェアテスト (SEの現場シリーズ)作者: 山村吉信出版社/メーカー: 翔泳社発売日: 2003/12/06メディア: 単行本購入: 1人 クリック: 12回この商品を含むブログ (6件) を見る まだ半分くらいしか読んでないですが勉強に…

ゆきみ要求定義

ゆきみライブラリまとめエントリ 「ゆきみライブラリ製作プロジェクト」要求定義 1. 機能要求 1.1. 開発環境(ライブラリを利用する環境) 1.1.1. OSは32ビットの日本語版のWindowsXP及びWindowsVistaに対応すること 1.1.2. プログラミング言語はC++03とする…

iterator

C++

各イテレータのサポートする演算子. 入力イテレータ コピーコンストラクタ operator=() operator*() operator++() operator++(int) operator==() operator!=() 非再現性 出力イテレータ コピーコンストラクタ operator=() operator*() operator++() operato…

Scoped Allocator Model

Scoped Allocator Modelが何かはアキラさんのブログを参照してください.C++0x Scoped Allocator Model - Faith and Brave - C++で遊ぼう 詳細(コード例)は分からないけど(何となくしか),これってメモリ上で要素同士を順序どおりに隣接させることができ…

_MSC_VER

_MSC_VERをいつも忘れてしまうのでメモ. _MSC_VER* VC VC 1200 VC6.0 1300 VC2003 VC7.0 1310 VC2003 VC7.1 1400 VC2005 VC8.0 1500 VC2008 VC9.0 VC2003あたりが適当だけどいいか.

FreeBSD

FreeBSDをインストールしようとしたのですが,インストール完了後の起動時に失敗しました. 原因は/bootパーティションを作ってしまった事のようです. /bootを128MBで作っていたのを無くしたら上手くいった,の方が正確ですが. 1ヶ月日記を書いてないので…

std::forward_listのsizeとか

Policyを使って単純に実装するとこうなるのか. # そもそも直交してるのか? #include <iostream> #include <list> template< typename NumericT > class size_counter { // サイズをカウントするポリシークラス NumericT size_; protected: void increment(){ ++size_; } vo</list></iostream>…

std::forward_listにサイズがない

※見習いプログラマの意見です.全てのこの意見に対して疑ってください(安易に信じないでください). std::forward_listとはC++0xに実装される単方向リストです. C++0x forward_list - Faith and Brave - C++で遊ぼう これはサイズを返すメンバ関数は持た…

コーディング規約を

真面目にコーディング規約を作ろうかと思います. 前に書いたやつは書きなぐりというか,その程度のものだったので. でも一般的にはどのようなものが使われているのですかね. ちょっと後で探してみようかしら.

一ヶ月以上何も書かないと?

一ヶ月以上エントリが無いと何かあるらしい? とりあえず,CodeCraftおすすめです. 最近C++で勉強したことといえば,dynamic deleterくらい? あとSTLの解説本を読んでたりします. 今から12/30までほぼ毎日修羅場になりそう.

Observer

で,何とか実装してみました. #include <list> #include <algorithm> #include <assert.h> #include <iostream> class subject; // // Observerクラス // class observer { protected: observer(){ } public: virtual ~observer(){} // 変更があった時(notify)subjectから呼ばれる virtual void s</iostream></assert.h></algorithm></list>…

Observer

まず最初はObserverからやってみよう. class observer { public: virtual void update(subject* sub); }; class subject { std::list<observer> list_; public: void add(observer* obs); void remove(observer* obs); void notify(); }; class data : public subject</observer>…

妹認証

etc

妹認証http://www.okanesuita.org/auth_sister/ これをリメイクしたんだけど,何か時々失敗する. 妹認証さんのページに「やりすぎておかしくなった場合のクッキー再設定」があるけど,同じ原因なのかなぁ. よくわからない. <html> <head> </head></html>

プログラミング言語を作ってみた.

C++

たぶん「難解プログラミング言語」に分類されるのかな.でも単にアセンブリを置き換えただけに近いww使える文字は + - * / | だけです.簡単でしょ? この言語の特徴の一つとして,構文エラーがありませんwwどんなにでたらめに書こうが構文として解釈さ…

ゆの in C++ 超ヘタレ版

C++

ヘタレ過ぎてごめんなさい. 単純すぎてつまらないかと思いますがww #include <iostream> const char* const strs[] = {"ひだりまりスケッチ", "x365"}; struct X_ { X_& operator/ (const X_& rhs) const{ static int i; std::cout << strs[i++]; } X_& operator< (</iostream>…