Humanity

Edit the world by your favorite way

2009-11-01から1ヶ月間の記事一覧

DOMでクラス指定してその定義を適用させたい

けどできない。 今のところ var NODE_STYLES = { display: 'block', height: '600' }; var node = document.getElementById(NODE_ID); for (var style in NODE_STYLES) { node.style[style] = NODE_STYLES[style]; } とかしてる。 これが document.getElemen…

ホムペ更新

ホムペ(笑)あまりにも広告が良い位置に置かれててくやしかったのでJSでなんか適当なよくわからないもの作ってみた。 peeking modeって書かれた横のリンクをクリックするとその場でページをちょっと覗けるみたいな。そんな習作。 しかし動作がちょっと怪しい.…

UnicodeとUTF-8の違いは? - 自分的まとめ

UnicodeとUTF-8の違いは? - Humanityはあんなに反響があるとは思わなかった。 ブコメにコピペじゃなくてまとめを書いてくれれば良い資料になるのにと書いてあったので今度は自分の知識をまとめてみる。 と言っても自分もあのスレを見るまでUnicodeとUTF-8を…

久しぶりにHP更新した

Moved多分Firefox以外ではズレズレな予感。 ていうか意図した訳じゃないのに広告が本当に良い位置に置かれててワロタ。つーかなんかくやしい。ちくしょう。 「HPを更新する」って単語に違和感を感じた自分がいることに気づいた。 「ブログを更新する」なら別…

UnicodeとUTF-8の違いは?

という2chのスレがかなり勉強になったのでまとめ。 少しでも有用だと思ったものは載せてあるので結構長いです。 Unicodeのような文字集合(符号化文字集合?)やUTF-8のようなエンコーディング方式に限らず色んな文字コードにまつわる話があります。 たびたび…

EmacsをAjaxで実装

Ymacs -- AJAX source code editor with syntax highlighting and automatic indentation デモ

shrink to fitとrvalue

C++

コンテナが要素のために確保してるサイズをきっちり現在のサイズ分だけにすることをshrink to fitとか言う。 std::vector v; //... たくさんの push_back と、たくさんの v に対する削除 //その結果、v のサイズは小さいが、容量は大きい。 std::vector(v).s…

C++でrealloc()

あれ?C++でrealloc()的なことってどうやるんだっけ。placement new? http://twitter.com/tyru/status/5978939028 用意されてない。 vectorのように勝手に縮小/増大してくれるコンテナを使えということらしい。 おそらくどうしてもmalloc()/realloc()/free()…

そういえば

Google Waveの招待状来てた。昨日。 ログインしたもののよくわからない! っていうかAMD Athlon 64 1 Ghz + Firefox + Vimperatorじゃ重くてしょうがないよ! でもなんかwkwkする 追記: なんかどうやら昨日か今日にかけて受け取った人が結構いるみたい。*1 G…

エセLinuxerの悲劇

crontabコマンドでファイルの内容をcrontabに登録する - http://rubikitch.com/に移転しました crontab -r とやってしまった時の対処法このエントリ見た後にcrontabって打って何も出力されないのであー標準入力待ちなのかなと思ってそこで何を思ったか^Dを押…

rvalue reference - 続き

C++

珍しく続いた!ということでhitoさんのこのエントリ読んだまとめとか。感想とか。 std::moveというテンプレート関数の実態はただのキャスト。実際に「Moveする」のはMoveコンストラクタ。 実際の場面ではMoveコンストラクタの他にMove代入演算子も定義した方…

rvalue referenceむずい

C++

本の虫: rvalue reference 完全解説実はFirefoxにいくつかrvalue referenceの見ようと思って途中でやめたタブがいくつかあるので消化したいと思う。 ...思うんだけどももう祝日は終わってしまったようなのでとりあえずTODOとしてエントリにしてみる。 でも俺…

はてなアンテナが200件越えたのでサブアカウントに退避させた

絵師さんとか同人サークル用アンテナ 技術系アンテナで、はてなアンテナって他ユーザのアンテナをインポートできることに気づいた(管理→データの管理→アンテナのインポート)のでサブアカのアンテナもインポートしてとりあえず制限は免れた。 これでRSSリーダ…

バイト面接落ちた

