サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
dxd8.com
ドキュメントを書くのが楽しくなるPython製ドキュメント作成ツール「Sphinx」で簡単にPDFを作成する方法を紹介します。 Sphinxは1つのテキストファイルからHTMLやPDF、ePub等々をあっという間に生成してくれる素敵なツールです。 SphinxでPDFを生成する方法としては、「SphinxでPDFファイル作成」や「Sphinx & blockdiag Advent Calendar(全部俺) : ATND」の「(8日目) Sphinx から PDF を生成してみよう (rst2pdf 編)」「(11日目) Sphinx から PDF を生成してみよう (LaTeX 編)」で「rst2pdf」や「LaTeX」を使用する方法が紹介されているのですが、実際に試してみると周辺ツールの導入が大変だったり、エラーが出たりでなかなか思うようにPDFを作成できませんでした。 そこで発想を変
独特の操作体系が初めは取っ付きにくいエディター「Vim」(Vi)。しかし、慣れてしまえば、その操作性の快適さから手放せなくなるエディター「Vim」。「Vimの快適なインターフェイスをGoogle Chromeでも使いたい」、そんな全てのVim使いにおすすめしたい、Vim使いなら導入必須のGoogle Chrome拡張機能「Vichrome」を紹介します。 Google ChromeをキーボードでVim風に操作する拡張機能はいくつか存在します。その中でも「Vimium」は最も利用されている拡張機能ではないでしょうか(ちなみに、Firefoxであれば「Vimperator」が最も利用されているアドオンでしょう)。 実際に、自分もこれまで「Vimium」を利用してきましたが「Vichrome」の存在を知り、さっそく乗り換えました。 「なぜVichromeはVim使いに必須の拡張機能なのか?」、「
Gitで「あのリポジトリのこのファイルだけをcloneしたい」という場合に、Sparse checkoutという機能があることを知ったのでそのメモです。 Sparse checkoutはGit 1.7.0以降で追加された機能で、マージに関するコマンド(merge, checkoutなど)で任意のファイルのみを対象とする機能です。つまり、厳密には、一部のファイルのみをcloneするわけではなく、他のリポジトリをまるごとcloneした後に任意のファイルのみをチェックアウトする機能なのですが、目的に近い結果を得ることはできそうです。 Sparse checkoutを使用するには、通常通りにcloneした後、「core.sparse-checkout」を「true」に設定します。 git clone clone元のリポジトリ ワーキングディレクトリ cd ワーキングディレクトリ git confi
RakeのFileListオブジェクトが、標準ではドットファイル・ディレクトリの再帰的な取得を行えないため、FileListクラスを再定義し、再帰的にドットファイル・ディレクトリを取得できるようにしました。 再定義したのは、Rake::FileList#add_matchingとRake::FileList#exclude?です。Rakefileの中でFileListクラスを再定義します。 class FileList def add_matching(pattern) Dir.glob(pattern, File::FNM_DOTMATCH).each do |fn| self << fn unless exclude?(fn) or /(?:^(?:\.|\.\.)$)|(?:\/(?:\.|\.\.)$)/.match(fn) end end private :add_matchin
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) ApacheのMPMの設定において、MaxClientsに設定できる上限値を計算するシェルスクリプトを作成しました。 参考にさせていただいたのは以下のページです。 減り続けるメモリ残量! 果たしてその原因は!? Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる apacheのMaxClientsの適正値調べた apacheのMaxClientを算出するスクリプトを作った PHPだとPHPを導入していない環境で困るのでシェルスクリプトとして書きました。 get_max_clients.sh #!/bin/bash _PIDS=(`pgrep httpd`) _PROC_COUNT=${#_PIDS[@]} _MEMORY_T
GitoliteのリポジトリをGitWebで表示する方法 Gitoliteで管理するリポジトリをGitWebから閲覧するためには、Gitoliteで管理しているリポジトリディレクトリ・ファイルのパーミッションを変更し、Webサーバー(Apache)がGitoliteのリポジトリにアクセスできるようします。 (Gitoliteの管理用リポジトリ(gitolite-admin.git)の設定ファイル(gitolite.conf)で、GitWebのアクセス権限を設定(R = gitwebを追加)する方法もあるようですが、今回の方法では特に必要ありません。) まず、Webサーバー(Apache)の実行ユーザー(apache)をGitoliteの実行グループ(gitolite)に追加します。 su - usermod -a -G gitolite apache 次に、Gitoliteグループ(git
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) クラウドサービスの代名詞とも言える存在になった「Dropbox」。複数のパソコンやサーバー、スマートフォンなどを行き来する現代人にとって、もはや欠かせないオンラインストレージ・サービスでしょう。 カメは踏むほど1UPするのが赤い配管工なら、comeばcomeほど無料で容量が10GB+αまで増えるのがDropboxです(?)。万が一、まだDropboxを利用していないという方や、新しい端末でアカウントを取得するという方は「こちら」からの登録で+250MBの容量をGETしてしまいましょう(!?)。 しかし、世の中、そううまい話はありません。改めて、便利なサービスの裏側には危険が潜んでいることを肝に銘じておくべき時期なのかもしれません(??)。 「一日、一日、着実に。着
はじめに 最初に、Gitに関するリソースとして、本では「入門Git」と「実用Git」、Web上では「Pro Git」が読みやすく、わかりやすいため、Gitについて知りたい人は一読をおすすめします。 特に、他のバージョン管理システムに関する前提知識がある場合には、Gitの概念や使い方も比較的スムーズに理解できるかと思います。実際に、バージョン管理システムをSubversionからGitへと移行してからしばらくが経ちますが、通常の操作に関しては、それほど不自由することなくGitを利用できています。 しかし、Gitを利用していくにつれて色々と疑問も出てきます。局所的なワークフローについては、様々なリソースによって理解することができます。では、効率的に開発・運用・保守・管理を行うために、大局的・継続的なワークフローをどのように採ればよいのか、特にGitの柔軟性を活かすにはブランチをどのように使えば
CSSを拡張するためのメタ言語として、代表的なものに「SCSS(Sass)」と「LESS」があります。今回、導入を検討するにあたり、両者を比較しました。 結果的には、「SCSS(Sass)」を導入することにしましたが、特に「SCSS(Sass)」を選択する決め手となった点に重点を置きつつ、両者の違いをまとめまてみました。 はじめに Webサイト、Webアプリケーションが大規模になるにつれて、CSSの設計・管理にもリソースを割かれるようになります。CSSのモジュール化、コンポーネント化による再利用性を考えたとき、現状のCSSを取り巻く状況は十分とは言えません。 一つの選択肢としてあがるのが「Blueprint」や「960 Glid System」等のCSSフレームワークの利用ですが、その再利用性と構造・表現の分離度はトレードオフです。 そこで、CSSの利点を活かしつつ、再利用性を高めるために
バージョン管理システムをSubversion(TortoiseSVN)からGit(TortoiseGit)へと乗り替えたため、(少し前に)GitHubにこれまでの制作物のリポジトリを作成しました。 たいしたものはありませんが、使えそうなものがありましたらクローン、フォーク等してご利用ください。
インターネットマーケティングにおいて最大限の効果を発揮する、高機能・多機能マーケティングツール「マーケットサムライ (Market Samurai)」を紹介します。キーワード調査や競合調査、順位調査などのSEOやSEMを含め、これ1本ありさえすれば、他には何も必要ないというくらいに愛用しているツールです。 「マーケットサムライ (Market Samurai)」を利用すると、今まで時間をかけていたマーケティングのための調査、分析等の時間を大幅に短縮できます。高機能・多機能なツールで、非常に質の高いサポートが提供されています。既に同種のツール・サービスを利用している場合でも、大幅なコスト削減を行える高いコストパフォーマンスを持ったツールがマーケットサムライです。 マーケットサムライ (Market Samurai)の価格 マーケットサムライ (Market Samurai)には無料版もありま
データベースのユニークキー制約 データベースにおいて、複数のフィールド(カラム)値の組み合わせがユニークであることを保証するためには、データベーステーブルのカラムにユニークキー制約を定義します。 CREATE TABLE IF NOT EXISTS `users` ( `id` int(10) unsigned NOT NULL auto_increment, `first_name` varchar(255) NOT NULL, `last_name` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `first_name_last_name` (`first_name`,`last_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; これで「first_
処理内容 モデル「ModelA」のデータをModelA::save()で更新。 モデル「ModelB」のデータをhasManyの関連を持つデータとともにModelB::saveAll()で作成(トランザクション処理)。 (モデル「ModelB」のデータの作成に失敗した場合はエラー処理後に処理を継続。) モデル「ModelA」のデータをModelA::save()で更新。 $data = array(...); $this->ModelA->create(null); $this->ModelA->set($data); $this->ModelA->save(); ... $data = array(...); if (!$this->ModelB->saveAll($data)) { エラー処理 } ... $data = array(...); $this->ModelA->creat
プロジェクト管理サービスの「Assembla」を久しぶりに見てみたら、非公開で2GBまでのリポジトリを持てるようになっていました。 以前は、無料で使えるのは200MBまでで、その後、500MBまで拡張されていたらしいのですが、いつの間にかさらに2GBに拡張、非公開のリポジトリも無料で持てるようになったようです(「Assembla free trial」から無料アカウントの申請ができます)。 現在、無料で利用できるプランは「Repository Only」プランと「Free Public」プランで、両者の違いは以下のようになっています。 プロジェクト管理サービス「Assembla」の無料プラン比較 項目 Repository Only Free Public 価格
事例 例えば、以下のような場面を想定してみます。 ビューから「element」というエレメントを複数箇所で呼び出す(あるいは、複数のビューから同じエレメントを呼び出す)。 一方では「$vars1」を渡し、もう一方では「$vars2」を渡す(呼び出し箇所ごとに異なる値を渡す)。 エレメントの出力をそれぞれ別々にキャッシュする。 このような場合、エレメントの呼び出し時に、キャッシュのキーとしてそれぞれにユニークな文字列を指定することになっています。 <?php e($this->element('element', array('cache' => array('time' => '+1 hour', 'key' => 'element_1', 'vars' => $vars1))); ?> <?php e($this->element('element', array('cache' =>
CakePHPのディレクトリ構成 CakePHPのディレクトリ構成は以下のようなものを想定しています。構成が異なる場合でも、シェルスクリプト内の設定箇所をCakePHPウェブルート内のindex.phpの設定に合わせて変更すれば動作します。 /virtual/user/ (サーバールート) cakephp/ 1.3/ cake/ (CakePHPコア) plugins/ vendors/ apps/ app/ (CakePHPアプリケーション) vendors/ shells/ shell_task.sh (シェルスクリプト) public_html/ example.com/ (CakePHPウェブルート) index.php (CakePHPのディレクトリ構成を定義) シェルスクリプト /virtual/user/cakephp/apps/app/vendors/shells/shel
タスク管理の定番ツール「Remember The Milk」のスマートリストを整理しました。期限でタスクを抽出するリストを中心に整理したのですが、来月のタスクを検索する方法に少し悩んだので紹介しておきます。 Remember The Milkでのスマートリストの作成方法や利用できる検索条件については以下のページが参考になります。 Tips : スマートリストを使いこなそう How do I use the advanced search? 21 useful searches for your tasks Remember The Milk 検索を極める Remember The Milk エキスパート検索を極めるための21の例文 来月中に期限が来るタスクを検索 始めは"next month"のようなキーワードを使用してみたのですが認識されませんでした。そこで、利用できる別のキーワードを組
「危険なGENOウイルス「Gumblar」「Martuz」が感染拡大中」でも取り上げたGumblar(ガンブラー)ウイルスが、昨年末から再び感染を拡大しているとして、JCERT/CCなどが注意喚起を行っています。Gumblarウイルスへの感染の防止・対策とチェック・駆除方法をまとめましたので参考にしてください。 1.Gumblarウイルスへの感染防止・対策 Adobe Acrobat、Adobe Reader、Adobe Flash Player、Java(JRE)、Microsoft製品を利用している場合は、ソフトウェアのアップデートを行ってください。Gumblarウイルスは、これらのソフトウェアの脆弱性を利用していることが確認されています。 また、セキュリティソフトのアップデートや、信用できるサイト以外でのスクリプトの無効化もおすすめします。 1-1.Adobe Acrobat / A
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) CakePHPのURIは、通常、コントローラ名/アクション名/パラメータという形になりますが、実際には、コントローラ名/アクション名/パラメータとコントローラ名/アクション名/パラメータ/のどちらでも同じようにアクセスできます。とても気持ち悪いので一つのURIに統一するようにしています。 CakePHPでは、どのURIでどのページにアクセスさせるかのルーティングを/app/config/routes.phpで設定できますが、上記のような末尾の/の違いまでは指定できません。そこで、どちらか一方に301リダイレクトさせる処理をAppController->beforeFilter()でするようにしています。 /ありで統一する場合は次のようにします。 /app/app_
ニコニコ生放送で安全・効果的に生放送を配信する方法の第7回です。個人情報の保護など、セキュリティ的に問題になる点を中心に解説しています。なお、これまでの記事はニコニコ生放送の配信方法 - 1.はじめにに目次として掲載しています。 今回は、最終回として、ニコニコ生放送(ニコ生)で放送を行う際に便利なツールを紹介します。 目次 ニコ生関連のツールは数多くありますが、その中から放送に役立つおすすめのツールを厳選しました。 nwhois - コメントビューア ニコPITA SE - 総合ツール 棒読みちゃん - コメントの音声読み上げ 枠鳥F - 枠取り ログ鳥 - 放送履歴の統計 SCFH DSF - 画面キャプチャー ManyCam - 映像加工・画面キャプチャー コミュニティキーパー - コミュニティ管理 現在、放送枠の確保(枠取りに関して仕様が変更されています。順番待ち機能が搭載され、混雑
ニコニコ生放送(ニコ生)でのライブストリーミング配信(ユーザー生放送)を行ってみたので、数回に分けて、配信方法や放送時のTIPSを紹介してみたいと思います。 ニコ生で生放送を行う方法はその他のサイトでも解説されていますが、ここでは生放送に潜むリスクを踏まえた上で、ニコ生で安全・効果的に生放送を配信する方法を中心に解説していきます(Webカメラが手元にないため、音声配信・デスクトップ配信の解説が中心になります)。 生放送のメリットとリスク ニコ生のようなストリーミング技術を利用したライブ配信は、ほぼリアルタイムな映像・音声をユーザーに配信できるというメリットがあります。通常の動画配信と異なり、その場でその時のみしか視聴できないことから、放送内容に希少性を持たせることが可能です。 一方、その手軽さや放送内容の編集ができないという点から、放送時の不備・不注意によって、放送者(生主)・第三者の個人
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) Another HTML-lint gatewayに、コメント宣言の解釈に関する不具合らしきものがあることに気づきました。 「WordPressではscript要素や連続するハイフンも自動整形される」に、WordPressで条件付きコメントを使う場合には注意が必要だと書きました。条件付きコメントはよっぽどのことがない限り使わないのですが、ふと気になって、次のようなXHTMLをThe W3C Markup Validation ServiceとAnother HTML-lintでチェックしてみました。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
SubSitesハックの導入 ダウンロードしたSubSitesハックのファイルを、MODxのインストールディレクトリに上書きします。「ツール」→「MODx設定」→「サイト」から「Subsites」の「Enabled」にチェックを入れ、ドメインの設定を次のように入力しました。 DomainA.com 1 2 3 設定するのはMODxのインストール先を除いたドメインで、左から順にドメイン、スタートページのドキュメントID、エラーページのドキュメントID、権限外告知のページのドキュメントIDです。さらにドメインを増やす場合は、半角カンマ区切りで同様に入力していけばいいようです。 複数ドメイン・複数サイトに対応 さっそく、「http://DomainA.com」にアクセスしてみると、見事、サイトA用のトップページが表示されました。ドキュメントリンクタグもドメインに合わせてURIが出力されています
「サイト・ブログを手っ取り早く、しかも、簡単に作りたい」ということで、前々から気になっていたWordPressの有償ビジネステーマ「WPRemix」を購入してみました。 結論から言うと、柔軟な構成のサイト・ブログを簡単に作りたいと思っている人、WordPressを仕事に利用している人は購入する価値があります。国内の有償ビジネステーマを購入するよりも、WPRemixの方が遥かに安く、コストパフォーマンスに優れています。 WPRemixの「Theme Overview」から特徴を、「View DEMO」からほぼ全てのテンプレートを確認できます。このテーマに興味を持った方のために、デモサイトではわからない管理画面のスクリーンショットを交えて紹介します。 先日、バージョンアップしたWordPress 2.8にも対応しています。
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) PHPで、ある関数が存在するかどうかを調べるためにはfunction_exists関数を使います。しかし、この関数ではメソッドの存在は調べることはできません。メソッドが存在するかどうかを調べるにはmethod_exists関数を使います。 文字列からその関数やメソッドが存在するか調べたいと思ったのですが、関数とメソッドを同じように調べたいという場合には、function_exists関数とmethod_exists関数を上手く使い分ける必要があります。PHPにありがちな、やりたいことは似ているけど関数は別々というやつですね 😡 function_exits関数の使い方は、引数に文字列で関数名を渡すだけです。 if (function_exists('func')
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS)
Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) 非常に危険なGENOウイルス「Gumblar」(gumblar.cn)、「Martuz」(martuz.cn)が感染を拡大しているようです。 GENOウイルスとも呼ばれているこれらのウイルスは「Zlkon」の亜種で、Adobe Flash PlayerやAdobe Reader(Adobe Acrobat Reader)の脆弱性を利用してマルウェアを実行し、インターネットアクセスを監視、IDやパスワードなどを盗み出します。そして、盗み出したIDとパスワードを利用して、サイトを改竄、さらに感染を拡大しているようです。 大手企業サイトを含め、複数のWebサイトが改竄され、不正なスクリプトが挿入されているようです。実際に、通常のWebブラウジングをしている際に、この不正
TwitterクライアントソフトをTwhirlからSeesmic DESKTOPに乗り換えました。 Seesmic Desktopは、Twhirlと同じくSeesmicからリリースされているAIR製のTwitterクライアントソフトです。まだプレビュー版のソフトですが、いくつかの点で気に入ったので、Twhirlから乗り換えるきっかけとなった便利な機能を紹介します。 複数アカウントの切り替え Seesmic DESKTOPではドロップダウンリストから簡単に切り替えることができます。 いくつかの設定はアカウントごとに変えることができます。 Twhirlでも複数アカウントの切り替えはできましたが、別のウィンドウから切り替えなければいけないため面倒でした。
WordPress 2.7.1のテーマ・テンプレートの構成について、ソースコードを基に調べ直してみました。 テーマ・テンプレートの大まかな構成・階層については、「WordPressのテーマのファイル構成一覧と解説(2.7対応版) | コリス」で紹介されているのでそちらをご覧ください。今回は、公式サイトや他のサイトでは解説されていないものや補足的な説明について書いています。 ここで解説している添付ファイルテンプレートやタクソノミーテンプレートを用意することで、添付ファイルのMIMEタイプ(コンテントタイプ)やカテゴリー、リンクカテゴリー(名前、スラッグ)等ごとにテンプレートを振り分けることができます。 添付ファイルテンプレート 添付ファイルページにアクセスがあった場合、次の優先順位で存在するテンプレートが呼び出されます。is_attachment()が真になる時に呼び出されます。 MIMEタ
次のページ
このページを最初にブックマークしてみませんか?
『Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) - (DxD)∞』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く