braintag

公開してしまう備忘録

program

Raspberry PI 高精度I2C温度センサーMCP9808で温度を記録

Raspberry PIを買って以来、Linuxサーバとしてしか使用していないので、 電子工作っぽいことをしたくなり、I2Cの温度センサーで温度を記録するプログラムを作ることにしました。Raspberry Pi Model B+ (Plus)出版社/メーカー: raspberrypi.orgメディア: エレ…

flvをmp4に劣化なしで、複数ファイルをドロップして一括で変換するバッチファイル

表題の通り、flvをmp4に劣化なしで、複数ファイルをドロップして一括で変換するバッチファイルです。 Windowsで動作します。変換ツールはavconvを使用します。libav http://libav.org/download.htmlWindows Nightly and Release Buildsから、自分のOSにあっ…

最適化の近道 プロファイラgprofのコールグラフを画像化して、コードのどこがボトルネックかをわかりやすくする

boostを多用して富豪的プログラミングしまくってたらさすがに遅すぎて、プロファイラで解析しようと 思ったのですが、boost使ってるとgprofの出力解読が困難なので、コールグラフを視覚化できないものかなと思ったら良いツールがあったので使ってみました。…

Growl1.3の xcode 4.3でのビルド

ググったらGrowl1.3が無料で使えるとの情報があった (オープンソースだということも知らなかった)有料になったGrowlとHardwareGrowlerをビルドして無料で使う | Macとかの雑記帳ソース落としてきてxcodeでビルド早速やってみたけど、ビルドエラー。(2012/0…

Windowsが、スリープする設定かどうかのチェック

日本語だとあまりいい情報がなかったのでメモ常時起動していなければならないアプリ作成中だけど、スリープや休止状態になってしまうと動作しない。下記のやり方でスリープや休止状態の設定を参照可能。Windows2000,XP,Vista,7で使用可能(VisualStudio2008 C…

MFCアプリケーションのユーザインタフェースをすべてJavascript(JQuery)におまかせしてしまう

wpfがある.NETと違って、MFCアプリを作っていると、ユーザインタフェースの見た目がしょぼくなりがち。 ちょっと凝ったことをしようとすると、すぐに複雑化してしまう。面倒なので、ユーザインタフェースをJavascriptにおまかせしてしまう方法。 (CDHtmlDial…

VisualStudio(VC9) でlog4cxxをつかう その3 VisualStudioのデバッグ出力へ

VisualStudio(VC9) でlog4cxxをつかう - braintag VisualStudio(VC9) でlog4cxxをつかう その2 - braintag これらの続きです。今回は、log4cxxの出力を、VisualStudioのデバッグ出力にも出したいと思います。 "log4j.properties"でどうにかする方法は見…

VisualStudio(VC9) でlog4cxxをつかう その2

VisualStudio(VC9) でlog4cxxをつかう - braintagの続き 付属のユニットテストを実行してみる "プロジェクトの追加"で、以下のプロジェクトを追加 C:\lib\log4cxx\apache-log4cxx-0.10.0\projects\testsuite.dswプロジェクトの依存にて、apr,apriconv,apru…

boost:asioを使って、ファイルをWebサーバにマルチパートでPOSTしてみる

boost:asioを使って、ファイルをWebサーバにPOSTしてみる かなり昔に書いたコードです。 HDDの整理中で、誤ってソースを削除しそうなのでここにメモ。制限 ファイルはカレントディレクトリ ポートは80固定 ドメインでなく、IPアドレス #include <iostream> #include <string> #</string></iostream>…

boost::asioで、sip messegeを送信する

boost::asioを使って、UDPの送受信をしてみる.受信待ちは5秒でタイムアウト本当は受信を先に動かしておかなければいけないんだろうな #include "StdAfx.h" #include <boost/asio.hpp> #include <boost/bind.hpp> #include <boost/lexical_cast.hpp> #include <boost/system/error_code.hpp> #include <Wincrypt.h> class datagram_handler { public: datagram_ha</wincrypt.h></boost/system/error_code.hpp></boost/lexical_cast.hpp></boost/bind.hpp></boost/asio.hpp>…

オープンソースのSIPライブラリ eXosipを VC9.0でコンパイルする

必要なものMicrosoft Visual Studio 9.0eXosip http://savannah.nongnu.org/projects/exosiposip http://www.gnu.org/software/osip/openssl http://www.02.246.ne.jp/~torutk/cxx/openssl/install.html ディレクトリ構造を以下のようにする d:\sip\libeXosi…

WindowsのADSIを使用して、LDAPサーバからアドレスデータを取得するコード

WindowsではADSI(winldap32.dll)というやつが用意されているので、これでLDAPのアクセスを行う。LDAPサーバに格納したinetOrgPersonから、全アドレスの電話番号、名前、グループ名称を取得するLDAPに格納されたデータは、base64化されていたり、文字コードが…

Javascript正規表現オンラインチェッカー

すぐ忘れてしまい必死にググってもなかなか出てこないのに 懲りたのでメモる。Regex Tester http://regexpal.com/下段にデータを入れ、上段に正規表現を記入するmatchした部分は、黄色くハイライトされ、わかりやすい。一番いいところは、リアルタイムに結果…

Trac 0.10.5で、BatchModifyPluginインストール後、カスタムクエリのリンクが消える

Trac 0.10.5の管理をまかされてしまった。ちまちまチケットを変更するのが面倒なので、カスタムクエリの結果に対して、一気にチケットを修正できるBatchModifyPluginを入れ、こりゃあ便利だな、と思ってたところ、TICKET_BATCH_MODIFY権限が無い人からクレー…

VisualStudio(VC9) でlog4cxxをつかう

いつもは自作のロギングクラスを使っているのだけれども、他人に使ってもらうときに、いちいち使い方をレクチャーするのも、どうせ読まずに質問されるのがオチのドキュメントを用意するのも面倒なので、やっぱりここはよくつかわれているようなライブラリを…

他プロセスから起動されるアプリケーションの、起動時のデバッグ

VisualStudio2008で開発していて困ったことが発生。他プロセスから起動されるのが前提のアプリケーションは、起動後ならプロセスへのアタッチでデバッグできるが、起動時にアプリケーションエラーがあって、起動すらしない。他プロセスから起動されるのが前…

MFC Feature Pack スタッカブルなCMFCDesktopAlertWnd

MFC Feature PackのCMFCDesktopAlertWndでデスクトップの右下に、MSN Messanger的なポップアップアラートを出せることがわかった。MSN Messager的なポップアップアラート Win32,MFC このように、方法を結構調べてたんだけど、MS標準でできるとあって大喜び。…

Free環境で携帯用Flash Lite 2.0を作成

ケータイで簡単な待受Flashを作ろうと思ったが金がないので、FlashLite2.0の作成環境をFreeで揃える。 ここは定番のFlashDevelopを使用。FlashDevelop.org - Index page http://www.flashdevelop.org/community/ インストール インストールについてはここを…

google-perftoolsをVisual C++ 2005で使用し tcmallocを使ってみる

google-perftoolsをVCで使ってみようとググッたけど、VCでのサンプルがあまりないので困った。 exampleにはgccの例しかないし。 ダウンロードしたファイルに、README.windowsというのがあったので読んでみる。 VC++7,VC++8で使えるらしい。ただ、VC++7は__VA…

例外処理を作ってて不安になること

ときどき、例外処理なのか、通常のエラー処理なのか、いまいち自信がなくなる。 例外 処理が続行不可能な時 エラー フォロー、回復できる場合 という分類で作ってるんだけど、でも、例外を途中でキャッチして後始末してまたスローする、なんてコードを書いて…

MSN Messager的なポップアップアラート Win32,MFC

MSN Messagerを実行していると、 タスクバーの右下からニュルッっとでてくるポップアップアラート の実現方法をググッってみた。 CodeGuru: MSN Messenger like Tray Balloon コメントを読むと、タスクバーが下にあることが前提っぽい。 CodeGuru: A Class t…

Google C++スタイルガイド日本語訳

いままで、命名規約とかは、最初はMSのシステムハンガリアン(間違ったハンガリアン記法)を参考に、 次に、アプリケーションハンガリアン、と、いろんなスタイルを試してみたりしてきたけれども、どれも厳密には定義されてない。職場でも命名規則とかまで…

SIPの通信シーケンスをわかりやすくするツール

SIP Scenario Generator http://www.iptel.org/~sipsc/ テキストベースのSIPシーケンス(フローグラフ)をhtmlに出力するツール。 シーケンスに番号が付き、電文へのショートカットが付く。 非常に便利。 ただし、CUIツール。

JsonCpp

C++でJSONを扱えるライブラリ。 http://jsoncpp.sourceforge.net/ Jsonデータを生成したい場合。 Json::Value root; root["A"]["C"]="ABC"; root["A"]["B"][static_cast<unsigned int>(0)]="A";//配列を埋め込みたい場合。castしないとエラーになる root["A"]["B"][1]="B";</unsigned>…

IP-PBXにおける具体的なシーケンスと電文内容のサンプル

IP-PBXにおけるシーケンスと電文内容のサンプル draft-ietf-sipping-service-examples http://tools.ietf.org/wg/sipping/draft-ietf-sipping-service-examples/ コールパークや転送、保留などのシーケンスのサンプルが参照できる。 イベントステート発行の…

SIPイベントと、イベントパッケージに関するメモ

SIPのイベント通知にて状態通知を行いたい場合 RFC 3265 セッション開始プロトコル(SIP)特有のイベント通知 を参照。 ただし、抽象クラス程度の情報しかないので、具体的にSIPでイベントを実装したい場合の電文内容等を定義したい場合は以下を参照する。 RFC…

SIP SIMPLEに関するメモ

SIP SIMPLEに関するRFCはここにまとまっている http://www.softfront.co.jp/tech/rfcdraft/rfcdraftsimple.html SIP SIMPLEのAPIと実行環境。Javaベース。 JAIN SIP / JSLEEAsteriskはSUBSCRIBE NOTIFYの機能があり、ラインキー等は一般的にこれで実現させて…

CVSで困ったこと

CVSでなんでかlockされちゃってcomitできないよーってときは、CVSROOTにある#cvsなんちゃらっていうファイルをすべて削除すればいい。あと、バイナリファイルを間違ってテキストでaddしちゃったとき、 その後、削除してからバイナリで再addしても、テキスト…

PCにUSB2.0があるかどうかの判定方法

まずWinDDKが無いと駄目そしてsetupapi.libをリンクする。SetupDiGetClassDevs() SetupDiGetDeviceRegistryProperty()で、デバイス名を取得する。その中の文字列に"USB"と"Enhanced"が両方含まれていたら、USB2.0があると判断する。 ただし、保障は出来ない…

MFCでメモリリーク検出したが場所が不明の場合

MFCでメモリリーク検出したが場所が不明の場合 何故かソースコードの位置が表示されなかった場合の回避方法。 デバッグが吐くメモリの位置の: {506}って値が毎回同じ場合。 その値を以下の関数に入れると、確保した位置でブレークしてくれる。 _CrtSetBreakA…