nissy のアーカイブ

WordPress decimal型とnumeric型(少数を含む数の比較)

2017年1月12日

結構はまった内容なのでハックに残しておきます wordpressでget_postsやwp_queryをする際の引数に以下のような、条件を追加するとします。 ``` $args = array( 'post_type' => 'hoge', 'meta_query' => array( 'relation' => 'AND'      //条件1    array( 'key' => 'lat', 'value'
続きを読む

Git ある一つのファイルだけ以前のコミット時の状態に戻す

2017年1月12日

コミットするときに必要ないファイルまでコミットしてしまったときの対処法です。 すべてのファイルについて、ある時点でのコミット状態に戻すのは以下のコマンドでできます。 ``` $ git reset --hard ``` これは知っていたのですが、一つのファイルだけというのは以下のように行うらしいです。 ``` $ git checkout ```
続きを読む

Windowsでgit push heroku masterするとき

2017年1月1日

git push heroku masterしたときに、手こずったのでハックに残しておきます。git push heroku masterすると以下ように、ユーザー名とパスワードが求められます。 ``` $ git push heroku master Username for 'https://git.heroku.com': Password for 'https://nd-02110114@git.heroku.com': ``` このときに、heroku
続きを読む

要素に雪を降らせる

2016年12月25日

LINEをいじっていたら雪が降っていたので、もしかしたらjQueryでできるのではと思ってCodepenを利用してやってみました! See the Pen vywdxd by Nissy (@nissy-02110114) on CodePen.
続きを読む

jsとjQueryでforeachを行う

2016年12月23日

phpでよく使うforeachですが、jsとjQueryでもやっぱりできる!!とのことなのでハックに残しておきます。 【javascript】 ``` //forEachメソッドを使う var a=[1,2,3,4,5] a.forEach(function(value,index,array){ //引数が3つとれる console.log(value); // 1,2,3,4,5 console.log(index); // 0,1,2,3,
続きを読む

リンクを踏んだ時に新しいタブを開くようにする

2016年12月16日

初歩的内容でしたが、知らなかったのでメモです。 サイトを使っている側としては、こういう処理はすごいありがたいので、こういう細かい所も気をつけるようにしたいです。 aタグに以下のように**target="_blank"**を付け加えてあげると良さそうです。 ``` コメント ```
続きを読む

clickイベントに引数を渡す方法

2016年12月15日

初歩的内容ですが、よくやりたくなる操作なのでハックに残しておきます。 ``` //以下のような要素を考える click //受け取った引数はevent.dataで引用する function clickSample(event){ console.log("clickSample:" + event.data.num); } //{num : 100}のような配列型で引数を受け取れる $("#hoge").click({num : 100}
続きを読む

wkhtmltopdfでPDF変換した際に文字が重なる

2016年11月27日

htmlで作成されたページを簡単なコマンドでpdf変換してくれるwkhtmltopdfというツールを使っていたところ、 文字が重なるバグが生じたので解決方法をハックに残しておきます。 原因なのですが、今回の場合は**letter-spacingというCSS**が悪さをしていたようです。 これをうまく修正してあげるには以下のオプションをつけてあげるとよいみたいです。 ``` $wkhtmltopdf --dpi 96 ``` ### 参考にしたページ
続きを読む

PHP 月末の日付の取得

2016年11月18日

PHPで月末の日付を取得するのにはまったので、ハックに残しておきます。 nヶ月後の末日は、以下のコードで一見取りたくなるのですが、以下のように1〜3月付近で予期していない挙動見せることがあるそうです。 ``` // nヵ月後 echo date('Y-m-d', strtotime(date('Y-m-t') . '-n month')); //2月が表示されない echo date('Y-m-d', strtotime('2014-01-29 +1 mont
続きを読む

WindowsにRuby on Railsをいれてみた

2016年11月10日