落ちたorz 時間的なスケジュールが合わないということらしい。 ただ噛みまくったんでそれ以外にも色々理由を妄想してしまう...鬱

CでもSTLっぽいの作る

http://github.com/tyru/nstllibdatastructにないものは自分で作るしかないなーということで作った。名前センスなさすぎわろた テストにはnanotap.hとかPerlとか使ってる。 今のところlistしかない。 STLのインターフェースに合わせた関数などを定義してある…

どうでもいいけど

TMPとMPLをなんだか混同して言ってたことにふと気づいた。 略語の元の意味は知ってるのに。

ライセンスについて

libdatastructのページを見ててライセンスがLGPL(githubの最新版は新BSDライセンス(修正済BSDライセンスとも言うらしい)を適用してるとのこと)と書いてあったのでちょっと調べてみた。 説明はここがとても分かりやすいのでGPLとLGPLについてざっと知りたい場…

配列の添字のラップアラウンド

ふと配列のインデックスをラップアラウンドする必要があって、考えてみたらこんなのにしばらく悩んでけっこう凹んだ。 元のはVimスクリプトだったんだけどPerlで。 #!/usr/bin/env perl use strict; use warnings; use Test::More; sub array_get_elem { my …

cp -a

最近ディレクトリも含めて手っ取り早くコピーしたい時は「cp -R」じゃなく「cp -a」を使ってる。 man cp見たら「-a」は「-dR --preserve=all」の略らしい。 「-d」はさらに「--no-dereference --preserve=links」の略なのでようするに「--no-dereference --p…

double2string

C

適当だなぁ。 あとstring2double()もそうだけどstring2double([from], [to])な引数なのがちょっと紛らわしいかも。 1.00000 -> 1とかせずに最初からsnprintf()使わず自前で変換すればうんたらかんたら。 bool digit2token(double digit, char *str, size_t m…

string2double

C

使わなくなったので晒し。 元はman strtolからパクったんだったと思う。 bool string2double(char *str, double *digit) { char *end_ptr; errno = 0; *digit = strtod(str, &end_ptr); if (errno == ERANGE || (errno != 0 && *digit == 0)) { return false…

スリラー 8bit Mix

かっけー 【Saitone】"Thriller 8bit tribute mix"【Michael Jackson】 - YouTube

ι

C++

vectorをそのまま渡したとして、intってどうやったらとれるのか分からない... (要するにvectorだけじゃなくコンテナ全般に対して要素の型を取得したい) 追記:id:faith_and_braveさんが要素の型はvector::value_typeで取れると教えてくださったので書き直し…

ポインタ同士の加減算

C

なぜかポインタ同士で差を求めようとするとバイトでのオフセットが返ると思ってた。あぶないあぶない。 正しくはそのポインタ間での要素数が返る。 #include <stdio.h> int main(void) { int arr[] = { 1,2,3 }; int *p1 = &arr[0]; int *p2 = &arr[3]; // sizeof(int</stdio.h>…

rpm -qfとrpm -qlに対応するdpkgのオプション

こうすればいいのか。rpm -qf => dpkg -S rpm -ql => dpkg -L 参考URL dpkg, rpm, pkginfo 比較 http://www.tymy.net/~matsu/blog/2008/12/08/rpm-dpkg-%E5%A4%89%E6%8F%9B%E8%A1%A8/ dpkgでやっていたことをrpmコマンドで - のしろの徒然日記

void*に対して加減算をすると何Byte進むのか

C

答え: 1Byte。 コンパイルエラー(gcc以外では)。(コメント欄にてid:pi8027さんにvoid*に対して加算できるのはgcc拡張だと教えていただきました。詳しくはid:pi8027さんのコメント欄のURLを参照してください) 歴史的な理由があるらしくて、char*と同じになっ…

変数を定数値として扱う

C

キャストすることによって「定数値であるべき変数」に対して代入を抑制する方法。 #ifndef __cplusplus extern #else extern "C" #endif signed char _mb_cur_max; #define MB_CUR_MAX ((int)_mb_cur_max) ...MB_CUR_MAXマクロの定義で、int型にキャストして…

Firefoxのスマートキーワード

は s@... 検索用 k@... キーワード用 b@... ブックマークレット用 とかにすると被らなくて便利。

まとまった時間がとれない...

Coroのcedeについて

Gistにうpしたけど合ってるか微妙。