サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
dxd8.com
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) Adobe PhotoshopでFireworksのスライスオブジェクトを実現するアクションを紹介します。 Photoshop用の拡張機能「スライスチップ作成パレット」を導入すると、画像のスライスが便利になります。通常、Photoshopのスライスでは、スライス後に画像のサイズを変更した場合、スライス範囲も設定し直す必要がありますが、「スライスチップ作成パレット」を利用すると、作成したスライス範囲がレイヤーとして作成されます。 作成されたレイヤーを画像のレイヤーとリンクしておくことで、画像のサイズや位置の変更にスライス範囲が自動的に追随するようになります。 Photoshopのスライスを利用している人にとっては、かなり便利な拡張機能ではないでしょうか?「スライスチ
いつからか、Windowsのインストーラーや各アプリケーションで文字化けが発生するようになりました。なかなか直せずにいたのですが、ようやく解決することができたので、Windowsで文字化けが発生した場合の原因別の直し方をまとめておきます。
トラックバック (0) この記事へのトラックバックはまだありません。 この記事のトラックバックURI https://dxd8.com/archives/183/trackback/ この記事のURI https://dxd8.com/archives/183/
本章以降に関わる事柄について、本書の補足をしておくと、「プロトタイプ」や「プロトタイプオブジェクト」と呼ばれているものは、prototypeプロパティやprototypeプロパティが参照するオブジェクトとは別物です。一部の実装(FirefoxのSpiderMonkeyなど)では、内部的なプロパティである__proto__プロパティでオブジェクトのプロトタイプを参照できます(ECMAScriptでは、内部仕様としての内部プロパティの存在については説明されていますが、明確なプロパティとしては定義されていません)。プロトタイプチェーンは、prototypeオブジェクトをたどっていくのではなく、プロトタイプオブジェクトをたどっていくものです。 「プロトタイプ(オブジェクト)」が「prototype(オブジェクト)」と異なることは、次のようなコードを試してみるとわかります。 // Classクラスの
Apacheの設定 Apacheの設定は「XAMPPフォルダ\apache\conf\httpd.conf」に記述されています。設定を追加・上書きできるようにするために、「XAMPPフォルダ\apache\conf\httpd.conf」の最後にIncludeディレクティブを追加します。 Include "D:/My Documents/xampp/apache/conf/httpd.conf" 設定ファイル「D:\My Documents\xampp\apache\conf\httpd.conf"」が追加で読み込まれるようになります。 ドキュメントルートの設定 「データフォルダ\apache\conf\httpd.conf」を新規作成し、ここにドキュメントルートの設定を追加、デフォルトの設定を上書きします。また、外部からのアクセスも禁止しておきます。 DocumentRoot "D:/M
10.1 モジュールと名前空間の生成 モジュールの開発では、名前空間の衝突を避けるため、1つのグローバルシンボルにモジュールのオブジェクトを追加していくようにします。 var Class = {}; // グローバルシンボル Class.define = function(data) { /* コード */ }; Class.provides = function(o, c) { /* コード */ }; グローバルシンボルをその存在をチェックしてから生成する場合には、宣言されていないグローバルオブジェクトを読み出すと例外がスローされるため、最初にグローバルシンボルとなる変数の宣言だけはしておく必要があります。 名前空間が衝突する可能性をより減少させるために、ファイル名ベースとドメイン名ベースのルールとコードの例が掲載されています。 10.2.2 プライベートな名前空間とスコープとしてのク
WordPressのインポート機能 WordPressは、管理ページの「ツール」→「インポート」から各種フォーマットで投稿やページの一括インポートが行えます。他のCMS等から移行する場合には、それらからエクスポートしたファイルをそのままインポートできます。しかし、こういった場合、WordPressの機能であるカスタムフィールドやスラッグ等をインポートすることはできません。 実は、WordPress自身もWXRという独自のXMLフォーマットを持っています。このWXR形式を利用することで、WordPressのカスタムフィールドや投稿・ページの設定も一括でインポートすることができます。 WXRファイルのテンプレート 今回、カスタムフィールドやスラッグを設定した投稿を下書き状態でインポートしたかったため、このWXRファイルのテンプレートを作成してみました。CMS等を利用している場合は、このテンプレ
フォントを多くインストールしていると、ソフトウェアの起動が遅くなったり、使用するフォントを選ぶのが大変になります。Windows用のフォント管理ソフトでいいものがないかと探していたら、「FontExpert 2009」というものを見つけました。 Font Manager for Windowsを見る限りでは、フォント管理・閲覧のための十分な機能を持っているソフトウェアです。有償のソフトウェアですが、30日間の体験版があったのでさっそく試してみました。 操作は、英語のドキュメントを見ながら手探り状態でしたが、結果としてはかなりの好感触でした。以下、FontExpert 2009の基本的な機能を紹介してみます。
TortoiseSVN(Subversion)を利用して制作・開発している場合、制作・開発ソフトウェアが作成するテンポラリファイルなど、リポジトリにはコミットしたくないファイル・フォルダが作成され場合があります。そういった場合に特定のファイル・フォルダを除外(無視)する方法です。 今回は、Subversionを利用して、Aptana Studio(Eclipse)とCakePHPで開発している場合の例になります。Aptana Studioの場合、プロジェクトのルートに「.project」というファイルが作成されます。また、CakePHPの場合、アプリケーションディレクトリ(ROOT/APP_DIR/)の「tmp」フォルダにテンポラリファイルが作成されます。これらのファイル・フォルダをSubversionリポジトリの管理下から除外してみます。 特定のファイルの除外(無視) Subversio
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) WordPressで、投稿に添付されている画像ファイルを自動で表示する関数を作成したので紹介しておきます。 WordPressの投稿ページから添付した画像ファイルは、ギャラリーから直接挿入してもいいのですが、そうすると余計なtitle属性やclass属性が付いてしまいます。Wordpressのアップデートや手動でのマークアップによって、XHTMLのマークアップの一貫性が失われる原因になり、結果としてデータの再利用が困難になる可能性があります。 今回は、メンテナンス性や再利用性を重視したかったため、本文以外はできるだけ自動で出力できるようにと、投稿に添付されている画像ファイルを自動で出力する関数を作成しました。次のような関数をテーマのfunctions.phpなどに
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) 海外共用サーバー「DreamHost」の申し込み方法を紹介していなかったので、契約までの手順をスクリーンショット付きで紹介しておきます。 最初に、初めてDreamHostに申し込む場合は、契約する期間に合った割引コードをメモしておいてください。後でこの割引コードを入力することで最大$200引き+アルファの特典が受けられます。 割引コードをメモしたら「DreamHost」にアクセスします。サーバーを借りるには「Host a Domain」を選びます。 契約期間を選びます。1ヶ月契約は初期費用がかかるため、初期費用のかからない1年以上の契約がおすすめです。 オプションサービスを選びます。Google Appsは無料で利用できるので選択しておきましょう。 ドメイン名とユ
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) 「シェルスクリプトとCronでデータベースを自動バックアップ&ローテーション」に引き続き、今回は、ファイルの自動バックアップ&ローテーションを行うシェルスクリプトを紹介します。 ページ下部のようなシェルスクリプトを文字エンコーディングをEUC-JP、改行コードをLFで作成し、外部からアクセスできない場所に転送します。例ではシェルスクリプトを/virtual/ユーザー名/sh/ディレクトリに作成し、バックアップ先を/virtual/ユーザー名/backup/files/ディレクトリとしています。 あとは、Cronにこのシェルスクリプトを登録し、1日に1回だけ実行されるように設定するだけです。 シェルスクリプトが実行されるたびに、指定したディレクトリにファイルを圧縮し
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) 一部のサイトをCoreserverに移動したのを機に、バックアップ用のシェルスクリプトを見直しました。今回は、データベースの自動バックアップ&ローテーションを行うシェルスクリプトをメモを兼ねて紹介します。 ページ下部のようなシェルスクリプトを文字エンコーディングをEUC-JP、改行コードをLFで作成し、外部からアクセスできない場所に転送します。例ではシェルスクリプトを/virtual/ユーザー名/sh/ディレクトリに作成し、バックアップ先を/virtual/ユーザー名/backup/databases/ディレクトリとしています。 あとは、Cronにこのシェルスクリプトを登録し、1日に1回だけ実行されるように設定するだけです。 シェルスクリプトが実行されるたびに、指
11.2 パターンマッチング用の文字列メソッド Stringオブジェクトには、正規表現を使ってパターンマッチングと検索・置換を行うメソッドが4つあります。 // search()メソッド // 正規表現にマッチした文字列の先頭の文字位置を返す。見つからなかった場合は-1を返す。 'JavaScript'.search(/script/i); search()メソッドではgフラグはサポートされません。また、引数に正規表現以外を指定すると、引数はRegExpコンストラクタに渡されます(=正規表現に変換される)。 // replace()メソッド // 正規表現にマッチした文字列を検索/置換する。 'javascript'.replace(/javascript/gi, 'JavaScript'); replace()メソッドの引数に正規表現以外を指定すると、文字列そのものが検索されます。Reg
レンタルしてるサーバのXREA+が重くなってきたので、新しく追加でCoreserverを借りました。CMS製のサイトをいくつか移行させたので、その際の作業をメモしておきます。今回はMODxです。 ファイルとデータベースのエクスポート 移行の際に必要なものは、古いサーバ上にあるファイルとデータベースのデータです。 まず、データベースのデータをエクスポートします。シェルからmysqldumpコマンドを利用してもいいですが、今回は一つのデータベース内に複数のCMSのテーブルがあったので、phpMyAdminからMODxのテーブルのみを選択して、SQLファイルとしてエクスポートしました。 次にファイルをダウンロードします。一つ一つダウンロードしていては時間がかかるので、SSH接続でシェルに入り、tarでアーカイブしてしまいます。この時、トップディレクトリの「.htaccess」ファイルはワイルドカ
WordPressの設定を変更 /wp-config.phpを新しいサーバとデータベースに合わせて変更します。 // ** MySQL データベース設定 ** // define('DB_NAME', 'データベース名'); // データベース名 define('DB_USER', 'データベースのユーザ名'); // ユーザー名 define('DB_PASSWORD', 'データベースのパスワード'); // パスワード define('DB_HOST', 'localhost'); // データベースサーバ (ほとんどの場合変更する必要はありません) define('DB_CHARSET', 'utf8'); define('DB_COLLATE', ''); // テーブルの接頭語を指定します。複数設置する場合など適宜変更してください。 $table_prefix = 'wp_';
DreamHostの初期設定をメモしていきます。今回は、SSH接続とFastCGI、タイムゾーンと言語の設定を行いました。 海外サーバの割に日本語の情報があり、意外とすんなりいけました。参考にさせていただいたページとともに紹介します。 SSH接続 初期状態ではFTP接続しかできないので、DreamHostのコントロールパネルの「Manage Users」からユーザのアカウントタイプを「Shell account」にして、FTP/SSHの両方で接続できるようにします。 PuTTYを使っているので、「PUTTYの使い方 - niming538の日記」を参考にさせていただきました。この手順通りに公開鍵と秘密鍵を作成、アップロードし、後はPuTTYでセッションの設定をするだけです(「SSH - DreamHost」も参照)。 また、「DreamHost移行メモ part2 « Regen Pres
CodeIgniterで管理ページを作成するにはどうすればよいのか、「CodeIgniter徹底入門」を参考にしながら作ってみます。 一つ気付いたことがあるのですが、「CodeIgniter徹底入門」には管理ページの作成方法は載っていません。なので、解説を参考に考えながら作成していきます。管理ページの作成方法が載っていたら良かったですね。 ログイン認証にはsimpleloginライブラリを使おうかと思っているのですが、まだどうするか考え中なので、枠組みだけ作っておくことにします。 管理ページ用の設定の追加 CakePHPの管理ページ機能が便利なので、真似をしながら作成していきます。(CakePHPを使えばいいじゃん、とか突っ込まないように。やっていることが見えやすいのがCIのいいところだと思います。) 管理者用のMVCはディレクトリを分けたいので、config.phpにそれ用の設定を追加し
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) 「海外の有料レンタル共用サーバを比較・検討中」でサーバを検討した結果、DreamHostの自由度の高さに惹かれて、1年間の契約をしてみました。これからDreamHostに申し込んでみようと考えている人のために、最大割り引きのクーポンリンクを作成しましたので、是非、ご利用ください。 DreamHost 20% 割り引きから申し込むことで、$25.00の割引となります。 プランの改定で一律$25.00割引になりました(クーポンコード不要)。 5名限定でさらにお得なクーポンコードが利用できます。人数限定の早い者勝ちですので、早めに5名限定のクーポンコードを利用して申し込んでください。2週間は無料で使用できます。 5名限定のクーポンコードは、1つにつき1名のみの割り引きで
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) 先ほど、「アドオンを50個近く入れても爆速すぎるFirefox3」で書いた気になる点をいくつか解決することができました。 ログインが必要なサイトのログイン状態が記録されない。 Tab Mix Plusで閉じたタブの復元ができない。 上記の2点は、Torbuttonというアドオン(匿名プロキシのTorを切り替えるボタンを追加するアドオン)が原因でした。どちらも、このアドオンのせいでクッキー・セッションの処理がおかしくなっていたようです。アドオンを入れすぎて、突き止めるまでに時間がかかりました…。 そういえば、このTorbuttonを使おうとしたときに、Firefox3では一部の情報が漏れる可能性があります、みたいなメッセージが表示されたのを思い出しました。それが関係
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) VALUE DOMAINで取得したドメインをDreamHostに設定してみました。 DreamHostの登録時に取得したドメイン(永久無料)は、以前からいつか取得しようと考えていたもので、今のところ使う予定もないので、新たにVALUE DOMAINでドメインを取得しました。3年契約でドメイン2個が永久無料にできること(最大割引額の場合)を知っていれば、そのクーポンを配布している場所を必死で探していたと思うのですが、それを知ったのは契約後なので後の祭りです。 それにしても、ドメインのコレクションがまた増えてしまいました。お名前.comや海外のレジストラを合わせると28個になりましたが、これでも一時期よりはだいぶ減りました。 さて、ドメインの設定に関してですが、「Dr
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) コストパフォーマンスに優れたレンタルサーバと言えばXREAですが、Apacheのログをサーバ上に蓄積したくなったので、それ用のシェルスクリプトを書いてみました。 XREAでは、Apacheの生ログは直近の5日間しか保存されません。たまに必要になるときがあるので、これを別のディレクトリに蓄積していこうというものです。 storelog.sh #!/bin/sh # ログファイルのあるディレクトリ log_dir=/virtual/ユーザ名/log/ # ログファイルを蓄積するディレクトリ stored_dir=/virtual/ユーザ名/log/stored/ cd ${log_dir} # 末尾に数字がつかないログファイルを取得(最新のログファイルのみを取得) l
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) 「CakePHPでアプリケーションの設定を編集するページを作りたい」と「CakePHPでgenerateList()の結果からモデルデータ形式の配列に戻す」からの続きです。 フォームから送信された複数レコードのデータをモデルクラスで扱える配列に変換するところまでできていましたが、さらにコントローラに次のようなコードを書き加えて、複数のレコードを更新できるようにしてみました。 /app/controllers/configs_controller.php // データを更新するアクションメソッド function admin_edit() { // ビュー用にnameフィールドをキーにしたvalueフィールドの配列を作成 $data['Config'] = $thi
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) Love & Designさんで「TB企画*これがないと困る!Firefox 3 のアドオンリスト」をされていたので参加してみます。 こんな感じです。 こんだけ入れてもサクサクのFirefox3、恐るべし…。 そんなに困らないものも混じっていますが、ほとんどは使っています。全てを紹介するのは大変なので、いくつかをピックアップして紹介しておきます。 ArchView 圧縮ファイルをダウンロード前に確認(無効化中)。 CacheViewer キャッシュファイルをブラウジング。 Chickenfoot JavaScriptで操作を自動化。 Easy DragToGo テキストやリンク、画像のドラッグ&ドロップに機能を割り付け。 Edit Middle アドレスバーのどこ
トラックバック (0) この記事へのトラックバックはまだありません。 この記事のトラックバックURI https://dxd8.com/archives/134/trackback/ この記事のURI https://dxd8.com/archives/134/
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) WordPressで投稿スラッグを取得するためのテーマ関数を作成してみました。 投稿スラッグとは各記事に付けられる固有の名前で、主に記事のURIの一部として利用します。テーマの作成にあたり、XHTMLのIDに投稿スラッグを利用したかったのですが、そういった関数はないようだったので次のような関数を作成しました。 /wp-content/themes/テーマ名/functions.php <?php function the_name($before = '', $after = '', $echo = true) { $post_name = get_the_name(); if (strlen($post_name) == 0) { return; } $post
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS)
index.html(抜粋) <table> <caption>製品価格一覧</caption> <thead> <tr> <th scope="col" rowspan="2">製品名</th> <th scope="col" colspan="2">価格</th> </tr> <tr> <th scope="col">新規</th> <th scope="col">アップグレード</th> </tr> </thead> <tbody> <tr> <th scope="row">製品A</th> <td>49800</td> <td>26000</td> </tr> <tr> <th scope="row">製品B</th> <td>39690</td> <td>12390</td> </tr> </tbody> </table> 単純にTablesorterを呼び出すだけでは、このよう
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) PHPで、あらかじめ変数に代入しているクラス名を使って、そのクラスのインスタンスを生成するにはどうすればよいか調べてみました。 きっと、そういう関数があるんだろうなあ、あるいはeval()すればできるだろうなあと思いつつ、なんとなく思い立った方法で試してみたらできてしまいました。 $class = 'Product'; $myProduct = new $class(); だめだと思ったらうまくいってしまったので、試しに次のようなこともしてみました。 $myProduct = new 'Product'(); これはだめでした。 メソッドでも試してみます。 $class = 'Product'; $method = 'getDetail'; $myProduct
次のページ
このページを最初にブックマークしてみませんか?
『Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) - (DxD)∞』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く