牌語備忘録 -pygo

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

牌語備忘録 -pygo

Python

Python と R でクロス集計の速度比較してみるメモ

(python==3.3.2, R==3.0.2) R より Python の方が速いらしいので計測して見る。 下記サイトのコードを拝借してやってみた データ分析ライブラリPandasの使い方 | Librabuch 下準備 data.csv blood_type,sex O,F O,F O,M A,M A,M B,F A,F AB,M O,F blue,M B,M…

IPython の %timeit で処理時間を計測してみるメモ

Announcements — IPython In [48]: def foo(): ....: arr = [] ....: for n in range(100): ....: arr.append(n/3) ....: return arr ....: In [49]: %timeit foo() 10000 loops, best of 3: 22.7 us per loop In [50]: %timeit [n/3 for n in range(100)] 1…

Javascript で Loto6 の数字をランダムに取得してみるメモ

Python での例 Javascript で書いてみる 別の書き方 追記 2022-08-08 Python での例 from random import sample print(sorted(sample(range(1, 44), 6))) # ex -> [14, 15, 31, 33, 40, 41] Javascript で書いてみる function range(start, end) { var numbe…

Javascript で python の range() みたいのを書いてみるメモ

function range(start, end) { var numbers = []; if (!end) { end = start; start = 0; } for (var i = start; i < end; i++) { numbers.push(i); } return numbers; } console.log(range(5, 18)); //-> [ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 ]…

Javascript で Python の random.sample みたいなのを書いてみるメモ

var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43]; var result_numbers; // function random_sample(population, k)…

Emacs で python のコードを flake8 でチェックするメモ

(macosx==10.8, python==2.7, emacs==24.3, flake8==2.1.0) http://flake8.readthedocs.org/en/latest/ MacPorts でインストールしている場合 $ sudo port install py27-pip $ sudo pip-2.7 install flake8 Emacs M-x package-list-pakages インストール: fl…

Python SimpleHTTPServer みたいなのを PHP でやる場合のメモ

(python2.7, php5.5) Python python -m SimpleHTTPServer 8080 PHP php -S 127.0.0.1:8080 memo Python SimpleHTTPServer with PHP - Stack Overflow

さらっと AngularJS1.2.0 でクライアントサイド、Python3 と Django1.6 で api サーバ を試してみるメモ

(Python==3.3, Django==1.6, djangorestframework==2.3.8, angular1.2.0, generator-angular0.6.0-rc.1) Django で apiサーバ作成 virtualenv mkvirtualenv booklist_sample --python /opt/local/bin/python3.3 インストール $ pip install django $ pip ins…

Python でデザパタ -- アダプタ/Adapter

(Python2.7) Adapter 元ネタ アダプタ Ruby 2.0.0 デザインパターン速攻習得[Adapter][Design Pattern] - 酒と泪とRubyとRailsと デザインパターン-Adapter CapmNetwork Adapter.py #!/usr/bin/env python # *-# -*- coding: utf-8 -*- class Adaptee(object…

Python と Java と ダックタイピングとインタフェースのメモ

