似非プログラマのうんちく

「似非プログラマの覚え書き」出張版

巳年じゃないけど Python やろうぜ(その 21)

PostgreSQL の利用 Django はデフォルトで SQLite3 を利用しますが、他のデータベースを活用することもできます。今回はその中から PostgreSQL を利用してみようと思います。 PostgreSQL のインストールと設定 Windows の場合は GUI インストーラもあって、…

Memcached をインストールする

Python シリーズ番外編で Memcached のインストール方法を紹介します。 Windows の場合 こちらが参考になります。Windows で Memcached を使う - make worldmemcached-win64-1.4.4-14.zip をダウンロードしてきて適当なフォルダ(例えば C:\memcached) に解凍…

巳年じゃないけど Python やろうぜ(その 20)

Ajax の活用(続き) バリデーションエラーの出力 フォームのバリデーションエラーに関する情報は form.errors に辞書形式で格納されているので、それを利用すれば行けることがわかりました。views.py from django.shortcuts import render from django.http.r…

巳年じゃないけど Python やろうぜ(その 19)

Ajax の活用 以前作成した customer_search アプリケーションを Ajax を活用して作り変えてみましょう。 Ajax 活用のための準備 Ajax 活用のために、いくつかの準備が必要です。1. js.cookie.js をダウンロードするGitHub - js-cookie/js-cookie: A simple, …

巳年じゃないけど Python やろうぜ(その 18)

キャッシュサーバーの活用 これまではセッションの情報をデータベース(SQLite3)で管理してきましたが、別途キャッシュサーバーを用意して、そちらで管理することもできます。キャッシュサーバーとしてよく使われるのが Memcached です。Memcached のインスト…

巳年じゃないけど Python やろうぜ(その 17)

国際化と翻訳 多くのフレームワークがそうであるように、Django にも国際化の仕組みが備わっています。 下準備 あらかじめ settings.py の USE_I18N が True になっていることを確認します(デフォルトでそうなっていると思います)。今回は customer_search …

巳年じゃないけど Python やろうぜ(その 16)

汎用ビューの活用 Django には、用途に応じて使える汎用ビューが多数用意されています。django_test/urls.py from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^hello…

巳年じゃないけど Python やろうぜ(その 15)

初期データの一括投入 今回から、当ブログではすっかりお馴染みの「政令指定都市一覧」を使って、Django の様々な機能を見ていきます。 $ ./manage.py startapp major_city例によってアプリを作成するところからスタート。Model を作ります。 from django.db…

巳年じゃないけど Python やろうぜ(その 14)

エラー表示の話 フォームのバリデーションエラーの表示場所をカスタマイズする方法があっさりとわかったので、次なるお題に移る前にさくっと書いておきます。 {% load static %} <html> <head> <title>顧客検索</title> <link rel="stylesheet" href="{% static 'customer_search/css/search.css' %}"> </head> <body> <h1>顧客検索</h1> <form method="post" action="."> {% csrf_token %} </form></body></html>

巳年じゃないけど Python やろうぜ(その 13)

