サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
coreblog.org
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Webアプリケーションの中には、ユーザ名とパスワードを使ってログインを行ってから機能が利用できるようになるものがあります。認証を行うことによって、誰がWebアプリケーションを使っているかが明確になり、権利を持った利用者にのみ、特定の機能を利用させる、といったことが可能になります。ここでは、Webアプリケーションで認証の処理を行うための方法について考えてみたいと思います。 認証の基本 私たちは日常生活でさまざまな認証を行います。たとえば、キャッシュカードを使いキャッシュディスペンサーで現金を下ろすときには、暗証番号を使った認証を行います。家のト
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー URLにクエリを埋め込み、Webサーバ上で動くプログラムに値を渡す方法は簡易で便利ですが、欠点が多いのも事実です。長い文字列や複雑な値を渡すのには不向きですし、だいいちアプリケーションの利用者にとって扱いやすい方法とは言えません。そこでここでは、「フォーム(Form)」を使ってもう少し気の利いたUIを作ってみましょう。 フォームを使ってWebサーバに値を渡す 先ほど作った13日の金曜日を数えるプログラムでは、クエリとして西暦を渡していました。クエリを書き換えて西暦を指定するのはとても不便です。ここでは、フォームを使って西暦を入力、指定できるよ
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 30 secounds of Python codeは,その名の通り「30秒で理解できるPythonのコード集」。リスト要素のソートやシャッフル,数値列の平均の計算など,親しみやすい課題やアルゴリズムをPythonで書いたコード集。それぞれのコードは短いので,プログラムの挙動を文字通り「30秒」で理解できる。 たとえば,リスト要素のシャッフル(ランダムな並べ替え)のコードを見てみよう。 from copy import deepcopy from random import randint def shuffle(arr): temp_arr = deepcopy(arr) m = l
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 「みんなのPython」はおかげさまで大好評を頂いているようで本当にありがとうございます。外国語版が出るとか出ないとかいう話があって,渾身のネタの数々がどう料理されるのかが目下の感心どころです。 「わかりやすい」「読みやすい」と好評を頂いているみんPyですが,たまにプログラミング初心者には難しい,というご意見を頂くこともあります。それが気になっていたので,プログラミング経験がなくてもエントリーしやすい万人向けのPython入門書を書きました。 9割くらいの人は何を言っているのか分からなくて口をあんぐりと開けてると思うけど,まあおじさんの話をもう少し聞いてくれ。「IoTと言えばハード」と
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 初学者にとってプログラミングを難しくしている理由の一つは,プログラムが動いている様子を想像しづらい,という点です。プログラムに,変数,ループや条件分岐があるので,状態によって実行結果が変わります。同じプログラムでも,与えられる条件や内部状態によって違った動きをします。 熟練したプログラマであれば,条件による挙動の変化や内部状態の境界値を巧みに脳内で想像しながら,すいすいとプログラムを作ってゆくことができます。しかし,初心者にはそのようなことが難しい。そのため,とりあえずプログラムを書いてみて動かしてみるのですが,内部状態の遷移による挙動の変化をうまくイメージできないので,間違えるし,ま
オマケ : プログラミング力上達のコツ¶このNotebookでは,拙著を読んで,その後どうすんだ,ということについて,書籍には載せないような砕けたかんじで書いてみたいと思います。プログラミングを上達させるためのコツについて,つらつら書いてみました。どうぞ。 目標を設定しよう¶まずは,Pythonを使ってなにがしたいのか,ゴールを明確にしましょう。 「Webアプリを作りたい」「Raspberry PiでIoTデバイスを作りたい」「人工知能を活用したい」「データ分析をしたい」など,できるだけ具体的な目標を立てましょう。 「世の中を変えたい」「お金を稼ぎたい」「異性にモテたい」「とにかくビッグになりたい」というような抽象的な目標をたててはいけません。 煩悩は知的成長を助けないのです。 簡単なことからはじめよう¶目標を立てたら,目指す方向に向かって,ゆっくりとでいいので歩き始めましょう。 プログラ
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー このページは,みんなのPython第四版のサンプルコードのページです。サンプルコードは,ページ下にあるというバッジをクリックすると,Colaboratoryを使ってWeb上で実行できます(一部コードを除く)。手元にダウンロードしたい方は,こちらのリンクからダウンロードしてください。 サンプルコードの動かし方 サンプルコードは,一部をのぞいてJupyter Notebookを使ってお使いいただくようになっています。Anacondaをインストールし,Jupyter Notebookを起動して実行してください。 Windowsをお使いの場合は,ZIPファイルをダウンロードして展開したサンプル
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー オブジェクト指向スクリプト言語Pythonの入門書「みんなのPython 第四版」の正誤表です。誤字でつまづいてしまったりした読者の方には深くお詫びいたします。 誤字や間違いを見つけましたら,お手数ですがご報告いただけると幸いです。Twitter,Facebookなどで報告をお送りいただけます。 第四版初刷の正誤表 帯 誤 : NamPy 正 : NumPy 5ページ 誤 : GoogleのビデオサービスYouTubeは,当初多くの場面でPythonを活用していました。 正 : GoogleのビデオサービスYouTubeは,今でもフロントエンドやAPIでPythonを活用しています。
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 4月19日(水)に開催される勉強会にお呼ばれして,お話をすることになった。10年間多くの方に読んで頂いているPythonの入門書を書いている関係もあって,つねづね「プログラミングはなぜ難しいのか」について考えたり調べたりすることが多いのだけど,当日はそのことも含め,どうすればよりよく学習できるのか,プログラミングとは何か,ということなどにも言及したいと思っている。 プログラミングが難しいのは,一言で言うと「ロジックの塊」だから,ということなんだけど,そうすると「じゃあ論理的な思考が得意な人だけがプログラミングやればいいじゃん」みたいな話になりかねないので,もう少し砕いて考えてみたいと思
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー マサカリも受け方で血肉になるよ,という話をします。 しばらく前,みんなのPython第三版のAmazonレビューに誤字のリストを投げた人がいた。誤字があるのは著者として読者の皆様に大変申し訳ない。実際はコスト的に時間あんまかけられないとか諸事情があるのだけど,とにかく恥ずかしい話である。なお,誤字を報告しても連絡が無い,というのは常識的に考えても本当かどうか微妙だ。事実,読者からの質問や誤字の情報については,定期的に編集者の方から連絡をいただいていた。 そうこうしているうちに,今年の初め頃,SBクリエイティブ編集部から改訂のお話をいただいた。 普通,技術書の改訂ってあんまり時間かけない
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー みんなのPython 第四版のサンプルコードを公開に向け整備していたとき,ちょっとしたオマケの文章があるといいかなと思って書いた見たところ,一部に好評だったので公開してみたいと思います。 オマケ : プログラミング力上達のコツ このNotebookでは,拙著を読んで,その後どうすんだ,ということについて,書籍には載せないような砕けたかんじで書いてみたいと思います。プログラミングを上達させるためのコツについて,つらつら書いてみました。どうぞ。 目標を設定しよう まずは,Pythonを使ってなにがしたいのか,ゴールを明確にしましょう。 「Webアプリを作りたい」「Raspberry Piで
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー まもなく発刊される拙著みんなのPython 第四版の改訂向け執筆を終えた。 初版の発売は2006年で,今年はちょうど10年目になる。そこでふと,もしPythonを使っていなかったらどうなったろう,と考えてみた。そして重大なことに気づいた。 みんなのPythonを書く少し前,2005年ごろの僕は,今以上に後先考えないで行動するオッサンだった。当時まだ日本では無名に近かったPythonのより新し情報を仕入れ,本場のオープンソース関連カンファレンスに行って技術の成長点の雰囲気を味わうべく,ワシントンDCで開催されたPyCon USに行ってみよう,と突然思ったのだった。今以上に英語ができなかっ
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのプログラムを構成する要素には大きく分けて「式(Expression)」と「文(Statement)」がある。式とは演算式や比較式,オブジェクトのリテラル,関数呼び出しなど。一方,文は,if文,for文や関数定義,クラス定義やモジュール/パッケージのインポート,そして代入,など。式は改行を要求しないので,一行にいくらでも連ねることができるけど,文は改行や,しばしばインデントを伴うブロックを要求する。 Pythonは文と式がきっかり分かれている。そんなわけで,Pythonではプログラムを一行で書くいわゆる「ワンライナー」がつくりにくいと言われている。Pythonでワンライナー
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー ここからはいよいよ、Pythonを使ってWebアプリケーションを作っていきます。Webアプリケーションはクライアント・サーバ型のアプリケーションです。Webアプリケーションを実際に動かすには、クライアントとなるWebブラウザと、サーバとなるWebサーバが必要です。 Webブラウザは、皆さんが日常的に利用しているはずです。Webサーバは、読者の多くが使っていないと思いますので、別途用意する必要があります。本書では、Pythonに含まれる標準ライブラリを使ってWebサーバを用意します。Webサーバを走らせるためには、普段使っているパソコン
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー バリデーションチェックの処理の実体は単純な文字列の検査です。バリデーションチェックの処理の内容はそれほど難しくなく、バリデータも比較的簡単に作れます。ここでは、簡単なバリデータを作ってみましょう。 まず、バリデータの設計について考えてみます。チェックすべき値を受け取り、正しい値かどうかを結果として返すのがバリデータに求められる機能です。このような単純な機能であれば関数として実装してもよさそうですが、のちのちのことを考えてクラスとして実装することにしましょう。バリデーションチェックを実行するためには、まずバリデータのクラスインスタ
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 実際にフォーム認証の仕組みを作ってみましょう。これまで作ってきたテンプレートエンジンやWebアプリケーションを活用して、フォーム認証の仕組みを作ります。 先ほど作ったWebアプリケーションでは、モジュールに定義した関数に、デコレータを設置するとリクエストに応答するように関数を加工できました。同じように、デコレータを使ってアクセス時に認証が必要な関数が設定できると便利です。今回はデコレータを活用して、アクセスするためにフォーム認証が必要な関数を作ってみましょう。 今回は必要なすべてのコードを1つの「authentication.py」というモジュ
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー http.serverモジュールでは、Pythonで書かれたプログラムをWebサーバの中で実行することもできます。その機能を使うと、Webサーバを用意したり設定ファイルを編集することなしに、PythonでWebアプリケーションを作ることができます。Pythonがインストールされたパソコンだけがあればよいので、とても手軽にWebアプリケーションを作って試すことができます。 先ほどスクリプトファイルとHTMLファイルを設置したフォルダに、別のスクリプトファイルを設置してください。 List03 cgiserver.py :::python i
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー テンプレートエンジンやO/Rマッパーを作ることで、Webアプリケーションのプログラムがシンプルになりました。ここでは、高度で使いやすいWebアプリケーションに欠かせないフォームの処理をより手軽に作る方法について考えてみたいと思います。 バリデータの利用 データの入力を行うWebアプリケーションでは、入力値のチェック処理が欠かせません。フォームのようなUIに入力された値をプログラムの側でチェックし、期待される値が入力されているかどうかを確かめるわけです。このような処理はバリデーション(妥当性)チェックと呼ばれています。 たとえば、W
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonはオブジェクト指向のスクリプト言語です。新しくクラスを定義したり、既存のクラスを継承する、といったオブジェクト指向言語としての機能を一通り備えています。 Pythonのオブジェクト指向機能はとてもシンプルです。そのようなこともあり、C++やJavaのような他のオブジェクト指向言語を使った経験のある人から見ると、Pythonのオブジェクト指向機能は物足りなく映るかもしれません。しかし、言語全体としての実装はとても見通しが良く作られていますし、必要な機能は備えています。開発を進めるに当たって困ることはほとんどありません。 そもそも、Pythonは
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー データベースは、Pythonとは違った場所で動いている独立したアプリケーションであることがほとんどです。Pythonからデータベースを使うには、データベース接続用の拡張モジュールを利用します。この拡張モジュールを使ってデータベースに接続し、SQLなどを利用してデータベースと通信をするわけです。 図06 Pythonとデータベース接続モジュール Pythonには、よく利用される主要なデータベースに接続するための拡張モジュールが一通り揃っています。Python 2.5からは、SQLiteというデータベースと連携をするためのモジュー
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Twitter検索してたら「ジャニーズJrの阿部くんって子がみんなのPython読んでるよ」っていうTweetを発見。「マジか? ホントだったら著者として超自慢できるやんけ」と思ったので,インタビューが載ってる「ダンススクエア」っていう雑誌をアマゾンで購入。 そしたら, 読んでる!!! 本当に読んでるよ!!!! 雑誌に掲載されている阿部亮平くんのインタビューも読んでみた。なんでも,ダンスや歌があまり得意でないらしく,ジャニーズの中での立ち位置について悩んでおり,ジャニーズのお勉強マンとしての地位を確立するため,仕事を半年休んで一般入試で大学(上智らしい)に現役合格した努力家らしい。イケ
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー  さて、いよいよリクエストとレスポンスを取り扱うための2つのクラスを活用し、RSSリーダーを作ってみましょう。 目標とするのは、フォームにRSSのURLを入力すると、RSSを読み込んで整形、タイトルやリンクなどを表示する簡易なものです。フォームの表示、RSSの整形表示も1つのスクリプトで行うようにします。また、読み込む対象とするのはRSS 2.0のみとします。RSSにはさまざまな規格があり、方言も多いため、手軽に扱えて方言の少ないRSSのみを扱うものとします。また、エンコードに関する処理を最小限度に抑えるため、RSSのエンコードは AS
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonの標準モジュールには、簡単な機能を持ったテンプレートエンジンが内蔵されています。stringモジュールに含まれているTemplateクラスです。ここでは、そのテンプレートエンジンの使い方を簡単に解説しましょう。 ところで、Pythonには文字列テンプレートと呼ばれる機能があります。文字列の中に%s、%dといった記号を埋め込んでおくと、動的に文字列の置換を行うことができます。その他に、文字列テンプレートでは、%(key)sのように辞書のキーを指定して置換を行うこともできます。Templateクラスは、この機能をより高度にしたクラスです。
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 標準モジュールに内蔵されているTemplateクラスだけでは、高度なWebアプリケーションを作るには機能不足である、ということはよく分かっていただけたと思います。既存のテンプレートエンジンは、単純な文字列置換だけでなく、より高度な機能を装備しています。 ここでは、少し趣向を変えて、先ほど使ったTemplateクラスよりも高機能なテンプレートエンジンを作ってみましょう。ただし、あまり機能は欲張らず、置換機能と条件分岐、ループの機能だけを実装することにします。シンプルな機能を持ったテンプレートエンジンを作ることによって、テンプレートエンジン自体
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 本書では、Pythonを使ってWebアプリケーションを開発するための手法について解説します。具体的な手法について解説する前に、Webアプリケーションを作る上で知っておくべき基本的なことがらについて解説します。 HTMLの概要 本書を読んでいる皆さんは、HTMLについてある程度知っているか、少なくとも聞いたことがあると思います。HTMLは、Webブラウザなどで表示するWebページを作るために利用します。Webアプリケーションでは、処理の結果などを表示するためにHTMLを活用します。 Webページに表示する文字の大きさや配置、画像の種類や位置などを決
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー コンピュータやプログラミングの世界では、よくドッグイヤーという言葉を使います。犬は1年で人間の7年分年を取ります。ふつう7年かかるような変化が1年で起こるような「変化や技術革新の速さ」の比喩としてこの言葉が使われます。そのくらい変化の激しい世界に、私たちは身を置いているわけです。 コンピュータの世界では、次から次へと新しい言葉が現れます。Webアプリケーションという言葉も、比較的新しく使われるようになった言葉の1つです。WebというのはWebブラウザやWebサイトのWebです。アプリケーションとは、コンピュータ上で動くソフトウエアを指す言葉
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー この本は,オブジェクト指向のスクリプト言語Pythonの解説書です。Webアプリケーションの作成を通じて,Pythonの使い方や活用方法を学んでいただくのが本書のねらいです。立場的には,拙著みんなのPythonの続編になります。インストール方法やPythonの文法など,基本的なことについても触れていますので,Pythonを知らない人でも楽しんでいただける内容になっています。 「みんなのPython」と同じく,本書の構成は積み重ね式になっています。学習を進めてゆくに当たって必要となる知識や技術を,基本的なことから順を追って解説しています。Pythonの基本
次のページ
このページを最初にブックマークしてみませんか?
『Blog on Plone ! ― Blog on Plone ! : coreblog.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く