IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

2009-01-01から1年間の記事一覧

本を検索して yonda4.com に呟きやすくするブックマークレット作りました

はじめに Twitter 経由で、読んだ本を紹介しあえるサイト yonda4.com がリリースされましたね! twitterで読書記録。読んだ4! このサイトは @yonda4 に本の名前をつぶやくだけで、本の紹介ページが生成されるという「本格書籍紹介サイト」です! すごいです…

今日の出来事

天野「ツインタワーの・・・」 誰か「え、プリンタワーですか?」 天「あ、ツ、です。ツインタワー」 誰「はい」 天「サイボウズ・ラボです」 誰「え、サイボウズ・ブラボーですか?」 天「・・・」 プリンタワーのサイボウズ!ブラボー!

Visual Studio で exe を ldd する(依存する dll を調べる)方法

C++

今日、教えていただいた方法。 Visual Studio には dumpbin.exe というコマンドラインツールがついているので、それを使う。 C:\bin> dumpbin /DEPENDENTS hoge.exe Microsoft (R) COFF/PE Dumper Version 9.00.30729.01 Copyright (C) Microsoft Corporatio…

Amino というライブラリを使ってみた

C++

これ CBBs - Concurrent Building Blocks via:http://secure.ddo.jp/~kaku/tdiary/20090710.html 内容 スレッド 1 で入力を Shift_JIS -> UTF-16 変換して、 UTF-16 のデータをキューに入れる。 スレッド 2 でキューから UTF-16 のデータを取り出して、 UTF-…

tmux 入れてみた

以下を見て 時代はGNU screenからtmuxへ - Dマイナー志向 Ubuntu に tmux を入れてみた インストール方法 まず ncurses を入れる $ sudo apt-get install libncurses5-dev次に、最新版をダウンロード $ wget http://downloads.sourceforge.net/sourceforge/t…

boost::is_convertible はどうやってるか

C++

