kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

PPP3

PPP3: Circle CI (続き3)

チュートリアルやってから戻ってくるか 戻ってきました 前にやってたことが思い出せないので読み返してみたり でもなんだかわかった気がしないのはなぜか ・・・ チュートリアルにforms.Formって出てきたっけ? HTMLでFORMタグは出てきたけどビューで処理し…

PPP3: Circle CI (続き2)

Djangoアプリケーションのテストを実行する方法を説明します。 まだDjangoは1行たりとも書いてませんがいきなりテストです でDjangoを仮想環境内でインストール そのあとディレクトリ作ってdjango-admin startprojectするんですけど そういう順番が普通なの…

PPP3: Circle CI (続き)

機能はunittestを生で使ったけれども今日はpytestで jUnit形式で結果を出力してCircleCIにレポートしてもらう

PPP3: Circle CI

Chapter 10 Circle CIで継続的インテグレーション 継続的インテグレーション(Continuous Integration: CI)とは、プログラムを修正するたびにビルドやテストを実行し結果を確認することを自動化する取り組みです。CIは、開発プロセス上の人的不注意によるミス…

PPP3: パッケージの利用

Chapter 09 Pythonパッケージの利用と開発への適用 本章ではその先の手順として、ステージング環境や本番環境へのデプロイ、テスト実行のためのデプロイなどで使えるパッケージの活用方法について紹介します。

PPP3: テストしやすい設計・テスト自動化に向けて

08-03 テストから設計を改善する ここまでで、できるだけテスト対象だけを実行させるようにテストを作成してきました。 実行させてきたの? そうなの?

PPP3: WebTestを使った機能単体テスト

ユニットテストが終わったら、コンポーネントを結合して機能をテストする システム内部の関数はすべて本物を使い、外部システムと連携する部分でモックを使う 疑似リクエストを扱うには、WebTestを使う WSGIに則っていればほとんどのアプリをテストできる

PPP3: 日付関数のテスト

現在日付を扱う関数は、日付を引数に取る関数と、現在時刻でその関数を呼ぶ関数に分けてテストする 関数を分けるとこまでは思いつくけど 現在時刻でテストするのはあきらめかなあと思ってたら testfixturesのReplacerってやつを使えば可能らしい 力技? って…

PPP3: リクエスト/レスポンスのテスト

