2018-01-01から1年間の記事一覧
デフォルトのLogging設定だと 実行時エラーが起こった時に、 Debug=Trueの場合: ブラウザ上にエラーメッセージとスタックトレースが表示される。 Debug=Falseの場合: ブラウザ上にはnginxのstatusコードのみ。 となっていて、本番環境でエラーが起こった場…
2017年末、2018年はアウトプットを増やそうと決めた。 主にはブログによるアウトプットになったが一応1年以上継続できている。 ブログの内容を元に、今年一年行ってきたことを振り返ってみる。 英語 「どんどん話すための瞬間英作文トレーニング」がよかった…
サンプル用コードを用意 git clone https://github.com/mixmaru/django_nginx_uwsgi_environment.git PyCharmで開く。 インタプリタの設定 Preferences->Project Interpreter画面の Project Interpreter項目でaddを押す 開いた画面の左側メニューから「Docke…
SQLアンチパターン:EAV(エンティティ・アトリビュート・バリュー) - やる気がストロングZERO ↑ここで書いた事と同内容。 例えばペットの種類によって保存したい内容が異なる場合 例) 犬:名前、鳴き声、リードの色、小屋の色 猫:名前、鳴き声、毛色、し…
巨大な変更はしんどい 一気にドカンと巨大な変更を投げるとレビュアーがつらい。 変更内容も複合的になっていて、全体像を理解するだけで疲れてしまう。 下手をするとまともに見てもらえない。 最終段階でレビューに出した場合、このタイミングで初めて出て…
EC2上で[docker-compose up]一発でDjango webアプリが動作するところまでセッテイングした。 手順 aws ec2インスタンスを作成する ・セキュリティーグループでhttpとsshを開くように設定する ・sshでログイン。ユーザー名がec2-userであることに注意 ・sudo …
awk使うのがたまになので、いざ使うときにわすれているのでまとめておく。 参考図書: シェルプログラミング実用テクニック作者: 上田隆一出版社/メーカー: 技術評論社発売日: 2015/05/15メディア: Kindle版この商品を含むブログを見る 変数 NF:各行の列数 …
SQLアンチパターンを読んだ。とても良かったです。 SQLアンチパターン作者: Bill Karwin,和田卓人,和田省二,児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型本購入: 9人 クリック: 698回この商品を含むブログ (46件) を見る 「S…
ここを見た。自分なりにざっくりまとめる。 普及が進む「HTTP/2」の仕組みとメリットとは | さくらのナレッジ HTTP/1.1での問題点 平行ダウンロードできる数が少ないので、必要となるファイルが多い場合にそこがボトルネックになりやすい。 HTTP/2の機能を使…
とあるきっかけで競技プログラミング的なものにトライしてみて、TDDをせず痛い目を見たので書いてみる。 トライ1回目 テストコードを書くのをすっとばす 普段ならテスト駆動開発を行っているので、まずテストを書くのだが、 競技中は制限時間を強く意識して…
例えば「ユーザー名」など重複を許さない項目はDBへ登録クエリを投げる前にバリデーションで重複チェックするが、普通にやっていると「重複チェックをパスしたのに、DB登録実行時点では重複が発生している」となるケースが存在する。 「重複チェック」と「DB…
Nginx -> uWSGI -> Djangoで動作するDocker Imageを作った github.com ↓ここでいう、webサーバーに当たる部分が出来た感じ。 (引き続きDB環境も含めるようにしていく予定。) Django webアプリのDockerを使った本番環境、開発環境の構成を考える - やる気が…
$ pipenv lock でエラーが出るようになった。 pipenvのバージョンは2018.4 ※以前は出てなかったのでmacのupdateが問題だった? TypeError: 'module' object is not callable issueが上がっていた。 github.com 修正されたようなのでpipenvを2018.10にアップ…
Djangoを動かすのには nginx -> uWSGI -> Django という感じの構成にするのが良いっぽい。 uWSGIの使い方について調べたのでまとめる。 ここの荒い翻訳になっている。 Quickstart for Python/WSGI applications — uWSGI 2.0 documentation インストール pip …
しばらくDockerで遊んでみて実感したDockerを使うメリットをまとめてみる。 環境を汚さない 開発マシンにいろいろミドルウェアを入れていくと、把握していない依存ライブラリがいろいろインストールされていって精神衛生上よくない。依存ライブラリ周りで問…
Django webアプリのDockerを使った本番環境、開発環境の構成を考え中。 本番環境はawsのEC2インスタンス1つにDockerを使ってすべてをまかなうものとする。 (本当はDBはRDSを使うべきだと思うけど、Dockerの勉強を兼ねているので、、) 現状の案をまとめる。…
※Phthon3 Phthonには内包表記ってのがあって、これを使うとリスト等のコレクションの各要素を使って新しいコレクションを作るのを1行で書ける。 内包表記を使わなくても、forを使えばできることなのでなかなか覚えなかったが、 そろそろ覚えようと思ったので…
「テスト駆動開発」を読み終えて、初めてのテスト駆動開発で開発を行ってみた。 テスト駆動開発作者: Kent Beck,和田卓人出版社/メーカー: オーム社発売日: 2017/10/14メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 作ったのは「twitt…
工数見積のテクニックについていろいろ知見がたまったのでまとめておく。 工数見積の難しさ 工数見積は難しいが、それはそもそも着手前に正確に工数を見積もる事が不可能だから。 「不確実性のコーン」の話の通り、未知の問題を前もって考慮することなどでき…
自作したpythonのパッケージのスクリプトをターミナルから実行しようとしたらimportでコケていた。 パッケージ内容 └── my_package ├── __init__.py ├── main.py └── people.py main.py from .people import People man = People() man.say_hello() people.p…
AWSでEC2インスタンスを立てて何かしようと思った時に、EC2やELBやRDS以外のその他の周辺の設定(VPCとかルートテーブルとか)に関しても、いろいろと理解しとかないといけないことがある。 それらについて記載する。 VPC AWS内の仮想プライベートネットワー…
やりたかったこと IDが重複しないことを確認してから、DBにレコードを追加したかった。(IDの自動インクリメントは使わないものとする) ユニーク制約があるので、重複登録しようとしてもエラーになるのだが、 予めチェックしてエラーにならないようにしたか…
Dockerを使ったサービス構築は aws ECSのほうがいろいろ便利そうだけど、 とりあえず基本を理解するためにEC2インスタンスを立てて、 Dockerをインストールしnginxイメージでコンテナを作成しブラウザからのアクセスできることを確認してみた。 EC2インスタ…
「シェルコマンドを使いこなせたらいろいろ便利なんだろうなあ」というイメージがあった。 この本(シェルプログラミング実用テクニック)を読んで勉強してみた。 シェルプログラミング実用テクニック (Software Design plus)作者: 上田隆一,USP研究所出版社…
「Dockerでなんかいろいろ便利になる」ってイメージだったので自分の開発にDockerを導入た。 やっとDockerの便利になるポイントが見えてきたのでまとめる。※追記 開発環境の構築というよりもテスト環境の構築というほうが正しかったのでタイトルも訂正した。…
普段プログラムを書いていてもバイト列を意識しないといけないことがあまり無いので、バイト列に対する感覚がイマイチだった。 「大規模サービス技術入門」の中に「圧縮アルゴリズムを書いてみる」という内容があり、pythonで実際に書いてみたら意図せず定着…
herokuデプロイに必要で雰囲気で使っていたが、 ちょっと調べたのでまとめておく。pipenv バージョン 2018.7.1 PipfileとPipfile.lockの違い Pipfileはどういうパッケージをどのバージョンで入れたいかを指定するファイルで、 実際に入ったパッケージの詳細…
読んだ。 テスト駆動開発 作者: Kent Beck,和田卓人 出版社/メーカー: オーム社 発売日: 2017/10/14 メディア: 単行本(ソフトカバー) この商品を含むブログ (1件) を見る ずっとテスト駆動開発をやってみたかったが個人でも業務でも出来ていなかった。理由…
djangoで datetime.datetime.now() で取得したdatetimeオブジェクトを使ってDBに値を保存しようとしたら 以下のwarningがでた。RuntimeWarning: DateTimeField ItemList.created received a naive datetime (2018-06-30 15:27:40.224351) while time zone su…
マイクロソフト キーボード マウスセット ワイヤレス/セキュリティ(暗号化機能搭載) Sculpt Ergonomic Desktop AES L5V-00030 出版社/メーカー: マイクロソフト 発売日: 2015/12/11 メディア: Personal Computers この商品を含むブログを見る 購入に至った理…