ysugiyama12 のアーカイブ

get_post_custom_values関数について

2017年8月21日

カスタムフィールドの値を取得するのに普段はget_post_metaを使用することが多いが、1つのキーに複数の値が割り当てられている場合には get_post_custom_valuesを使うとよい。 ``` ``` $keyは取得したいカスタムフィールドのキーを、$post_idは投稿のidを入力する。$post_idが空の場合、現在の投稿を選択したものとみなされる。post_customという省略形も存在する。 $post_idを指定しない場合、
続きを読む

array_unique関数

2017年8月14日

array_unique関数を用いると、配列の要素の中から重複したものを削除することができる。 使用例 ``` $arr = array("a","b","b","c"); $unique = array_unique($arr); echo $unique; //$unique = ("a", "b", "c")のようになる。 ``` 2番目のパラメータを指定するとsort_flagsを指定できる。SORT_NUMERICやSORT_STRINGな
続きを読む

wordmoveについて

2017年8月7日

今まで"wordmove pull -d"をただ何も考えずに叩いていただけだったので、どのような処理なのか 少し調べてみた。 *** Wordmove・・・WordPressをデータベースごと管理することができるRubyのライブラリ。本番とローカルのデータベースの違いを意識せずに開発することができる。 MovefileというYAML形式で書かれたファイルに設定を書き込んでいく。この中身は大きく分けてlocalとproductionに分かれている。 "wordmove
続きを読む

React NativeのNetworkingでデータを取得

2017年7月14日

