cutmail's blog

write the code

2008-01-01から1年間の記事一覧

fedora10でLZH圧縮ファイルを展開・圧縮する

fodoraはデフォルトではLZHを展開するlhaというパッケージがインストールされていないので、 インストール。 # yum install -y lha実際に展開するには、 $ lha xq hoge.lzhとすればいいようです。圧縮する場合は、 $ lha aq hoge.lzh ./hogeとすればできます…

WordPressで同じようなタイトルの記事を投稿しようとする際にエラーになる件について

現行の2.7あたりだと大丈夫なのですが、 2.3.3からアップグレードしたWPで日本語または英語の重複タイトルを送信 新規インストールのWP 2.5で日本語の重複タイトルを送信 などの条件が重なると無限ループに陥るようです。この場合、以下のように修正したら大…

指定した行に移動する

vi

以外に知っているようで知らなかったのでメモ。例) 13行目の行頭に移動する 13ggこれだけ。こんなの知らないでよくコーディングしてきたなーと自分に疑問。

PHPの可変変数

php

意外に知っているようで知らなかったのですが、PHPに可変変数というものがあるようです。具体的には、 と書くと、fooと出力されます。 なんか非常に気持ち悪いのですが、$$aは$aの値と同じ変数名をもつ変数の値を表現しているらしいです。 可変変数は変数名…

webサービスにおけるエラーメッセージについて

webサービスを作るうえで重要なのがエラーメッセージ。いろんな人に言われたけど、そのエラーが起こった状況を表示するのではなく、 ユーザーに次の動作を促すようなメッセージを表示するのがいいらしいです。具体的には、 例1 メールアドレスは必須です。で…

EUC-JPにおけるエンコード処理について

某webアプリをEUC-JPで作っているのですが、 その際、URLに検索語を含ませる必要があり、 既存のものを真似てbase64エンコードするようにしたのですが、 特定の語句をデコードしようとすると元の語句に戻らないという現象が起きました。調べてみたらなにやら…

ユーザーを待たせない工夫

松屋で牛めしたべながら思ったんだけど、 松屋って食券ボタンを押した瞬間にキッチンにあるディスプレイに注文内容が表示されるらしい。 これって、Webの世界のAjaxなどと目的は似てる気がする。 どちらも、ユーザー(お客さん)を待たせない工夫であるよね。…

Firefoxの検索プラグインを作ってみる

不思議なピクミーという検索ツールを使っていたりするのですが、 サイト上のフォームからしか検索できず、めんどくさいと感じたので、 下のサイトを参考に作ってみた。 Creating OpenSearch plugins for Firefox - MDN コーディング 実際には、xmlファイルと…

with文を使ってみる

javascriptってPHPとは違った書き方がいろいろあっておもろいです。たまたま読んでいたソースのなかにwith文があったのですが、そんなの知らない自分は早速リーフって見たわけです。with文を使用すると、親オブジェクトの名前を予約することができ、あとあと…

Google Analyticsを使ってアクセス解析をしてみる

はてなは簡単な設定で、Analyticsが利用できるのがいいですね。そんなわけで、日頃どんな人たちがこのサイトを見ているのか確認してみます。世間のブラウザシェアだと、IEを使っている人が圧倒的に多いですが、はてなは圧倒的にfirefoxユーザーが多いんです…

Javascriptで動的にチェックボックスを作る2

前回は、配列に格納した項目を ループの中で文字列に埋め込み、チェックボックスを作りましたが、 こういう風に書くとカッコを数えたりするのがめんどくさいし、ミスにもつながりやすいですよね。そこで、prototype.jsにはテンプレート機能なるものがあるの…

Javascriptで動的にチェックボックスをつくる

チェックボックスの選択肢が異様に多かったりなどで、こつこつ <input type="checkbox" name="sample" value="0" />hoge とか書くのがしんどいときにはjavascriptで動的に作ってしまいましょう。そんなに難しいことをしていないので、javascriptに自身があるって方は読み飛ばしてください。コードはこんな感じ…

スーパーpre記法を直してみた

はてダのスーパーpre記法は簡単にハイライトしてくれるので、便利なんだけど 長いコード書いたときとかは右に突き出てしまうので直してみた。具体的にはCSSに一行追加するだけですが。管理→デザイン→スタイルシートの内容を一度エディターにコピーしてやると…

うごメモ

id:gessy0129さんに便乗して、自分もはてなの新サービス「うごメモはてな」を公開しました - うごメモはてな日記を紹介してみる。 まだ出たばかりのサービスだけど、まじでクオリティの高い作品がいくつかあるのでぜひチェックを!はてなと任天堂って確かに似…

クックパッドの懇親会に参加してきました。

大学生プログラマ対象ということで、さぞ濃い人ばかりかと思ったら意外に結構文系の方もいて、 結構おもしろい雰囲気でした。なにげなく、最初に話していただいたのが、最高技術責任者の橋本さんという方で、 「料理を楽しくする」というミッションには技術…

結局Google Gearsってなんなの?

最近ではあまりラボの進歩があまりないように見えるGoogleですが、 そのGoogleのGrearsっていうのが、結構いろんなところで見かけるようになりましたね。 例えば、 Google Reader Google Docs WordPress.com — Get a Free Blog Here Remember The Milk: Onli…

