引越ししました

このはてだから別のはてだへ引越しをしました。新しいところは↓です。 http://d.hatena.ne.jp/cafistar/

現在の timestamp と microsecond をつなげた文字列が欲しい

これで何かをするわけではないが、必要になったので書いた。 import datetime import time def __get_timestr_by_now(): now = datetime.datetime.now() micro_str = str(now.microsecond).zfill(6) time_str = str(int(time.mktime(now.utctimetuple()))) r…

文字列比較

気になったので比較して結果を確認した。 # -*- encode: utf-8 -*- if u'0' < u'1': print '0 < 1' if u'1' < u'2': print '1 < 2' if u'2' < u'3': print '2 < 3' if u'3' < u'4': print '3 < 4' if u'4' < u'5': print '4 < 5' if u'5' < u'6': print '5 <…

同じ値を複数の変数に代入する

もしかして邪道なのかな。 st1 = 'a' st2 = 'b' st3 = st4 = st1 print st1 # => 'a' print id(st1) # => 26430944 print st2 # => 'b' print id(st2) # => 26431008 print st3 # => 'a' print id(st3) # => 26430944 print st4 # => 'a' print id(st4) # =>…

指定したdatetime値でのfilter

ユーザー一覧の表示などする時には fetch() を使っていた。しかしこれでは1000件の壁にぶち当たる。そこで datetime 値での filter を使用した。 こんなモデルがあったとする from google.appengine.ext import db class Member(db.Model): insert_datetime …

管理したくないファイルを拡張子で指定

git

「*.pyc」ファイルは管理しなくていいだろ、ということで。 リポジトリに「.gitignore」ファイルを作成 「.gitignore」ファイルへ以下のように記載*/**/*.pyc コミット > cd C:\sample > echo '' > .gitignore ## .gitignore ファイル編集 ## Git 起動 $ cd …

git add した時に出る改行コードのwarning対応

ファイル内の改行コードが「LF」の際に出たワーニングに対応したメモ $ git add . warning: LF will be replaced by CRLF in appl/views.pyなにやら Git が改行コードを CRLF へ変更しようとするらしい。 で、以下を実行 $ git config --global core.autoCRL…

「addする」「コミットする」について

とりあえず ## sampleリポジトリへ移動 $ pwd /c/repos/sample ## app/sample.txt を編集 ## ここではファイル内に「sample」という文字を記載した ## ステータスを見る $ git status # On branch master # Changed but not updated: # (use "git add <file>..." t</file>…

Windows機にGit入れて使うメモと勉強したことメモ

インストール まずダウンロード。コマンドライン版を入れる。 msysgit - Project Hosting on Google Codeここの「Download」から「msysGit-fullinstall-1.6.4-preview20090729.exe」をダウンロード&インストール。どうでもいいがインストール中はぼーっとし…

int と bool であはん 〜isinstance()の罠〜

これはびっくりした。なのでメモ。 i = 123 isinstance(i, int) # => True a = True isinstance(a, int) # => True b = False isinstance(b, int) # => True c = 1 isinstance(c, int) # => True d = 0 isinstance(d, int) # => True えぇー! i = 123 isins…

久々に携帯web画面作成した

久々にテキスト入力フォームの「初期入力モードをアルファベットで指定する」なんて書いた。対応したのは Docomo , Ezweb , Softbank(Yahoo? Disney?) の3キャリア向けのXHTML。というわけでフォーム部分の記録を残す。 # For Docomo <form method="post" action="/login/" guid=ON> アカウント<br /> <input type="text" name="account" value="" style="-wap-input-format:&quot;*&lt;ja:en&gt;&quot;" /></form>

Mercurialもろもろインストール(1)

入れる環境は WindowsVista。参考にしたのはここMercurialでバージョン管理Mercurial本体を取得Download - Mercurial「Binary packages」→「Windows版」→「Mercurial-1.4.1 installer」をダウンロード。 インストール先は「C」直下にした。つづく

文字列の比較で疑問(4)

西尾さんに質問したら丁寧に解説してくれた。Pythonで2つの文字列がa == bだけどもnot(a is b)であるようなケース質問するに当たって確認された事は、対話的環境を使用したかどうか。答えはyes。というわけで試してみた。 対話型インタプリタとの会話 d1 = '…

文字列の比較で疑問(3)

疑問点が変わったけどこのタイトルのままで。 d1 = 'aaa' d2 = 'aaa' id(d1) # => 27605792 id(d2) # => 27605792 ふむ。で、ここから疑問。 d1 = 'a a' d2 = 'a a' id(d1) # => 27605856 id(d2) # => 27606080 えっなんで?

文字列の比較で疑問(2)

d1 = 'string' d2 = d1 'yes' if d1 == d2 else 'no' # => 'yes' 'yes' if d1 is d2 else 'no' # => 'yes' おっ?何かが見えてきたような気がする。[追記]気のせいだった。うーむ。

文字列の比較で疑問(1)