概ね以下のような感じ template <typename From, typename To> struct is_convertible_basic_impl { // 2 つの同名関数を作って static no_type _m_check(...); static yes_type _m_check(To); // 関数の戻り値の型を見る(どっちの関数が使われるかを見る) static bool value = sizeof(</typename>…

みんなの願い事が分かる API

みなさん!七夕ですね! 七夕といえば、願い事! みなさんは、どんな願い事をしますか? そして、気になるあの子はどんな願い事をしているのでしょうか? 気になりません? それならこれ! Twitter ユーザーみんなの願い事が以下の API に集まって来るようで…

C++ で Buzztter を Growl する

C++

はじめに Buzztter の RSS を持ってきて、新しいキーワードを Growl に表示するものを作ってみた。 C++ でも boost::asio とか、 libxml2 とかを使うとけっこうサクっと書ける。ってこともないか。。 必要なもの boost libxml2 Growl SDK ソース #include <libxml/xmlreader.h> #</libxml/xmlreader.h>…

セキュリティ&プログラミングキャンプ締め切り迫る!

吉岡さんのセキュリティ&プログラミングキャンプ 2009 の記事が公開されています。 「講師と環境は世界最高を用意した」――吉岡弘隆氏に聞く − @IT自分戦略研究所7/6 が締め切りです! どしどしご応募ください!

libxml2 内のメモリの解放

C++

ちょっとメモ 今日も valgrind 使ってます libxml2 を使って以下のような XML のパース処理を書く #include <iostream> #include <sstream> #include <boost/shared_ptr.hpp> #include <libxml/xmlreader.h> static int read(void* in, char* buf, int len) { return static_cast<std::istream*>(in)->readsome(buf, len); } int main() { </std::istream*></libxml/xmlreader.h></boost/shared_ptr.hpp></sstream></iostream>…

ICU の解放順序でハマった

C++

ちょっとメモ 以下のようなコードを書いて失敗した。 #include <boost/shared_ptr.hpp> #include <unicode/uclean.h> #include <unicode/ucnv.h> int main() { UErrorCode status = U_ZERO_ERROR; u_init(&status); // (snip) boost::shared_ptr<UConverter> ucnv(ucnv_open("Shift_JIS", &status), ucnv_close); // (snip) u_clea</uconverter></unicode/ucnv.h></unicode/uclean.h></boost/shared_ptr.hpp>…

5日間プログラミングをやりまくろう!-セキュリティ&プログラミングキャンプ 2009 募集開始

はじめに 今年も暑い季節(気が早い?)がやってきました! セキュリティ&プログラミングキャンプの参加者募集開始です! http://www.jipdec.or.jp/camp/ セキュリティ&プログラミングキャンプを知っていますか? さて、みなさんはセキュリティ&プログラ…

Safari 4.0 が登場してた

早くもソフトウェアアップデートでインストールできる でも、再起動が必要

XMPP ライブラリ Gloox のトランスポート層を触る(2)

C++

SASL → Resource Bind → Create Session まで #include <cassert> #include <iostream> #include <boost/make_shared.hpp> #include <gloox/iq.h> #include <gloox/parser.h> #include <gloox/base64.h> #include <gloox/connectiontcpclient.h> #include <gloox/connectiontls.h> class Bot : public gloox::ConnectionDataH…</gloox/connectiontls.h></gloox/connectiontcpclient.h></gloox/base64.h></gloox/parser.h></gloox/iq.h></boost/make_shared.hpp></iostream></cassert>

はてブの Web Hook で Twitter を更新する

はてなブックマークの Web Hook というのがリリースされましたね! (開発者さま向け) はてなブックマーク Web Hook 機能を公開しました - はてなブックマーク日記 - 機能変更、お知らせなど はてなブックマーク Web Hookとは - はてなキーワード これを設定…

XMPP ライブラリ Gloox のトランスポート層を触る(1)

C++

一日一回 XMPP 勉強中 とりあえず、 TLS のコネクション貼るところまでできた #include <cassert> #include <iostream> #include <boost/make_shared.hpp> #include <gloox/parser.h> #include <gloox/connectiontcpclient.h> #include <gloox/connectiontls.h> class Bot : public gloox::ConnectionDataHandler, gloox::TagHandler, gloox::TLSHandler {…</gloox/connectiontls.h></gloox/connectiontcpclient.h></gloox/parser.h></boost/make_shared.hpp></iostream></cassert>

XMPP クライアント Psi で XML のトレース

C++

一日、数十分ずつ XMPP を勉強 Psi というクライアントを使うと XML の生のメッセージが確認できる Psi - The cross-platform XMPP client for power users やり方は簡単 Tools メニューの XML Console を選択するだけ 以下は実際にトレースしたところ これ…

@IT にインタビュー記事が公開されています。

先日、 @IT でインタビューを受けてきました 学生時代の経験、IT 業界での経験、 IT 業界について思うところ、を話したつもりです。 よろしければご笑読ください m(_ _)m 「ITに触れて『楽しかった』ときの気持ちを貫き通して」 − @IT自分戦略研究所

Gloox で XMPP を書いてみた

C++

camaya.net | Home of gloox – The Portable XMPP Engine ちなみに 1.0 beta を使った Gtalk に Hello! #include <iostream> #include <gloox/client.h> #include <gloox/connectionlistener.h> #include <gloox/messagesession.h> class Bot : public gloox::ConnectionListener { public: Bot() : client_(gloox::JID("USER@gmail.…</gloox/messagesession.h></gloox/connectionlistener.h></gloox/client.h></iostream>

Google Wave 私的まとめ

正直わからないことが多いです。突っ込み歓迎 以下、箇条書き Google Wave という言葉が曖昧に使われている Google Wave というサービス(これはオープンソースではない) プロトコルでもない Google Wave Provider に接続するためのアプリ メールでいうとこ…

HANDAN☆メーカーというサービスを作った

はじめに はてブのコメントで客観ぶって「判断は保留」とか言ってるやつが一番チキンで最悪。はてブみたいにあれだけ個人が保護された環境下においても自分の中にまともな判断基準を持てないような輩は普通にポピュリズムに突き動かされて差別とかヘイトスピ…

double が IEEE 754 かどうか

C++

double をシリアライズするときとかは、 std::numeric_limit< double >::is_iec559 を assert しておけばいいのかなー。 #include <cassert> #include <limits> #include <boost/cstdint.hpp> template<class Itr> void serialize(Itr it, const double d) { // ↓ こんな感じ assert(sizeof(double) == sizeo</class></boost/cstdint.hpp></limits></cassert>…

はてブプラスの提供枠をニコニ広告風に表示する

はじめに http://b.hatena.ne.jp/guide/plus がリリースされましたね! エントリーページに提供っていうのが表示されているのが楽しいですね! でも、もっともっと提供っぽい感じにしたらおもしろいんじゃないかと思って作ってみました! 以下のような感じに…

はてなブックマークプラスに登録していないユーザーをエントリーページから抹消する JavaScript と Greasemonkey

はじめに http://b.hatena.ne.jp/guide/plus がリリースされましたね! というわけで、「てなブックマークプラスに登録していない(正確には、 plus アイコンを出していない)ユーザーをエントリーページから抹消する JavaScript」を書いてみました!! これ…

Mozilla 台湾の audio 要素のデモが超カッコいい

Firefox 3.5 から audio 要素という音楽を再生するための要素が導入されますが、 Mozilla 台湾のサイトに載っている audio 要素のデモがすごくかっこよかったので紹介します。 百聞は一見にしかず Firefox 3.5 (現状 Beta 4)で見てみてください http://moz…

Firefox 拡張を jQuery で書く! Jetpack を使ってみた。

はじめに JavaScript が書ければ、誰でも簡単に Firefox の拡張が書けてしまう。しかも、もれなく jQuery が付いて来る! というものを Mozilla Labs がリリースしたみたいですね。 https://jetpack.mozillalabs.com/ というわけで 少し触ってみました Jetpa…

紙が無くなるために必要なこと

(ここでいう無くなるとは、使用量が今の 10 分の 1 以下になることとします。なので、完全に無くなるどうこうの話ではないです。) はじめに 404 Blog Not Found:紙の本が90%亡くなって欲しいと弾言したくもなる、たった一つの理由 を見て ちょっと考えてみ…

寿司テム

寿司テム・・・ システムをタイポした結果がこれだよ! 寿司 + システム = 寿司テム? 釣る!下ろす!切る!握る!食べる!それが寿司テム!

流行りのケブンリッジ関数 - JavaScript 編

はめじに いま どかうく .rog で けっりぶんじ かすんう が はいてっやる ので さそっく じぷりくすばゃと で じうっそ しみてた String.prototype.cmabrigde = function() { return this.split(' ').map(function(w) { var ws = w.split(''); var l = ws.po…

「牧場メーカー」というものを作ってみた

なんか しばらくブログを書かないと、死亡説が流れるのでw 流行のネタを超適当につくってみました http://amachang.sakura.ne.jp/misc/matrix/ (←クリックしてみください>< 以下のような感じになります しなもんの画像は、以下からいただきました! id:ri…