かもメモ

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

WordPress PHP 7.x でデータベース接続確立エラー

php.iniを開いてdefault_socketをチェックしよう。WordPressはmysqli.default_socketが設定されてないとデータベース接続確立エラーになるみたい。

MySQL mysql.socketがどこにあるか探したい。

`$ mysql_config --socket` で探せる

WordPress pre_get_posts内でSQLをカスタムするフィルターを使う時に注意すること

※ この記事は古いWordPress (v4.1)を触っていて発生した現象なので、新しいWordPress環境では発生しない可能性があります。

WordPress カスタム投稿タイプのslug (URI)から投稿IDを取得したい

slug名から投稿を取得するには get_page_by_path を使う get_page_by_path( string $page_path, string $output = OBJECT, string|array $post_type = 'page' ) 出典: get_page_by_path() | Function | WordPress Developer Resources ID; echo $postID; …

WordPress 管理画面の固定バー(Admin bar)にカスタムボタンを設置したい

WordPress管理画面の上部にあるAdmin barにカスタムボタンを設置する方法のメモ functions.php 'my_custom_button', 'title' => '表示される文字', 'href' => '#', 'meta' => [ 'class' => '' ], ]; $wp_admi…

npm script でファイルに書いたスクリプトを実行したい。

node が実行されるようにすればOK "scripts": { "build": "node my_script.js" }

PHP phpbrewで古い環境のPHPを動作させたメモ

別の人が作成した古いWordPressの改修の依頼が来て、環境つくりに時間がかかったのでメモをしておきます。 レンタルサーバーで動いているサイトだったのでPHP + Apache + MySQLという構成です。 要件

ESlint acyncとFetchAPIがエラーになる