08-02-03 ユニットテストから環境依存を排除する リクエスト/レスポンスのテスト テスト時にオブジェクトを入れ替えられるよう、直にクラス名を書かないで指定できるようにしておく こういうのをDependency Injectionって言うのかな(知らない 一番シンプル…

PPP3: mock・テストケースの書き方

mockも紹介だけかな?あとで手を動かす感じになる?(コード例はある) モックオブジェクトを作成すると、どんなメソッドでも呼び出せる 呼び出したときの戻り値を指定したり、例外を発生させることができる メソッドが呼び出されたか、どんな引数で呼び出さ…

PPP3: pytestでカバレッジ計測

pytest-cov カバレッジを測定するpytestプラグイン やってみる

PPP3: モジュール、テスト

Chapter 08 モジュール分割設計と単体テスト MVC Controllerはだいたいフレームワークが面倒を見てくれる DomainModelは永続化される状態を持つモデル ApplicationModelは機能を構成する、通常は永続化されないモデル

PPP3: Git/GitHub、ドキュメント

しばらく座学的な Chapter 06 Git/GitHubによるソースコード管理 プル 他の人が編集したファイルをpullする練習、ってときはGitHub上でファイルいじればいいのか わざわざ別ディレクトリにcloneしてたりした

Ubuntu上でやりなおし (4)

AnsibleでRedmine入れて、もともと進んでたところまで追いついた 開発用VMとAnsible用VM(どちらもメモリ1GB設定)動かしてますが普通に動いてるかな?という感じ Ansibleの構成で時間がかかってる気もするけどもともとそんなもんだったかもしれない CPU自体…

Ubuntu上でやりなおし (4)

Ansibleまで入れて、もともと進んでたところまで追いつきました 開発用VMとAnsible用VM(どちらもメモリ1GB設定)動かしてますがまあ動いてるかな? Ansibleの構成で時間がかかってる気もするけどもともとそんなもんだったかもしれないCPU自体の速度にも差が…

Ubuntu上でやりなおし (3)

gitは入ってるからいいな なお本には ~/.gitignore_global で共通に無視するファイルを指定して、 git config の core.excludesfile で ~/.gitignore_global を指定するように なっているけれども ~/.config/git/ignore に書いておけばいいらしい

Ubuntu上でやりなおし

Pythonプロフェッショナルプログラミングに戻る 復習がてら、Ubuntu上でやりなおしていく 一度やってるからってのもあるけど、Ubuntu上でやることでもっとすんなり 進むという効果を期待している

PPP3: Redmineのインストール(続き2)

たぶんここで苦労するのはおかしい と思って読み直すと NOTE Ansibleのバージョンは2.4.2を前提としています。 これなんじゃないか わざわざ書いてるのは、ここがつまづきどころだから?

PPP3: Redmineのインストール

メッセージを読む Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine. これはrootでやるなよってだけだから無視 わかってや…

PPP3: Redmineのインストール(撃沈)

Part 2 チーム開発のサイクル ぼっちが仮想でチーム気分出しながら読みます Chapter 04 チーム開発のためのツール 04-01 課題管理システム ここではRedmineを紹介している 使ったことがないわけではないけど、典型的な使い方はしてない気がする

PPP3: パッケージ作成(続き)

03-03-07 README.rst: 開発環境セットアップ手順 README.rstにセットアップ手順を記載 rstはreStructuredTextの略 Markdownじゃないのは何かのお約束なのか単なるローカルルールなのか 見た目はMarkdownのほうが好きかなあ 見出しが目立つのはいいところかも…

PPP3: パッケージ作成

03-03 ファイル構成とパッケージリリース setup.pyを書く、っていうのはHFP2でもやったけどこっちのほうが いろいろと出てきてる感じなので見ていく

PPP3: venvとpip

Chapter 03 Pythonプロジェクトの構成とパッケージ作成 パッケージングにもドキュメントがあるのね Python Packaging User Guide — Python Packaging User Guide ってないと困るだろうけど 読むべきものが多いのもそれはそれで大変 必要なところをつまみ食い…

PPP3: こんどこそFlask

Pythonのコードも手で入れていくよ

PPP3: Vagrantの共有フォルダでvenv(リベンジ)

ここからFlask体験 ちょっとやってみたかった 本の中では要件定義→機能設計→画面設計→画面作成→機能作成→結合→動作確認 てな感じで進む

PPP3:Webアプリと見せかけて

さてこのへんで1章を終わって Chapter 02 Webアプリケーションを作る 知識パートはさらっと読んでと CGIから書いてる そういうの好き

PPP3: Windows側でvenvとか

ここまで仮想マシン側に環境入れてきたけどたぶん(まだたぶんとか言ってる) 本ではホスト側に環境を作る想定のはず なのでWindows側でもやってみる

PPP3: 仕切り直してvenvまで

そろそろUbuntuデスクトップはあきらめて、普通にWindows上で 作業するかな Windowsでやるというだけで「普通に」もあやしいものだけど どこからやりなおすかな

PPP3:Python仮想環境の作成(venv・挫折)

次はvenv お勉強くらいでしか使ってないからあんまり縁がなかった 一度体験しておきたかった

PPP3: pip更新と名前解決

次はpip pipにもpip3.6って書いたものがあるんだな pip3とpip3.6は同じもの pipはpip3.6という名前ではなくpipという名前でシンボリックリンクを張っている python本体と扱いが違うのはなぜだろう