2014-04-01から1ヶ月間の記事一覧

C言語でCodeEvalのMultiple Of A Number

CodeEval

C言語でCodeEvalのReverse Words

CodeEval

C言語でCodeEvalの Sum Of Primes

珍しく熱(38度)がでた。

C言語でCodeEvalのPrime Palindrome

CodeEval

C言語でCodeEvalのFIZZ BUZZ

c言語の練習CodeEval

ansibleでユーザー作成するときのパスワード作成

ドキュメントによると以下の通り、passwodはハッシュ化したものを指定しろとある ansible all -m user -a "name=foo password=<crypted password here>" ハッシュ化したパスワードの作り方はexamplesのuser_commads.ymlにコメントとして書いてある https://github.com/ansible/ansib</crypted>…

Djangoのテンプレートで、キーに変数を指定して辞書にアクセス

context_dataに辞書が渡されていて、テンプレートでアクセスする例views.py from django.views.generic import TemplateView class HomeView(TemplateView): template_name = 'sample/home.html' def get_context_data(self, **kwargs): ctx = super(HomeVie…

djangoのListViewで検索結果をページングするときのあれこれ

適当に作ったサンプル from django.views.generic import ListView from items.forms import ItemSearchForm from items.models import Item class ItemListView(ListView): model = Item paginate_by = 10 def __init__(self, **kwargs): super(ItemListVie…

DjangoでFormのFieldの属性を動的に変更するとか

ModelChoiceFieldの選択肢を動的に変えたいとき、__init__でself.fieldsを参照して入れ替えることができる class SelectForm(forms.Form): item = forms.ModelChoiceField(queryset=Item.objects.none()) def __init__(self, category, *args, **kwargs): su…

djangoのmethod_decorator

今日はdjangoのmethod_decoratorを使う機会があったのでソースを読んでいた。 Django Utils | Django documentation | Django djangoのClass Based Viewにlogin_requiredやcsrf_protectなどの関数デコレータをかけるために用意しているようだ。 Introduction…

GolangでCodeEvalのDATA RECOVERY

CodeEval関連 : python2でCodeEvalのDATA RECOVERY - brainstorm

python2でCodeEvalのDATA RECOVERY

CodeEval

DjangoのFormとテンプレート描画

web開発案件では、アプリが出力する画面のイメージが顧客からhtmlで提供されることがある。一方、djangoのFormライブラリはform部品のhtmlを出力することができるが、顧客提供のhtmlと一致しないケースはよくあると思う。 こんなふうにかければ楽なんだけど…

GolangでCodeEvalのWorking Experience

CodeEval関連 : Python2でCodeEvalのWorking Experience - brainstorm

Python2でCodeEvalのWorking Experience

CodeEval

Martiniでレスポンスをgzip compressする

martini-contribにgzipも用意されている。martini-contrib ただ、Accept-Encodingにgzipが含まれていれば無条件でgzipするので、小さいコンテンツを返すときは余計にサイズが大きくなってしまう。 djangoを見てみたら、django.middleware.gzip.GZipMiddlewar…

Golangで1秒ごとのメソッドの呼び出し回数を制限する

関連 : Python2で1秒ごとのメソッド呼び出し回数を制限するデコレータ - brainstorm goだとtime.Tickで、指定した間隔でメッセージを受け取ることができるので、こんな形でできそう

Golangで型情報を調べる

reflect.TypeOfで package main import ( "fmt" "reflect" ) func main() { fmt.Println(reflect.TypeOf(1)) // int fmt.Println(reflect.TypeOf("")) // string fmt.Println(reflect.TypeOf([]string{})) // []string fmt.Println(reflect.TypeOf(true)) //…

Python2で1秒ごとのメソッド呼び出し回数を制限するデコレータ

Golangでmapからquerystringを生成する

キーでソートして、値はエスケープする package main import ( "fmt" "net/url" "sort" "strings" ) type SortedQuery struct { _map map[string]string keys []string } func (sq *SortedQuery) Len() int { return len(sq._map) } func (sq *SortedQuery) …

Python2とGolangでHMAC方式のハッシュ値を生成する

HMACでハッシュ値を生成してbase64エンコードしてurlエスケープする。 amazon product apiでsignatureとして使われる値。python2 import hmac import urllib from hashlib import sha256 from base64 import b64encode key = "key" data = "data" digest = h…

UTCをフォーマット(YYYY-MM-DDThh:mm:ssZ)

python time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) golangのフォーマット指定はちょっと変わってるgolang package main import ( "fmt" "time" ) func main() { now := time.Now().UTC() fmt.Println(now.Format("2006-01-02T15:04:05Z")) } time…

golangで2つの日付間の月数を取得する

関連:Python2で2つの日付間の月数を取得する - brainstormgoでも書いてみた。 Duration使ってもできそう package main import ( "fmt" "time" ) // get months between two dates. func MonthDiff(d1, d2 time.Time) int { if d2.After(d1) { d1, d2 = d2, …

Python2で2つの日付間の月数を取得する

def diff_month(d1, d2): """ get months between two dates. >>> from datetime import date >>> diff_month(date(2012, 12, 1), date(2013, 3, 1)) 3 """ if d1 > d2: d1, d2 = d2, d1 return (d2.year - d1.year)*12 + d2.month - d1.month datetime - Be…

Go言語でスライスをn個ずつに分割する

関連 : python2でリストをn個ずつのサブリストに分割する - brainstorm package main import "fmt" func Chunks(l []int, n int) chan []int { ch := make(chan []int) go func() { for i := 0; i < len(l); i += n { from_idx := i to_idx := i + n if to_i…

python2でリストをn個ずつのサブリストに分割する

codeevalのsudokuやったときに調べたのでメモ。 結局使わなかったけど。Python2でCodeEvalのSUDOKU - brainstorm # coding=utf-8 size = 4 digits = [1, 4, 2, 3, 2, 3, 1, 4, 4, 2, 3, 1, 3, 1, 4, 2] # リスト内包表記 print [digits[x:x + size] for x in…

Go言語でCodeEvalのSUDOKU

関連 : Python2でCodeEvalのSUDOKU - brainstorm

Python2でCodeEvalのSUDOKU

CodeEvalサイズと数列が渡される。サイズは4か9である。 4の場合は4*4=16、9の場合は9*9=81の数字がサイズに続けて渡される。渡された数字の並びが数独の答えとして成立しているかどうかをTrue or Falseで出力するinput 4;1,4,2,3,2,3,1,4,4,2,3,1,3,1,4,2 4…

django shellで実行されるsqlを表示する

QuerySetでちょっと複雑な条件を書いてるときとか、sqlがどうなってるのか確認したい場合がある。 そんなときはdjango-extensionsのshell_plusの--print-sqlオプションを使うと便利。 モデルもpreloadしてくれるのでいちいちimportしなくていい python manag…

Go言語でCodeEvalのSUM TO ZERO

関連 : Python2でCodeEvalのSUM TO ZERO - brainstorm CodeEval 各行にカンマ区切りで、いくつか数字が渡される。 4つずつの組み合わせを作成し、そのうち和が0になる組み合わせの数を出力する。input 2,3,1,0,-4,-1 0,-1,3,-2output 2 1