TRY AND ERROR

気になったこと、勉強したこと、その他雑記など色々メモしていきます。。Sometimes these posts will be written in English.,

Entries from 2015-01-01 to 1 year

AMP HTML触ってみた

AMPってなに? 「Accelerated Mobile Pages」略してAMP。 モバイルサイトの UX 改善(ユーザー体験)を目的とした Google 主体のプロジェクトで、 画像やスマートアド等、ロードコストのかかるコンテンツを即座にロードすることにより、 UX を…

最近話題の広告ブロックについて

面白い記事を見かけたので勝手に持論を展開!! 広告ブロッカーの検知と計測について - クックパッド開発者ブログ WEB上のあらゆる所で目にする広告ですが、 これをブロックする機能を有したツールが出回っていますね。WEB広告を生業とする企業にとって有害…

PHPでGoogle Search ConsoleのAPI使ってみた

題名の通り、使ってみたのでめもします。。 やったこと ・PHPのサーバアプリでGoogleSearchConsoleの検索アナリティクスのデータを取得。 ・google-api-php-clientを利用 ・複数アカウントのGoogleSearchConsoleに登録されている全てのURLの データを取得 ・…

古いバージョンのPHPでついやってしまうあの構文

PHP

wordpressのテーマを作成する案件があり、テストサーバで動作確認したものをクライアントのサーバに導入しテーマを適用ところ、画面が真っ白に。。。 とりあえずini_set()でエラーを確認してみると、 どうやら配列を返すメソッドをコールしたところで落ちて…

cronを実行するときのユーザー

先日、GoogleAPIを使って取得した検索アナリティクスのデータを サーバに保存するphpを書きました。ブラウザでphpを叩いて一通りテストした後、 cronで日次で処理しようとしたのですが上手くいかず。。。 ログを見てみるとファイルやディレクトリのパーミッ…

PHPでrequireしたファイルが読み込めない時!

PHP

とあるPHPの実行ファイルがあって、その中で別のクラスを読み込んでいます。 読み込んだクラスの中でこれまた別のjsonファイルを読み込もうとするが、 なぜか読み込めずにちょいハマり。。。 ディレクトリ構造はこんな感じ [DocumentRoot]/index.php [Docume…

wordpressのカスタムメニューをjqueryで開閉したい!

wordpressのサイドバーにカスタムメニューを置いたとき、 ネストしているメニューの親にマウスオーバーすると子が開くようにしたかった というのが今回の話題。※実際にはUXを考慮してマウスエンターイベントに変更しています。 実際に生成されるHTMLはこんな…

PHPで作ったcsvをブラウザからDLさせてエクセルで開くときの文字化け

PHP

こんなときのベストプラクティスって何だろうか。。 例えば、DBから取ってきたデータをcsvにしてDLさせたい場合など、 UTF-8でエンコードされたデータを扱うことが多いかと思います。そのままDLさせてエクセルで開くと文字化けすますね。 エクセルがCP932(Sh…

selenium webdriverによるHTML要素の取得方法

今回は、node.jsからselenium webdriverを介してWEBサイトのHTMLを取得する際の話題です。まず、selenium webdriverモジュールを読み込み、driverオブジェクトを生成してURLをGETします。 (selenium-webdriverはnpmなどで事前にインストールしておきます。…

node.jsでコマンドライン引数を受け取る

node.jsで書いたプログラムにコマンドライン引数を渡す必要が あったため、スニペットします。。node.js側でprocessオブジェクトのargvプロパティによりコマンドライン引数を取得することができます。 processは標準モジュールにより設定されているグローバ…

これ知らなかったなあ(´・ω・`)

数年前にjavasriptを初めて触ったとき、変数の中身をみるのは常にalert()だった。 それからconsole.log()を覚え現在に至る。。ブラウザでデバッグできたりもするけど、 今でもやっぱりconsole.log()で確認するのがしっくりきます。 consoleに出力する方法が…

selenium - node.js - phantomJSでヘッドレスWEBサイトチェック

WEBサイトのコンテンツを自動でチェックする必要があり、 seleniumを使って自動化できないか試したのでメモ。ちなみに、今回はヘッドレスなlinuxサーバ環境(ブラウザを立ち上げない環境)でチェックツールを実行しました。 環境 ・node.js(チェックロジッ…

【jquery】propとattr

既出でいまさら感満載ですが、試してみたのでカキコ。。 (jquery-version:1.11.3)attrとpropは両者とも属性を扱うjqueryのメソッドで、 いろいろなサイトでこんな風に紹介されていますね。 prop javascriptのプロパティ値を取得 attr HTMLの属性値を取得 例…

【node.js】node inspectorでnode.jsをデバッグしてみた

今までconsoleデバッグで頑張ってきましたが、 業務でnodeを使うことが増え思い切ってデバックしてみることに... 環境設定もろもろ、エディタを乗り換えるみたいな面倒くささがあると勝手に 思っていたんですが、思いの外簡単ですんなり行けたのでメモ。。使…

selenium webdriverで要素存在チェック

selenium webdriverを使ってWEBサイトの要素を取得するには、 次のようなfindElenemt(s)メソッドを使い、コールバックにより取得します。 driver.findElement(wb.By.css(セレクタ)).then(function(elem) { //〜処理 }); ただし、WEBサイトに存在しない要素を…

【PHP】Windowsのbatファイルを実行する

なかなか使うことは少ないと思いますが、PHPからbatファイルを実行する 方法をメモっときます。PHPの組み込みメソッドで「exec」という外部プログラムを実行するものがあります。 例えば、以下のように記載するとphpファイルと同階層にあるtest.batを実行で…

【PHP】HTML文字列のエスケープ

PHP

クライアント側に文字列を返すサーバ側の処理を考えた際に、 そのまま返すと文字列にscriptが含まれる場合にscriptが動作してしまうことも考えられます。そこで、サーバから文字列を返す際には、HTMLを形成する特殊文字をエスケープする必要があります。 PHP…

【PHP】sessionとcookieについて

PHP

今回はsessionとcookieについて少しおさらい。 あとPHPで具体的にどう使うか、についても触れておきます。 sessionとcookieって? 大まかに言うと、両者ともある一定期間データを保存しておく仕組みです。 ただ、データをサーバ側に保存しておくのか、クライ…

【PHP】PDOでSQLを発行する2つの方法

PHP

PDOでクエリを実行する方法として以下の方法があります。⑴ queryを使う ⑵ prepare後にexecuteする 具体的な使用例は以下の通りquery $sql = 'select * from userTable'; $stmt = $dbh->query($sql); prepare $sql = 'select * from userTable where id = ?';…

【PHP】PDOでselect件数を取得する

PHP

PDOを使ってDBから検索結果の件数を取得したい場合、 PHPの公式マニュアルでは、rowCount()というそれらしきメソッドがあります。ただ、公式マニュアルによると「rowCount()はすべてのデータベースでうまく作用するとは限らない」とのこと。。。そもそも、ro…