2018-01-01から1年間の記事一覧
最近Pythonの非同期処理、asyncioを使ったプログラムを書いています。 今までは非同期だとNode.jsを使っていたんですが、aiohttpや周辺ライブラリーが揃ってきたようなので使っています。 Node.jsの場合、Streamは stream.pipe(other_stream) のようにPipeで…
ふとこの前プログラミングを教えているときに言われたことです。 「プログラミングをしていると『イライラ』してしまうんですが。。」 「プログラミングをしてイライラしてしまう自分はプログラミングが向いてないんじゃないか」とか、「良くないことなのか…
DjangoGirls Tokyo #4 でコーチをしてきました。 私がコーチをするのは 第1回目 以来です。 djangogirls.org 進め方としては、 Django Girls Tutorial というチュートリアルを参加者の方が進めて学んで、コーチがサポートします。 このチュートリアルはかな…
mypy使っていますか?私は最近プロジェクトにも入れて使っています。 ですが typing.Tuple の扱いがうまく分かっていなくて、こんなプログラムを書いていました。 # 悪い例 import typing my_tuple: typing.Tuple[str] = () my_tuple = ('mymodule.myfunc', …
今日で27歳になりました 人生とか語り出すなんて、 Break out! 五億年先でいい 「BREAK OUT!」 相川七瀬 より NANASE AIKAWA BEST ALBUM "ROCK or DIE"アーティスト: 相川七瀬出版社/メーカー: motorod発売日: 2013/09/04メディア: MP3 ダウンロードこの商…
何かを作りたいときは、エディターをいきなり起動してはいけません。 エディターを閉じて、まずはイメージをまとめることに集中しましょう。 なぜこの文章が必要か なぜ何かを作る前にイメージをまとめる必要があるのでしょうか? 頭の中には完璧な作りたい…
先日、匠メソッドをCacooで書くととても良いという話をしました。 匠メソッドについてや、Cacooで使うメリットは以下を読んでください。 blog.hirokiky.org そこで PyQ チームでもCacooを使って匠メソッドをしてみることにしました (もともと、開発当初から…
何かを開発するとき、いきなりエディターを立ち上げていませんか? 製品、サービスを作るときは要求、要件を分析してまとめてから作るのがオススメです。 そんなときに匠メソッドという要求開発の手法を、僕個人も BeProud の仕事でも使っています。 匠Metho…
前の記事ではWSGIアプリケーションをWSGIサーバー(gunicorn)で起動する方法を説明しました。 ここではgunicornを使って、Python製WebフレームワークでできたWebアプリケーションを起動しましょう。 blog.hirokiky.org なぜgunicornなどのWSGIサーバーを使…
emacs(Spacemacs)+ vueファイルをずっと模索している。 というのもjs2-modeがmmm-modeに対応しないので、JSを書くときにjs-modeで不便だったりする。 web-modeを使っても似たようなものなので、なんとかしたいこの頃。 模索中の設定 .spacemacs に以下追加…
アイコンフォントを使って li 要素の list-style をカッコよくします。 li要素の list-style でアイコンフォントを一覧の頭に表示するには、以下のように擬似要素を使ってできます。 この例では Material Icons アイコンフォントを使っています。 ul { list-…
まえがき このブログ記事は、ある大きなドキュメントの一部のために書いています。 WSGIを説明している記事やドキュメント、本はたくさんあるので、このブログ記事で新しく説明されることはありません。 本文 PythonのWebアプリケーションは WSGI という仕様…
今日は、このツイートが良い疑問を投げてるなぁと思ったので、僕の考えをまとめました。 RPG宿屋いらないんじゃ説。街に行くたびに必ず使うインフラかつ、宿泊そのものにゲームとしての価値要素がない。毎回ルーチンワークになるならば、街に帰還したら自動…
あなたが何かを作るとき、どういうイメージでものを作っていますか? 日経なんかを読んでいるとスタートアップが買収されたとか不祥事をおこしたとか事業撤退、転換したという話を毎日読めます (僕は日経とかそういうニュースは好きで読んでいます)。 そう…
photos.google.com Start Python Club主催のPython Global Meetupというイベントで登壇しました。 https://photos.google.com/share/AF1QipPtD1KElDUYuK8aRbWrmA0YgMoEUiI9xdPiZlzJg1_jEbpi8VQRuQ5r7e-W8CdxjA?key=eEJsSUVZWExaZXExY0tJN21vYXd1UTZZMWtvckpR…
2018年8月25日にリリースされたCodeMirrorの5.40.0から、検索ダイアログなどのUIを日本語化できるようになりました。 New features New method phrase and option phrases to make translating UI text in addons easier. github.com 何が嬉しいのか CodeMir…
DjangoRestFrameworkのSerializer(ModelSerializer)で、フィールドの値を関数/メソッドの結果で返したいことがあります。 これはバリデーションとしてSerializerを使うのでなく、モデルから辞書に値を変換したい場合の話です。 例えば、フィールドの日時が…
Ansibleでファイルが存在しているかによって処理を分けたいことがあります。 そんなときは stat を使うとできますが、対象のファイルが数GB単位で大きいと処理が遅くなります。 下の例ではファイルが存在しないときだけ実行するタスクを書いています。 - nam…
Ubuntu18.04でDocker (17) を動かすとホストのDNSの設定を使わずに 8.8.8.8 を使ってしまう問題がありました。 何が困るかというと、AWSで動かしている場合ローカルのDNSを使わずにパブリックIPを引いてしまうとSecurityGroupの許可設定が効かないことです。…
注意書き 以下の本文は情報だけを伝えようと書いています。 この文章は個人や企業を評価する意図はありません。 本文 pay.jp で定期課金のプランを契約期間中に変更すると、変更前のプランの料金で決済される不具合に当たりました。 この不具合は現在(2018/…
www.kickstarter.com クラウドファンディングは支援(バック)するときが気持ちとして最高潮なんじゃないかなって思ったという話です。 僕はクラウドファンディングが好きでKickstarterで色々眺めたり支援したりしています。 PebbleTime、PebbleTime2、HighP…
Ubuntu18.04を使っていてIMEの切り替えがどうにも遅い気がした。 ほんの0.5秒程度もたくつ気がするレベルなんだけど、HTMLとか書いていると頻繁に英語と日本語の入力を切り替えるのでかなりストレスになっていた。 原因は分からないけど、とりあえずibusから…
僕はツールとかプロセスじゃない、人とか中身とか文化とか空気感みたいなのが大事だと思っている。 自分自身、エンジニアというか、ステレオタイプのThe工学の人間的な発想じゃないのは思ってる。 まず最初に。開発メソッドとかツール、プロセスっていうのは…
こんなノートパソコンが欲しい人にオススメしたい Intel Core i7 第8世代(Kaby Lake Refresh)4コア メモリー16GB 13インチ Full HD 重さ1kg USB-C給電 Ubuntuがインストールできた キーボードが悪くない ASUS ZenBook Flip Sをオススメしたい ASUS ZenBook…
Djangoのモデルから親のモデルを取ると(select_relatedなどしていないと)1クエリー実行されてしまいます。 以下のように、親のさらに親を取ろうとすると2クエリー実行されます。 me.parent.parent me.parent の時点で1クエリー実行されて、 parent.parent …
動的にフォームの choices の値を作りたい場合など、フォームの内容のためにクエリーすることはよくあると思います。 でも、フィールドの __init__ でクエリーしてしまうコードを書くとインポート時に実行されてしまうので注意が必要です。 ダメな例 class F…
Ubuntu 18.04 を Windows 10 とデュアルブートしようと設定しているときに grub-efi-amd64-signedパッケージを/target/にインストールするのに失敗しました というエレーが発生してインストールできなかった。 2018-07-17時点での話。 解決した方法 Wifiを設…
ORMってファイルが入ると途端にめんどくさくなるよね。 まして単体テストで都度物理的なファイルを扱ったりするのはもうめんどくさすぎます。 でも factory-boy を使えばDjangoのFileFieldやImageFieldも楽に使えます。 バージョン factory-boy==2.11.1 でや…
Packer が好きで使ってます。 AWSのAMIをビルドするために使ってるんですが、そこであった話。 構成 デプロイ用のインスタンスから packer build してAMIを作る。 PackerBuilderには既存のSecurityGroup(セキュリティグループ)を指定する PackerBuilderはP…
キーの上下とかをC-p、C-nとかでやりたいですよね。 gsettings set org.gnome.desktop.interface gtk-key-theme Emacs https://askubuntu.com/questions/181532/emacs-keybindings-in-ubuntu-12-04 ブラウザー側のキーバインドは解除しとかないと、そっち優…