プログラミング
「Fabric.js」はHTML5のcanvas要素を扱いやすくしてくれる便利なjavascriptライブラリです。 例えばFabric.jsを使ってcanvas上に「○」を描くときは以下のようにします。 var canvas = new fabric.Canvas("mycanvas"); var circle = new fabric.Circle({ left…
以前PHPのデータベース操作ライブラリ「idiorm」というのを紹介しました。 ↓ PHPのデータベース操作ライブラリ「Idiorm」でSQLiteが楽々使えた - やったこと これでエラーハンドリングをするときの一例です try { //レコードをセーブ $record = ORM::for_tab…
ニコニコ公式のRSSを利用して「動画ランキング」の情報を取得することができます。例えば「政治カテゴリ」の「本日の動画ランキング」の情報は以下URLで取得できます。 http://www.nicovideo.jp/ranking/view/daily/politics?rss=2.0上記URLを叩くと、以下の…
サイト閲覧中に画面全体に薄くオーバーレイがかかって、真ん中の広告の閉じるボタンを押すまで抜けられない、えげつないトラップを作りました。海外のあやしい動画サイトとかでよく見ますよねこういうの。サイトにアクセスしてから一定時間経つとこの処理が…
WordPress Simplityのブログで、メディアファイルをアップロードしようとしたら「 このファイルタイプはセキュリティの観点から許可されていません」とエラーが出て怒られてしまった。「pcap」っていう形式のパケットのキャプチャファイルをアップしようとし…
ワードプレスのXML-RPC機能を使って、特定の記事を非公開にする方法です。 以下がPHPコードです。「IXR_Library.php」というライブラリを使用しています。$page_idで指定した記事を非公開にセットしています。 require_once '../IXR_Library.php'; $xml_url …
ワードプレスのXML-RPC機能を使って、特定の記事の情報を取得する方法です。 以下がPHPコードです。「IXR_Library.php」というライブラリを使用しています。 require_once '../IXR_Library.php'; $xml_url = "http://hogege.com/xmlrpc.php"; $user_name = "…
PHPで以下のようにクラス内のメンバ変数にオブジェクトをセットするとエラーがでてしまう。 class Test1 { public $hoge = new Test2(); } ↓ エラー文:「PHP Parse error: syntax error, unexpected 'new' (T_NEW)・・・」メンバ変数にオブジェクトをセット…
「XML-RPC」というプロトコルを使うと、WordPressに記事を外部から投稿することができる。WordPressのディレクトリ直下に「xmlrpc.php」というのがあるけど、ここにメッセージを送ると記事を遠隔投稿できるんだ。以下はPHPを使った自動投稿処理のコードだよ…
PHPのforeachを参照渡しで回したら最後の要素が別の値に上書きされてしまったという話。 以下のコードをご覧下さい。 $test1 = array("111","222","333"); $test2 = array("aaa","bbb","ccc"); foreach($test1 as &$val){} foreach($test2 as $val){} print_…
ワードプレスのキャッシュプラグイン「W3 Total Cache」の設定画面で以下の謎のログが出てきた。「The plugin is currently enabled in community mode.」これは「あなたはW3 Total Cacheの無料版を使っていますよ」という意味。有料版を買えば消えるらしい…
「Idiorm」っていうPHPライブラリでデータベースが楽々操作できるよ!めんどくさいSQL構文ともこれでおさらばだよ!以下使い方だよ!①インストール 下記のgithubページでzipがダウンロードできるよ! https://github.com/j4mie/idiormzipを解凍するといっぱ…
最近GoutteというPHPのスクレイピングライブラリをいじって遊んでる。 いろんなブログをスクレイパーで巡回して、良さそうな記事をピックアップして楽しむのが目的。以下のコードは、GoutteでHTMLページを読み込んで、その中の全「aタグ」を解析してリンクし…
最近用意したばかりのcentOS上で、phpのスクリプトを実行しようとしたら以下のようなWarningが出てしまった。 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/msql.so' - /usr/lib64/php/modules/msql.so: cannot open …
javascriptで画像(img)の読み込みエラーを検出しようと思ったけどうまくいかなかった。下記のようなコードを書いたけど、errorのイベントが発生しなかった。 function set_image_err(){ $("#img_hoge").error(function(){ //ここにエラー時の処理を書く }); …
CakePHP(2.x系)でエラー404ページを作る方法です。いろんなブログにやり方が書いてありますが、どれも試してもなかなかうまくいかない・・。そんな中で、自分が試してうまくいった方法を書きます。(ちなみに下記作業は /Config/core.php の debugを0にセッ…
twitter bootstrapのモーダルウィンドウの縦位置の調整の仕方。以下のようにcssに新しいクラスを宣言して、お目当てのモーダルに付けてあげるとtop位置が調整できるます。 /* css */ .modal-dialog-center { padding-top: 40%; } /* html */ <div class="modal fade" tabindex="-1"> <div class="modal-dialog modal-sm modal-dialog-center"> <div class="modal-content"> </div></div></div>
twitter bootstrapのプログレスバーの目盛りを連続的に変化させる処理を書いてるんだけど(ゲームキャラの行動タイマーです)、指定した値にビョイ~ンとした動きで移動してしまって困った。もっと直線的な動きで変化してほしいんだよね・・。以下のようにcs…
■twitterのAPI制限 twitterのAPI(version 1.1)には使用回数の制限(リミット)が設けられている。例えば「GET users/show」というユーザーアカウント情報を取得するAPIには「ユーザー単位で180回/15分」「アプリケーション単位で180回/15分」と制限が付いて…
javascriptで、要素一個の配列を宣言するときにありがちな間違い。以下のように記述してしまうと、空の値をもつ長さ10の配列が生成されてしまう。 var test = new Array(10); console.log(test); 以下のように記述すれば、「10」の値が格納された長さ1の配列…
また基本的なとこで引っかかってしまった。。以下のコードは、[1,2,3]という配列を[4,5,6]に置き換えようとして書いたんだけど、これでは配列は置き換わらない。 var test_arr = [1,2,3]; test_func(test_arr); console.log(test_arr); //与えられた配列を置…
jqueryで下記のようにブラウザの縦幅(開いてるウィンドウの幅)を取得しようとしたんだけど、なぜかドキュメント全体の縦幅が取得されてしまう現象が起きた。 var height = $(window).height(); console.log(height); 色々調べてみたら、htmlの一番上のドキ…
掲題の通りです。お好みのフォーマットにするのは意外とめんどくさい・・。 //日時を生成して返却する関数 //「2015-04-18 18:01:07」みたいなフォーマットで返却 function get_date_str(){ var now = new Date(); var year = now.getFullYear(); var month …
javascriptで配列を連結するときによく使う「concat」と「push.apply」。この2つは微妙に挙動が違うので注意。例えば以下のコードを実行すると「test1」の値はそのままで「test2」のみに連結された結果が格納される。 var test1 = new Array("1", "2"); var …
javascriptを修正したのにブラウザ側のキャッシュが効いていて、修正が反映されないことがある。こういうときはブラウザで「スーパーリロード」を実行すると、キャッシュが無効になって、全部一から読み込んでくれるらしい。Chromeでは以下の方法でスーパー…
cakephpでランダムにデータが取得できなくてはまった。以下のようにするとランダムにデータが取得できると聞いたんだけど、いくらやっても「General error: 1 no such function: rand」とエラーが出て全然データが取得できない・・。 //ランダムに3件データ…
cakephpのサーバとajax通信をしてるときに、ブラウザ側で「"Unexpected token cakephpのコードがどこかでエラーしていると思われる。クライアント側に応答メッセージとしてHTML文が返ってきていて、その中にある"ブラウザ側で下記のように「jqXHR」の中をデ…
twitteroauthを使ってtwitter APIによりtwitterアカウント情報を取得する方法です。■まずアブラハムさんのページからtwitteroauthのzipをダウンロードします。 https://github.com/abraham/twitteroauth■zipを解凍すると「twitteroauth-master」のフォルダが…
javascriptでクライアント→サーバにpostメッセージを送信しようとしたら、「空の配列」を送信してくれなくて困った。以下のようにしてajaxでpostメッセージを送信したんだけど、「test1」「test2」「test4」のデータはメッセージに含まれていたけど、「test3…
この前自分のサイトにアクセスが急増する出来事があって、そのときにwebサーバに見たことないエラーログが出力されていた。下記のような感じのログ。 code:17,database schema has changedこのエラーは、PDOのプリペアドステートメントを使ってデータベース(…