d1 = 'string' d2 = 'string' 'yes' if d1 == d2 else 'no' # => 'yes' 'yes' if d1 is d2 else 'no' # => 'yes' ふむふむ d1 = 'str int' d2 = 'str int' 'yes' if d1 == d2 else 'no' # => 'yes' 'yes' if d1 is d2 else 'no' # => 'no' えっなんで?自分…

俺的アイドルマスター

女の子をアイドルとして成長させるゲームだと認識してます。しかしかわいい&歌うまいだけじゃやっていけないこのご時勢。何が必要か。そう、腕っ節です。というわけで、こんなアイドルマスターがあったら買うと思ったことをずらずらと。 基本的には女の子を…

文字列置換

知らなかった事を恥じたので書く。 a = 'strA' b = 'strB' c = 'strC' text = '1st : %s, 2nd : %s, 3rd : %s' print text % (a, b, c) #=> 1st : strA, 2nd : strB, 3rd : strC tpl = (a, b, c) text = '1st : %s' print text % tpl #=> 1st : strA, 2nd : …

データの有効期限をdatetime使ってチェックする

よくある、サービスに登録すると登録確認用URLが記載されたメールが送信されて、そのURLへアクセスすると登録完了となるようなもの。で、有効期限を定める部分と有効期間内かどうかをチェックする部分。 from google.appengine.ext import db import datetim…

NHK教育の数学番組でやってたカードマジックの答えだけ返すコード書いた

秋山仁さんが好きだ(`・ω・´)それはおいておいて。答えだけ求めるコード書いた。 def nhalf(dlist, st=0): rlist = dlist[st::2] if len(rlist) == 1 : print rlist[0] else : if dlist[-1] == rlist[-1] : last = 1 else : last = 0 nhalf(rlist, last) def…

Djangoのテンプレートエンジン使ってhtmlファイル内でif記述した時に詰まった事

例えばこう from django.http import HttpResponse from django.template import Context from django.template import loader def index(request): data = [ {'name' : 'David', 'age' : '15', 'alive' : 'true'}, {'namd' : 'Beyonetta', 'age' : '2025', …

NetBeansでファイルを開くときにUTF-8で開きたい

ここ→NetBeans IDE 6.7.1 ダウンロードから「JDK と NetBeans IDE の Java SE バンドル」で「Java SE Development Kit 6u17 および NetBeans IDE 6.7.1 のダウンロード」でインストールした。インストール後、「ツール」→「プラグイン」で「PHP」と「Python…

画像を指定のサイズに切り取る(よきにはからう感じで)

image_key : 画像を指定w : 欲しい横幅h : 欲しい縦幅models.py from django.utils.translation import ugettext_lazy as _ from google.appengine.ext import db class Photo(db.Model): image_binary = db.BlobProperty() views.py from django.http impor…

データストア、put() とかした後のメモ

gae

from google.appengine.ext import db class Sksk(db.Model): name = db.StringProperty() insert_date = db.DateTimeProperty() def do_add(self, name=None): if name is None : return False # validate 略 self.name = name result = self.put() print t…

データストア、BooleanProperty、ソート

gae

BooleanProperty内のデータでソートした結果をメモ。 from google.appengine.ext import db class Sksk: flag = db.BooleanProperty() for val in Sksk.all(): print str(val.flag) # 1 flag => None(type:None) # 2 flag => True(type:bool) # 3 flag => Fa…

8+6=14が苦手

一番古い記憶にあるのは小学2年生の算数テスト。「8+6=」という問いに対してすぐには答えが出なかった。必死に頭の中で「8と6だから10は確定。余った3と1を足して4だから…14だ!」という思考をしたのを今でも覚えてる。 今では「8足す6は14」という定義とし…

データストア、ListProperty、ソート

gae

ListPropertyで持っている値でソートした結果をメモしておく。テストに使用したクラス「Sksk(サクサク)」 from google.appengine.ext import db class Sksk(db.Model): stlist = db.StringListProperty() # テストデータ # Sksk(key_id=1L, stlist=[]) # S…

数学に感動する頭をつくる

この本を読んだ。Amazon.co.jp: 数学に感動する頭をつくる: 栗田 哲也: 本 冒頭で心を捉まれた 音感ってあるじゃない。それと似た感じで数感ってのがあると思うんだよね、という始まり。とてもキャッチーだ。 音感(おんかん)とは、音に対する人間の感覚。…

データストアへ日時を保存した時に気付いた事メモ

gae

「Sksk(さくさく)」というクラスが日時型のフィールドを持っており「2009/10/26 00:00:00」から「2009/10/26 00:03:00」まで1秒毎の日時が格納されているとする。(データ数は181) from google.appengine.ext import db import datetime class Sksk(db.Mo…

GAEのクエリクラスでのfetch()

いわゆる limit, offset の指定でちょっと詰まった→とりあえず解決した、のでメモ。 Query クラス - Google App Engine - Google Code テストデータが100件入っているとする。うち、50件は「sale_price = 100」にマッチする、とする。 class Song(db.Model):…