かもメモ

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

JavaScript (ES2015) 今更のPromise (3) 非同期処理を順番に実行するチョットマニアックなメモ

前回までのあらすじ 非同期処理を平行に実行する場合はPromise.allやPromise.raceを使えばよいのですが、非同期処理で受け取った値を使って次の処理を行いたいなど順番(同期的)に実行したい場合のメモ Promise~thenでのメソッドチェーン たぶん一番正当なや…

JavaScript (ES2015) 今更のPromise (2) Promiseが返された後の処理のメモ

前回のあらすじ 通常のPromiseを返す関数で明示的にresolve()、reject()をreturnしてないと関数の終わりまで実行されるのでは?と思い調べてみました。 明示的に resolve/reject がreturnされていない場合 function myFunc(a, b = 0) { return new Promise((…

JavaScript (ES2015) 今更のPromise

JavaScriptを扱うにあたって避けては通れない道、Ajaxとかタイマーとかの非同期処理… ES7のawait/asyncを学ぶ方が良いのでしょうが、jQuery.deferred辺りで止まってしまっていると、いきなりawait/asyncは辛いので、Promiseをざっくり理解してawait/asyncに…

Mac Apache2.4が動かなくなった

昔作ったサイトのメンテで久々にhomebrewで入れたローカル環境のApacheを起動しようとしたら次のようなエラーが出て起動できなくなっていました。 httpd: Syntax error on line 170 of /usr/local/etc/apache2/2.4/httpd.conf: Cannot load /usr/local/opt/p…

[未解決っぽい] Mac/Chrome カスペルスキーアップデートしたらTwitterの画像やビデオ・CSSも読み込まなくなった件

Macですが、いちおセキュリティソフトとしてカスペルスキーを入れていました。 カスペルスキーにアップデートで再起動しろと言われたので再起動したところ、Chromeで安息の地Twitterの画像やビデオ、だけでなくCSSまで読み込まなくなっていました。 読み込め…

Google Chrome 勝手にhttpsにリダイレクトされるにハマる

テスト環境作ってて.htaccessを弄ってて誤って不要なページをhttpsにリダイレクトさせる設定にしてしまい、その後.htaccessを修正したのですが、Chromeで確認してると設定はないのに自動的にhttpsにリダイレクトされ続ける現象にハマってしまいました。 クッ…

Googleスプレッドシート 数字を3桁コンマ区切りでフォーマットしたい。

金額とか、大きな数字を10,000のような3桁コンマ区切りにしたい時、セルに数字が入っているだけなら書式を変更すれば済みますが、合計: 10,000みたいにラベルを入れたいような時文字列になってしまうのでセルごと書式変更をすることができません。 例えばA1…

JavaScript (ES2015) アロー関数 省略した書き方とかのメモ

ES2015/ES6で追加されたアロー関数()=>{...}はthisを拘束できるのがメインだと思っているのですが、色々と省略した書き方ができるようで、まだ不慣れなのでライブラリとか参考のコード見てる時に何だっけ?となりがちだったので省略した書き方のメモ。 アロ…

JavaScript (ES2015) オブジェクトのループについてのメモ

ES2016/ES6でfor...ofが追加されたので改めてオブジェクトのループの方法を見直そうと思いました。 for..of for...of 文は、iterableオブジェクトに対して反復的な処理をするループを作成します(iterableオブジェクトには組み込みのString, Array, 例えば A…

JavaScript (ES2015) 分割代入でエラーになるトラップにはまる。

ECMAScript2015 (ES2015 / ES6)で追加された、配列やオブジェクトを分割して変数に代入できる分割代入で色々エラーになってハマったのでメモ。 分割代入 Destructuring assignment 分割代入 - JavaScript | MDN とは // 配列 let [a, b, ...rest] = [10, 20,…

PCもっての出張で便利だったアイテムを4つ

ここ数年田舎ちほー在住で月1ペースくらいで関東圏に行っていて仕事道具であるPC周りをバックパックに詰めて新幹線移動とゲストハウス滞在を繰り返していました。 その体験からPC持っての移動や宿泊時に便利だったものを4つ紹介したいと思います。(商品紹介…

JavaScript (ES2015) スプレッド演算子のメモ

スプレッド演算子(Spread Operator) ... で使用 for of で回せるArray-like(イテラブル?)なオブジェクトを個々の値で展開できる ※配列での仕様はES2015/ES6で標準になっているが、オブジェクトでの仕様はまだドラフト (ECMAScript® 2019 Language Specifica…

JavaScript (ES2015) 文字列中に変数展開できるテンプレート構文のメモ

JavaScriptで変数を展開した文字列を作成する時、+で文字列連結をしていましたがES2015(ES6)からは``(バッククォート)で囲うテンプレート構文(Template literal)で書くことができるようです。 ※ IEやAndroidでは未対応なブラウザもあるようなので、WEBサイト…

Python3のTrueとFalse、それからNone

PythonのboolはTrueとFalse true、falseと小文字にするとエラーになる。 0, 0.0, [], {}, "", Noneはbool化するとFalse Trueは、1扱いにもなる Falseは、0, 0.0扱いにもなる Bool化 bool(0) # False bool(0.0) # False bool([]) # False bool({}) # False bo…

HomebrewでpyenvをアップデートしたらPythonが動かなくなった

HomebrewでpyenvをインストールしてPython環境を作っていました。 brew upgradeでpyenvがアップデートされた後Pythonを実行しようとしたら次のようなエラーが出るようになってしまいました。 $ python /Users/user_name/.pyenv/shims/python: line 21: /usr/…

Mac OSX 開発環境セットアップのメモ (5) ApacheでPHPが動くようにする

PHPはphpbrewでインストールしました。 Macにデフォルトで入っているapacheを起動しないようにする $ sudo apacehctl stop $ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist homebrewでインストール 以前はhttpd24という名…

Mac OSX 開発環境セットアップのメモ (5) phpbrewでPHPをインストール

フリーランスのお仕事だとレンタルサーバーにWordPressでホームページ作りたいってのがまだまだ多いのです。 MAMPやXAMPPはサーバーもセットで簡単にインストールできるのですが、稀にお客さんの用意しているレンタルサーバーのPHPとMySQLのバージョンが違っ…

Mac Sublime Text 3 ESLint 導入メモ

ESLintをグローバルにインストール $ npm install -g eslint Sublime TextにSublimeLinterパッケージをインストール Sublime Textを起動しPackage Control(⌘+shift+P)を起動 Installと入力しInstall Packageを選択 SublimeLinterと入力しEnterを押してインス…

Googleスプレッドシート 月末までの日付で検索した一覧を取得したい

やりたいこと。 有効期限とかの日付の入っている次のようなデータのマスターシートがあるとして、検索月を入力したら有効期限が今月末までのデータをマスターシートから取得して一覧が表示されるようにしたい。 A B C D E F 区分 ID タイトル URL 有効期限 …

Python3 自作モジュールのインポートにハマる

Python3 (3.6.5)でオレオレモジュールを作成してインポートしようとした際に結構ハマったのでメモ importの基本 import <module>キーワードでモジュールをインポートする import math print( math.pi ) # => 3.141592653589793 モジュールのメソッドはmodule.method</module>…

Python3 ファイルの絶対パスを取得したい。

os を使う import os currnet_dir = os.path.dirname( os.path.abspath(__file__) ) os.path.abspath(__file__) で現在のファイルの絶対パスを取得し、os.path.dirname(path)でファイルのあるディレクトリを取得。 参照: 10.1. os.path — 共通のパス名操作 —…

Python3 Classのメモ

classキーワードに続けて大文字から始まるクラス名を記述してクラスを作成する クラスからインスタンスを作成する際はnewなどのキーワードは不要 コンストラクタは__init__()で定義する class Player: # constructor def __init__(self, name = 'Human'): se…

Python 後で使う用に空の変数だけ作っておきたい。(変数宣言だけしたい)

なんとなくPythonがJavaScriptに似てる気がしてきてる今日このごろ。 後のループとかで使うために関数の先頭とかで空の変数だけ作っておきたい(関数宣言だけしたい)ってのに少しハマったのでメモ。 varみたいな宣言文がPythonには無いので、変数だけ作ってみ…

Python3 文字列中に変数展開したい

1. %演算子 変換指定子 フォーマット型 %f 浮動小数点数 %d 整数 %s 文字列 %x 16進数 %o 8進数 %% % print( 'Hello %s!' % 'World' ) # => Hello World area = 3.14 * 5 * 5 print( '円の面積は%f平方cm' % area ) # => 円の面積は78.500000平方cm cat = 3 …

Python3 辞書のループ

他の言語ではハッシュとか連想配列と呼ばれているようなキーと値が対になったデータ構造をPythonでは辞書(dictionary)と呼ぶらしいです。(厳密にはもっと違いがあるのかもしれません) 辞書をfor inでループ dict = {'name': 'Aki', 'age': 16, 'role': 'gunn…

Python3 ループいろいろ

for s = '' for i in range(3): s += str(i) print(i) # => 2 print(s) # => '012' s = '' # 3<= i < 10 でループ for i in range(3, 10): s += str(i) print(s) # => '3456789' リストをループ s = '' arg = ['foo', 'bar', 'buz'] for i in arg: s += i pr…

Python3 print でシンタックスエラーになった。

ヲタクなのでPaizzaのすみぺ(上坂すみれ)コラボにつられてPython入門しました。 コミケ時期にキャンペーンするのヤメて!! 原稿と被って出来ないの!! 各位ヨロシクオネガイシマス 超初心者なのでprintでシンタックスエラーを出してしまいました。 print で Mi…

はてなブログ マークダウン記法で画像に好きなリンクを付けたい

はてなブログ(マークダウン記法)で自分でupした画像にリンクを貼る方法がちとメンドーだったのでメモ はてなブログのサイドバーのメニュー写真を投稿から画像をアップロードして記事に挿入すると、エディターでは次のような はてな独自のf:idから始まるショ…

Mac OSX High Sierra 開発環境セットアップのメモ (4) MySQL 8.0

1. MySQLのインストール HomebrewでMySQLをインストールする $ brew install mysql $ mysql --version mysql Ver 8.0.11 for osx10.13 on x86_64 (Homebrew) v8.011がインストールされました。 2. MySQLの環境設定 MySQLの起動 $ mysql.server start rootユ…

Mac OSX High Sierra 開発環境セットアップのメモ (3) Python

Pythonをインストールしてみました。 pyenvのインストール Rubyで言うところのrbenv、バージョン管理のパッケージをhomebrewでインストールします $ brew install pyenv pyenvのパスを通す ~/.bashrcに下記を記述して保存 export PATH="$HOME/.pyenv/shims:$…