React NativeでNetworkingのfetch関数を用いることでwebからデータを取得することができる。 以下はFacebookのサンプルで、当該ページにあるデータをjson形式で取得できる。 ``` getData() { return fetch('https://facebook.github.io/react-native/movies.json') .then(response => response.json())
続きを読む

React Nativeで要素をloopして表示する

2017年7月12日

Viewタグなどで囲まれた要素に配列の値などを代入しながら複数回表示する時の方法 ``` export default class Sample extends Component { render() { var label = ["A", "B", "C", "D", "E"]; var Cards = []; for (let i = 0; i < label.length; i++) { Cards.push(
続きを読む

jQueryで複数の要素を取得してforeachを用いる

2017年7月5日

jQueryでクラスなどを指定して複数の要素が取得できる場合、それらをforeachでひとつずつ処理する。 ``` $('#my_data').each(function(i,elem){ console.log(i); console.log(elem); }); ``` iで何番目の要素であるか、elemでその要素を取得することができる。
続きを読む

str.replace関数

2017年6月30日

str.replace関数を使うとある文字を別の文字に変換した文字列が得られるが、文字指定を変数でする場合は注意が必要。 ``` var str = "あえいうえおあお"; var moji = "あ"; var regExp = new RegExp( moji, "g" ) ; var result = str.replace( regExp , "か" ) ; ``` gはglobal match のことで、文字列内のすべての文字を置換するために用
続きを読む

Atomでsvgファイルを表示する

2017年6月23日

インターネット上のサイトでも出来ると思われるが、atomのパッケージ「svg-preview」を用いると更新があるとすぐに反映する svgの表示ができる。 表示したいsvgのファイルを開き、Command+fn+option+vで開くことができる。
続きを読む

hiddenのinput要素で値をPOSTする

2017年6月21日

見えないinput要素を設定してそのvalueを保持しておいてリクエスト先で取得することができる。 ``` ``` リクエスト先ではgetDataを用いて値を取得する。 ``` $data = $this->request->getData('delete_data'); //valueに入っている値(ここでは"F")が取得できる。 ```
続きを読む

crontabについて

2017年6月16日

決められた時刻にある処理を自動的に実行したい場合にcrontabというものを用いる。 * * * * * (command)の形式で入力する。それぞれ*には左からminutes(0-59),hour(0-23),day of manth(1-31),month(1-12),day of week(0-6)を当てはめることで日時を正確に指定できる。
続きを読む

CakePHPでエラー画面を変更する

2017年6月9日

デフォルトで表示される赤っぽいデザインの画面を表示させたくないとき,app.phpにある ``` 'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN), ``` この'true'を'false'にすることでデフォルトのエラー画面を表示しないように変更できる。
続きを読む

データの更新時にキャッシュをリセットする

2017年6月2日

データを更新した時にキャッシュを消去する関数を紐付かせておくことで更新した内容を取り損ねないようにする。 ``` add_action('save_post', 'reset_cache' ); ``` このようにadd_actionでreset_cacheという関数を紐付かせておいて、その関数内で ``` function reset_cache(){ delete_transient('data_key'); } ``` など
続きを読む

キャッシュとしてデータをデータベースに保存する

2017年5月31日

処理が重い関数を毎回呼び出すことは処理速度の低下を招くので一定期間キャッシュとして保存しておくとよい。 ``` ``` $transientにデータのキーを指定、$valueに保存したい配列など、$expirationに保存が有効な秒数を指定する(3600*24なら一日間) ``` ``` $transientに指定したキーを代入することでデータが存在すれば取り出すことができる。
続きを読む

d3.js でx軸のラベルを文字列にする

2017年5月24日

通常はラベルの数値を元に範囲を取得して均等に表示する処理をしているが、それをせずにデータ数に応じて均等に配置する。 いじる部分だけピックアップ ``` var xScale = d3.scale .ordinal() .domain(d3.range(gdp.length)) .rangeRoundBands([0, width], 0.05); ``` ``` var xAxi
続きを読む

ファイルやフォルダの取得、削除など

2017年5月19日

``` use Cake\Filesystem\Folder; use Cake\Filesystem\File; ``` これらを取り込むことでファイル操作が可能となる。 例えば、$image_pathにrootからのpathが入っているとすれば(フォルダの場合) ``` $dir = new Folder(ROOT . DS . $image_path); if ($dir_igp->find()) { $
続きを読む

in_arrayという関数

2017年5月17日

配列に該当する要素が含まれていればtrueを返す関数in_arrayは使い方に注意したほうがよい。 たとえば ``` $array = [0,1,2,3,4]; $input = 3; in_array($input, $array); ``` このようにすれば当然trueがかえってくる。 しかし、"3"(文字列)、3.0(数値),"3.0"でもtrueを返す。 初めの2つはわかるにしても、最後のtrueは違和感を感じるはず。 これはin_ar
続きを読む

placeholderに翻訳機能を適用させる

2017年5月10日

placeholderによって指定された文字列はそのままだと翻訳の対象とならずページ全体を翻訳してもそこだけ無視されてしまう。 そこで、stackoverflowにあった処理を行ったら上手くいったのでまとめておく。 ``` // Find all placeholders var placeholders = document.querySelectorAll('input[placeholder]'); if (placeholders.length) {
続きを読む

改行タグの置換

2017年4月28日

'\n'などを含む文字列をページに表示しても改行が反映されないことがある。 そのため、'\n'などは''に置き換える必要がある。 ``` var text = '改行\nします'; var new_text = text.replace(/\r\n|\n|\r/g, ''); ``` 改行タグは環境によって\n(Mac),\r(古いMac),\r\n(Windows)の三種類がある。\r\nは左端に戻してから1行スクロールするタイプライターに由来するらしい
続きを読む

日時の表記

2017年4月22日

CakePHPでデータベースから日時(createdなど)を取得するとFrozenTimeというクラスの状態で出力される。そのままechoすると ``` 4/21/2017 12:00 AM ``` のような形式で出力される。これを〜年〜月〜日と日本の形式にするには ``` echo $data->created->year,'年',$data->created->month,'月',$data->created->day,'日'; ``` な
続きを読む

ログイン認証ボタンの設置

2017年4月14日

cakePHPにおいて、controller, action, providerを指定して認証ページに飛ぶボタンの作成。 ```      ```
続きを読む