タグ

2010年11月25日のブックマーク (20件)

  • get/setFlashのコードを追ってみる|株式会社 フラッツ

    那須です。 Symfonyには一時的にセッションでデータを保持するためにフラッシュパラメーターという機能があります。 セッションを使う場合に常に意識しなければ問題として、格納したデータをどのタイミングで消すかということがあります。ですが、フラッシュパラメータは、データを格納した次のリクエストの処理が完了後、セッションデータを自動的に削除してくれます。 私は、削除処理を意識しなくてよいので頻繁にフラッシュパラメーターを使うのですが、どうやってデータを削除しているのかが気になり、Symfonyのコードを調べてみました。 フラッシュパラメータの利用方法 まず、簡単にフラッシュパラメーターの使い方を説明します。といっても至って単純で、Actions内で $this->setFlash(’key’, ‘foo’); でセットし $this->getFlash(’key’); で取り出すだけです。

    yuya_presto
    yuya_presto 2010/11/25
    「フラッシュパラメータは、データを格納した次のリクエストの処理が完了後、セッションデータを自動的に削除してくれます。」
  • TeX/LaTeX入門 - Wikibooks

    はじめに[編集] TeXとはドナルド・クヌースが開発した電子組版ソフトウェアである。Microsoft Windows、OS X、UNIXなど様々なプラットフォームで利用可能であり、商業印刷並みの品質で印刷を行うことができる。LaTeXはレスリー・ランポートがTeXの上にマクロパッケージを組み込んで構築した文書処理システム(テキストベースの組版処理システム)である。ごく基的な機能を有しているTeXと組み合わせて用いることで、より手軽に組版を行うことができる。 長所と短所[編集] 長所[編集] 組版の元となるデータ(ソースファイル)はテキストファイルであり、特定の環境やアプリケーションに依存しない 印刷物に勝るとも劣らない、高精度な出力 章や節などの論理構造で記述することができる ページ番号や章番号などを自動的に振り、目次や索引なども作成可能 数式の優れた印刷 短所[編集] ソースファイル

    yuya_presto
    yuya_presto 2010/11/25
    「notitlepage」で表紙1ページ確保しないようにでき、1ページ目の先頭にタイトルを挿入できる。jarticleのオプション多数。
  • Google App Engine について - Google App Engine - Google Code

    Google App Engine について Google App Engine を使用すると、Google のインフラ上で自作の Web アプリケーションを実行できます。App Engine アプリケーションは、構築や維持管理も簡単です。またトラフィックやデータ ストレージの増大に合わせて容易に拡張できます。App Engine では、サーバーを維持管理するå

  • lxml

    Introduction lxml is a Pythonic binding for the libxml2 and libxslt libraries. It is unique in that it combines the speed and feature completeness of these libraries with the simplicity of a native Python API, mostly compatible but superior to the well-known ElementTree API. See the introduction for more information about background and goals. Some common questions are answered in the FAQ. This pa

  • Python(lxml)でhtmlを処理する まとめ - Gentleちゃれんじ Tips

    Python(lxml)でhtmlを処理する まとめ Pythonにはxml/htmlを取り扱うためのlxmlという便利なサードパーティモジュールがあります。 ここでは、lxmlを使ってhtmlを処理する際に、使えるメソッドなどを簡単にまとめています。 (例がHTML5を使ったものなので気をつけてください。) 初歩的なものを細かくまとめたものは、 「lxmlでhtmlを処理する」にあります。 また、 lxml にある全てのメソッドを紹介しているわけではありませんのでご注意を。 1. htmlの読み込み >>> dom = lxml.html.fromstring(html) >>> dom <Element html at 1967ed8> >>> dom2 = lxml.html.parse('python_tips_003.html') >>> dom2 <lxml.etree._El

  • urllib.request — Extensible library for opening URLs

    urllib.request — Extensible library for opening URLs¶ Source code: Lib/urllib/request.py The urllib.request module defines functions and classes which help in opening URLs (mostly HTTP) in a complex world — basic and digest authentication, redirections, cookies and more. Warning On macOS it is unsafe to use this module in programs using os.fork() because the getproxies() implementation for macOS u

    urllib.request — Extensible library for opening URLs
  • Rolling with Ruby on Rails

  • 任意のウィンドウでリンク先を開くには?

  • Python でハッシュに相当するもの - マップ型の「辞書」に対する操作

    1. マップ型を実装した辞書 Python において、ハッシュに相当するものはマップ型と呼ばれる。 2.3.8 マップ型 によると、 現在のところは標準のマップ型、dictionary だけです。 インターフェスがマップ型で、その実装が辞書。 ただし、Python ではインターフェイスと言わずに、プロトコルと呼ぶ。 cf. 6.4 マップ型プロトコル (mapping protocol) 2.3.8 マップ型に定義されているメソッドを適当に分類しておく。 最初にマップ型のオブジェクトを作成する。 # 辞書: key は変更不能でなければならない。 persons = {"Tarou" : 20, "Hanako" : 15, "Jiro" : 30} 2. 基的な操作 # 要素の値をキーで取得 print persons['Hanako'] # 要素の追加 persons['Saburo

  • 14.2 time -- 時刻データへのアクセスと変換

    このモジュールでは、時刻に関するさまざまな関数を提供します。ほとんどの 関数が利用可能ですが、全ての関数が全てのプラットフォームで利用可能な わけではありません。 このモジュールで定義されているほとんどの関数は、プラットフォーム上の 同名の C ライブラリ関数を呼び出します。これらの関数に対する意味付け はプラットフォーム間で異なるため、プラットフォーム提供のドキュメント を読んでおくと便利でしょう。 まずいくつかの用語の説明と慣習について整理します。 エポック(epoch) は、 時刻の計測がはじまった時点のことです。その年の 1 月 1 日の午前 0 時に ``エポックからの経過時間'' が 0 になるように設定されます。Unixでは エポックは 1970 年です。エポックがどうなっているかを知るには、 gmtime(0) の値を見るとよいでしょう。 このモジュールの中の関数は、エポッ

    yuya_presto
    yuya_presto 2010/11/25
    「Unixでは エポックは 1970 年です。」逆に1970以外の「エポック」を持ったシステムって存在するのん・w・;;?
  • Pythonの楽しいところ1 - e-learningやってる社長のブログ

    2007/04/03 23:48 | 6 Comments 短い期間ではあるけど、Pythonをどしどし書いている。で、やっぱりPython(というかLL全般)は楽しいなあと思うわけなのですが、どのあたりが楽しいのかをちょっと考えてみる。 まず変数をまとめて扱うことができるので、無駄に行数をとらないでいいのがありがたい。たとえば、a,b,cという変数に1,2,"ども"という値を入れたいのなら、次のように書ける。 特にWeb系のアプリだとパラメータがたくさんあるので、こういう書式が使えるのはありがたい。たとえばJavaサーブレットで、「request.getParameter~」を何行も書いていると、自分がバカになったみたいな気分になってくるわけですよ。 さらに、同じような書式を関数の戻り値に使うこともできるので、ひとつの関数で複数の戻り値を返す、なんていうこともできる。通常複数の戻り値を返

    yuya_presto
    yuya_presto 2010/11/25
    コンマで区切って代入。代入をさっくりできるのは、このあたりの言語の便利なところ。returnで値が2つとか返せるのもいいのかな。
  • オブジェクトが同一かどうかの比較する(== 演算子と is 演算子の違い)

    数値や文字列、リストやタプルなどのオブジェクトが同じかどうかを調べるには is 演算子を使用します。ここでは is 演算子を使ってオブジェクトが同じかどうか調べる方法と、オブジェクトの値が同じかどうかを調べる == 演算子との違いを解説します。

    オブジェクトが同一かどうかの比較する(== 演算子と is 演算子の違い)
  • Microsoftコードページ932 - Wikipedia

    Template‐ノート:特殊文字に、このページに関する質問があります。(2023年1月) 質問の要約:Template:特殊文字で「Microsoftコードページ932(はしご高)」と書かれている場合があること この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2011年11月) 出典は脚注などを用いて記述と関連付けてください。(2011年11月) 出典検索?: "Microsoftコードページ932" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL MS932とその他の日語に関連した文字集合との関係オイラー図 Microsoft コードページ 932(マイクロソフト コードページ 932

    Microsoftコードページ932 - Wikipedia
    yuya_presto
    yuya_presto 2010/11/25
    実はWindows-31J=CP932。
  • Python でUTF-8, shift_jis, euc_jpなど日本語を使う方法

    [Home] [Setting up Mac OS X] [Python]: [ファイルを読む] 日語を使う Pythonで日語を使う Python 2.4以降では、標準で日語を扱うことができます。 PythonのソースコードをUTF-8で書くには 日語を扱うPythonのスクリプトの中では、UTF-8の文字コードを使うのが 楽です。 Mac OS Xのターミナルで日語を扱う場合は、 ここの「4. Terminalの設定を変える」の 指示に従ってください。 以下、ソースコードの簡単な例を示します。 #!/usr/bin/env python # -*- coding: utf-8 -*- import re jtext = u'子が隠れんぼをしています' print 'jtext has', len(jtext), 'Japanese characters.' if re.se

  • Gentleちゃれんじ Tips -lxmlでhtmlを処理する-

    lxmlでhtmlを処理する Pythonhtmlを取り扱う際は、「htmllib(標準モジュール)」や 「Beautiful Soup」 といったモジュールがあります。 しかし、高速で柔軟な操作がしたい場合は、 「lxml」がいいということなので、 今回はlxmlでhtmlを操作する方法をメモしたいと思います。 lxmlは、Beautiful Soupより高速で、htmllibより柔軟なhtml(xml)操作を可能にするのですが、 日語資料が少ないと言うのが難点でした。最低限のことならば、ちょっと英語を読めば、 何とかなりますが、ちょっと凝ったことをしようと思うと英語力がネックでつまづいてしまいました…。 そこで、今回は、自分がつまづいた所を中心に紹介したいと思います。 目次 htmlから情報を抽出する htmlソースを改変する まとめと補足 1. htmlから情報を抽出する htm

  • Universal Encoding Detector: character encoding auto-detection in Python

    Character encoding auto-detection in Python. As smart as your browser. Open source. >>> import urllib >>> urlread = lambda url: urllib.urlopen(url).read() >>> import chardet >>> chardet.detect(urlread("http://google.cn/")) {'encoding': 'GB2312', 'confidence': 0.99} >>> chardet.detect(urlread("http://yahoo.co.jp/")) {'encoding': 'EUC-JP', 'confidence': 0.99} >>> chardet.detect(urlread("http://amazo

  • マルチバイト文字列のエンコード・デコード - YAMAGUCHI::weblog

    動機 自分が書いたコードがマルチバイトに全然対応してなかった。ショック。というわけでunicodeで受け渡しするようにしました。 mixi APIで遊んでみた - YAMAGUCHI::weblog 方法 今回はPython2.5での話をしています。encode()、decode()メソッドを使えばOK。 そもそもPythonの文字列型ってなによって話なんですが、str型とunicode型の二種類があります。基マルチバイトを扱ってるときはunicode中心に考えれば上記使い方に納得です。 まずそもそもunicode型扱ってて最初に意味不明になったのは、「結局unicode型って文字コードはなんなの?」ってことなんですが、結論から言うと「どの文字コードでもない」、つまりPython独自のもの。というわけで外部とのやりとりが発生するときは必ず変換が必要。 unicodeから各種文字コードに変

    マルチバイト文字列のエンコード・デコード - YAMAGUCHI::weblog
  • PythonのUnicodeEncodeErrorを知る - HDEラボ

    Pythonにはじめて触って、いつのまにか1年が過ぎたのですが、一番はまったのは、やっぱりunicodeの扱いだったと思います。 特に、 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128) のようなエラーにはさんざん悩まされました。ここがたとえばrubyなど他の言語と比べてわかりにくいために、Pythonが取っつきにくい言語になっているのではないか、と個人的には思います。 そこで、このエラーに関係するはまりどころとTipsをいくつか列挙してみました。これからPythonに触れられる方の参考になればと思います。 なお、環境はUNIX上のPython 2.4, 2.5を想定しています。 u1はunicode型で、s1はstr型です。s1にどのよ

  • Python で正確な小数の計算 (1) - Decimal モジュールを使う

    1. 思っていた答えと違った少数の計算 実際に行った計算の例を挙げる。 29 - (54.2 - 52.0) / 0.1 暗算すれば、答えは 7 ということはわかる。 ある実装において、上記の計算に対して、 int() 関数を適用して、 その値を元に、配列の要素を取得する という操作を行った。その結果、想定していた挙動と違い、ハマった。 (+_+) print range(0,10)[int(29 - (54.2 - 52.0) / 0.1)] 7 という答えが返ってくるかと思いきや 6 。 2. いろいろな丸め関数 int() 関数について調べると、2.1 組み込み関数 には、 int([x[, radix]]) 文字列または数値を通常の整数に変換します。(…)浮動小数点数から整数へ変換では (ゼロ方向に) 値を丸めます。引数が通常整数の範囲を超えている場合、長整数が代わりに返されます。

    yuya_presto
    yuya_presto 2010/11/25
    小数を整数にキャストとか。
  • urllib, urllib2を使ってGET/POST - YAMAGUCHI::weblog

    注意(追記:2013.03.22) もうこの情報は古いので、いまはHTTP系の処理はrequestsを使ったほうがいいです。 Requests: HTTP for Humans — Requests 1.1.0 documentation 動機 Web API使ってるとでてくる使い回しをメモ。 方法 まずはオーソドックスに GET import urllib url = 'http://d.hatena.ne.jp/ymotongpoo' params = urllib.urlencode({'hoge':1, 'fuga':2}) f = urllib.urlopen(url + '?' + params) # paramsはhoge=1&fuga=2の形になっている print f.read() POST import urllib url = 'http://d.hatena.ne.

    urllib, urllib2を使ってGET/POST - YAMAGUCHI::weblog