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

投稿時間と現在時間の差を表示する2つの方法

「◯分前の投稿」といった表示をWordPressでしたい時のメモです。 方法1.組み込み関数を使って表示する echo human_time_diff( get_the_time("U"), current_time('timestamp') ) . __(' ago'); ほとんどのケースはこれで大丈夫です。 この場合、日本語だと…

初心者でもできるイラストレーターを使った自作アイコンフォントの作り方

Web

高速化のためにアイコンフォントを導入しようと思い、自作アイコンフォントを作ったのでその作業メモです。 必要なものは、イラストレーターだけです。 アイコンフォントのメリットとCSSスプライト&SVGとの比較 作業の前にアイコンフォントについてのざっく…

TreeTaggerをインストールしてPython2.7で英語の形態素解析をしてみた

英語の形態素解析をするにあたり、TreeTaggerをいれてみました。 NLTK、Stanford NLPというのもあるそうなのですが、なんとなくTreeTaggerを選んでみました。 TreeTaggerをインストール /usr/local/srcにインストールする場合の例です。 公式サイトから必要…

rsyncでpermission denied (publickey) となった時の対処法

rsyncでローカル環境とリモートサーバーのディレクトリを同期したい! ということありますよね。そう思い、rsyncを使ってみたらつまずいた時の対処法です。 エラーの内容と原因 ローカル環境の現在のディレクトリと、リモートサーバーの/home/wwwを同期しよ…

Transient APIがW3TCでAPCを有効にすると動作しない件

Transient APIを使ってキャッシュをしようしても正常に動作しない。 環境と事象 環境: PHP 5.4.45 APC 3.1.15dev WordPress 4.3.1 W3 Total Cache 0.9.4.1 具体的な事象としては、 set_transient()をするとtrue get_transient()で保存したキャッシュを取得…

Crondの(CRON) bad commandエラーの対処法

cronを設定したはずなのに、動かない時の対処方法です。ログを確認する前にcronの状態とファイルパーミッションを確認します。 $ service crond status crondがrunning状態であることを確認。 $ ls -la また実行ファイル(シェルスクリプト)のパーミッショ…

Webhook+PHPを利用したGitデプロイ自動化

BitbucketのWebhook+PHPスクリプトによる外部サービスを使わない簡単なデプロイ自動化をしてみます。 今回の環境は以下のような感じ。nginxですが、ApacheでもSSHキーの部分を変更すれば対応できるかと思います。 ▼環境 Bitbucket CentOS 6 nginx php-fpm …

MySQLが「Fatal error: cannot allocate memory for the buffer pool」となり起動しない問題

開発環境のWordPressがいきなり「データベース接続確立エラー」となり、mysqlが起動しなくなってしまった時の対処法です。 原因:buffer poolのメモリ割当が少なかったせい mysqlを起動すると以下のようにエラーに。 $ service mysqld start MySQL Daemon fa…

innodb_log_file_sizeを変更した時のエラー対処

/tmp/my.cnfのinnodb_log_file_sizeを変更すると、エラーになりmysqlが起動できないという現象に。 mysqld.logを見てみると以下のようなエラーに。 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes InnoDB: than specified in …

外部サーバーの画像参照のために画像のベースURLを変更する方法

例えば、ローカル開発環境をつくっていてデータベースは同期しているけど、画像などは重いからローカル環境に置きたくないという時の対処法です。 今回の簡単な要件 環境は以下のような状況とします。 ローカル開発環境 URL → http:/localhost 本番環境 URL …

Poeditを使った多言語化の翻訳ファイル作り方

WordPressを多言語化する必要があり、翻訳ファイルを作成しました。 WordPressではテーマの翻訳は基本的にlanguagesディレクトリに入れることとなっています。 そして、翻訳情報を入れたpoファイルとそれを元にコンパイルしたmoファイルの2つで1セットを使い…

とりあえず動かすとこまでの「Ansible入門」:nginx, php-fpm, mysql編

Chefよりも手軽に使えるということでAnsibleを試してみました。 今回は、nginx、php-fpm、mysqlを入れて、さらにmysqlでデータベースとユーザーを作成するところまでをやってみます。とりあえずの使用感を知りたかったので、Ansibleの環境はlocalhostです。 …

ドメイン移転した時のウェブマスターツールの設定変更の方法

SEO

ドメイン移転をした時に忘れがちなウェブマスターツールの設定方法を紹介します。 1. 新しいドメインのプロパティを追加 まずは、既に追加してある旧ドメインのプロパティとは別に、新しいドメインのプロパティを追加します。 ウェブマスターツールから「プ…

vimで日本語が文字化けした時に確認すべきこと&対処法

よくあるVimでの「文字化け」。 日本語がマルチバイトである以上、切っても切れない「文字化け」の対処法を紹介します。 文字化けファイルを開いて文字コードを確認 ここで確認する文字コードは、Vim本体の文字コードとファイルの文字コードです。 それぞれ…

Laravel4をCentOS6+nginx+PHP5.4でインストールする

PHP

最近人気があるLaravelを使うためのメモです。 【環境】 CentOS release 6.7 (Final) PHP 5.4.44 composerからLaravelをインストール composerを入れてない場合は以下のコマンドでインストール。 $curl -sS https://getcomposer.org/installer | php $mv com…

PHPで文字化けせずにCSVファイルを読み込む方法

PHP

