図形を拡張メタファイル形式で貼り付ける

Excelで図形(テキストボックス)を多用した書類を作っていざ印刷してみると、印刷結果の図形の大きさが編集の見た目と全然違って困った。 たくさんのテキストボックスを直線でつないで関係性を表すための図だったけど、テキストボックスの大きさが変わって…

ループでEval(その1)

evalを再帰で書くとすぐStackOverflowExceptionで死んじゃうので、ループで書いてみようという試み。 単純に走査するだけのコードを前回のエントリで書いたので、それを使いつつ。 こんな感じ。 using System; using System.Collections.Generic; abstract c…

S式の要素を走査する

再帰とループの2通りの方法でS式(リスト)を走査してみる。ループの方はスタックの使い方これでいいのかよくわからんけど。 using System; using System.Collections.Generic; abstract class SExp { } class Pair : SExp { public SExp Car { get; private…

階乗計算

言語が提供するコールスタックを利用せずに再帰の要領で計算したくなった。特にオチは無い。 using System; using System.Collections.Generic; class App { static public void Main(string[] args) { const int N = 6; //////////////////////////////////…

一度に複数レコードをINSERT

仕事でOracle触ってる。テストデータとして大量のレコードをINSERTしたかったので、 INSERT ALL INTO TABLE1 (FIELD1, FIELD2, FIELD3, ...) VALUES (VALUE11, VALUE12, VALUE13, ...) INTO TABLE1 (FIELD1, FIELD2, FIELD3, ...) VALUES (VALUE21, VALUE22,…

VirtualBoxのGuestAdditions

VirtualBoxにdebian wheezyを入れたが、GuestAdditionsの入れ方忘れてたのでメモ。 sudoできるようにする suでrootになる visudoで自分を設定 次のパッケージをインストール(aptitude updateとaptitude apgradeは適宜やっておく) build-essential module-a…

メールによる画像のアップロード

スマホからは <input type="file"> でファイルをアップロードできないっぽいので、メールによるアップロードで実現する方向になりそうなので、やってみた。 メールによる方法のほかにも、FacebookとかがやってるJavaScriptによる方法もあるっぽいけど。 QdmailReceiverを使う 結…

絵文字の削除

あるサイトのPCサイトとスマホサイト作ってて、スマホで入力された絵文字を削除するという必要に迫られたのでメモ。理想は、 <input type="password"> の時みたいに、絵文字のキーボードを利用不可にして、絵文字を入力できないようにすることだけど。できないっぽい? ガラケーで使…

ページ遷移時にundefined

ちょっとつまづいたので、メモメモ。CakePHP+jQuery MobileでWebページを作成中。リンクをタップしてページ遷移したら、遷移先はまっ白い画面に undefined と表示されてしまう。一方、URL直接入力して遷移しようとすると問題なく表示される。 まぁググればい…

iPhoneのSafariのエミュレータ

iPhone向けサイトの開発を行っているならエミュレータはあった方が良いと思う。最終的な確認はiPhone実機でやるとして、開発中の細かな確認はいちいちiPhoneでやるとめんどいなー、みたいな。Mac持っているならApple謹製のエミュレータがあるらしいけど、あ…

debianにfirefoxをインストール

aptitudeとかでインストールできるパッケージに無いのは、何か大人の事情があるらしいけど、そんなことはよく分からない。できれば新しいブラウザが使いたいよなーってことで。 # cd /usr/local # wget http://ftp.jaist.ac.jp/pub/mozilla.org/firefox/rele…

異なる検索条件の結果を1つのページャーで

データベースへ照会した後、その結果を表示したいがレコード数が多い場合、ページ制御が必要になる。 CakePHPにはそのための仕組みがあるので簡単にできるけど 2通りの検索条件による検索結果を1ページに表示し、ページ移動のためのナビ(「次へ」や「前へ…

スクリプトを実行する

phpMyAdmin上で大きなデータベースをエクスポートしてphpMyAdminにスクリプトを貼り付けて実行すると、実行できなかったりする。エクスポートされたスクリプトを分割してコピペして実行してたけど、コマンドラインでいけるんだね。 source ファイル名 わはー…

シリアライズ

PHP

あるクラスのインスタンスをシリアライズしたいけど、そのインスタンスには速度を稼ぐためにキャッシュを持っていたり、DBとの接続オブジェクトのインスタンスも持っていたりするので、そういうのはシリアライズしたくない。 こういう、あるフィールドはシリ…

関数の渡し方

PHP

今まですごい勘違いしてた。 今までこれで動いてた理由は、 一つ目のdoSomethingの呼び出しでは、引数が自動的に'callback'に変換される 文字列オブジェクトに対して関数呼出しの演算子()を使うと、文字列が関数名…

甘くはない

自分はC#が慣れてるから、きっと開発しやすいはずだと思っていたけど、そう甘くはないようだ。UIに関係のないクラスの定義は全然問題ないけど、ASP.NET特有の部分に関しては感覚がつかめない。そりゃそうだな。 ついついデスクトップアプリの感覚で書いてし…

Ruby動いた

やっとmod_rubyで動かせた。動かすにはさらに次のことが必要だったらしい。 ExecCGIをonにする スクリプトのファイルを実行可能にする Apacheモジュールで動かすのに、なんでCGIが関係あるんやろ?なんで実行可能にせないかんのやろ?とりあえずPHP以外の言…

モジュールで動かすための設定

以前少しPHPの開発に関わったことがあって、サーバでのPHPの走り方に2通りあるって事は何となく知ってた。本番環境のサーバがリニューアルした時に、その辺が変更されたからだ。その時は 変更後:拡張子はcgiで、スクリプトの先頭に#!/usr/bin/phpって書く …

ディレクティブ

Apacheにはいろんなモジュールがあるけど、それぞれに独自のディレクティブがあるみたいだなぁ。それらのディレクティブが何を意味するかとか、リファレンスがあると良いなあ。ていうか、既にあるけど見つけきれてないのかな。まぁあっても英語だろうし、こ…

Apache + Mod_mono

apt-getでmod_monoやら何やかんやインストールしたが、asp.net2-examples以外の(自分で作ったアプリ)の動かし方が一向に分からずにいたが、「mod_mono設定 - monoで行こう」を見つけて、MonoDevelop側での操作が必要だったことを知った。 で、これをやった…

eclipseやってみっか

「eclipse 日本語化」とかでググると「UbuntuTips/Application/EclipseJapaneseSetup - Ubuntu Japanese Wiki」がトップに出てくるわけですよ。で、その通りにやるとうまく行かない。で、どうにも困っていろいろググってたら「juners weblog: Eclipseの英語…

SVGで扇形を描く

円グラフを描くには楕円を描かないといけない。SVGで楕円を描くには、path要素を使うっぽい。path要素のd属性で描画に必要な座標とかを指定するんだけど、直感的に分かりにくい。 下図のような図を描くには 次のようなSVG文書を書く。 <svg width="300" height="300"> <path d="M 150 150 L 150 0 A 150 150 0 0 1 232.42634671062092 24.67682828805954 Z" fill="#947fff" /> </path></svg>

pear

これもすぐ忘れてしまうので、メモメモ。 パッケージを探す pear search foo インストール済みのパッケージを一覧 pear list インストール 管理者権限が必要 pear install foo アンインストール 管理者権限が必要 pear uninstall foofooに依存しているものが…

パーミッションの8進数

3桁8進数での表記法を、よく忘れるのでメモメモ。 8進数表記 意味 0 --- 1 --x 2 -w- 3 -wx 4 r-- 5 r-x 6 rw- 7 rwx 3bitの2進数で、大きい方からrwxだと覚えておけば良いな。

sudoできるようにする

visudoで、以下を追記 <ユーザ名> ALL=(ALL) ALLvisudoはスーパーユーザーで実行しないとダメよ。Debianでsudoを使う - bnote

Apacheでアクセスできた

ということでずっと上手くいってなかったApacheの件は、Apacheの設定が原因ではなく、ファイルとディレクトリのアクセス権が原因だったという...。 ~/public_html/ 以下の「グループ」と「その他」のアクセス権を次のように設定した。 全てのファイルでr--(…

ファイルブラウザでのアクセス権の設定

chmodでアクセス権を変更できるけど、ファイルブラウザでファイルやフォルダを右クリックして「プロパティ」を選択し、「アクセス権」のタブからも変更できるっぽい。で、やろうとして分かり難かったのでメモメモ。 ファイルを右クリックした場合 ファイルを…

lsコマンド

オプションl %ls -l ってやると、アクセス権も表示してくるれる。 ところでアクセス権は、所有者と所有者グループと赤の他人の3つのくくりに対して、rとwとxを設定できるので、組み合わせで9個のフラグからなると考えられる。しかしls -lでアクセス権を確認…

アクセス権

chmodコマンドを使えばアクセス権を変更できるのは分かった。 所有者 所有者の所属グループ 赤の他人 の3種類の範囲について、 読み込み(r) 書き込み(w) 実行(x) の権限を実行できるそうな。でもこれって対象がファイルのときだよね?「ディレクトリを実行」…

Apacheの実行グループ

Apacheの設定ファイルに、実行ユーザとグループの設定がある。グループに関してはこの前調べて理解できたけど、Apacheがなぜグループを設定させているのか理解できない。グループというのはユーザに付随する情報でしょ?ユーザが決まれば自動的に決まるもの…