2018年06月くりーむわーかープログラムとか。・試しててハマった事など。誰かのお役に立てば幸いかと。その他、いろいろエトセトラ。最近、エリック・エヴァンスのドメイン駆動設計て本を読んでるんですが、なんかグッと来たので覚えてるうちに書いておこ。読み途中なんだけども・・・。各工程を担当の人間がやるけど開発モデル上、後工程から前工程へフィードバックが無いよね。「ソフトウェアを書き始める時、我々は対象を十分に理解しているわけではない」。メンバ間でフィードバックループ?して、継続的学習を実践しましょと。ウォーターフォールって各工程での分業を前提としてると思うんです。今までの経験上それは割とダメで、設計した人が実装した方がいいし、実装した人がテストした方がいい。一人で全部やるのはダメだと思う。・ドキュメントはコード上の表現を補うものすでにコードが上手くやっていることを、ドキュメントでもやろうとするべきではない。コードはふるまいに関する正確な仕様書。設計ドキュメントとしてのコードにも限界はある。それは理解しやすいということではない。ドキュメントはチームの活動の役に立たなければならず、最新の状態を保たなければならない。全てにおいて、コードを読めって事は自分はダメだと思ってるけど、会社で作ってる仕様書も意味ないと思ってる。確かにコードを補足するものとしてドキュメントを捉えれば、有意義なものが出来そうな気がする。納品とかある場合は無駄なモン作んないとダメなんですけどね。それも給料のウチってやつか。契約時にどうにか出来ないもんか。その時に口出しできればいいんだけども。・プログラマは設計この発想は目から鱗的だった。確かにそう考えるべきですね。上手く説明できないんだけども。「コードを生成する人々がモデルに責任を感じていない場合やアプリケーションのためにモデルを機能させる方法を理解していない場合、そのモデルはソフトウェアと無関係になってしまう」。なんかコレ、身に染みてわかる。・利口なUI最初これ、何言ってんのか分かんなかったけど、いわゆる、MVCでViewにロジック書くんじゃねー的な事ね。確かに利口なUIです。これが必ず悪ってわけじゃなくて、利点と欠点を理解してその場に応じてアプローチする。コレはダメみたいな思考停止すんなと。)2018年06月08日23:50カテゴリプログラムDjangoとApacheとWSGIとWindowsWindows上でDjangoで作ったアプリをApacheからWSGIで呼べるようにする。まーWindowsはいばらの道じゃ。必要な資源をダウンロードしておく。ApacheとかPythonとか。PythonはPIPとVirtualEnvも。1Djangoで適当にアプリを作る。デフォでC:\Apache24みたいになってるところを格納したフォルダのパスに全部変える。WORKS!!って出ればOK。ポート変えてる時はURLは適宜変える。したら、胆のmod_wsgiのインスト。仮想環境上でやってもいいかもだけど、自分は本体(って言い方であってんのかな)の方にインストした。windowsでインストールするやり方は昔はアレコレ大変だったようですが、今は割と楽。調べてて、昔のやり方ではまりそうになったんだけど、mod_wsgiのGitのReadmeにちゃんと書いてあった。一次情報をちゃんと読まないとダメですね。これには大部分が昔のやり方で載ってるんだけど、一番上にここに載ってる事はもうやんなって書いてありましたね。mod_wsgiこれだけ。・・・が、ApacheをC:の直下に展開してないとエラーが出ると言う罠。location.」っていうエラーが出る。C:直下以外にある場合は、この環境変数setしてからじゃないとダメっぽいですね。stackoverflowに質問もあった。いう事で、C:直下以外にある場合は↓の感じ。mod_wsgiで、Apacheには32bit版と64bit版があるんですが、64bit版だとこれでもまだ変なエラーがでる。あきらめて32bit版にしましたとさ。あと、自分のPCにはVisualStudio2017も入ってるんですが、上記のStackOverflow見てると、VisualStudio入ってないとダメそう?mod_wsgiのインストールの中で、コンパイルしてるっぽい?インストール出来たら↓。module-config上記のコマンド実行すると↓感じの設定文字列が出てくるので、これをApacheのhttpd.confにコピペする。"f:/python36"そしたら、あとはDjangoの公式に載ってる設定をhttopd.confに追加しておしまい。最終的にhttpd.confに追記するのは↓。granted</Files></Directory>WSGIPythonHomeはDjangoを使ってる仮想環境のルートを指定するっぽいですよ。これで、WSGIScriptAliasで指定してるURLにアクセスすればDjangoが動くという寸法です。なんだかデフォのままだとトップページが出ないぽいので、「/mysite/admin/」みたいに中のURLまで行かないとダメな感じ?あんま調べてない。まー動いたから良しとしよう。PyMySQL」だけで動くんだけど、Apache通すと動かない。mysqlclient」でインストールしたら動くようになった。最近Vueを使ってるんですが、自分がjQueryに染まってる事が凄く実感できたので、ちょっと書いておく。世の中の人達からしたら当たり前の話なのかもしれませんが、自分には久しぶりのパラダイムシフト的な実感があったので。頭悪くてごめんなさい。端的に言うと、イベント駆動からデータ駆動での作りの頭に切り替えられたという話。ボタン押して表示・非表示を切り替える的なやつ↓。Vueどっちがいいとかそういう事では無く、色々書いてく中で、両者の違いが体で分かってきた。自分、たくさん書いて体で覚えないと腑に落ちてくれない出来の悪い子なもんで。Vueで書いてると、どうしてもjQueryの時みたいに、その場面場面で、イベント発生に対して何かを制御するという発想で考えている事に気付いて愕然としたのです。ダメだとは全然思ってないけど、思考回路がイベント駆動に染まってんなと思いまして。なんでイベント駆動の頭なのか考えてみたときに、データが変わるにしろ、画面が変わるにしろ、何かが変わるっていう事は、何かのイベントが定義されていて、それに反応して動作するっていうロジックがコンピュータの根本的な動作だとイメージしてるからなんだと思う。極論すればコンピュータで動いてる以上、全てはクロックに反応してるわけですし。リアクティブっていう概念が理解できてなかったですね。いうか、リアクティブって究極のイベント駆動ってことなんだなと思った次第でして。全てのアクションに対して即反応するっていう感じみたい。データ駆動はデータの変化をリッスンするサービスみたいなイメージなのかしら。今のとこそういう理解に至りました。