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

牌語備忘録 -pygo

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

牌語備忘録 -pygo

Python のクラスを継承した時にどちらのメッソドが上書きされるのかメモ

python2.7 # coding=utf-8 class Base: class_name = 'base' def method(self): print "Base!" print self.class_name class BaseB: class_name = 'base_b' def method(self): print "BaseB!!!!" print self.class_name class Hoge(Base, BaseB): class_name…

ディレクトリの容量を表示するコマンドのメモ

コマンド忘れるのでメモ $ du -sh ~/.emacs.d 44M /Users/cortyuming/.emacs.d 参考 Linuxコマンド集 - 【 du 】 ディレクトリ内のファイル容量を表示する:ITpro

git commit時にPythonのFlake8でコードチェックするメモ

バージョン変わってやり方も変わってたので一応メモ $ pip install flake8 $ flake8 --version 3.2.1 # プロジェクトのルートで以下コマンド $flake8 --install-hook git ファイルが作成される .git/hooks/pre-commit #!/usr/local/opt/python/bin/python2.7…

2016年を振り返る

技術的なことなど Python 今年もv2.7.xしか使ってない 仕事でv3.x系使う日は来るのだろうか? Javascript flumpt でそこそこの規模のwebサイト作ったけど、次は redux 使うことになりそうな予感。 react の flux ライブラリで決定的に良いやつって出てこなか…

すごE本を読んでみたメモ -- 第4章

書籍『すごいErlangゆかいに学ぼう!/Learn You Some Erlang for great good! 』まとめ すごE本を読んでみたメモ目次 第4章 型(あるいはそれを欠いています) 4.1 動的で強い型付け Erlang は強い型付き言語 4.2 型変換 1> erlang:list_to_integer("54").…

flake8 の設定を変更するメモ

(python2.7.13, flake8v3.2.1) ~/.flake8 にファイルを作って設定を書く [flake8] max-line-length = 120 参考 Configuring Flake8 — flake8 3.3.0.dev0 documentation

網戸を自分で取り替えてみたメモ

Etc

必要なもの 材料 ダイオ化成 防虫網 クラウンネット 24メッシュ 91cm×6m グレイ ダイオ化成 網戸用 網押えゴム 4.5mm×7m ブロンズ 太さ 4.5mm 7m * 2 足りんかった。余裕をもって買っとけばよかった。 若干緩い気がする。ホームセンターによってはお試し用の…

すごE本を読んでみたメモ -- 第3章

書籍『すごいErlangゆかいに学ぼう!/Learn You Some Erlang for great good! 』まとめ すごE本を読んでみたメモ目次 第3章 関数の構文 3.1 パターンマッチ function(Args) if X then 〔式〕 else if Y then 〔式〕 else〔式〕 ではなく function(X) -> 〔…

すごE本を読んでみたメモ -- 第2章

書籍『すごいErlangゆかいに学ぼう!/Learn You Some Erlang for great good! 』まとめ すごE本を読んでみたメモ目次 第2章 モジュール 2.1 モジュールとは モジュールは 1 つの名前で 1 つのファイルにまとめられた関数群 モジュール内に定義された…

すごE本を読んでみたメモ -- 第1章

書籍『すごいErlangゆかいに学ぼう!/Learn You Some Erlang for great good! 』まとめ すごE本を読んでみたメモ目次 第1章 始めましょう 1.1 Erlang シェルを使ってみる $ erl ヘルプの出し方1 help(). ヘルプの出し方2 ^G で終了して h シェルがフリース…

Python で Loto6 の当選確率の計算をしてみるメモ

(pytho2.7) In [9]: import itertools In [10]: len([i for i in itertools.combinations(range(43), 6)]) Out[10]: 6096454 # 1等 1/6096454 In [19]: len([i for i in itertools.combinations(range(6), 5)]) * len([i for i in itertools.combinations(ra…

Django の確認フォームで localflavor を使った都道府県を templates で表示させるメモ

