C言語でプライオリティーキュー構造体

C言語で関数ポインタを使ってカプセル化に挑戦してみた でやってみたカプセル化にならって、優先順位付きキューを実装してみました。int型を扱うシンプルな作りをしていて、構造体を作るときに渡す列挙体の値で優先順位を昇順か降順か選択できます。また、ヒ…

curlでWM3500Rを再起動する

日本電気 モバイルWiMAXルータ AtermWM3500R マーズレッド PA-WM3500R(AT)R出版社/メーカー: NEC発売日: 2010/11/30メディア: Personal Computers購入: 1人 クリック: 133回この商品を含むブログ (26件) を見るWiMAXルータのWM3500Rはhttp://web.setupの管理…

TwitterアイコンをHTML5っぽくしてみる

convertコマンドを使ったPython CGIスクリプトを書いたのでメモ。 アイコン画像を台形の透過pngに変換してhtml5ロゴと合成し、base64エンコードしてhtmlソースに画像を埋め込んでいます。demo アイコン画像 #! /usr/bin/python # coding: utf-8 import sys i…

適当書いたビットリバース

ビットリバース。 #include<stdio.h> typedef unsigned int uint; void printbits(uint n, int bitlen) { int i; for (i = 0; i < bitlen; i++) printf("%d", (n >> (bitlen-i-1)) & 1); } uint bitreverse(uint n, int bitlen) { uint r = 0; int i; for (i = 0; i <</stdio.h>…

ステートマシンを作れる仕組みみたいな。

状態遷移表と、状態と入力に対応する処理を入力するだけでステートマシンが作れるような仕組みを作れないかなあと思いちょっと作ってみました。そして、サンプルとしてダブルクオテーションによるエスケープ処理ができるCSVパーサを作ってみました。BNFから…

BF Brainf*ck Interpreter in Python

自分で書いたやつを見つけたのでアップ from sys import stdin, stdout # state class Int(object): def __init__(self, v=0): self.val = v def set(self, v): self.val = v; return self.val def inc(self): self.val += 1; return self.val def dec(self)…

sqlite3のPRAGMA文で外部キー制約を有効にする

db

これまでsqlite3で外部キーを使ったことがなかったので知りませんでしたが、sqlite3はデフォルトでは外部キーのサポートが無効になっている事に気が付きました(バージョンは3.6.22)。テーブルのcreate時に外部キー制約を指定することはできるけれど、実際…

sqlite3でトリガを使う

db

sqlite3でSQLのトリガを試してみました。使うの初めて。トリガを使って、ある小さいアプリケーションで使われているDBのテーブルの最終更新時刻を記録したいと思います。以下は対象となるテーブルのひとつ、scheduleテーブルに行が挿入されたときフィールド…

AOJ向けPythonライブラリ&コマンドラインツールセットaojtoolsを公開しました

PyPIにaojtoolsというパッケージを登録しました。 aojtoolsはAizu Online Judge Systemが提供するAPIのラッパーとsubmit用モジュール、それからコマンドラインプログラムからなります。aojtoolsを使うとAPIに透過的にアクセスできたり、プログラムを素早く提…

ある数が2のべき乗かどうか調べる

正の数n(>0)が2のべき乗かどうか調べるには2で対数とって整数かどうか見ればいいと考えたけど、n & (n-1) = 0かどうか見るだけでいいことに気がついた。

Google DocsをDBとして使うアプリケーションを作成してみた

YoutubeやBlogger、CalenarなどGoogleのサービスを利用するGoogle Data APIというのがあるらしいです。 その一つにGoogle Documentsのスプレッドシートを操作するAPIがあり、今回はそのAPIを使って簡単な食事記録アプリケーションを作ろうと思います。 イン…

Pythonで実行中のスクリプトで疑似インタプリタ

Pythonでファイルにプログラムを記述しているときに、ここでインタプリタを起動したいなあとか思う事があるわけです。そんなときに以下のコードの突っ込んで実行しているんですがもっといい方法はないかなあとか思ってる最近です。 VBみたいにGUIでブレーク…

RDB学習ログ

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

凸包走査アルゴリズムをPython+PyOpenGLで

オライリーから出版されている『アルゴリズムクイックリファレンス』で凸包走査アルゴリズムを学習したので、PythonとPyOpenGLで適当に点を打った点集合から凸包を計算して表示するプログラムを作成しました。点(-1,-1)と、点(+1,+1)からなる矩形に一様…

HTML5のcanvas要素でライフゲーム

初めてPhotoShop使ってみた HTMLの次世代規格であるHTML5にはWeb Socketsやvideoなどおもしろいタグや機能が追加される予定、らしいです。 その中でもcanvasタグという、javascriptで画像を制御するためのタグがあります。今回はそのタグとタイマーイベント…

C言語で関数ポインタを使ってカプセル化に挑戦してみた

要はデータと手続きを一緒にすりゃいいんでしょ簡単簡単みたいなテキトーな考えに基づいて、構造体のメンバに関数ポインタを代入するだけのカプセル化(笑)に挑戦してみました。 さて、どんな題材にしようか迷ったあげく、C言語でもっとも面倒な処理の一つ…

