かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Git 過去の特定のコミット位置からブランチを切りたい

git

git checkout -b で特定のコミット位置からブランチを切ることができる!(∩´∀`)∩わーい

IE11バグ display table, table-cell 内で max-width が効かない

IE11… またお前か! max-widthのバグが多いですねw display: table, display: table-cell の中にある img タグのmax-width: 100% が無視されて、要素からはみ出したりしてしまう問題。 <div class="table"> <div class="table-cell"> <img class="max-width-100per"> </div> </div> table-layout: fixed を使うと max-width が効く display: table …

IEバグ inline-block 内の要素に max-width が効かないにハマる

コーディングをしていて IE で崩れていると連絡を受けてしまいました。 IE11のサポートしてたのですが、まぁ流石にもうIEでも大丈夫だろうと思ってたら、まさかIE6時代のようにバグに遭遇してしまいました。 マイクロソフトを信じたのが間違いだった… 発生し…

Git log 指定日からの作業内容をテキストファイルに出力したい

git

日報とか週報とかの提出を求められる時、いちいちテキストを書くのがメンドーなのでgit logをテキストファイルとして出力したいと思いました。 1. 今日とか1週間とかの git log をいい感じにして表示する 1週間分の自分のコミットを [YYYY-MM-DD] ハッシュ: …

WordPress CMB2でデフォルトのページテンプレートだけにカスタムフィールドを付けたい

コードベースでWordPressのカスタムフィールドを作成できる CMB2 を愛用しています。 ( 以前 Custom-Metaboxes-and-Fields-for-WordPress だったものが CMB2 という名前になり開発されています。 ) デフォルトテンプレートの固定ページにのみカスタムフィー…

WordPress 管理画面 固定ページ一覧にスラッグとテンプレート名を表示させたい

WordPressでWEBサイトを作る際に特定のページを作成するために固定ページのテンプレートを作成したりする事があります。 ただテンプレートの選択やページのURLの指定はWordPressの管理画面から行うので、テスト環境と本番環境があるような場合、本番環境でテ…

PHP json_decode がnullになるにハマる

PHPのjson_decodeは値が " (ダブルコーテーションで)囲まれていないと null になるっぽい。 json_decode() でnull になるJSONのパターン 1. " で囲われていない値がある json = {1: "星宮いちご"} NULL 2. 値が ' (シングルコーテーション)で囲まれている j…

Gulp gulp-uglify でmin化しようとしたらエラーになった件

gulp-uglify v3.0.0 から/*!で始まるようなライセンスのコメントを残す preserveComments オプションは使えなくなっているので、エラーになる。 代わりにoutput:{ comments: /^!/ }を使えばOK。

PHP 文字列末にある特定の文字を除去したい。

PHP

例えば WordPressを使ったサイトで home_url('/') でサイトのURLを取得してそこからURLを組み立てたい時とか。 home_url('/') は行末に / が出力されるので、/ 始まりの変数と結合するとイケてないURLに… http://example.wordpress.com//assets/images str_…

Git 変更のあるファイルの一部だけをコミットしたい。

git

ファイルを色々変更してしまったけど、コミットは別にしたいという時はgit add -p を使うと、変更の塊(Hunk)ごとにステージにaddすることができるので便利!

WordPress 投稿が0件でもpost_typeを取得したい。

WordPressで今のページのpost_typeを取得したい時、投稿が0件だと get_post_type() は false になってしまい上手く取得できない。get_query_var( 'post_type' ) を使えば投稿が0件でもpost_typeを取得することができる。

PHP56 Macを再起動したらlibphp5.soが消えてapacheが起動できなくなった。

Macを再起動して普段通りapacheを起動しようとしたら次の様なエラーが表示されるようになってしまいました。先方の環境に合わせてPHP56です $ sudo apachectl start httpd: Syntax error on line 170 of /usr/local/etc/apache2/2.4/httpd.conf: Cannot load…

PHP Carbonを使って週表示のカレンダーを作りたい。

PHP

週だけ表示できる良い感じのカレンダーが見つからなかったのでPHPで作ってみました。 日付の処理はLaravelでも使用されているCarbonが便利らしいので、これを使うことにしました。 仕様 簡易に曜日と日付が表示できればOK 週の始めは月曜 / 日曜 前後で月が…

CSSで三日月を描く

三日月は地球の影が月に重なってできています。なので、CSSで三日月を描くには同じように月になる円形の上に背景色と同じ円形をずらして重ねればOKなのですが、これでは背景がパターンだったりすると困ります。 月部分以外が透過になっている三日月をCSSで描…

おうち用 NEW マシンをセットアップしたお話。

おうちの家族用NEWマシン。ちょっとWEBみたりメールしたりする程度の想定だったので、iPad+MVNO+キーボードという組み合わせで導入してみました。

Node.js NPM 自分でインストールしたパッケージ名だけをリスト表示したい

`--depth 0`オプションを付けると依存関係のパッケージを非表示にした第一階層のパッケージ名だけがリスト表示される。 グローバルいインストールしたものなら下記のようなコマンド ```sh npm list -g --depth 0 ```

WordPress テンプレートをまたいで使えるグローバル変数を作りたい。

header.phpやfooter.phpなど別れているテンプレートで共通の表示や値を使いたい時、ハードコーディンしてると修正があった時面倒とか、管理画面から入力された値を使って出力したい場合、共通の変数にしてテンプレートで使いまわせると便利かもしれません。 …

WordPress ページを使用しているテンプレートから取得したい

固定ページを取得したい時、ページ名が決まりきっているならget_page_by_title( $page_title )を使うのが手っ取り早いです。( get_page( $page_ID ) はテスト環境・本番環境で制作してると両者でIDが違ったりするので使いづらい ) しかしながら、get_page_by…

Git Submoduleのディレクトリを変更したい

サブモジュールのディレクトリを変更するのにハマったのでメモ。 EX 環境: git version 2.12.2 サブモジュールの追加 $ git submodule add git@my_module.git 追加した my_module を vendor/my_module に移動させたい。 1. ディレクトリを変更する方法 .gitm…

JS 配列の重複を取り除きたい

配列の重複した値を削除したい時のメモ。 filterでループさせindexOfで値の重複をチェックするパターン array.indefOf(value)がvalue自身のインデックスと異なる場合は既に配列内に同じ値があるという判定 var arr = [0, 1, 2, 3, 4.1, true, false, 1, "2",…

JS 2つの配列の差分を取得したい

1. 値の差分をチェック 2. 値とインデックスでチェック 2-1. 新旧の比較のように、配列Aと配列Bを比べ配列Aから変化しているものを返す 2-2. お互いの配列で異なっているものを返す

イラレで表を作りたい

イラレ(Adobe Illustrator)でデータを作る時に表やテーブルを作成したい時は段組設定が超絶的に便利です。 作成したい表の大きさの四角形を作成 メニューバーから オブジェクト > パス > 段組設定 を選択 設定メニューから作成する表の行数と列数を選択 セル…

JS call apply vs bind アロー関数

javascriptの関数とthisとの関係のメモの続きです。 関数のthisを決めることができるcall()とapply()で実行される関数がFunction.prototype.bindやアロー関数でthisが決められているものだった場合どうなるのか気になったので調べてみました。 call と apply…

Javascript 関数とthisについてのメモ

以前書いた記事でオブジェクトの関数内でsetTimeout()に無記名関数を渡した際のthisの値について理解が不明瞭だったのでjavascriptの関数とthisについて調べたメモです。 関数について 関数宣言 (function declaration) function 関数名(){} 関数の巻き上げ…

Git 除外したディレクトリ内の特定のフォルダをgit管理したい。

git

.gitignore /var |-/log |-.gitkeep 上記のような構成でvarディレクトリ内のファイルはgit管理から除外したいけどlogディレクトリは空フォルダでgit管理下に置きたいような場合 /var/* !.gitkeep 上記のように単に!.gitkeepとするだけではlogフォルダ自体が…

JS オブジェクトのキーがあるかチェックしたい。

オブジェクト({})のキーが存在しているか調べる時、if文を使うと値によっては上手くいかない。 var obj = { A: 0, B: 1, C: 2, D: "" }; var foo; obj.E = foo; ["A", "B", "C", "D", "E", "F"].forEach(function(key) { if( obj[key] ) { console.log( obj[…

JS 0や文字列を含んだ数字のチェックをしたいメモ

数値を扱う時や数値変換を行う時に0が鬼門になることが多いのでメモ var checklist = [ 0, "0", "", undefined, "undefined", false, "false", true, "true", null, "null", NaN, "NaN", Infinity, "Infinity", -Infinity, "-Infinity" ]; -0で数値変換した…

JS 配列の要素が全て条件を満たすか調べたい

EX: 配列に含まれる数が全て0 <= N <= 255 かどうか調べたい 次のデータから条件にマッチする配列だけを取り出す。 // 調べる配列の入ったデータ var data = [ [ 217, 0, 0, 0 ], [ 169, 254, 0, 1 ], [ 0, 0, 0, 256 ], [ 1, 0, -1, 255 ], [ '', 0, 0, 0 ]…

Javascript 自然数の約数の総和を求めたい

プログラム書く仕事が無いので、お脳が腐らないように息抜きにプログラムのパズルをしています。 自然数の約数の総和を求める方法を考えてたのでメモ。 数学的なやつ 自然数Nが P1のa1乗、P2のa2乗に素因数分解できる時 Nの約数の総和は (1+P1+P1**2+...+P1*…

GoogleMaps マウスホイールでのズームしないようにしたい。

シングルページのサイトなどで100%幅でGoogleMapsを表示させるような時、マウスホイールで地図がズームしてしまうと不都合があるので、地図のマウスホイールでのズーム機能をOFFにするメモ。 scrollwheel オプションを使用する。 マウスホイールでのズーム機…

JS 配列の初期化についてのメモ

長さNの配列をSで埋めて作成したい。 var a = (new Array(3)).fill('A'); // ["A", "A", "A"] length N の配列の作成は new Array(N) arr.fill()メソッドは第一引数で指定された値で配列の値を設定する。 arr.fill(value[, start = 0[, end = this.length]])…

GitHub 特定のPRをForkしたローカルリポジトリに取ってきたい

ForkしているリポジトリにFork元のリポジトリに出されている特定のpull request(以下: PR)を取り込みたいという状況があったのでメモ。 例 元のリポジトリ: http://github.com/example/project 取り込みたいPR: http://github.com/example/project/pull/298 …

JS 呼び出し元の this を担保するメモ。

例 オブジェクト内の関数でsetTimeoutを使ってその中で、オブジェクト自身をthisとして使いたいような場合 var obj = { name: 'obj', func: function() { console.log(this); // => Object setTimeout(function() { console.log(this, this.name); // => Win…

jQuery .triggerと.onとで実行される関数へのデータの渡し方の違いメモ。

オブジェクトのイベントを呼出して、オブジェクト自身をイベント内で使いたい時とかのメモ .trigger .trigger( eventType [, extraParameters ] ) extraParameters Type: Array or PlainObject Additional parameters to pass along to the event handler. .…

CSSで文字にボーダー(縁取り)をつけたい。

Illustratorの線やPhothopのレイヤースタイルの境界線みたいに文字にボーダー(縁取り)をつける方法のメモ。 1. text-stroke を使う方法 text-stroke サポート状況 IE以外はそこそこサポートされてきてるっぽい。 プロパティには-webkit-のブレフィックスが現…

CSS 100%幅の子要素にネガティブマージンを使うと右側だけはみ出して横スクロールが表示されてしまう

所謂Bootstrapの.row・.col-で使われているような親要素が左右のネガティブマージンを持ち子要素がfloatを使ったカラムレイアウトを100%の画面に入れた時に右側だけが100%のブラウザサイズからはみ出して横スクロールが表示される現象に遭遇しました。 横ス…

Google スプレッドシート nヵ月前の日付をチェックしたい

例えば、下記のような期限日が入力されているシートで期限まで3ヵ月切っているセルをハイライトしたいような時のメモ。 A B 1 案内日 期限(6ヵ月後月末) 2 2016/07/07 2017/01/31 3 2016/08/07 2017/02/28 4 2016/09/10 2017/03/31 5 2016/10/06 2017/04/30 …

CSS3 マークアップ別Flexboxで要素を左端・センター・右端揃えのレイアウトを作る

IE8以下のサポートも終わり自動アップデートになってきていますし、CSS3のFlexboxもそろそろ実制作で活用できる用になってきていると思っています。 flex サポート状況 なので、下記画像のようなWEBサイトのグローバルナビゲーションとかでよくある例えばロ…

Adobe illustrator パターンをオブジェクトにしたい

パターンで付けた柄をオブジェクト化(アウトライン化?)する方法。 オブジェクトを選択して、メニュバーからオブジェクト > 分割・拡張...を選択すればOK ダイアログが出るのでそのままOKを押せばパターンがオブジェクトに変換されます イラレで印刷に出すの…

WordPress 4.7, 4.7.1 はAPIに致命的なバグがあって認証無しで誰でも記事を改ざんできちゃうっぽい!

WordPress 4.7, 4.7.1 のサイトは直ぐに4.7.2にアップデートするのです! Twitterで大学や国会議員や公的機関のサイトが大量に改ざんされてるという情報を朝から目にした日でした。 どうやら改ざんされていたのはWordPressのサイトの様で、事の顛末は、 Word…

確定申告!

確定申告の季節です。 毎年、ナゼ毎月領収書を整理しておかなかったのだ!! と成長のない自分を責める季節でもあります。 私はフリーランスを初めてナンダカンダで10年くらいになっていました。 WEB・グラフィック制作やイベントの進行管理といった仕事の他に…

Ruby Slim タグなどを含んだ変数をエスケープせずに出力したい。

Slim テンプレートでの変数の出力の方法は、こんな感じに=で出力することができます。 div p= @value 文章中や、属性中に変数展開させる場合は#{変数名}で出力します。 p a.btn src="edit/#{@id}" 編集 しかし、上記の方法ではHTMLタグや"などを含んだ文字列…

俺のAdobe Creative Cloudがある日突然、体験版になってた件。

朝起きて、仕事をしようとPhotoshopを起動しようとしたら... Photoshopの体験版を使用しますか? というアラートが表示されました。 Creative Cloudは契約済みで支払いも行っており、自分のアカウントでログインもされている状態でした。 軒並み体験版になっ…

WordPress 管理画面のベーシック認証が効かなくなった時のメモ

WordPressを設置する時に少しでもセキュリティを高めるために管理画面やログイン画面にベーシック認証をかけています。 ファイル構成 / |- .htaccess |- /wp | |- .htaccess | |- .htpasswd | |- /wp-admin |- index.php WordPressはwpディレクトリ内に置き…

年の瀬に一気読みした漫画が凄く良かったので

新年 決意を新たに目標を立てるとか。 沢山 目標を立てても達成できないのでシンプルに、 今年の目標は「描く」 コードも絵もたくさん描く。 個人的には決意を新たにするより、 環境を替えるか、付き合うコミュニティを替えるかの方が効果があると思っている…

はてなブログ Markdown コード内にバッククオートを表示したい

` ← バッククオートをインラインコード内に表示する方法 表示したいバッククオートの後ろに半角スペースを付けると上手く表示できる。 `` ` ` バッククオートを含んだ文字列をインラインコードに表示する方法 先頭にバッククオートを表示する場合 そのまま…

jadeがpugになって変わった所のメモ

HTMLのコーディングの際にjadeを愛用しています。 jadeがpugになってから、所々仕様が変わっていたのでメモ Mixinの呼び出し方が変わった mixin 関数名() ではなく+関数名()になった。 jade mixin foo('引数') ↓ pug +foo('引数') 文字列中の変数展開の方法…

WordPress サイトのフロントページにしている固定ページを動的に取得したい

WordPressで企業サイトなどを作っている時に固定ページをフロントページ(サイトトップ)に設定する事も多いと思います。 かなりレアケースな気もしますが、フロントページに設定しているページオブジェクトやページIDが必要になるテーマを作成する時のメモ。 …

Node.js nvmからnodebrewに乗り換えるぞい!

Node.jsのバージョンをv6.9.2に上げるにあたって、npmでグローバルにインストールしたパッケージを移行できるコマンドがあるということだったので、Node.jsのバージョン管理をnvmからnodebrewに乗り換えるました。npmのパッケージ結構容量を取るので... nvm…

WordPress ContactForm7 フォーム送信時に送信確認のチェックをリセットしたい

ContactForm7は送信前の確認したかのチェックボックスを設置することができます。 ただ、フォームを送信した後、エラーの有無にかかわらず送信確認がチェックされたままで、送信ボタンを押すことができる状態になったままになっています。 そこで、ContactFo…