ロギングの話 デフォルトでもある程度のログは出力されるのですが、データベースとの連携においては、少なくとも開発の段階では SQL の発行状況などを確認したいと思うはずです。これは settings.py に設定を記述することで可能になります。 LOGGING = { 've…

巳年じゃないけど Python やろうぜ(その 12)

フォームとビューの作成 まずはビューの作成に必要なフォームから作ります。既に Django バリバリ使ってる人なら「ModelForm 使えば楽やろ」って言うと思いますが、実は ModelForm には「(自動生成される id などの)AutoField はフォーム部品化の対象外」だ…

巳年じゃないけど Python やろうぜ(その 11)

管理画面を使う 管理者ユーザーの作成 管理画面を使うにはまず管理者ユーザーを作成しなければなりません。 $ ./manage.py createsuperuser Username (leave blank to use '(snip)'): admin Email address: admin@example.com Password: Password (again): T…

巳年じゃないけど Python やろうぜ(その 10)

だいぶシリーズが長期化してきました(苦笑) Model で遊ぶ 今回使用するデータは「現場で使えるSQL 第2版」のものを使用することにします。現場で使えるSQL 第2版 (DB Magazine SELECTION)作者: 小野哲,藤本亮出版社/メーカー: 翔泳社発売日: 2006/11/16メデ…

巳年じゃないけど Python やろうぜ(その 9)

Model を扱う いよいよ今回から Model を扱います。…の前に。 Atom で Django アプリの開発を快適に行うために すっかり忘れていましたが、Atom で Django アプリの開発を行う際に入れておくと良いパッケージを二つ紹介しておきます。 atom-django django-te…

巳年じゃないけど Python やろうぜ(その 8)

3 週間ほど空いてしまいました。この間こっそりと開発環境を Linux に移行させていたのは秘密です*1。 hello ページを作る(続き) 静的ファイル(CSS, JavaScript, etc...)の配置 今回は CSS を配置してみます。django_test\hello\static\hello というフォルダ…

巳年じゃないけど Python やろうぜ(その 7)

もうちょっとだけ hello ページをいじるよ。 hello ページを作る(続き) テンプレートを使い回す Django には共通のテンプレートを用意してそれを使い回す方法が用意されています。extends と include です。前者はベースとなるテンプレートに個別のテンプレ…

巳年じゃないけど Python やろうぜ(その 6)

Hello ページを作る(続き) 前回までで、テンプレートを利用して Web ページを表示させることができましたが、まだ Web アプリっぽくないですよね。もう少しそれっぽくするにはフォームとかあったらいいんじゃないでしょうかね。 フォームを作成する 今回はフ…

巳年じゃないけど Python やろうぜ(その 5)

前回からの続きです。 Hello ページを作る(続き) HttpResponse に HTML を渡すための方法として、テンプレートを用いることにします。 まず django_test\hello の下に templates というフォルダを作り、さらにその中に hello というフォルダを作ります(この…

巳年じゃないけど Python やろうぜ(その 4)

ちょっと前回の補足。もし Python 3.6.0 しか入れていないか、もしくは Python 2.7.x の後に Python 3.6.0 をインストールしていて、なおかつ Python Launcher をインストールしていたなら、開発用サーバの起動は >manage.py runserverで行えます。その他の …

巳年じゃないけど Python やろうぜ(その 3)

似非プログラマです。本日、御年 41 になりました。また一つ、おっさんの階段を上りました。まぁそんなことは置いといて、Django です。 そもそも Django って何よ ? Django is a high-level Python Web framework that encourages rapid development and cl…

巳年じゃないけど Python やろうぜ(その 2)

前回からの続きです。 開発環境を整える PyCharm は割とおすすめらしいんだけど、無料版だと Web 開発にはやや機能不足っぽい。ということで、無料で整えられる環境としては以下のパターンがあるかと思います。 Eclipse + PyDev Eclipse - The Eclipse Found…

巳年じゃないけど Python やろうぜ(その 1)

どうもすっかりとご無沙汰しておりました。忙しかったり体調崩したり、なかなかブログに本腰が入れられない状態がずっと続いていましたが、暇になったのでまた再開しようかと思います。今後も相変わらず不定期ですが、なにとぞよろしくお願いいたします。 き…

Apache Maven を使ってみよう(その 3)

Maven のプラグインについて Maven のプラグインは主に以下のサイトで用意されている。 Maven – Available Plugins Mojo – MojoHaus Maven Plugins Project Exec Maven Plugin 前回の課題になっていた、Maven のビルドの実行の際に main を実行するためには…

Apache Maven を使ってみよう(その 2)

Maven のビルドライフサイクル Maven のビルドライフサイクルには多数のゴールが設定されている。ちなみにデフォルトのライフサイクルには何と validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, …

Apache Maven を使ってみよう(その 1)

当ブログではこれまで Apache Maven (以下、Maven) の話題は極力避けてきたが、昨今の開発事情を鑑みるに、最早 Maven なしでは開発がままならない状況になりつつある。Spring MVC では標準のビルドツールとして採用されるなど、Maven は避けては通れないも…

Ruby で FizzBuzz を満喫する

Scala にだいぶSAN値を削られたのでここいらで Ruby に日和ろう(苦笑)。 その 1 : Object#tap を利用する to_fizzbuzz = -> n { "".tap do |_| _ << "Fizz" if n % 3 == 0 _ << "Buzz" if n % 5 == 0 break n if _.empty? end } puts 1.upto(100).map(&to_fi…

Scala でとことん FizzBuzz する(その 4)

最初にお詫び。前回の記事にかなり大幅な修正を加えています。再度確認をしていただけるとありがたいです。追記 : 今回作ったソースファイル群(+ テストコード)を GitHub で公開しました。 akaneko3/FizzBuzzScala · GitHub

Scala でとことん FizzBuzz する(その 3)

さぁ、改造を続けよう。 FizzBuzz アルゴリズム再考 ちょっとひねって、次のような写像を考える。何も書いていないところは空文字列を対応させていると考える。これを利用して、FizzBuzz のアルゴリズムを少し変更する。 何らかの方法で "", "", "Fizz", "",…

Scala でとことん FizzBuzz する(その 2)

前回のプログラムは無事動いたかな ? では改造を始める。でもその前に…。 SBT で作ったプロジェクトを Scala IDE for Eclipse で扱えるようにする 前回までの手順で、プロジェクト直下に project フォルダが出来ていると思う。そこに plugins.sbt というファ…

Scala でとことん FizzBuzz する(その 1)

プログラミングをこよなく愛する皆さん、今日も元気に FizzBuzz してますか !「FizzBuzz って何 ?」という人から「FizzBuzz が何の役に立つんだよ」という人まで、今回は存分に FizzBuzz を楽しめる(?)連載を始めますよ ! 「FizzBuzz」とは何か FizzBuzz。そ…