牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Javascript

Javascriptでファイル名の拡張子だけ取得するメモ

const filename = 'foo/bar.ext.jpg' //方法1 filename.split('.').slice().reverse()[0] //->"jpg" //方法2 filename.split('.').pop(); //->"jpg" 参考 How can I get file extensions with JavaScript? - Stack Overflow

Javascriptでオブジェクトの不特定な階層に値を入れるメモ

前提 コード 前提 空のオブジェクトに object.foo.bar とか object.hoge.fuga.moge とか階層が不特定で値を入れたいみたいな コード const payload = {path: 'come.on.baby.america', value: 'U.S.A'} const segments = payload.path.split('.') let object …

Nuxt.jSでfirebaseui-webを使ってログインするメモ

前提 pages/index.vue components/FirebaseAuth.vue .env 確認 参考 前提 nuxt プロジェクト作成 firebase ログイン・プロジェクト作成 npm -S install firebase firebaseui @nuxtjs/dotenv pages/index.vue <template> <div class="row"> <div class="col s12 m7"> <FirebaseAuth/> </div> </div> </template> <script> import FirebaseAuth from '~/com…

Nuxt.js で materialize 使うためセットアップのメモ

更新2018-07-23 19:20: 挙動がおかしいのでほぼまるまる修正 前提 nuxt.config.js pages/index.vue 確認 参考サイト 前提 nuxt1.4.1 インストール済みで npm run dev できる状態 materializeのCSSとJSが適応されているか確認するためモーダル表示してみる nu…

eslintrc の設定を見直す

