読者です 読者をやめる 読者になる 読者になる

かもメモ

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

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…

WordPress ContactForm7 フォーム送信時に任意のjsを実行したい。

管理画面から WordPressの管理画面 > コンタクトフォームの編集画面 > その他の設定 を選択して、記入エリアにon_sent_ok:(送信完了時)、on_submit:(送信された時常に) のキーワードに続けて実行したいjavascriptのコードをテキスト形式で記述する。 on_sent…

Stylus Objectでらくちんカラー管理したい

StylusやSassなどでwebサイトのCSSを作成する時は、variableというようなファイルを作成して使用する色などを変数で書いておき適時使用しています。 しかし、色のバリエーションがある時に $primary = #158cba $primary-dark = #127ba3 $success = #28b62c $…

Gulp min化したJS・CSSに自動でコメントを入れたい

コーディングをする時、Gulpでコンパイル&min化をしています。 min化したコードにコメントでバージョン情報とか、元のライセンス情報を入れたいケースとかがあります。 javascript ライブラリなどのライセンス情報で/*!で始まるコメントの場合はgulp-uglify…

高校生みたいなバックパックが思ったより便利だった

超ド田舎に住んでいるので終電時間がめちゃめちゃ早く、ちょっとした勉強会とかに参加しても一泊しなければならない事が多くラップトップ(ノートPC)と一泊分の着替え+本や筆記用具の入るいい感じのカバンを探していました。(ちょっとした勉強会に参加するに…

Mac OS Sierraにアップグレードしたらターミナルで.bashrcが読み込まれなくなった。

開発をしているとターミナル(黒い画面)を使うことが多いかと思います。 Macだとllコマンドが無かったりするので、.bashrcによく使うコマンドとかのエイリアスを書いたりしていました。 alias ll='ls -n' こんな感じで。 アプリ開発をするのに必要なXcodeのア…

Ruby Stylusでnibを使いたい。

前回 Ruby(sinatra)でStylusを使えるようにしました。 しかし、このままではSassで言うところのCompassにあたるnibを使うことができていませんでした。nibを使えるようにした際のメモです。 nibはnode(npm)でインストールしておく必要がある $ npm install n…

Ruby (2.2.0) 自分で作成したファイルを読み込む(require)にハマる

Ruby(2.2.0)を使っていて自作したファイルを読み込み(require)する際にハマったのでメモ。 結論から言えば自作ファイルを読み込ませる際は相対パスで読み込むrequire_relativeを使うのが良さそう。 ファイル構成と読み込み ファイル構成 /app |- main.rb # <…

Ruby Bool値かどうか型チェックしたい。ついでにis_bool?メソッドを作ってみた。

Rubyで変数がBoolean型かどうかチェックしたい。 かなりレアケースな気がするけれど、この前参加した勉強会で要望があったのでトライしてみた。 RubyのTrueとFalse false ... false, nil の時 true ... false, nil 以外全てtrue Rubyには is_bool? という関…

Gmail 定型文に便利なChrome拡張

GmailをWEBブラウザで使っています。 問合せの返信などで定型文を使いたい時、設定 > Labs > 返信定型文 で定型文を作成できるのですが、定型文の挿入と保存が同じポップアップ内に出てきて分かりづらかったり、件名が自動挿入されるなど、件名含めてガッチ…

🇵🇱ポーランド🇵🇱ワルシャワでSIMをゲットして快適インターネッツライフ

ポーランド(ワルシャワ)にも行っていました。 ポーランドでもプリペイドSIMをゲットして快適インターネッツライフを行えたので知見をシェアしたいと思います。 事前に調べていたポーランドで手に入れやすいSIMで代表的なものは下記の3種。 ・Orange ・Plus …

Ruby Sinatraでstylusを使いたい。

久々にRubyの勉強に戻ってきました。 作りながら学ぶRuby入門 第2版作者: 久保秋真出版社/メーカー: SBクリエイティブ発売日: 2013/11/21メディア: Kindle版この商品を含むブログ (3件) を見る けっこう古い書籍ですが、1つのアプリを作りながらRubyに慣れよ…

WordPress タクソノミー名によっては予約語でなくてもアーカイブページに投稿が表示されないことがあるっぽい

遥か昔、100億年ほど前に作っていたテーマを使用していたサイトで突然アーカイブページに何も表示されなくなったと連絡がありました。ブラウザの表示でなければ、何もして無ければ変化が起こるはずがないので、何を変更したか訊いたところ「WordPressとプラ…

フィンランドでSIMフリーiPhoneで快適インターネッツライフしたい

Moi. Suomi (フィンランド)に来ています。 フィンランドはホテルや町中いたるところにFreeWifiがあるのですが、観光客が多く回線が繋がりにくかったり移動中とかでも気にせずインターネッツをしたいと思いプリペイドのSIMを購入してSIMフリーのiPhoneを使っ…

PHP Slim 2.x Ajaxでputで送った値を取得したい。

"Slim is a PHP micro-framework" Rubyのテンプレートエンジンじゃない娘のお話です。 3系が既に出ているのですが、先方のサーバーのPHPのバージョンの関係で2系で開発をしています。今回 Ajaxのputメソッドでデータを送ったのですが、Slim側で値をとるのに…

javascript 確認ダイアログ(confirm)の文章を改行させたい。

削除するとか、元に戻せない動作を行う前には誤動作の可能性を考慮して、確認ダイアログを入れるのが好ましいと思っています。 独自実装しても良いのですが、デザインが無かったりで、とりあえずサクット作ってしまっておきたい場合はデフォルトのwindow.con…