CSVを読み込むと「文字化けしている…」ってことがよくありますよね。そんな時の対処法です。 文字化けせずにCSVファイルを読み込む まず、SplFileObjectでCSVファイルを読み込みます。 fgetcsv()でもいいのですが、参考にさせて頂いた「【PHP】その CSV 変換…

PHPでスクレイピング&本文抽出をする方法・ライブラリ

PHP

引用する記事のタイトル&本文の抜粋を取得したい! ということで、PHPでスクレイピング&本文抽出する方法を調べてみました。 [amazonjs asin=“4839956472” locale=“JP” title=“実践 Webスクレイピング&クローリング-オープンデータ時代の収集・整形テクニ…

Mecabにユーザー辞書を導入する(はてな、Wikipedia、ニコニコ大百科など)

PHP

Mecabにはてなキーワード、Wikipedia、ニコニコ大百科などを元にしたユーザー辞書を追加します。公式マニュアルはこちら。 ユーザー辞書を追加する流れは、 1.元データを取得してCSVファイルに変換 2.CSVファイルを辞書ファイルにコンパイル 3.Mecabの設定フ…

Mecabなど形態素解析で使うIPA品詞体系(品詞ID|pos-id)

PHP

Mecabや茶筅など形態素解析で使う辞書のIPA品詞体系をまとめてみました。 Mecabでは::getPosId()で品詞IDを取得できます。 [amazonjs asin=“4873114705” locale=“JP” title=“入門 自然言語処理”] IPA品詞体系 品詞ID 分類 例 説明 0 その他,間投 「あ」「ア…

初心者がvimをカスタマイズしてプラグインを導入するまで

vimをアップデート vimのバージョンが古くて一部のプラグインが使えなかったので、新しいバージョンのvimをインストールします。 ついでにneocompleteなどで使うので、Luaも有効化しておきます。 $ yum -y install mercurial $ yum -y install ncurses-devel…

リモートサーバーのファイルをSublime Textで開く方法

タイトルのままリモートサーバーのファイルをSublime Textで開く方法です。 sftpやsshfsを使ってリモートサーバーとローカルを同期させる方法もあるようですが、 ・ファイル同期を待ちたくない ・ローカルにファイルがいっぱいになるのが嫌だ ということでよ…

さくらのVPS(CentOS)にnginxリバースプロキシを入れて高速化する方法

さくらのVPSの初期設定から、nginxを入れてリバースプロキシの設定をするまでの手順を(自分用に)まとめました。 今回最も参考になったのは以下の本です。nginx以外の高速化の手法も豊富でおすすめです。 [amazonjs asin=“4844362526” locale=“JP” title=“W…

HTMLに埋め込まれた相対パスを絶対パスに変換する

スクレイピングをした時に、imgタグなどで埋め込まれている画像が相対パスで指定されている場合に絶対パスに変換する関数です。 もっとスマートなやり方がありそうですが。。。ほかの人が改善してくれることを期待して公開してみます。 相対パスのパターン …

リロードするとFatal error: Call to undefined **となる問題

【問題】リロード時にUndefined Errorとなる APCのオペコードキャッシュを有効化した時、サーバーを立ち上げると最初は表示されるものの、リロードすると「Fatal error: Call to undefined **」となってしまう。 apc.iniの以下の部分を「apc.enable_opcode_c…

iframeのURLを親ウィンドウのフォームから変更するJavascript

jQueryなしのプレーンなJavascriptを使って、iframeのURLを変更するTips。 <form name="targetForm"> <input type="text" name="query" /> <input type="button" value="送信" onclick="SendSubmit()"/> </form> <iframe name="searchFrame" style="width:100%;height:650px" sandbox="allow-forms"></iframe> <script type="text/javascript"> fu…

Bing Search APIで画像取得する簡易チュートリアル(PHP編)

PHP

1.登録&アカウントキーの取得 「Microsoft Azure Marketplace」から、プランを選ぶ。無料で使う場合は、5,000トランザクション/月。 マイ アカウントから「プライマリ アカウント キー」を取得。 2.Bing Search APIのサンプルコード(PHP) エラー処理…

TwentyFifteenを独自テンプレートにカスタマイズする方法

シンプルなWordPressのテンプレートを探していたところ、意外と「TwentyFifteen」が良さそうだったのでカスタマイズしてみました。 0. ファイル構成 TwentyFourteenに比べるとファイルも少なくなっているので良いですね。 ちゃんと見てないですが、style.c…

AWSにscpでファイル転送したらPermission deniedされてググった

AWSにWordpressをインストールできたので今回はEC2サーバーにファイル転送をするところまで。 少しつまずいたので、その解決策も含めてご紹介します。 EC2にssh接続をしてみる まずはダウンロードしたpemファイルを任意のディレクトリにコピー。 $ cp blog_s…

さくらのレンタルサーバーにSSH接続とファイル転送してみる

実は、「さくらのレンタルサーバー」にはSSH接続ができるんです。ファイル転送するのもいいですが、ターミナルを使いたい場合もありますよね。 「さくらのVPS」にSSH接続するのとは、少し違うの注意が必要です。 さくらのレンタルサーバーにSSH接続してみる …

WordPressでパーマリンク変更をした時のリダイレクト設定

WordPressのパーマリンク設定を変更したら、リダイレクトの設定をサーバー側(もしくはプラグイン)でする必要があります。 今回は、nginxでリダイレクト設定をする時の 目的:旧URLから新URLに301リダイレクトする nginxのrewriteを使って301リダイレクト(…