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

牌語備忘録 -pygo

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

牌語備忘録 -pygo

go でツイートを search/tweets api で取ってみるメモ

(go version go1.5.1 darwin/amd64) ライブラリ anaconda A Go client library for the Twitter 1.1 API $ go get github.com/ChimeraCoder/anaconda コード package main import ( "fmt" "github.com/ChimeraCoder/anaconda" "net/url" ) const ( consumerK…

Go のスライスのメモ

package main import ( "fmt" ) func f1(slice []int) []int { slice[0] = 10 return slice } func f2(slice []int) []int { slice = append(slice, 4) slice[0] = 10 return slice } func f3(slice []int) []int { s := make([]int, len(slice)) copy(s, sl…

Python で今日から30日後の日付はいつなのか取るメモ

(python2.7) 忘れるんでメモ 標準ライブラリのみで In [16]: import datetime In [17]: today = datetime.datetime.today() In [18]: today.strftime('%Y-%m-%d') Out[18]: '2016-02-12' In [19]: d = today + datetime.timedelta(days=30) In [21]: d.strft…

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…

Javascript で配列を逆順にするメモ

> var a = [1, 2, 3] undefined > a [1, 2, 3] > a.reverse(); [3, 2, 1] > a [3, 2, 1] > a.slice().reverse(); [1, 2, 3] > a [3, 2, 1] a.reverse() で破壊的 a.slice().reverse() で非破壊的 参考 Reverse array in Javascript without altering the ori…

pip で前のバージョンの最新をインストールしたいメモ

例えば Django の最新バージョンは 1.9.1。だけど 1.8.x 系の最新をインストールしたい場合。 $ pip install 'Django<1.9' Collecting Django<1.9 Using cached Django-1.8.8-py2.py3-none-any.whl Installing collected packages: Django 参考 pipの使い方 …

CSS の nth-child で特定の要素を指定するメモ

例:先頭から2番目以降すべての ul で、先頭から3番目までの li 要素 <html lang="ja"> <head> <meta charset="utf-8"> <title>TITLE</title> <style type="text/css"> ul:nth-child(n+2) li:nth-child(-n+3) { background: green; } </style> </head> <body> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> <ul>…</ul></body></html>

関数呼び出しタイミングのメモ

いちおう想定通りの結果になるか確認してみた javascript (es2015) 'use strict'; function foo(func) { console.log('foo!'); func(); console.log('end foo!'); } foo(() => {console.log('bar!');}); //=> foo! //=> bar! //=> end foo! python 2.7.x #!/…

Emacs と ctags のタグジャンプを ES2015 syntax に対応させるメモ

設定 参考リンクから必要そうなとこを抜き出してコピペ ~/.ctags --exclude=.git --exclude=.hg --exclude=log --exclude=tmp --languages=-javascript --langdef=js --langmap=js:.js --langmap=js:+.jsx --regex-js=/[ \t.]([A-Z][A-Z0-9._$]+)[ \t]*[=:][…

Javascript で sleep する関数メモ

ReactJS のサンプル書いてて ajax の get で遅延で値を取るような擬似的な処理で setTimeout() 使うとうまくいかなかったけど while 使うやつで値取れた。(と思ったけど関係なかったっぽい) function sleep(msec){ let now = new Date().getTime(); while(…

Python で画像URLから画像のサイズを取るメモ

(python2.7) $ pip install pillow #!/usr/bin/env python # coding=utf-8 from PIL import Image from cStringIO import StringIO from urllib import urlopen def get_image_size(url): file = StringIO(urlopen(url).read()) img = Image.open(file) retu…

2015年を振り返る

と思ったけど余裕と時間が無いのでいくつか思ったことなど。 今年 Javascript まわりで思ったことなど Node.jsとio.js が仲直りしてほしい。できれば Node.js に統一してほしい。 -> 統合した。 Node.jsとio.jsの最初の統合リリース「Node.js 4.0」が9月に登…

Python と boto で S3 の情報を取得してみるメモ

# coding=utf-8 import json import re from boto3.session import Session AWS_ACCESS_KEY_ID = 'AWS_ACCESS_KEY_ID...' AWS_SECRET_ACCESS_KEY = 'AWS_SECRET_ACCESS_KEY...' BUCKET_NAME = 'hoge' session = Session( aws_access_key_id=AWS_ACCESS_KEY_I…

python で配列を n 個の配列に分割するメモ

コード # coding=utf-8 def chunked(iterable, n): return [iterable[x:x + n] for x in range(0, len(iterable), n)] if __name__ == '__main__': arr = range(10) print(chunked(arr, 4)) # => [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9]] 参考 python2でリスト…

python で yes/no で実行する/しないの処理のメモ

コード hoge.py # coding=utf-8 def yes_no_input(): while True: choice = raw_input("Please respond with 'yes' or 'no' [y/N]: ").lower() if choice in ['y', 'ye', 'yes']: return True elif choice in ['n', 'no']: return False if __name__ == '__m…

Python でバイグラムのメモ

(python2.7) def ngrams(text, n): text_list = list(text) return [text_list[i:i + n] for i, char in enumerate(text_list)] ngrams_list = ngrams(u"今日はいい天気ですね。", 2) print(("\n").join([u"{}".format(u"".join(chars)).encode('utf8') for …

Django の ORM で昇順・降順ではなく指定したid順でデータ取るメモ

In [11]: foo_ids = [101, 19, 75] In [12]: order_ids = ','.join(["{id}".format(id=id) for id in foo_ids]) In [13]: foos = Foo.objects.filter(id__in=foo_ids).extra(select={'order_ids': "FIELD(id, {})".format(order_ids)}, order_by=['order_ids…

js2-mode で swith/case のインデントを修正するメモ

追記 2016-10-04 (emacs 24.5) 現象 デフォルトだとこうなる switch (a) { case 1: doSomething(); break; case 2: doSomethingElse(); break; } 希望 でも case は下記のように一段下げたい switch (a) { case 1: doSomething(); break; case 2: doSomethin…

Emacs で React の jsx を js2-mode で書けるようになってたメモ

いつのまにか js2-mode に js2-jsx-mode なるものが追加されてた。 なぜかweb-mode で jsx を書くのに抵抗あったのでこっち使ってみることにした。 すでに js2-mode と flycheck (eslint)をインストール&設定してれば、下記設定するだけで React の jsx を…

Emacs の起動が遅いので何とか改善してみるメモ

(MacOSX 10.10, Emacs.app 24.5) Emacs.app は homebrew でインランパッチ当ててインストールしたもの。 どこが遅いか esup で調査 M-x package-list-packages で esup をインストール M-x esup で実行すると Emacs.app が別にもうひとつ立ち上がる。それを…

Javascript で配列の重複を除去する

var array = [1,2,2,3,3,3]; // ES5.1? var unique = function(arr) { return arr.filter(function (x, i, self) { return self.indexOf(x) === i; }); }; console.log(unique(array)); //-> [ 1, 2, 3 ] // ES6 console.log(Array.from(new Set(array))); …

Python で空文字列 "" とブール値の真か偽のメモ

(python2.7) $ ipython In [1]: def check(val): ...: if val: ...: return True ...: else: ...: return False ...: In [2]: check("") Out[2]: False In [3]: check("" and True) Out[3]: False In [4]: check("" and False) Out[4]: False In [6]: check(…

iPhone6s に機種変してトラブったのでメモ

もともと所有していた iPhone5c の調子が悪かったので 6s に機種変更したのに、データ移行でトラブったのでメモ iTunes にバックアップしたものから 6s に復元したら「iCloude設定をアップデート中...」のまま1時間以上処理が終わらなかった 同じような状況…

Javascript で配列かどうか調べるメモ

instanceof を使えばよいの? > var friend = JSON.parse('{ "id": 1, "name": "のび太" }') > var friends = JSON.parse('[ { "id": 2, "name": "ジャイアン" }, { "id": 3, "name": "スネオ" }]') > friend instanceof Array false > friends instanceof A…

MacPorts から homebrew に乗り換えてみたメモ

必要そうなインストールしたやつ一覧メモ brew install $ brew list --versions bash 4.3.42 cmake 3.3.2 curl 7.44.0 emacs 24.5 git 2.5.3 git-flow 0.4.1 go 1.5.1 mysql 5.6.26 peco 0.3.3 python 2.7.10_2 sqlite 3.8.11.1 the_silver_searcher 0.31.0 …

Homebrew で inline-pach をあてた Emacs.app をインストールするメモ

(emacs24.5) 通常の Emacs.app をインストール $ brew update $ brew install emacs --cocoa $ brew linkapps インラインパッチ当たってないので入れ直す emacs 削除して inlain-path あてるように formula 書き換える $ brew uninstall emacs $ cd /var/tmp…

git merge をやり直すメモ

Git

^ は1個前の意味 $ git reset HEAD^ $git reset --hard HEAD は $ git reset --hard HEAD~ と同じ。 $ git reset --hard HEAD^ も同じ。 でも、シェルのヒストリに残したくないから2回に分ける $ git reset HEAD^ $ git reset --hard HEAD

Git で PR をマージした後に同じブランチでローカルで作業続ける場合のメモ

Git

git flow 使ってるので develop 手順 マージしたブランチに居るか確認 $ git branch * merged-branch-name origin/develop を更新 $ git remote update 最新の origin/develop まで移動 $ git rebase origin/develop んで、またコミットを追加していく

ansible-playbook を再実行時にタイムゾーンの設定が changed にならないようにするメモ

(ansible 1.9.1、対象の host OS は Ubuntu 14.04) 追記 2016-12-02 timezone モジュールあった... timezone - Configure timezone setting — Ansible Documentation 以下は過去のメモということでそのまま残します 目的 タイムゾーン設定のやり方が悪くて再…

Ansible で Vagrant の Ubuntu の設定を弄ろうとしたら SSH Error になったメモ

MacOSX を再起動して vagrant up して ansible-playbook 実行したら SSH Error になった。 再起動前はエラー出ずに実行できてた。 $ ansible-playbook -i hosts provision_vagrant.yml --check fatal: [192.168.33.55] => SSH Error: ssh: connect to host 1…

Emacs の web-mode で jsx 書くとき コメントが『/* coment */』になるので 『// comment』にするメモ

目的 M-; でコメントアウトすると /* foo bar */ になる // foo bar にしたい 改善 設定にこれ入れればよいみたい (add-to-list 'web-mode-comment-formats '("jsx" . "//" )) おまけ ちなみに今現在のぼくの web-mode で jsx ファイルを開く設定 (progn (se…

Google Chrome の Console で外部ライブラリの KeyMirror を試してみるメモ

> var ele = document.createElement("script"); ele.type = "text/javascript"; ele.src = "http://cdn.rawgit.com/STRML/keyMirror/master/index.js"; document.body.appendChild(ele); > var COLORS = keyMirror({blue: null, red: null}); undefined > C…

EditorConfig を使ってみるメモ

更新:2015-12-02 http://editorconfig.org/ インストール homobrew brew install editorconfig npm npm でもインストールできるっぽい https://www.npmjs.com/package/editorconfig $ npm install -g editorconfig Emacs plugin M-x package-list-pakages …

ReactJS と Browserify と babelify のメモ

前回『ReactJS と Browserify と reactify のメモ』 の続き。 なにやら reactify から babelify に乗り替えた方が良さげ みたいなので変更する。 あと watch もできるようにする。 変更するコード gulpfile.js var babelify = require('babelify'); var brow…

ReactJS と Browserify と reactify のメモ

簡単にできると思ってたら Browserify で ./jsx/**/*.jsx みたいなディレクトリ以下のファイルを指定するのに悩んだんのでメモ ソースコード # ファイル構成 . ├── gulpfile.js ├── index.html ├── jsx │ └── yo.jsx └── package.json gulpfile.js var brows…

Google Cloud SDK と Zsh で補完のメモ

Zsh

Google Cloud SDK (gcloud コマンド) のインストール手順はここ https://cloud.google.com/sdk/ 目的 gcloud コマンド使えるようにインストールしたら Zsh で補完できなかったので調整する。 原因 zsh を指定してインストールしてるのに bash_profile に設定…

Vagrant と Ubuntu と Docker と docker-compose と Django と PostgresSQL と Ansible とを動かすメモ

(macosx10.9, Vagrant 1.7.2, Docer, docker-compose, ansible 1.9.1) 前置き 想定以上にハマったので途中経過メモ。 とりあえず Djnago 動かして webブラウザで表示できた。 あとで Aansible まわり書く。 (これやる前に Vagrant + coreos でやろうとした…

Ansible のチュートリアル的なものを試してみる

(macosx10.9, ansible 1.9.1, Vagrant 1.7.2) seizans さんの 『Ansible コトハジメ』 がVagrant などのバージョン差異によりそのままでは動かないようなので、若干修正を加えて実行できるようにしてみる。 Vagrant, Ansible はインストール済みの前提 vagra…

ちょっと古い Ansible チュートリアルを試してみたら Authentication failed でハマったメモ

(ansible 1.9.1, Vagrant 1.7.2) 問題 -- Authentication failed この 『 Ansible チュートリアル』 の ping で疎通確認のところで Authentication failed. になった $ ansible -i hosts 192.168.33.12 -m ping : 192.168.33.12 | FAILED => FAILED: Authent…

Javascript の連想配列で key に変数を使うと展開されない件のメモ

連想記憶のkeyは変数が展開されない { foo: 'bar' } が取れると期待したら{ select: 'bar' }になってぎょぎょぎょってなった(´・ω・`) var select = 'foo'; var fanc = function(obj) { console.log(obj); }; fanc({select: 'bar'}); //-> { select: 'bar' } …

今さら何となく peco + anyframe 使う事にしたメモ

Zsh

percol で困ってなかったけど、goのソースコードを勉強がてら読んでみようかと思ったので。 anyframe を導入してみる。設定が楽そうで良さげ。 インストール peco を MacPorts とかで インストール anyframe を ~/.zsh/ ディレクトリを作成してそこに git cl…

Docker-machine create で "x509: certificate signed by unknown authority" とか "Bad port '0'" とかのエラーが出るメモ

(docker1.6.0, docker-machine0.2.0, boot2docker1.6.0, MacOSX10.9) $ docker-machine create --driver virtualbox dev INFO[0000] Creating SSH key... INFO[0000] No default boot2docker iso found locally, downloading the latest release... ERRO[000…

Docker と Golang と Goji で動かしてみたメモ

(macosx10.9, boot2docker1.6.0) インストール boot2docker http://boot2docker.io/ boot2docker 実行 $ boot2docker init $ boot2docker start $ $(boot2docker shellinit) ファイル Dockerfile hello.go Dockerfile FROM golang:1.4.2 RUN mkdir -p /go/sr…

docker-compose で Django と PostgreSQL で runserver 起動してみるメモ

ほぼ "Getting started with Compose and Django" そのまま (macosx10.9, boot2docker1.6.0, docker-compose1.2.0, django1.8) インストール boot2docker http://boot2docker.io/ docker-compose Docker Compose - Docker Documentation boot2docker 実行 $ …

docker-compose ps とか MacOSX ですると SSL error とかになるメモ

(macosx10.9, docker-compose 1.2.0) エラー $ docker-compose ps SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581) openssl のバージョンによるみたい https://github.com/docker/compose/issues/890 $ port installed…

Docker でカレントディレクトリをマウントして Flask の表示を変更してみるメモ

開発環境を整えるのに何かいい方法ないかなと思いつつなんとなく (macosx10.9, boot2docker1.6.0) boot2docker インストール http://boot2docker.io/ 略 コード docker-sample-mount-a-volum/ Dockerfile hello.py requirements.txt Dockerfile FROM debian:…

Flycheck で TypeScript のシンタックスチェックしたいメモ

(Emacs24.5, macosx10.9) FlyCheck のサポート言語 に TypeScript が含まれてなかった。 ググったらこんなのあった yosisa/flycheck-typescriptgithub.com 追記 2015-05-10 前述リンクそのままだと他のmodeで動かなくなるので修正してみた。 (flycheck-defin…