日記

この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. 写真のような画像は画像生成AIもしくは念写によるものです.

« 2012-09 »

2012-09-30

amazonで「持っています」に任意商品を登録するスクリプト.

var isan = (location.href.match(/\b[0-9]{9}[0-9X]\b/)||[""])[0];
var ssid = (document.cookie.match(/session-id=([\d\-]+)/)||["",""])[1];
location.href="https://www.amazon.co.jp/gp/yourstore/ratings/submit.html/ref=pd_ys_iyr_del?type=asin&rating_asin="
  +isan+"&"+isan+"_asin.rating.owned=OWN&rating.source=ir&session-id="+ssid+"&template-name=%2F&return.response=204";

OWNをNONEにすれば消せます. 評価も入れたい場合は{isan}_asin.rating.onetofive={0~5}を.

amazonで買った商品と同じように,持っているにチェックいれた商品も, 買うときに警告してくれないかなぁ.間違って買ってしまうことたまにある.

ある商品を持ってるか確認できるAPIとか無いのかな.

\http://www.amazon.co.jp/gp/rate-it/?rateIndex=search-alias%3Dstripbooks&rateKeywords={isan}

とかで検索すればとってこれるけど,なんだかなあ.

2012-09-29

httpdとかjsonシリアライザ書いたりしていた. SAX形式で省メモリで軽量なC++用のjsonライブラリ探しているうちに適当に書き始めてしまった.

http://code.google.com/p/rapidjson/

この辺良さげと思ったけど,インターフェイスがあまり好みでないのと, 今回そんな高機能である必要ないなと思って,いつものパターン.

2012-09-28

最近飲み会多い.気がする.

2012-09-22

眠い.

2012-09-18

久しぶりにOpenCV使う.4年ぶりに触ったけどだいぶ変わってる. 今の最新は2.4.2とかなのか. C++のインターフェイスもけっこう使いやすくなった気がする.

2012-09-17

Javaのjava.nio.channels.DatagramChannelのリファレンス見ると受信時のタイムアウトを サポートしてるって書いてあるのだけど,setSoTimeout()してもなぜか無視されてしまうな. channelからDatagramSocketを取得して受信するとちゃんとタイムアウトする. 何が違うんだろう.

少し調べた感じでは,DatagramSocketのsetSoTimeout()で指定したタイムアウトは DatagramSocket内で処理されてしまっていて,DatagramChannelには 影響しないっぽい?

2012-09-16

肉食べた.

Visual Studio 2012はMetroを意識したっぽい平坦なUIで,慣れるまでは落ち着かないですね.

そういえばinitializer listもないのか. C++11対応もう少しがんばってくれると期待していたのでちょっと残念. thread,mutex,futureあたりが追加されてるのは良かった.

future使ってみる

async良い感じ.

#include <iostream>
#include <future>
using namespace std;

int main() {

	int a[] = { 1, 2, 3, 4, 5, 6, 7 };
	
	auto f1 = async([&]{
			long r = 0;
			for (const auto &n : a) {
				r += n;
				cout << "add " <<  n << endl;
				std::this_thread::sleep_for(std::chrono::milliseconds(50));
			}
			return r;
		});

	auto f2 = async([&]{
			long r = 1;
			for (const auto &n : a) {
				r *= n;
				cout << "mul " <<  n << endl;
				std::this_thread::sleep_for(std::chrono::milliseconds(50));
			}
			return r;
		});

	cout << "f1:" << f1.get() << " f2:" << f2.get() << endl;

	return 0;
}

排他処理もstd::mutexあるので良いですね.

しかし,

std::this_thread::sleep_for(std::chrono::milliseconds(50));

これ長すぎる…….

GC周り(N2670)

現時点では役に立たないのであんまり他のコンパイラが対応してないですが, リストに入っていたので確認してみる.

#include <iostream>
#include <memory>
using namespace std;

int main() {

	
	auto ps =  get_pointer_safety();
	if (ps == pointer_safety::relaxed) {
		cout << "relaxed" << endl;
	}
	
	int *a = new int;
	declare_reachable(a);

	undeclare_reachable(a);
	delete a;

	return 0;
}

relaxedでした.declare_reachableとかは空っぽ.

2012-09-15

今更だけれど, Visual Studio Express 2012 for Windows Desktop公開されましたね.

SDKにKernel32.libとか入ってないの?と一瞬思ったけれど,libumx86とかに移動したっぽい. x86,x64のほかにARM版もあるように見える.

他にも,Range-based for 使えるようになったのはうれしい. ただ,constexprはだめみたい. http://msdn.microsoft.com/library/hh567368.aspx ここを見ると,constexpreが 「部分的」になってるのだけど,何が使えるんだろう.

単体テストのフレームワークもあとで使ってみよう.

2012-09-13

秋葉原.

シチュー.普通だった.

パンケーキ.

2012-09-12

AndroidのBitmap.BitmapFactoryでJPEG読むとRGBA_8888指定してもhasAlphaはfalseになるのだけど, setHasAlphaがAPI Level 12以降なので困った. 仕方ないので新しくBitmap作りなおしてる.

2012-09-09

Visual Studio Express 2012 for Windows Desktopまだかなぁ.

2012-09-07

夜の9時頃寝て朝4時に起きる+6時間くらい昼寝という生活を送っている….

HDDの中身をコピーするときにフォルダの作成日時が変わるのが嫌なので CopyExtというソフトを使った. 以前使っていたソフトが64ビット版のWindows7で動かなくなってたので.

http://www.htosh.com/software/freesoft/copyext.html

ただ,100GB弱のデータのために1TBのHDDを2台使ってるのはもったいないな. もう少し待てば,DropBoxとかGoogle Driveみたいなストレージサービスで 上手くいくようになるはず……たぶん.

2012-09-06

家に引きこもっていると毎日Amazonから荷物が届く不思議.

外付けのHDDが邪魔なので,2.5インチのものに置き換えることにした. とりあえず,このまえ買ったのと同じやつを買い足しておく. 本当は秋葉原まで行こうかと思ったのだけど,天気が悪かった.

バックアップ用は別のメーカーにするべきな気もするけど,まぁ大丈夫だろうと思って同じやつに統一.

2012-09-05

休み.

2012-09-03

休みです.

会社行って,お昼ご飯食べて,ミーティングして帰る

2012-09-02

洗濯したり買い物行ったり.

読書.

2012-09-01

Android 4.1.1(JRO03C)の標準のradio.img入れたらFOMAプラスエリア 使えなくなってるっぽいな. 仕方ないので,radioだけSC-04Dのやつに戻す.

本とか買う.

作ったのが2000年の夏だったから12年前か.