IT戦記

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

live な NodeList の作り方

live な NodeList 概要 NodeList の IDL interface NodeList { Node item(in unsigned long index); readonly attribute unsigned long length; }; Interface NodeList - Document Object Model Core 「live な」NodeList とは DOM の変更が動的に反映される…

XPath に文字列を埋め込むときの注意

よく、以下のように XPath に文字列を埋め込む事があります document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); まあ、僕もよくこんなコード書くんですけど。 でも、これって text が外部から来るものだったら、意図通りの動作をし…

HTML5 のセクションアウトラインを生成してみよう!

昨日 HTML5 のセクションアウトラインを取得する JavaScript - IT戦記 という記事で、以下の JavaScript ファイルを公開しました Outliner.js で 公開したのはいいのですが、 @amachang 使い方がわからんです…。見てるページで試せるように、Bookmarkletにな…

HTML5 のセクションアウトラインを取得する JavaScript

id:vantguarde さんが HTML5 のセクション 3 箇条を書かれて紹介しています スタイルシートやスクリプトの都合には使わないこと。それらにはdivを使うこと。 article, aside, navが適切な場合には、そちらを使こと。 セクションの先頭に見出しが自然に存在し…

ls ~ を晒してみる

こんな感じ aaa bin filter.cpp google-c-template **** lib64 mozilla page-speed qtsdk-orig src a.out cpp fontconfig-2.4.2 hatena ***** libexec openssl-1.0.0-beta3 qt sample tmp bbb Desktop gloox hoge.diff lib main.cpp openssl-1.0.0-beta3.tar…

セキュリティ&プログラミングキャンプ 2009 を終えて

はじめに セキュリティ&プログラミングキャンプ 2009 参加してくださった学生の皆様、講師やチューターの皆様、また、ご協力いただいた事務局の皆様、本当にお疲れさまでした! そして、熱い思い出をありがとうございました!! 今年も、素晴らしいキャンプ…

新はてなブックマーク件数取得 API を使って自分のページに件数を埋め込む最も簡単な方法

はてなブックマークから新しい件数取得 API が提供されているようです! (開発者さま向け)はてなブックマーク件数取得APIに新しいAPIを追加 - はてなブックマーク日記 - 機能変更、お知らせなど この API のいいところは JSONP に対応しているところでしょう…

Twitter の半径数クリック以内の情報収集

ちょっと 現実頭皮的に自己満足的プログラムを書きたくなったので Twitter のクローラーを書いてみた。 C++ にしては、割とすっきり書けて満足。 使ったライブラリ soci データベースライブラリ picojson json パーサー boost.asio ネットワークライブラリ b…

はてなダイアリー新トップページ

はてな「初投稿ブログ」が紹介されているのがいいと思った。 スターつけまくろうー。 この「アメブロ」全盛の世の中で、あえて「はてなダイアリー」ってだけで興味の対象になるな。

PHP で引数をそのまま返す関数を作っておくと便利

PHP

PHP では以下のように new してすぐメソッドを呼べない getOffset(); なので、引数をそのまま返す関数を作ってやると getOffset(); // OK! 便利だなー おまけ 配列アクセス用のも作っておくと便利

gvim で起動時全画面

au GUIEnter * simalt ~x

new と delete と throw で気をつけること(自分用メモ)

C++

delete する変数が未初期化になっている可能性を考えろ コンストラクタの初期化子リストで throw とか 初期化子リストで throw する可能性のある式を評価するな。 0 を入れておいて、コンストラクタ内で評価しろ または、ポインタラッパー的なものを使え。(…

本を検索して 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自分戦略研究所