PHPでQRコードを作成する

php

モバイルサイトを作った時に、いかにユーザーをサイトに導くかというときに、 最近ではQRコードが結構使われていますね。 今の携帯はほとんどカメラが付いているので、これを活用しない手はないということですね。てか、QRコードって何? という人はこちら。…

ブラウザ別XMLHttpRequestオブジェクトの作り方まとめ

ajaxなどで非同期に通信する際に、XMLHttpRequestを使うと思いますが、 XMLHttpRequestオブジェクトは標準技術ではないため、 ブラウザによってインスタンスの作り方が違います。 忘れがちというか、覚えるためにメモ。 IE6以下 <script type="text/javascript"> var xmlhttp = false; try {</script>…

Google Gadgetにタブを追加してみる

Google GagetでAPIで取得したデータなどを表示するのはできましたが、 よくあるガジェットにはタブが採用されています。このタブの仕組みがよくわからなかったのですが、 意外に結構シンプルな仕組みで実装できました。 tab.xml <Module> <ModulePrefs title="タブサンプル" height="140" scrolling="true" > <Require feature="tabs" /> </ModulePrefs> <Content type="html"> </content></module>

Web用語の略称メモ

web

普段何気なく使っている略称でも、突然それってなんの略?って聞かれたら困るのでメモ。 DOM Document Object Model XML Extensible Markup Language AJAX Asynchronous JavaScript + XML CSS Cascading Style Sheets HTML HyperText Markup Language XHTML …

エスケープさせないでDOM要素のテキストからオブジェクトを取得する方法

すげー長いタイトル。 前回、DOMのテキストからinnerHTMLを使って内容を取得すると、なぜかエスケープされてしまうというのを紹介しましたが、 今回はこんな場合の回避策を。しかし、ブラウザによって使える使えないというメソッドのため、ブラウザ判別が必…

javascriptでDOM要素を取得するときの挙動について

仕事でまたしてもjavascriptと格闘してました。 今回はjavascriptでDOM要素を取得した結果が思ったようにいかなかった。例えば以下のようなソースの場合、 <script type="text"> function get_text(){ var txt = document.getElementByID("hoge").innerHTML; } </script> <div id="hoge">You&I</div> <input type="button" onclick="get_text();" /> 変数txtに…

IEでsetAttributeでclassが定義できない件について

なんでクラスが変わらないのかなーと思っていろいろ調べてみたら、 IEはDOMオブジェクトのプロパティと属性をごっちゃにしているらしい。つまり、 こう書いても <style type="text/css"> .hoge { background-color:red; } </style> <body> <span class="hoge">hogeクラスの中身</span> </body> <script type="text/javascript"> var span = document.body.appendChil…

HTML5で追加される予定の要素

id:shin_bashiがCSS3について検証していたので、便乗してHTML5について書いてみる。HTML5では、新しい要素や属性が追加されるらしいです。今回は新しく追加されるであろう要素の紹介。 追加要素 section 文書やアプリケーションにおけるセクションを表す。 a…

Google Gadget上でいろいろやってみる2

前回は足し算スクリプトなる、足し算ガジェットを作ってみましたが、今回もjavascriptとgadgetの勉強という名目のもといろいろ作ってみたいなーと。今回はおみくじgadget。 ソースはこんな感じです。 <Module> <ModulePrefs title="おみくじ" /> <Content type="html"> function fortune(obj){ var message = new Array(4</content></moduleprefs></module>…

cakephpでINSERTするつもりがUPDATEになる場合の対処法

今日悩んだことを調べ、あとで思い出すときのためにメモるシリーズ。コントローラーの中で配列の中身を一つずつINSERTするときは、 こんな風に書きますが、 $value) { if($value){ $this->data['Hoge']['test'] = $value; $this->Hoge->save($this->data); …

Google Gadget上でいろいろやってみる

前回はgadget上でBuzzurlのAPIを使って取得してきたエントリを表示してみたりしたけど、 やっぱり自分でガシガシなんかやりたいよねってことでめっちゃ簡単なサンプルを作ってみた。こんなの↓ こんな風にxmlファイルに書きます。 <Module> <ModulePrefs title="足し算" /> <Content type="html"> function calc(obj){ i</content></moduleprefs></module>…

[cakephp]コンポーネントから他のコンポーネントを呼び出す

カスタムコンポーネントを作って、他のコンポーネント経由でモデルを呼びたくて わからなかったので調べてみた。 Controller->MasterTest->find(); } } ?> のように書くとできました。…

cakephpの内部関数

配列のトレースとかをするときに今までは、 とかやっていたけど、なんかcakephpだと で同じことをやってくれるらしい。便利だね。ショートコーディングにもなるし。

知らなかったフォーム属性

フォームをいじっていて、知らなかった属性があったのでメモ。 readonly typeの属性がtext,passwordの場合に使用可能。入力オブジェクトの変更を無効にする。選択は有効で、Tabキーによる移動もできる。データも送信される。 使用例 <input type="text" name="hoge" value="test" readonly>