$ sudo npm install -g eslint eslint-plugin-react $ eslint --version v5.1.0 .eslintrc { "plugins": ["react"], "extends": [ "eslint:recommended", "plugin:react/recommended" ], "env": { "browser" : true, "node" : true, "mocha": true, "es6" : …

Progressive Web App のメモ

medium.com developers.google.com developers.google.com developers.google.com qiita.com developer.mozilla.org developer.mozilla.org

DjangoのwebサーバからapiサーバーにajaxでPOSTしたら『Credential is not supported if the CORS header ‘Access-Control-Allow-Origin’ is ‘*’』とかなった場合のメモ

(Django1.11.11 + django rest framework3.6.1, jquery-3.2.1) ajaxでPOSTした時のエラー クロスオリジン要求をブロックしました: 同一生成元ポリシーにより、%1$S にあるリモートリソースの読み込みは拒否されます (理由: CORS ヘッダー ‘Access-Control-Al…

Emacs の web-mode で vue 書くのにシンタックスチェックしてほいしい場合のメモ

追記2018-07-19: これイマイチなのでやり直した 続 Emacs の web-mode で vue 書くのにシンタックスチェックしてほいしい場合のメモ - 牌語備忘録 -pygo 下記は使わないけど記録として残しておく 前提 jsのライブラリインストール .eslintrc init.el リンク …

anyenv の ndenv にしたら Emacs の js2-mode で flycheck が動かなくなった場合のメモ

Emacs あるあるの path が通ってないのが原因 eslint のパスを確認 $ which eslint /Users/username/.anyenv/envs/ndenv/shims/eslint emacs lisp init.el でパスを追加 (let ((path (concat (getenv "HOME") "/.anyenv/envs/ndenv/shims"))) (setq exec-pat…

Javascript と Python の真偽値の違いメモ

javascript >> Boolean(0 > 0) false >> Boolean(1 > 0) true >> Boolean(0) false >> Boolean(1) true >> Boolean('0' > 0) false ;; ここ違う >> Boolean('1' > 0) true >> Boolean('0') true >> Boolean('1') true python >>> bool(0 > 0) False >>> bool…

javascript の Map() で const の定数を作る時に初期値を入れるメモ

const HOGE = new Map() .set('popuko', 14) .set('pipimi', 14) console.info(HOGE) // -> Map { 'popuko' => 14, 'pipimi' => 14 } 参考 Map - JavaScript | MDN

ギター指板の音名をランダムに表示するメモ

音名ランダム表示 ソースコード 指板の音名 参考リンク 音名ランダム表示 C $(function(){ var tempo = 70; var delay = 60 / tempo * 1000; function random(arr) { return arr[Math.floor(Math.random() * arr.length)]; } function display_key() { var k…

ギター指板の音名を覚えるためにリロードするとJavascriptでランダムに音名を表示してみるメモ

(追記2017-10-16)いまいち使い勝手が悪いので もっとシンプルなの書いた 音名 テンポ 指板 ソースコード 音名 テンポ 元ネタの動画 参考リンク 音名 var keys = ['C', 'C#/Db', 'D', 'D#/Eb', 'E', 'F', 'F#/Gb', 'G', 'G#/Ab', 'A', 'A#/Bb', 'B']; funct…

Moment.js で今日と1週間後と1週間前の日付を取ってみるメモ

> moment().format('YYYY-MM-DD'); // 今日 "2017-08-23" > moment().add(7, 'days').format('YYYY-MM-DD'); // 7日後 "2017-08-30" > moment().add(-7, 'days').format('YYYY-MM-DD'); // 7日前 "2017-08-16" リンク Moment.js | Docs #add

Eslint で1行のみ error/warning を無視(ignore)するメモ

よく忘れるのでメモ 1行のみ alert('foo'); // eslint-disable-line no-alert ファイル全体 ちなみにファイル内で無視する場合は最初の行に書く /* eslint-disable no-alert, no-console */ グローバルはこれ /*global hoge*/ 参考リンク Configuring ESLint…

Webpack の bable の設定で `const { value, ...inputProps } = input` みたいな Rest Properties を使えるようにするメモ

よびかたがよくわからないんだけどこんなやつ let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; 設定を追加しないとビルドで失敗する やり方 webpack まわりは省く(動いている前提) ライブラリインストール $ npm install -D babel-preset-stage-2 webpa…

Javascript のオブジェクトで特定のkey以外ほしい場合のメモ

いつも悩むのでメモ const data = { last_name: '夏目', first_name: '漱石', created_at: "2017-03-21T12:00:00.000000", updated_at: "2017-03-21T12:00:00.000000", }; const IGNORE_KEYS = [ 'created_at', 'updated_at', ]; const filterIgnoreObject =…

Javascript でカタカナ->ひらがな変換とか全角英数->半角英数に変換とかのメモ

カタカナ->ひらがな変換 const katakanaToHiragana = (katakana) => { return katakana.replace(/[\u30a1-\u30f6]/g, (match) => { const chr = match.charCodeAt(0) - 0x60; return String.fromCharCode(chr); }); }; console.info(katakanaToHiragana('カ…

Javascript のソースコードを prettier で git commit 時に自動で整形してみるメモ

prettier Golang の gofmt みたいなやつの Javascript 版。 インストール $ npm init -y $ npm install -D prettier lint-staged husky package.json precommit と lint-staged を追加 { "scripts": { "precommit": "lint-staged" }, "lint-staged": { "*.js…

郵便番号を入力してボタンを押すと住所を補完するやつのメモ

<html lang="ja"> <head> <meta charset="utf-8"> <title>sample</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script> <script> $(function() { $('.js-button').click(f…</meta></head></html>

Javascript で url のパラメータを取るメモ

(es5) こういうURL で next とかの値を取りたい https://www.google.co.jp/?prev=next=http://foo.com&next=http://bar.com source code function parseParameter(key) { var val = null; var params = []; var items = location.search.substr(1).split('&'…

eslintでES2016の可変長引数が引っかからないようにするメモ

例 const { hoge, ...props } = this.props; ...props のとこで Parsing error: Unexpected token ... になる .esrintrc "parserOptions": { "ecmaVersion": 6, "ecmaFeatures": { "experimentalObjectRestSpread": true } }, これで error 消える 参考 java…

javascript の for...of と for..in のメモ

'use strict'; const any = (arr) => { for (let value of arr) { if (value) { return true; } } return false; }; console.log(any([false, false, false])); console.log(any([false, true, false])); //=> false //=> true const object = {foo: [false,…

es2015 のクラスで継承しつつ静的メソッドの中でインスタンス作成したりのメモ

(node v4.4.7) 'use strict'; class Hoge { constructor() { this.price = 50; } static getInstance(object) { const instanse = new this(); Object.keys(object).map(key => { instanse[key] = object[key]; }); return instanse; } } class Fuga extends…

ESLint v3.x で React 使う場合の設定メモ

2016-08-04 Thu: 追記・修正 (eslint v3.1.1) Install $ node install -g eslint eslint-plugin-react .eslintrc { "plugins": ["react"], "extends": ["eslint:recommended", "plugin:react/recommended"], "env": { "es6": true, "browser": true, "node":…

ES6のデフォルト引数の使い方を勘違いしていたメモ

ES6 function hoge(a='hoge', b='fuga') { console.log(a + b); } hoge(); //-> hogefuga hoge('foo', 'bar'); //-> foobar hoge('foo', b='bar'); //-> SyntaxError 実行時に b= とか書くとエラーになる ちなみに Python def hoge(a='hoge', b='fuga'): pri…

Javascript で配列や連想配列を何で回すのがいいのか混乱するので for, for...in, forEach, for...of などいじってみるメモ

(node v4.2.4) その1 'use strict'; let arr = [{id: 1}, {id: 2}, {id: 3}]; for (let x in arr) { console.log(x); } console.log('----'); arr.foo = "hello"; console.log(arr); console.log('----'); for (let x in arr) { console.log(x); } console.…

Emacs で Javascript の賢い補完するメモ

(emacs24.4) 使うパッケージ M-x package-install などで下記をインストール js2-mode auto-complete tern tern-auto-complete npm 下記もインストール $ npm install -g tern 設定 tern サーバーを利用すると .term-port ファイルが作られてしまうので、作…

Javascript の連想配列で key に数値を入れると文字列になるメモ

$ node > var a = {1: 'a', 2: 'b', 3: 'c'} undefined > a { '1': 'a', '2': 'b', '3': 'c' } > Object.keys(a)[0] '1' > typeof Object.keys(a)[0] 'string' ちなみに Python だと数値のまま $ ipython In [1]: a = {1: 'a', 2: 'b', 3: 'c'} In [2]: a Ou…

Javascript で filter の書き方のメモ

ES6 'use strict'; var family = [ {'name':'Namihei', 'age': 54}, {'name':'Masuo', 'age': 28}, {'name':'Katsuo', 'age': 11}, {'name':'Tarao', 'age': 3} ]; var family1 = family.filter(function(person) { return person.age < 30; }); var family2…