簡単なESlintの設定で試してたら、acyncとfetchでエラーにったのでメモ .eslintrc { "root": true, "extends": [ "eslint:recommended" ], "env": { "es6": true, "node": true, "commonjs": true }, "parserOptions": { "sourceType": "module" }, "rules":…

Ajax (XHR) まわりいろいろ試してみた。

jQueryの$.ajax, XMLHttpRequest, FetchAPI, axios, superagentを簡単に試してみた

Fetch API 試してみた。

恥ずかしながらFetchAPIたるものがあるのを知らなかったので、ざっくり試してみた。 Fetch API Service Workersでも使えて、プレーンなJavaScriptのXMLHttpRequestより強力で柔軟な操作ができるそうです。 GET fetch(api_url, {method: 'GET'}) .then((res) …

APIのモックアップに便利なjson-server使ってみた。

フロントエンドの制作とかで使えるAPIのモックアップにjson-serverってのが便利だよーって教えてもらったので使ってみた。 インストール $ yarn add -D json-server デフォルトのデータを作成 db.json { "articles": [ {"id": 1, "title": "json-server", "a…

2018年に読んで良かったと思った本を5つ

あけましておめでとうございます。 Hyvää uutta vuotta! 私の夢は図書館のような部屋に住み本に埋もれて死ぬことです。 2018年に読んで良かったと思った本を5つ紹介したいと思います。 (普段プログラムのことが多いのでビジネス書的なのから順番に) 人生にゆ…

PHP / JavaScript ファイル生成してDLさせたいけどmax_input_varsにかかってしまう問題にパワープレイで立ち向かった話

PHP製の管理ツールで、CSVを生成してDLするシステムを作っていました。 データ量が多いとエラーになるということで調べたら、PHPのmax_input_varsにかかって居るのが原因でした。 そして、使っているサーバーがhetemlでmax_input_varsの上限を変えることが出…

JavaScript Blobオブジェクトでファイルを作成してダウンロードしてみる

A Blob object represents a file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support f…

PHP マークダウン変換できるライブラリParsedown使ってみた。

WordPressのカスタムフィールドで作っていたテキストエリアで部分的にボールドにしたいという要望がありました。 運用してる人的にHTML書いてくださいってのはハードル高そうだし、カスタムフィールドをWYSIWYGにするのは工数もかかるし自由に出来すぎるとwo…

gulp-connect のリロード処理だけ別タスクにする時のTips

リロードさせる関数があるので、gulpでwatchしている時など好きなタイミングでlocalhostをリロードさせることができるgulp-connectですが、リロードさせるタスクをまとめようとした時にチョットしたハマりどころが合ったのでメモ。 公式に書かれてるやり方 ‍…

gulp サーバー(gulp-connect)で自動的にブラウザを開きたい

gulpでサイト作る時のローカルサーバーに長らくgulp-webserverを使っていたのですが、CSSの変更時にhotreloadが上手く動作せず、リロードさせる関数も無いっぽかったので、reload関数が有り任意のタイミングでリロードさせることができるgulp-connectに乗り…

gulp4 watch終了したら The following tasks did not complete ってエラーが表示される件

昔作ったgulpでpugとstylusコンパイルしてるだけのLPを更新で弄っていました。 gulpでwatchしてたプロセスを終了したら [23:55:48] The following tasks did not complete: default, watchHTML, watchCSS [23:55:48] Did you forget to signal async complet…

npm install不要なnode簡単なサーバーつくってみた。

npm installせずにHTML表示できるnodeのサーバーを作ってみました。 server.js const http = require('http'); const fs = require('fs'); const path = require('path'); const port = 3000; const getType = (url) => { const extname = path.extname(url)…

HTMLでES moduleをつかうメモ

ES2015で、scriptタグモのtyoeで指定できるモードにmoduleが追加されたようです。 script:グローバル名前空間を必要とする標準的なスクリプトのためのもの module:明示的なインポートとエクスポートを必要とする、モジュール化されたコードのためのもの sc…

node.js モジュール(ES Module)のimport/exportにハマる。

node.jsでimport/exportで試そうとしてハマったのでメモ。 $ node -v v11.4.0 import / export を使っているファイルの拡張子は.mjsでないとエラー // moduleA.js export const hi = (name) => `Hi ${name}. `; // main.js import {hi} from './moduleA.js';…

JavaScript (ES2015) 同じ名前のモジュールをインポートしたい

webpackを調べていた時にwebpackのメリットとして 各モジュールを閉じたスコープにしてまとめてくれるので、モジュール名や変数名が被るのを気にする必要がなくなる というのがありました。 で、同じモジュール名だったりした時、インポートする側はどうする…

今更の webpack 4 導入とbabel使うところまでのメモ。

3年ほど山ごもりをしていて、浦島太郎状態なので、その間に進んだフロント周りのキャッチアップを ちょっとづつ進めています。 今回はwebpackについて、フリーな個人制作が多くgulpで何とかなるしと秘伝のタレ使いまわしていたのですが、JavaScriptのモジュ…

IoT初心者がobnizと戯れてみて、"簡単に"とは何かについて考えてみたメモ。

これはobniz Advent Calendar 201812日目の記事です。 はじめまして。 IoTデバイスを触ったり、回路作ったり自体が初めてのド素人です。 obnizのハンズオンに参加してJavaScriptSDKを使って"簡単に"LEDを光らせたりモーターを動かしたりができたので、調子に…

JavaScript 該当する文字を全部変換したいメモ

例えば次のようなテキストを "藤堂ユリカ\n一ノ瀬かえで\n神崎美月" "藤堂ユリカ 一ノ瀬かえで 神崎美月" のように置き換えたい時 JavaScriptにはreplaceAllのようなメソッドがないので、 const str = "藤堂ユリカ\n一ノ瀬かえで\n神崎美月"; str.replace("…

Sublime Text 3 プロジェクトの切替で表示されるプロジェクトをクリーンアップしたい

Session.sublime_session というファイルの"recent_workspaces"にプロジェクトのパスが保存されているので、不要なパスを削除すればOK

HTML 本当は怖い target="_blank" 。rel="noopener" ってなに?

WordPressの投稿で別ウィンドウで開くリンクtarget="_blank"を作成すると、 <a href="{URL}" target="_blank" rel="noopener">LINK TEXT</a> のようなrel="noopener"属性を持ったaタグが出力されます。 rel="noopener" の意味 1. target="_blank" のセキュリティ上の脆弱性の問題を避ける Without this, the new …

CSS 何だったけってなりがちなメモ。initial と inherit

CSS

CSSのプロパティリセットする時に使うやつ。 initialとinherit CSS書かない日が続くとどっちが何だっけ?ってなることがあるのでメモ。(メモすれば忘れにくくなる!かも initial は 初期化 英語で initial は「初めの、最初の、初期の」とか。 プログラムと…

Git ファイル名の大文字・小文字の変更が感知されないにハマる

git

Macのローカル環境だと画像のsrcで小文字でファイル名を指定していて、実際のファイルが大文字になってても表示されちゃったりするので、 うっかりPhotoshopとかでファイル名大文字にしてて大文字のまま画像書き出してコミットしちゃって、本番サーバーでpul…

今更のバベる。 Babel 7を試してみたメモ

BabelやWebpackとかを業務で使う機会がなくて、なんとなくな感じだったので自分の手動かして設定しながら試してみました。Babel 7になっていて検索で出てくる情報だとうまく行かなかったり試行錯誤したのでメモ。 Babelとは babel + webpack の構成で合わせ…