友人やサークルの先輩からRuby on Railsを勧められ、[Ruby on Rails チュートリアル](http://railstutorial.jp/)をやろうとしたところ、ローカルに開発環境する際、[install Rails.com](http://installrails.com/)を参考に自力でやってみると良いとのことだったので、やってみましたー。 その際、色々なエラーにぶつかったのでハックに対処法も含め残しておきます。 ### 基本的には [ins
続きを読む

xpathでうまく要素を指定できないとき

2016年11月7日

今回は、xpathでクラスの検索などによっても要素どうしてもうまく指定できずに困ったときの裏技をハックに残しておきます。 うまく要素を指定できないときの最終手段としては、FirefoxのFirebugを用いて要素の絶対パスを取得します。 【方法】 0. Firebugをインストールしておく 1. Firefoxで開発中のページを開く 2. ページ上でFirebugを開き、Chromeのディベロッパーツールのようにxpathを取得したい要素を選択する
続きを読む

js callbackの書き方

2016年11月1日

以前のハックでは、コールバックの基本的な書き方に触れました。 ただ、javascriptについてはpromiseと呼ばれる手法を用いてのコールバックの書き方もあるようです。 一般的に、javascriptのコードについてはコールバックの構造が見えにくくなることが多く、 これを防ぐためにpromiseという記法は有効らしいです。 以下のページを参照にして、サンプルコードを追記で書きたいと思います。 [今更だけどPromise入門](http://qiita.c
続きを読む

RangeError: Maximum call stack size exceeded

2016年10月28日

スタックオーバーフローというエラーのことらしいです。 一般的には、関数の再帰呼び出しによって生じるものが多く、スタックと呼ばれるメモリが限界に達したときに出ます。 完全に画面が固まってしまったので、コードを見直しVagrantを再起動してもう一度やり直したところまた正常に動いてくれました。
続きを読む

jQuery .prev() と.next()の使い方

2016年10月9日

以下のような、DOM要素があったとき、 ``` list item 1 list item 2 list item 3 list item 4 list item 5 ``` prev()とnext()で以下のような部分のDOM要素の選択をすることができます。 ``` //.prev()の場合 item2の背景色が赤に変わります $('li.third-item').prev().css('background-color',
続きを読む

jQuery BabySteps スライド切り替え時に処理を加える

2016年10月7日

このプラグインでは、以下の用意されている関数で2つの用意したスライドを遷移できるようにしてくれます。 ``` // slide1とslide2は紐付けたいスライドのセレクタを指定 var slide1 = $('#hoge1'); var slide2 = $('#hoge2'); slide1.bindStep(slide2) ``` 今回開発している際、スライド遷移のときに独自のバリデートを通したいときやスライドを変えたタイミングで何か別の関数の関数を
続きを読む

WordPressのデバック

2016年9月20日

Wordpressで開発するには、無くてはならない、debug.logによるデバックの仕方です。忘れないように、ハックに残しておきます。 ## 1 'WP_DEBUG_LOG'と'WP_DEBUG'を有効にする wp-config.phpに以下のコードを追加してあげます。 ``` define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', false); define('WP_DEBUG_LOG', true);
続きを読む

SQL文使用時の簡単なインジェクション対策

2016年9月10日

### SQLインジェクションとは SQLインジェクションとは、SQL文のパラメータを外部の人が自由に書き換えて、データベースに不正なアクセスをすること。 この対策として、何もやらないのは良くないと思ったので、とりあえず対策としては十分ではないのですが、パラメータをエスケープする方法をハックに残します。 ``` SELECT post_title FROM $wpdb->posts WHERE post_type = 'hoge' AND ID =
続きを読む

WordPress $wpdbでデータベースを扱う

2016年9月10日

[SQL文で直接データベースにアクセスを行う](http://hacknote.jp/archives/22143/) 前回残した以上のハックではSQL文そのものに触れたので、今回のハックではどのように実際データを取得するのかについて残したいと思います。ここでSQL文でWordpressのデータベースにアクセスするときに大切な存在が$wpdbです。実際のサンプルコードは、以下です。 ``` // $wpdbの準備 global $wpdb; //クエリと出力型の
続きを読む

SQL文で直接データベースにアクセスを行う

2016年9月7日

Wordpressからデータの取り出しを行うとき、get_postとかget_post_metaの関数を何回か利用して行うときがあると思います。この時、多数のデータベース検索をしてしまい、データベースに負荷をかけてしまう恐れがあります。そのようなときには、自分でデータベース検索を行う関数をSQLで作ってしまい、検索数を減らすことが可能です。 ``` $room_ids = get_posts(array( 'post_type' => 'rooms', 'post_s
続きを読む

PHP error 対処法 その2

2016年9月7日

SQL文を書いている時に、何個か出会ったので、ハックに残しておきます。 ##1 Notice: Array to string conversion このエラーは、引数に文字列(string)を渡さなくてはならない所に配列を渡してしまっていることが原因のようです。文字列を扱うときにうっかりやってしまいそうなミスなので、気をつけたいですね。似たようなエラーとして**expects parameter 1 to be string, array given**とかもありま
続きを読む