(django1.8, python2.7) templetes で {{ form.prefecture.value }} と書くと 東京 とかではなく tokyo とか表示される問題。 form.get_fieldname_display とか色々やって表示されなかったので この記事 を参考に templatetags 使ってやってみた (参考サイ…

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

<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>

Django templetes で入れ子になって複数のview から使われてる場合にどこの view から使われているか確認するメモ

{{ request.resolver_match.view_name }} こんなのもある request.resolver_match.url_name 参考 url - How to get the current urlname using Django? - Stack Overflow

.ssh/known_hosts のホストを削除するメモ

SSH

$ ssh-keygen --help ssh-keygen: illegal option -- - usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1] [-N new_passphrase] [-C comment] [-f output_keyfile] ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f key…

Django Templates で文字列の一部ををマスクするメモ

カード番号のマスクとか Templates 内で完結させたい場合 {% spaceless %}{% for n in form.creditcard.data %}{% if forloop.counter < 5 or 12 < forloop.counter %}{{ n }}{% else %}*{% endif %}{% endfor %}{% endspaceless % form.creditcard.data の…

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,…

vagrant の不要な仮想マシンを削除するメモ

忘れそうなのでメモ この記事参照 dqn.sakusakutto.jp 消したはずの仮想マシンが vagrant global-status で表示されてしまう場合、--pruneオプションをつければゴミ掃除してくれます。 $ vagrant global-status --prune HD容量が10Gくらい空いた。助かりまし…

.screenrc のメモ

Etc

escape ^Zz startup_message off defencoding utf-8 encoding utf-8 utf-8 setenv LANG ja_JP.UTF-8 caption always "%{= wb} %-w%{=bu dr}%n %t%{-}%+w" bind ^r source $HOME/.screenrc 起動(セッションが存在したら自動接続) $ screen -xRR 参考 GNU Sc…

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":…

Emacs の whitespace-mode でタブと行末スペースと全角スペースに色付けするメモ

今まで font-lock で色つけたけど whitespace-mode に乗り換えた。 (progn (require 'whitespace) (setq whitespace-style '( face ; faceで可視化 trailing ; 行末 tabs ; タブ spaces ; スペース space-mark ; 表示のマッピング tab-mark )) (setq whitesp…

Python で Ruby の each_slice みたいなやつメモ

(python2.7) def each_slice(arr, n): return [arr[i:i + n] for i in range(0, len(arr), n)] print(each_slice([1, 2, 3, 4, 5], 2)) print(each_slice([1, 2, 3, 4, 5], 3)) print(each_slice([1, 2, 3, 4, 5], 4)) # => [[1, 2], [3, 4], [5]] # => [[1,…

homebrew でインストールした MySQL の自動起動を start とか stop するメモ

$ brew services start mysql $ brew services stop mysql ちなみに自動起動の一覧表示 $ brew services list コマンド $ brew services --help してみた cleanup Get rid of stale services and unused plists list List all services managed by `brew ser…

django-ckeditor の画像アップロードでハマったメモ

(django1.8, python2.7) 手順 ここ に書いてあるけど... Add ckeditor_uploader to your INSTALLED_APPS setting Add CKEDITOR_UPLOAD_PATH = "uploads/" setting Add (r'^ckeditor/', include('ckeditor_uploader.urls')), project's urls.py 略 Install pi…

Golangのコマンドラインツールパッケージ urfave/cli を使って御神籤を作ってみるメモ

(glang1.6) Install $ go get github.com/urfave/cli code package main import ( "fmt" "math/rand" "os" "time" "github.com/urfave/cli" ) func suffle(arr []string) { rand.Seed(time.Now().UnixNano()) n := len(arr) for i := n - 1; i > 0; i-- { j …

Django で Modelからアプリ名とモデル名を取りたいメモ

例 appname/models.py >>> HogeModel._meta.app_label 'appname' >>> HogeModel._meta.object_name 'HogeModel' # or >>> HogeModel.__name__ 'HogeModel' 参考 http://stackoverflow.com/questions/3599524/get-class-name-of-django-model http://stackove…

Elixir を Emacs で書くのに補完・構文チェックなど環境を整えるメモ

install 下記はインストール済みの前提 auto-complete flycheck elixir書くのに使うライブラリ elixir-mode alchemist 補完 REPL Phoenix の開発もサポートしてくれるらしい flycheck-elixir ac-alchemist auto-complete-mode で補完できるようにする (compa…

Python で Zip ファイルを解凍するメモ

(python2.7.11) from zipfile import ZipFile import os dir_name = 'fuga' os.mkdir(dir_name) with ZipFile('hoge.zip', 'r') as z: z.extractall(dir_name) extractall() でディレクトリを指定しないとカレントディレクトリにディレクトリを作らずファイ…

Django の templates では無い場所で contrib.humanize の intcomma とか使いたい場合のメモ

templates の中だと <p>{{ 999999|intcomma }}<\p> とかで 999,999 と表示できるけど templates 以外で使いたい >>> from django.contrib.humanize.templatetags.humanize import intcomma >>> intcomma(100000000) u'100,000,000' ふつうにそのままな感じでい</p>…

Overtone のメモ

なんかよくわからんが Overtone すげーと思ったのでリンクメモ http://overtone.github.io/ https://vimeo.com/22798433 http://yoppa.org/blog/6232.html http://qiita.com/nobkz/items/aea2c70a5fb03003f375

Django で Rails の flash みたいなやつメモ

Rails Rails のユーザに簡易メッセージを表示するやつ。Controller で値を入れて View で表示。 ActionDispatch::Flash Django Django の場合は messages framework settings.py MESSAGE_STORAGE = 'django.contrib.messages.storage.cookie.CookieStorage' …

Python でファイル作成する時に指定したディレクトリが無ければ作るメモ

(python2.7.11) ディレクトリが無いとこで open して write するとエラーになるので mkdir する # coding=utf-8 import os def write(filename, text): file_path = os.path.dirname(filename) if not os.path.exists(file_path): os.makedirs(file_path) wi…

Python のメソッドを文字列で呼び出すメモ

(python2.7.11) # coding=utf-8 class Hoge: @property def fuga(self): return 'fugafuga' h = Hoge() print h.fuga print getattr(h, 'fuga') # print getattr(h, 'fu') # AttributeError print getattr(h, 'fu', 'Nothing!') # -> fugafuga # -> fugafuga…

postfix のログ /var/log/mail.log を削除したらログが書き込まれなくなった場合のメモ

ubuntu 14.04 service rsyslog restart

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…

Python3.5 の async を使って非同期でwebサイトにアクセスしてステータスコードを取得するメモ

(python3.5.1) Web DB Press Vol.82 の Go特集でやってたやつを python で書いてみる hoge.py import asyncio from urllib import request urls = [ 'http://example.com', 'http://example.net', 'http://example.org', ] async def display_status(url): r…

Python でとある日付から今日まで何日か取得するメモ

(python2.7.11) In [10]: import datetime In [11]: date = datetime.datetime.strptime('2016-01-01', '%Y-%m-%d') In [12]: date.today() Out[12]: datetime.datetime(2016, 3, 8, 16, 7, 57, 767309) In [13]: d = date.today() - date In [14]: d.days O…

Mac の Google chrome で 403 Forbidden nginx on developer.apple.com でアクセスできなくなる件のメモ

(MacOSX 10.10.5) 症状 developer.apple.com にアクセスすると 403 ちなみに久しくサイトにアクセスしてなかった。1年以上前かもしれない... Mac の Google Chrome でアクセスできないが、他のブラウザ(Firefox)でアクセスしたら表示でる。 アクセスできる…

Emacs の Go の環境を整えるメモ

(Emacs24.5) インストール go-mode M-x package-install go-mode gocode + go-autocomplete で補完 https://github.com/nsf/gocode $ go get -u github.com/nsf/gocode M-x package go-autocomplete godif でコードジャンプ https://github.com/buaazp/Godef…

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…