『第127回 Ruby vs Java ダックタイピングとインタフェースで見る多態性』を読んで Java のインターフェースが何で必要なのか何となく理解できた気がするのでPythonで書いてみる。 Python でダックタイピング ducktyping.py class Human: def touch(self, so…

Django + Bootstrap3 でゲストブックアプリを作ってみるメモ

(python==2.7.5, django==1.5.5, twitter_bootstrap==3.0.0) github にコードあげてみた https://github.com/CortYuming/django_guestbook_sample メモ クラスベース汎用ビューの ListView と CreateView を混ぜてささっと作ろうとしたが、うまくいかず。 結…

Python でデザパタ -- シングルトン/Singleton

(Python2.7) Singleton pattern 元ネタ シングルトン Ruby 2.0.0 デザインパターン速攻習得[Singleton][Design Pattern] - 酒と泪とRubyとRailsと singleton_module.py class Singleton(object): def __init__(self): self.counter = 0 get_singleton = Sing…

Python でデザパタ -- ファクトリメソッド/Factory Method

(Python2.7) Factory Method 元ネタ ファクトリメソッド Ruby 2.0.0 デザインパターン速攻習得[Factory Method] - 酒と泪とRubyとRailsと InstrumentFactory class Saxophone(object): def __init__(self, name): self.name = name def play(self): return "…

様々なプログラミング言語で再帰の階乗を書いてみるメモ

変更 階乗 - Wikipedia Haskell fact :: Int -> Int fact 0 = 1 fact n = n * fact (n - 1) main :: IO () main = do print (fact 10) -- > 3628800 Python def fact(n): if n == 0: return 1 return n * fact(n - 1) print(fact(10)) #-> 3628800 Ruby def …

Virtualenv で使用する Python のバージョンを指定するメモ

(MacOSX10.8, MacPorts) mkvirtualenv tddbcpy3 --python /opt/local/bin/python3.3

『TDDBC 仙台 the 3rd』に参加してきましたメモ

追記2013-10-07 若干リファクタリングしてみた https://github.com/CortYuming/tddbc-sendai-the-3rd オープニング 2013/10/12 (土) 主催者の方ルパン三世のコスプレ。スバラシスw 基調講演 和田卓人さん id:t-wada いい声でウラヤマシスw お話を聞いたらTDD…

Python で交差・積集合と差集合のメモ

(python2.7)パーフェクトPython に載ってた。 リスト >>> a = [1,2,3,4] >>> b = [3,4,5,6] >>> set(a).intersection(set(b)) set([3, 4]) >>> set(a).difference(set(b)) set([1, 2]) >>> set(a).symmetric_difference(set(b)) set([1, 2, 5, 6]) 追記 >>> …

Django で簡単に戻るボタンのメモ

(django==1.5.4, python==2.7.3) <input type="button" value="Back" onClick="javascript:history.go(-1);"> もしくは <button onClick="javascript:history.go(-1);">Back</button> こんな感じかな参考サイト python - Django templates: create a "back" link? - Stack Overflow

yasnippet で Python の自作のスニペットを展開したらインデントが崩れる場合の対策メモ

問題 こんな感じのスニペットを作成 # name: hoge # -- class ${1:classname}DetailView(DetailView): model = $1 class $1ListView(ListView): model = $1 context_object_name = 'object_list' 展開するとインデントずれる 自動でインデントされてしまう c…

django-registration でユーザ認証のメモ

(django==1.5.4, python==2.7)ユーザ登録するとメール来て、その本文にあるリンクに飛ぶとログインできるようになるやつ Rails の Devise 的な感じ https://bitbucket.org/ubernostrum/django-registration インストール pip install django-registration 設…

Python で外部モジュールなどを使わずに翌月末日などを取ってみるメモ

(python==2.7)arrow とか dateutil とか便利だけどあえて使わずにやってみる。 何となくメソッドチェーンっぽくやってみる 翌々月以降や前々月以前、月初と月末を取れるようにしてみる month_date_utility.py #!/usr/bin/env python # *-# -*- coding: utf-8…

Django で開発時にメール送信の確認するメモ

(django==1.5, python==2.7) settings.py EMAIL_USE_TLS = False EMAIL_HOST = 'localhost' EMAIL_PORT = 1025 デバッグ用メールサーバ起動 $ python -m smtpd -n -c DebuggingServer localhost:1025 送信確認 shellからメール送信してみる $ python manage.…

PyCon APAC 2013 に行ってきましたメモ

PyCon APAC 2013.9.13-16 PyCon APAC 2013 - PyCon APAC 2013 09-13 チュートリアルB 実践で学ぶDjangoフレームワーク 〜ECサイトを作ってみよう〜 PyCon APAC 2013 チュートリアル - connpass 内容が盛りだくさんで一日で終わるかなこれと思いましたしたが…

最近 Python で時間を扱うモジュールは『arrow』がブームらしいメモ

(python==2.7, arrow==0.3.5) crsmithdev/arrow · GitHub Arrow: better dates and times for Python — Arrow 0.4.4 documentation Arrow - better date & time manipulation for Python : Python dateutilあるけど、arrowもいいらしい。 こっちの方がモダン…

Django で PDFを作成するメモ

(Django1.5, Python2.7) reportlab を利用する ReportLab - Content to PDF Solutions pip install reportlab Django で動作確認用サンプルアプリを作成 プロジェクト作成している前提で ./manage.py startapp reports reports/urls.py from django.conf.url…

Djangoでネストしたurls.pyとredirectのreverseでの名前付き URL パターンの呼び方のメモ

(Django1.5, Python2.7) apps/urls.py from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns( '', url(r'^admin/', include(admin.site.urls)), url(r'^contact/', include(…

Djangoのクラスベース汎用ビューでペジネータのメモ

追記2013-09-07: get_queryset(Django1.5, Python2.7)ページネイト, ページネイション, ページネータ, paginate, pagination, paginator のメモ 下準備 プロジェクト作成してDBとか設定 適当にアプリ作成 $ ./manage.py startapp cars cars app cars/models.…

Python の標準ライブラリでちょこっと暗号化のメモ

(Pyhton2.7) >>> from hashlib import md5 >>> md5('hoge').hexdigest() 'ea703e7aa1efda0064eaa507d9e8ab7e' >>> md5('777').hexdigest() 'f1c1592588411002af340cbaedd6fc33' md5, sha, hashlib - スコトプリゴニエフスク通信 hashlib – 暗号ハッシュとメ…

Django で ImageField の upload_to に user.id を入れたい場合のメモ

(Django1.5, Pyhton2.7) models.py import os from django.db import models from django.contrib.auth.models import User def image_file_name(instance, filename): return os.path.join('images', str(instance.user.id), filename) class UserProfile(m…

Django で ImageField で画像を更新する時に変更前の画像を削除する場合のメモ

(Django1.5, Pyhton2.7)修正:2013-09-01 models.py def avatar_file_name(instance, filename): return os.path.join('avatar', str(instance.user.id), 'original', filename) class Profile(models.Model): user = models.OneToOneField(User) avatar = m…