サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
www.abe-tatsuya.com
jQuery の超小ネタメモ。 ボタンクリックに合わせて、特定要素の背景色や文字色を変えたりというインターフェイスを実現するには、jQuery を使うのが手っ取り早いですね。 // div要素の文字色を変更 $("div").css("color","#9932cc"); 上記のように、変更したいスタイルのプロパティと値をカンマ区切りで指定します。 複数のスタイルを一気にしたいする場合は、以下のようにさらにカンマ区切りで続ければ良いです。 // div要素の文字色と背景色の変更 $("div").css("color","#9932cc", "background-color", "#000000"); 何らかのアクションに合わせて、ブロック要素の表示・非表示の切り替えをしたりするのもよくやりますが、これも display:none; と display: block; (または disp
かーなり前にperl や PHP で Excelファイル(xlsファイル)を簡単に出力する方法ということで、ちょっと裏技的なExcelファイルの出力方法をご紹介しました。 今回は、逆にPHPでExcelファイルを読む方法の紹介です。 PHPExcel をダウンロードする ExcelファイルをPHPで読み込むには、PHPExcelというライブラリを利用するのが楽です。 というわけで、以下のサイトから PHPExcel をダウンロードしましょう。 PHPExcel 解凍すると色々ファイルが出てきますが、「Classes」ディレクトリ内のファイルがライブラリ本体です。 Classesディレクトリを、どこかに置きましょう。 PHPExcel をインクルードする 設置したClassesディレクトリ内のライブラリをインクルードします。 include_once './Classes/PHPExcel.
本日も jQuery の小ネタメモ。 いわゆるLightbox風のインターフェイスが流行している影響で、インラインフレーム(に見えないUIだけど)内のウィンドウから、呼び出し元である親ウィンドウの要素を操作する、という処理は多用する機会が増えたなあ、という印象がありますね。 親ウィンドウの要素を操作する時は、 parent.$("#id").addClass('ClassName'); とか、 parent.$("p").html('カラオケ行きたい。'); とか、まあ普通の JavaScript と同じように parent で親ウィンドウを指定すればOKです。 Twitter始めました。Followはお気軽にどうぞ。 関連するブログ記事 『web制作現場ですぐ役立つ jQuery実践講座』の講師をします【8/4・11(土) 神戸・カフーツ】 [2012年7月30日 15:57] 『Web
SQLite のデータベースを GUI操作できるソフト「PupSQLite」「SQLiteCC3」の紹介です。
xhtml で DOCTYPE宣言にシステム識別子を指定しないとレイアウトが崩れたりするケースがあるよ、という話。 先日(というかかなり前)、Movable Type で作ったサイトのテンプレートをクライアントさんが自分で修正したら、IEでレイアウトが崩れてしまった、という問合せがきたのでソースを見てみたら、僕が書いた xhtml のソースでは DOCTYPE宣言を、 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> としていたところが、何故か、 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> になっていたのが原因だった
基本的な SQL 文は MySQL だろうが PostgreSQL だろうが、MS Access だろうが何だろうが、変わりはないんですが、一応メモ。 あるテーブルAからデータを select で取り出して、そのままそのデータを別のテーブルBに insert するには、以下のようにします。 insert into tableB (id, name, mailaddress) select tableA.id, tableA.name, tableA.mailaddress from tableA where tableA.id = 'hoge'; これで、テーブルAから特定の条件のデータだけを取り出して、直接テーブルBに insert することができます。 insert文や select文の基本については、PostgreSQLの初歩あたりにまとめてあります。 Twitter始めました。Fo
MySQL で、指定した件数のみ何らかの処理を行いたいときは、LIMIT句を利用します。 SELECT文の場合 ORDER BY句の次に LIMIT句を書いて、件数指定します。 ORDER BY句は使用しなくても構いませんが、使用しないと当然意図した順番通りに抽出することができません。 最初の50件のみを SELECT文で抽出したい場合は、 select * from table_name order by user_id limit 50; と書けば、user_id の昇順で、50件のみ抽出されます。 また、50件目以降のデータを100件抽出したい、というような場合は、 select * from table_name order by user_id limit 50, 100; と書くことで、実現できます。 UPDATE文・DELETE文の場合 SELECT文と同様に、ORDER B
MySQL でテーブル内の同値の数をカウントするための group by 関数の使い方についてのメモです。
もう今年も上半期が終わろうとしてますが、今さら2009年に読んだ・遊んだゲームブック13冊のランキングですよ。 安田均、TTG著。 同名の名作映画をゲームブック化した作品。 映画では主人公のマーティはこう行動したけど、別の行動をしたらどうなるだろう?的な楽しみ方ができるのが良いところ。 映画自体が非常に有名なので、ゲームブック入門として良い作品じゃないかな、と思う。 林友彦著。 『ネバーランドのリンゴ』『ニフルハイムのユリ』の続編。 ゲームブックというかボードゲームというか、その境界線あたりに位置する作品。 序盤はちょっと苦しいものの、ゲームバランスはかなり良かった。 ただ、基本的に多人数プレイ前提のシステムなので、一人でやるとちょっと物足りなかったかな。 ゲームシステム重視のため、読み物としての面白さはあまりない。
去年のGumblarの流行以来、レンタルサーバーなどでも、FTPD の設定を行なえる .ftpaccess が使用できるケースが増えてきた気がします。 この .ftpaccess を設定することで、特定のホスト以外からの FTP接続を制限するようなことが可能になります。 .ftpaccess への記述は、 .htaccess のリモートホスト/IPアドレスでのアクセス制限の設定方法と基本的には同じです。 <Limit ALL> Order Allow,Deny Allow from ***.***.***.*** Allow from ***.***.***.*** Deny from all </Limit> こんな感じで、特定のIPアドレスのみから接続できるように設定しておき、.ftpaccess ファイルを任意のディレクトリに置いておけば、そのディレクトリ以下には指定したIPアドレス
JavaScript で、数秒おきとか数分おきに定期的に自動で処理を行なう方法の解説です。 ブラウザ上でタイマー的なことを実現したり、Ajax 非同期通信と平行してブラウザ上の何らかの値を監視したりするのにも使えます。 window.setTimeout() を使うと、指定した時間の後に処理を実行できるので、これを利用してループを行ないます。 // 最初の実行 TimerCount(); function TimerCount(){ // ここに定期的に行なう処理を書く // 1秒ごとに実行 window.setTimeout("TimerCount()",1000); } setTimeout の書式は 「setTimeout(処理,待機する時間(1/1000秒単位))」となっているので、1秒ごとに実行する場合は 1000 を指定します。1分なら 60000 ですね。 Twitter始め
相変わらず Movable Type 5 がリリースされても気にせず MT4 ネタですよっと。 Movable Type には mt-search.cgi というブログ内検索用の CGI が用意されていますが、この検索フォームを、カテゴリ別に検索できるよう設定する方法です。 基本的には、mt-search.cgi に、category="hogehoge" という形でカテゴリ名を渡せば、検索結果はそのカテゴリ内のブログ記事に限定されます。 なので、例えばプルダウンのリストボックスでカテゴリを選択できるブログ内検索フォームを作りたければ、以下のようなテンプレートになります。 <form method="get" action="<$MTCGIPath$><$MTSearchScript$>"> <input type="hidden" name="IncludeBlogs" value="<
また jQuery の超小ネタのメモです。 jQUery で、指定した要素の中身を空にする方法です。 例えば p要素の中身を空にしたい場合は、以下のようにします。 $("p").empty(); もちろん、「.class」「#id」のような指定で、クラスやID指定した要素を空にもできます。 Twitter始めました。Followはお気軽にどうぞ。 関連するブログ記事 jQuery で非同期通信中にローディング画像を表示する方法 [2010年8月10日 23:03] jQuery UI の Sortable モジュールでリストをドラッグしてソート可能にする方法 [2010年7月27日 15:47] jQuery で POSTメソッドによる非同期通信を行なう方法 [2010年7月26日 17:28] jQuery の入門というか初歩というかそういう話 [2010年7月22日 16:48] 『w
jQuery で Ajax な非同期通信中に「Now Loading」的な GIFアニメ画像を表示する方法の解説です。 超小ネタですが。 jQuery で非同期通信処理をしている間に「Now Loading」的なアニメーション画像を表示する、というのはよくあるパターンですが、その方法の解説です。 ローディング中の画像を表示するスクリプト 例えば、以下のような html の id="message" の内容を Ajax によって変更したい場合。 <p id="message">ここのメッセージが非同期通信後に変更されます。</p> <form method="GET" action="#"> <input type="button" value="ここをクリックでメッセージ変更" onclick="ChangeMessage();"> </form> この時、function ChangeM
Movable Type で各ブログ記事にTwitterへの「つぶやく」リンクを設置する方法の解説です。 Twitter への「つぶやく」リンクのリンク先は、 http://twitter.com/home?status=ここにツイート本文 と指定すればOKなので、ここに記事タイトルとパーマリンクを入れれば良いわけです。 <a href="http://twitter.com/home?status=<$MTEntryTitle encode_url="1"$>%20<$MTEntryPermalink encode_url="1"$>" target="_blank">Twitterでつぶやく</a> MTEntryTitle と MTEntryPermalink の各タグに「encode_url="1"」をセットしてるのがポイントと言えばポイントでしょうか。 これを指定しておけば、MT
jQuery で Ajax ですよ非同期通信ですよ! というわけで、jQuery を使って POSTメソッドで別の CGIスクリプトにデータを送り、返った結果をページ内に出力を行なう、という処理の方法の解説です。 jQuery で POSTメソッドによる非同期通信は、「post( 通信先URL, 送信するデータ, 返った結果の処理, 送信データ形式) 」という形で指定します。 例えば、「./test.cgi」に対して「mode=test」「name=tatsuya」というデータを送信し、test.cgi が返した結果を「div id="test"」の中に出力したい場合は、以下のようになります。 $.post( // 通信先URL "./test.cgi", // 送信するデータ { mode:"test", name:"tatsuya" }, // 返った結果の処理 function(da
ある文字列から、正規表現にマッチした文字列のリストを、配列に入れる方法です。 意外と最近までこれ知らなかったです。 #-- 文字列 $string = '0a12bc345def6789ghij'; #-- 数字だけを抽出して配列に入れる @nums = $string =~ /[0-9]+/g; #-- 配列に入った値を出力 foreach $num (@nums){ print $num."\n"; } 上記の出力結果は、 0 12 345 6789 となるはずです。 Twitter始めました。Followはお気軽にどうぞ。 関連するブログ記事 perl / PHP / JavaScript 各言語での URL(URI)エンコード・デコード方法まとめ [2009年12月 2日 18:47] perl の CGI や PHP でフォーム入力チェックによく使う正規表現のまとめ [2009年
MySQL用の phpMyAdmin とか、PostgreSQL用の phpPgAdminのように、PHPで動く Webベースで SQLite クライアント SQLiteManager の紹介です。 1. ダウンロード SQLiteManager のダウンロードはこちらから行なえます。 2. 日本語(UTF-8)対応パッチ 日本語(UTF-8)のデータベースを扱う場合は、UTF-8でSQLiteManagerを使う - よくきたblogを参考に、日本語化パッチをあてます。 euc-jp の場合は必要ない、かも? 3. ひたすらアップロード 上記日本語(UTF-8)対応パッチを含む、全ファイルを頑張ってアップロードします。 アップロードしたディレクトリの index.php にアクセスすれば、SQLiteManager が使えるようになっています。 4. Basic認証の設定 自分以外の人間
今回も iMacros関連の記事です。 ブラウズ中のページから、特定の条件にマッチする文字列を抽出して、変数に入れてなんらかの処理をする方法を解説します。 iMacros でクリップボードの内容を変数に入れて処理を行なう方法の続きということで、例として「Googleで検索した後、検索結果から特定のドメイン(仮に d.hatena.ne.jp とします)のページにアクセスする」という処理を書いてみます。 ※この条件ならGoogle で「site:」で検索すればいいだけなんですけど、サンプルということでw TAB T=1 URL GOTO=http://www.google.co.jp/ SET !VAR1 {{!CLIPBOARD}} TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:f ATTR=ID:q CONTENT={{!VAR1}} TAG POS=1 TYP
今日もiMacros関連の記事です。 iMacros でマクロ処理を連続して行なっている際、デフォルトでは何らかのエラーが出ると処理が止まってしまいます。 基本的にはそれで問題ないのですが、場合によってはエラーが出ても無視して次の処理を続行して欲しいケースもあるかと思います。 その場合は、マクロのコードの最初のほうに、 SET !ERRORIGNORE YES という一行を書いておけばOKです。
Firefox にマクロ機能を追加できるアドオン「iMacros」で、特定の条件にマッチする文字列を抽出する方法の解説です。 今回も iMacros関連の記事です。 ブラウズ中のページから、特定の条件にマッチする文字列を抽出して、変数に入れてなんらかの処理をする方法を解説します。 iMacros でクリップボードの内容を変数に入れて処理を行なう方法の続きということで、例として「Googleで検索した後、検索結果から特定のドメイン(仮に d.hatena.ne.jp とします)のページにアクセスする」という処理を書いてみます。 ※この条件ならGoogle で「site:」で検索すればいいだけなんですけど、サンプルということでw TAB T=1 URL GOTO=http://www.google.co.jp/ SET !VAR1 {{!CLIPBOARD}} TAG POS=1 TYPE=I
Firefox にマクロ機能を追加できる「iMacros for Firefox」の紹介です。 Webベースのアプリケーション等で、毎日同じ作業を行なったりする場合、「iMacros」を利用してマクロ化してしまうことで、非常に効率よく作業を済ませることができます。 iMacros の使い方 上記サイトから iMacros をアドオンとして追加すると、Firefox に左のようなサイドバーが追加されます。 このサイドバーを使って、マクロの記録や再生を行ないます。 マクロの記録を行なう場合は「REC」タブを開いて「Record」ボタンをクリック。 すると、iMacros のサイドバーが記録モードになります。 普段ブラウザで行なっているルーチンワークをそのまま行なえば、その作業が記録されていきます。 作業が終わったら「Stop」ボタンをクリック。 記録した作業は「#Current.iim」という
Movable Type 4 のコメント欄は、デフォルトでは名前・メールアドレス・URL・コメント本文という四つのフィールドしかありませんが、ここに独自のフィールド(タイトルとか)を追加することができる Comment Titles プラグインの紹介です。 Comment Titles プラグインの入手・インストール Add Comment Titles to MT4 Blogs (MT Hacks)にて、Comment Titles プラグインを入手できます。 インストールすると、データベースにフィールドか追加され、利用可能になります。 コメント投稿フォームの修正 インストールが終わったら、ブログ記事アーカイブのコメント投稿フォームに、新たな入力欄を追加します。 以下のような感じで、テキスト入力欄を追加します。 <input type="text" name="title" value=
mt-rebuild.pl を使って、Movable Type の再構築を定期的にバックグラウンドで実行するための方法の解説です。 以前紹介したRebuildQueueプラグインは、自分で手動で再構築のトリガーを起動すると、その後はバックグラウンドで再構築を行ってくれる、という仕組みでした。 今回紹介する mt-rebuild.pl は、それとはまたちょっと違って、cron 等で定期的に起動することで、そのままバックグラウンドで再構築処理を行ってくれるスクリプトです。 mt-rebuild.pl の設置 mt-rebuild.pl の配布元はこちら。 上記ページから mt-rebuild.pl をダウンロードして(TypeKeyでログインする必要があります)ください。 ダウンロードした mt-rebuild.pl を、Movable Type をインストールしているディレクトリにアップロー
Movable Type のデータベースを直接いじる機会ってそんなにないと思うんですが、プラグインを作るときとか、サーバー移転とかでちょっとデータをいじったりする時とかの参考に。 各ブログ記事がどのカテゴリに属しているのか、というデータが、データベースのどのテーブルにどういう形で入っているのか、という話です。 ブログ記事関連のデータなので、テーブル「mt_entry」に入ってるんじゃないかな、ととりあえず考えると思うんですが、違います。 実際「mt_entry」テーブルには「entry_category_id」というフィールドがあるんですが、これは多分、古いバージョンで一ブログ記事に対して一カテゴリしか設定できなかった頃に使っていたフィールドでしょう。今では使われていません。 じゃあどのテーブルなんだって話なんですけども、ずばり「mt_placement」というテーブルがそれです。 このテ
小説ベスト20に続いて、やはり今さら感溢れるエントリなのですが、2009年に読んだ自然科学系書籍39冊の中から、面白かった本ベスト20を決めてみました。 本選びの参考にでもなれば幸いです。 一部、自然科学系というくくりで良いのか?という本もありますが、その辺はまあ適当で。。 20位~11位 ドゥーガル・ディクソン著。 ドゥーガル・ディクソンさんお得意の、架空博物誌シリーズの一つ。 「もし恐竜が6,500万年前に絶滅していなかったら、どのように進化して現代に至るか」をテーマに、様々な奇妙な生物が描かれている。 面白いテーマではあるものの、そもそも恐竜自体が現代の僕らにとっては不思議だらけの生き物なので、その恐竜が進化して変な生き物になりますよ、と言われてもイマイチぴんと来ないところが残念か。 とはいえ、現在哺乳類が占めているニッチを恐竜から奪えていなかったらどうなってたか、というのはなかなか
Cookie の出力 Cookie は HTTPヘッダに出力することで、アクセスしたユーザーのブラウザ毎に書き込むことができます。 Cookie を書き込む際の書式は、 name=value; expires=Sun, 15-Nov-2009 23:59:59 GMT; domain=www.abe-tatsuya.com; path=/cgi-bin/; secure という感じです。 name 必須。任意の「name」に対する値「value」を指定します。 例) loginid=abetatsuya expires Cookie の有効期限を指定します。省略するとブラウザを閉じるまでの間が有効期限になります。 また、過去の時刻を指定すると、該当 Cookie を削除します。 domain Cookie を有効にするドメイン名を指定します。省略可。 path Cookie を有効にするパ
先日.htaccess で .html 等の拡張子で PHP を実行させる方法という記事を書きましたが、さくらのレンタルサーバーでは、PHP が CGI として動いているため、上記記事の設定では、.html 等の拡張子で PHP を実行することができません。 なので、今回はさくらのレンタルサーバーに絞った、設定方法の解説です。 php-cgi をドキュメントルートにコピーする SSH でサーバーにログインし、php-cgi というバイナリファイルを、自分のドキュメントルートにコピーします。 cp /usr/local/php/default/bin/php-cgi ~/www/php.cgi コピーする際に、ファイル名を php.cgi のように拡張子を .cgi にしておくのがポイント。 ついでに、コピーした php.cgi のパーミッションも変えておきましょう。 chmod 0705
TOP > Web制作技術 > perl/CGI > perl / PHP / JavaScript 各言語での URL(URI)エンコード・デコード方法まとめ 日本語等の2バイト文字を URL として使用するための、URLエンコード・デコード方法を、perl / PHP /JavaScript の各言語別にまとめてみました。 と言っても、PHP と JavaScript はそれ専用の関数が用意されてるから簡単なんですけどね。 perl で URLエンコード・デコード perl で URLエンコードするには、以下のようにします。 $word = "はぴはぴはっぴー♪"; $word =~ s/([^0-9A-Za-z_ ])/'%'.unpack('H2',$1)/ge; $word =~ s/\s/+/g; これで「はぴはぴはっぴー♪」という文字列が「%82%cd%82%d2%82%cd
次のページ
このページを最初にブックマークしてみませんか?
『阿部辰也のブログ――人生はひまつぶし。』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く