XMLツリーのタグへの参照を属性アクセスで実現する

PythonでXMLを読んで辞書オブジェクトの木に変換するプログラムを書いたけどなんかいけてないので、タグへのアクセスを属性アクセスで実現する方法を考えてみました。要は <root> <children> <child>A</child> <child>B</child> <child>C</child> <child>D</child> </children> </root> こういうXMLを読んで、Pythonから root['children']['child'][0] こうア…

curlコマンドからTwitterへpost

パラメータはchromeの開発ツールとかでhtmlファイルを読んで適当に送信しました。ログイン時 https://twitter.com/sessionsに以下のパラメータを送信する。/sessions/newにリダイレクトされるので直接そちらに送信しても可。 session[username_or_email] ユ…

PythonでTwitterにログインするプログラムを書いていたら、ブラウザでの認証にCAPTCHAが出現した件

PythonからTwitterにログインしてpostしたりfollowingを確認したりするプログラムを書いてみようとしたわけなんですが、数回はうまくいったものの以降突如としてCAPTCHAが現れ玉砕。さて困った。ついったー的にはOAuth使えや!!!って感じなんでしょうか。 …

PythonでAmazonの商品ページをパースしてasinから書籍名を取得する

とある理由でPythonでASIN→書籍名変換をしたいと思います。前はAmazon APIとかいうのがあって楽に取得できた記憶があるんですが、今はどうやら認証の手続きが必要になったらしく、名前も変わっていました。Product Advertising API認証にシークレットトーク…

PythonでHTTPS通信してはてなにログインしてみる

今書いているプログラムでhttps通信を使ったログイン処理っぽい事をする必要が出てきたのでPythonのマニュアルを読んで、簡単にできることがわかりました。urllib2を使うみたいだ。 http://www.python.jp/doc/2.5/lib/urllib2-examples.htmlサンプルとして、…

PythonのCGIスクリプトで診断メーカーの診断結果を複数同時に取得する

診断メーカーの複数の診断結果をテキストで返すCGIスクリプト。結果をHTMLから抽出するのにBeautifulSoupライブラリを使用した。追記: 2010/11/02 HTML構造の変化に伴ってソースを変更しました。 #! /usr/bin/python2.6 # coding: utf-8 import cgi import …

C#でマンデルブロ集合の描画奮闘記

C#

C#の学習としてマンデルブロ集合を描画するプログラムを作ることにした。C#で使えるクラスなどについてほとんど知識がないので手探り感いっぱい。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {…

Cで書いたDLLをC#から使いたい

C#

Cで書いたDLLをC#から使いたい!と思い使い方を調べた。コンパイラは手元のUbuntu(VMWare上、バージョンは10.04)にインストールしたMinGW(4.4.2)を使った。(sudo apt-get install mingw32) DLLのビルド $ i586-mingw32msvc-gcc --shared -o hoge.dll hoge.c …

__slots__使ってみた

Pythonのクラス定義で__slots__でクラスの属性を指定するとクラスをインスタンス化するとき__dict__を作成しないため メモリを節約 参照、代入可能な属性を固定 できるらしい。。。実際のところどの程度メモリを節約できるのかに興味をもったので、100万…

Pythonでパスワード生成&クリップボードへコピー wxPython編

前回のエントリで、パスワードを生成してクリップボードにコピーするプログラムを書きました。今回も同じ機能を持つプログラムを書きました。前回はWIN32APIをつかってクリップボードを操作しましたが、今回はクロスプラットフォームのGUIライブラリであるwx…

Pythonでパスワード生成&クリップボードへコピー

自分でランダムなパスワードを考えるのが億劫なので適応な長さのパスワードを生成してクリップボードに貼り付けるプログラムを書いた。 #! /usr/local/bin/python2.6 # coding: utf-8 # n文字のパスワードを作成するプログラム。 # 最後にプロンプトを出して…

Pythonのデコレータで関数の型チェック(2)

前回のエントリでは1引数で1つの値を返す関数の型チェックをするデコレータを書きました。今回はそれを拡張して、複数の引数を受け取り一つの値を返す関数に対してごく簡単な型チェックをするコードを書きました。 #! /usr/local/bin/python2.6 # coding: …

Pythonのデコレータで関数の型チェック

『エキスパートPythonプログラミング』を少しづつ読み進めています。序盤からジェネレータについて自分の知らなかった使い方が載っていたりして読み進めるのが楽しいな。BTSを使ったバグ管理、unittestモジュールとnoseを使ったTDDなど、実際の開発プロセス…

wxpythonで簡単な予定管理アプリケーションを作った

さんざんwxGladeとXRC駄目だなどと書いておいてまたwxGladeでアプリケーション書いちゃいました。 wxGladeが4時間で7回落ちた。最高記録だ!少し前まで、webサーバ上で予定管理のためのごく簡単なアプリケーションを作って使っていて、そのサーバが使えな…