タグ

ブックマーク / coreblog.org (17)

  • PythonでWeb開発入門 みんなのPython Webアプリ編 HTML版(無料) | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 一部読者から高い評価をいただき,絶版となりながら中古市場でプレミア価格がついていた拙著「みんなのPython Webアプリ編」のHTML版をお送りします。Pythonを使って,Webアプリを開発するための方法を,基的な事柄から積み重ね式に解説した書籍をHTMLにしたのがコンテンツです。 編集部のご厚意で作ってもらった配布用PDFをベースに作っています(PDF作成だけでなく,出版契約の解除など必要な手続きを快く受けて頂いた担当様にはとても感謝しております)。構成などは著書をベースにしていますが,HTML化する過程で少し手直ししてあります。特にPython 2.7で動かないサンプルコー

  • Pythonでファンシーなデバッガを手軽に利用する方法 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 以前pudbというCUIベースのソースコードデバッガを紹介した。コンソール環境で利用できてなかなかファンシーなのだが,デバッガをいちいち立ち上げる必要があるので少々面倒だ。今回はより手軽にCUIベースのデバッガを起動する方法を紹介する。 方法は簡単。debugというパッケージを「pip debug」などでインストール,デバッグを開始したい場所に「import debug」とするだけで,プログラムのその位置でシンタックスカラーリングの効いたファンシーなデバッガが立ち上がる。 「n」を押して実行を進めたり,print文を使って実行中の変数の中身を表示したりできる。実行中のプログラムも表示し

  • コメント付きのテトリスやオセロのソースコードでプログラミングを学ぼう | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー プログラムを学ぶための手法はいろいろあるけど,実働するゲームやアニメーションのコードを読みながら学ぶ,という手法は,結果が目に見えるし,遊んでいて楽しいのでモチベーションが維持しやすく,スキルアップへの近道と言えると思う。そんな目的にぴったりの素材を見つけたのでご紹介。 Code Commentsというのは文字通りコメントがたくさん着いたコードを公開しようという試み。オセロやテトリス,といったなじみのあるゲームのソースコードが公開されている。ソースコードにはコメントが付いているので,どこでどんな処理をしているのかがよく分かるようになっている。パラメータを変えたりアルゴリズムを変えたりし

  • Google App Engineで動くBlogツールcoreblog3のアルファをリリース | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 みんなのブロックチェーンは,ブロックチェーンの入門書。暗号やハッシュなどを含め,基礎からブロックチェーンの仕組みを学べる書籍です。 いろんな方に「新しい技術を学ぶことの楽しさ」を感じ取ってくれたら著者として嬉しいです:-)。お金技術的にどのように定義されるのか。 みんなのIoTは,モノのインターネットと呼ばれるIoTの入門書です。IoTの基について,読者に寄り添って優しく解説しました。裏テーマは一番とっつきやすいPython入門書。サポートページはこちら みんなのPython 第四版は,より分かりやすい入門書を目指し,機械学習やデータサイエンスの章も追加して第三版を大幅に書き換えました。Python 3.6にも華

  • Pythonのメタプログラミング (メタクラス) を理解したい人のための短いコード片と禅問答 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのメタプログラミング手法の一つ「メタクラス」は,初心者にとっては「なんか強そう/経験値たくさんもらえそう」なアイテムの最右翼だと思う。反面「どうすればいいか/なにができるか」ということがなかなか理解しづらい。 英語のブログを見ていたら,メタクラスの理解に役立ちそうなちょうどよいサンプルを見つけたので,紹介がてら独自の解説を付け加えたいと思います。 メタクラスを簡単に説明すると,「来コードを書かなければ実現できないような処理を黒魔術的な処理でなんとかしちゃう」ためのテクニックです。コード量を(時には劇的に)減らすことができたり,すっきりした見通しの良いクラス設計を実現できま

  • 曖昧な数値を曖昧なまま計算できるPythonのモジュール uncertainties | TRIVIAL TECHNOLOGIES on CLOUD

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー uncertaintiesは面白いPythonのモジュールで,これを使うと「だいたいこれくらい」という数値のまま計算を行える。 Pythonのみで書かれたモジュールなので,インストールは簡単。「easy_install uncertainties」などでインストールするだけで,モジュールが使えるようになる。 たとえば,世田谷から成田空港まで車で行くとする。都心はどうしても渋滞するので,巡航速度40キロ/時±5キロで成田まで向かうとするとどのくらいの時間がかかるだろうか。こういう計算をするのにuncertaintiesか便利だ。 世田谷から成田空港まではだいたい84キロある。 >>> f

  • WebでPythonコードの実行過程を確認しながらお勉強 - Online Python Tutor | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー プログラミング上達のコツは,プログラムがどのように動くかをイメージできるようになることだと思う。プログラムの動く課程をイメージできるように なるための近道は,コードの実行課程を実際に確認すること。実行過程を見ながら,ある時点でどんな変数が定義されていて,どの関数が実行されていて,コー ドを実行するとどう変わるか,という課程を,ステップごとに観察すると,プログラムの挙動がイメージしやすくなる。Online Python Tutorは,プログラムの学習に便利なツールだ。 Online Python Tutorを使うと,Webブラウザ上でPythonプログラムの動きを確認しながら実行できる。

  • staticmethodがなかったらやっぱ困る | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー スタティックメソッドは要らない子? 僕は,これまでいくつかstaticmethodを作ったことがある。メソッドの実行にインスタンスもクラスオブジェクトも必要ないけど,名前空間的にと言うか,コードの書き方的に,そのクラスに関する処理であることを明示したいときに使う。 実際,Google Code Searchあたりで「python staticmethod」と検索すると沢山実例が出てくる。 たとえば,twitter.pyなどではStatusクラスのNewFromJsonDict()メソッドがstaticmethodになっている。jsonのデータをStatusクラスのインスタンスとして返す

  • Python用のユニットテストツールまとめ — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー みなさんテストしてますか? Pythonには沢山の便利でステキなテストツールがあります。標準ライブラリに入っているunittestアジャイルドキュメンテーションとも呼ばれるdoctestなど,標準の機能だけでもかなり強力なのですが,外部のツールを使うとより快適なテストライフが送れるのです。 python.orgにあるPython testing tools taxonomy(Python用テストツールのまとめ)というページがあり,ここに有益な情報が集まっているので例によって超訳してみました(ユニットテスト関連のみ)。 ツール カテゴリ 作者 ツールが含まれるフレームワークなど 特徴

  • Pythonの定番モジュール集 — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー wiki.python.orgにはUsefulModules(Pythonの定番モジュール集)というリストがある。「開発者に有益な情報を提供するため」と注意書きがあるだけあって,これがなかなか網羅的で便利なので,翻訳しながらご紹介しましょう:-)。 リストを見ると,Web開発やテキスト処理はもちろん,数値解析,ビジュアライズ,ゲームGUIライブラリなどバリエーション豊かで,Pythonの全方位ぶりがよく見えてくる。他のカテゴリページへのポインタは,適宜リストをインラインに展開してあるものもあります。べたっと訳しちゃったので,間違いなどあるかも。コメントなどでご指摘いただけるとありがた

  • FlaskならApp EngineのTwitter Botが15行で書ける — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 関連 : microneを使ったらApp EngineのTwitter botが14行で書けた Flaskというフレームワークを使って,Google App EngineでTwitterのBotを作ってみたら15行で書けてしまった(あと5行短くなるけど,PEP 8というPythonのスタイルガイドを破ることになるのでそこまで短くしない)。 まずはコードを見てもらいましょう。 #coding: utf-8 from random import choice from twython import core from flask import Flask app = Flask(__nam

  • 画像の生データから種類を判別する方法 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 画像のデータしかない状態で,画像のタイプ(JPEGとかGIFとかPNGとか)を判別する方法のメモ。 画像のヘッダを調べるといい。画像のタイプごとに,ヘッダにタイプが埋め込まれているので,判別に利用する。 JPEG : 7バイト目からが'JFIF' GIF : 先頭が'GIF' PNG : 2バイト目からが'PNG' Pythonの関数で書くとこんな感じ。 def detect_imagetype(image): if image[6:10]=='JFIF': return 'image/jpeg' if image[0:3]=='GIF': return 'image/gif' if

  • Be Pythonic ! - Pythonチュートリアル第二版 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Python界では「Pythonic(パイソニック)」という言葉がよく使われる。 用例としてはこんな感じだ。 人のコードを読んで「このコードはPythonicだね」 Pythonへの新機能の提案に対して「その機能はPythonicじゃないね」 Pythonicを一言で説明するのは難しい。無理してやってみると「誰もが正しいと考える、たった1つの方法をできる限り採用する(There should be one—and preferably only one—obvious way to do it)」となるかなあ(これはPerlの「TMTOWTDI(There's more than on

  • Pythonのコーディングスタイル(PEP8)をコマンドでチェック — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー PythonにはPEP8という公式のコーディングスタイルがあります。このスタイルに従うことで,Pythonの思想「誰にとっても明確な手法が,一つだけあることが好ましい(There should be one-- and preferably only one -- obvious way to do it)」に沿った,見やすいコードを書くことが出来ます。 読んでみると分かるのですが,変数や関数,クラスなどの命名規則から,どこに空白を入れろとか改行を入れろとか,かなり細かく記述があります。それぞれの規則にはちゃんと理由があって,出来る限り守った方がコードが見やすくなるのは確かなのですが,

  • CUIベースなのに無駄にビジュアルなPython用デバッガ - pudb — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー pudbは,CUI環境(つまりシェル)で動くGUIライクなデバッガ。Pythonには標準でpdbというデバッガがついてくるけど,コマンドラインベースでちょっと使い方が面倒だよね。pudbはpdbよりノリがいい。まあスクリーンショットを見てもらうのが早いかな。 CUIベースでGUIっぽいことをするというのは,レトロなノリだよなあ。でもCUIベースならシェルが動く環境ならどこでも動く,という利点もある。ローカルのPythonでもssh越しのPythonでも,シェル上なら同じように動くというのは嬉しい。 インストールは簡単。いつものごとくeasy_installを使って「$ easy_ins

  • Google App Engineでテスト駆動開発を行うための3つのTips | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    Google App Engineの開発ではPythonを使います。GAEを使ったWebアプリの開発でテスト駆動開発を行う際にも,Python的なユニットテストの文脈を活用できます。 ただし,GAEでユニットテストを行うためにはいくつかのツールやトリックが必要です。ここでは,そのテクニックを簡単に紹介します。 その1 : NoseGAEを使う Pythonのテスト用ツールにNoseがあります。このツールは,複数のディレクトリを渡り歩いて,複数のテストコードを一気に実行してくれる便利なツールです。 NoseのプラグインNoseGAEをインストールすることで,GAEアプリのテストを楽に行うことができます。「nose --with-gae」というようにオプション指定をすることでNoseGAEを利用できます。NoseGAEでは,テストコード上でGAEのモジュールやパッケージをインポートするために必

  • promise - バイトコードを書き換えてPythonのコードを高速化 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー promiseはPythonの関数の実行速度を高速化するためのモジュール。 デコレータ関数を使って,関数のバイトコードを書き換えることによって関数の実行速度を高速化する。 実際どのくらい高速化されるのか試してみよう。Pythnonの標準モジュールdecimalの__new__()メソッドにpromiseを使い,使わなかったケースと実行速度を比較してみた。 def foo(): D = decimal_p.Decimal D('3.14') D((0, (3, 1, 4), -2)) D(314) D(' 3.14 \\n')

  • 1