Make組ブログ

Python、Webサービスや製品開発、ライブラリー開発についてhirokikyが書きます

#stapy Pythonのコア開発者のパネルディスカッションでモデレーターをしました

photos.google.com Start Python Club主催のPython Global Meetupというイベントで登壇しました。 https://photos.google.com/share/AF1QipPtD1KElDUYuK8aRbWrmA0YgMoEUiI9xdPiZlzJg1_jEbpi8VQRuQ5r7e-W8CdxjA?key=eEJsSUVZWExaZXExY0tJN21vYXd1UTZZMWtvckpR…

CodeMirrorでphrasesオプションを使ってUIを日本語化できるようになったという話

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から関数/メソッドの結果をフィールドの値として返す

DjangoRestFrameworkのSerializer(ModelSerializer)で、フィールドの値を関数/メソッドの結果で返したいことがあります。 これはバリデーションとしてSerializerを使うのでなく、モデルから辞書に値を変換したい場合の話です。 例えば、フィールドの日時が…

Ansibleでファイルの存在確認にstatを使ったら大きいファイルには動作が遅すぎたのでやったこと

Ansibleでファイルが存在しているかによって処理を分けたいことがあります。 そんなときは stat を使うとできますが、対象のファイルが数GB単位で大きいと処理が遅くなります。 下の例ではファイルが存在しないときだけ実行するタスクを書いています。 - nam…

Ubuntu18.04でDockerのDNS解決がホストのDNSにならない問題の話

Ubuntu18.04でDocker (17) を動かすとホストのDNSの設定を使わずに 8.8.8.8 を使ってしまう問題がありました。 何が困るかというと、AWSで動かしている場合ローカルのDNSを使わずにパブリックIPを引いてしまうとSecurityGroupの許可設定が効かないことです。…

pay.jpでプランを変更すると変更前のプランの金額で決済される不具合(修正済み)に当たった

注意書き 以下の本文は情報だけを伝えようと書いています。 この文章は個人や企業を評価する意図はありません。 本文 pay.jp で定期課金のプランを契約期間中に変更すると、変更前のプランの料金で決済される不具合に当たりました。 この不具合は現在(2018/…

クラウドファンディングは支援(バック)するときが気持ちの最高潮なのかなと思った

www.kickstarter.com クラウドファンディングは支援(バック)するときが気持ちとして最高潮なんじゃないかなって思ったという話です。 僕はクラウドファンディングが好きでKickstarterで色々眺めたり支援したりしています。 PebbleTime、PebbleTime2、HighP…

Ubuntu18.04でIMEの切り替えが遅い気がしたのでibusからfcitxに変えた

Ubuntu18.04を使っていてIMEの切り替えがどうにも遅い気がした。 ほんの0.5秒程度もたくつ気がするレベルなんだけど、HTMLとか書いていると頻繁に英語と日本語の入力を切り替えるのでかなりストレスになっていた。 原因は分からないけど、とりあえずibusから…

ツールやプロセスやメソッドも大事だけど、人や中身や見えない文化も大事だと思っている

僕はツールとかプロセスじゃない、人とか中身とか文化とか空気感みたいなのが大事だと思っている。 自分自身、エンジニアというか、ステレオタイプのThe工学の人間的な発想じゃないのは思ってる。 まず最初に。開発メソッドとかツール、プロセスっていうのは…

軽いi7のノートパソコンにUbuntu入れたいならASUS ZenBook Flip S をオススメしたい

こんなノートパソコンが欲しい人にオススメしたい Intel Core i7 第8世代(Kaby Lake Refresh)4コア メモリー16GB 13インチ Full HD 重さ1kg USB-C給電 Ubuntuがインストールできた キーボードが悪くない ASUS ZenBook Flip Sをオススメしたい ASUS ZenBook…

Djangoで親の親のモデルを1クエリーで取る

Djangoのモデルから親のモデルを取ると(select_relatedなどしていないと)1クエリー実行されてしまいます。 以下のように、親のさらに親を取ろうとすると2クエリー実行されます。 me.parent.parent me.parent の時点で1クエリー実行されて、 parent.parent …

DjangoのField.__init__ でクエリーしてはいけない

動的にフォームの choices の値を作りたい場合など、フォームの内容のためにクエリーすることはよくあると思います。 でも、フィールドの __init__ でクエリーしてしまうコードを書くとインポート時に実行されてしまうので注意が必要です。 ダメな例 class F…

Ubuntu 18.04 をインストールして「grub-efi-amd64-signedパッケージを/target/にインストールするのに失敗しました」で落ちる

Ubuntu 18.04 を Windows 10 とデュアルブートしようと設定しているときに grub-efi-amd64-signedパッケージを/target/にインストールするのに失敗しました というエレーが発生してインストールできなかった。 2018-07-17時点での話。 解決した方法 Wifiを設…

factory-boyとDjangoでテストを書くときにファイルをうまく使う

ORMってファイルが入ると途端にめんどくさくなるよね。 まして単体テストで都度物理的なファイルを扱ったりするのはもうめんどくさすぎます。 でも factory-boy を使えばDjangoのFileFieldやImageFieldも楽に使えます。 バージョン factory-boy==2.11.1 でや…

AWS上のデプロイ用インスタンスからPackerでAMIビルドしたらPackerBuilderにSSHできない問題を解決した話

Packer が好きで使ってます。 AWSのAMIをビルドするために使ってるんですが、そこであった話。 構成 デプロイ用のインスタンスから packer build してAMIを作る。 PackerBuilderには既存のSecurityGroup(セキュリティグループ)を指定する PackerBuilderはP…

GNOMEでEmacsキーバインド風にする

キーの上下とかを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 ブラウザー側のキーバインドは解除しとかないと、そっち優…

自宅の開発環境(オフィス)を整備した話、机とかキーボードとか

自宅の開発環境を整備したので、そのお話をします。 わりと個人的な話ですが、買った机などは読んだ人が買うときの参考になれば嬉しいです。

DjangoCongressの参加ブログがどれも良いのでまとめておきたい #djangocongress

先日のDjangoCongress JP 2018の参加ブログが続々公開されてて読んでいて楽しい。 どの記事も面白いのでザックリとだけどまとめておいた。あとでdjango-jaのもっと公式的な場所に書き写すかもしんない。 djangocongress.jp ありがとう。ありがとう。 読みた…

DjangoCongress JP 2018ってイベントを開催した話

2018年5月19日に、DjangoCongress JP 2018というイベントを開催しました。 djangocongress.jp これはWebフレームワーク Django のカンファレンスです。 参加者は全部で100人ほど、発表者12人、スタッフ(合計で)15人ほどのイベントでした。 めちゃくちゃ楽…

Webpack (v4) で複数のJavaScriptファイル、CSSファイルを分けてビルドする

webpackは便利ですが設定などは慣れが必要です。 僕は面倒なので、毎度自分の過去のプロジェクトからコピーして使っています。 その内容から抜粋してブログの記事にしています。 想定としてはSinglePageApplicationとしてはアプリを作らずに、フレームワーク…

会話の深さと人数、コミュニケーションが苦手とは何か

会話の深さと、その会話ができる人数規模、一度に集まったときにどの深さまで話せるかと考えてみました。 たとえばコミュニティの集まりや飲み会、ビジネス上の会話や友人との会話、または配偶者の会話をする中で考えていたことです。 免責 この内容は誰かを…

Ubuntu17.10 (Wayland環境) でLogitech Marble Mouseでスクロールする

右の小さいボタンをスクロールにする場合はターミナルで以下を実行。 gsettings set org.gnome.desktop.peripherals.trackball scroll-wheel-emulation-button 9 17.10: Mouse Wheel Emulation Fails after upgrade X周りの設定はうまく効かなかった。 Logit…

Ansibleのdocker.ubuntuロールでdaemon.jsonを設定する(storage-driverとstorage-optを指定する)

AnsibleからDockerを入れる必要があるとき、Docker用のロールを使うと簡単にDocker環境を作れます。 GitHub - angstwad/docker.ubuntu: Docker role for Ansible on Ubuntu 14.04+ この angstwad/docker.ubuntu ロールでは変数を設定するだけでDocker環境の…

最近作ったものが誇らしいのと、いい加減な仕事をしないのはなぜ大事か感じた話

僕は最近、なぜ良いものを作らないといけないのか、いい加減なものを作ってはいけないかを体験したのでその話をします。 まぁ、今日はたわいない雑文なのでリラックスしてほしいです。例によって色々な立場や考え方、思想には配慮して書いてるけど、至らぬと…

オープンソースに貢献する第一歩は?

オープンソースに貢献するというと難しそうなイメージがあります。 僕も昔、 How to become a hacker を読んで感動してOSSに興味を強く持ったのですが、 オープンソースに還元するというのは難しいことのように思えました。 とくにGitHubもない(今ほど普及…

どうでもよいストレスとどうでもよくないストレス

この記事はあくまで id:hirokiky が自分の考えを書くものであって誰かの権利や自由を損害するものではありません。 表現には十分配慮しておりますが、至らぬとこがあればコメントでご報告ください。 本文 最近、会社でメンタルケア研修を受けています。これ…

スクリプトやバッチ処理、システム間連携をするときの観点

僕がシステムを作るときに観点としていることのメモです。 自分で作ったり、お客様とやり取りする際に、このあたりに気をつけて見ているという話です。 このネタは 執筆のために書いていたプロットのボツネタなので内容は精査できていません 。 与太話として…

Altair8800とFord T型、今はまだ成熟していない、という話

(この話は僕の個人的なエッセーなので、話の深さや確かさは追い求めないでください。 90、00年ごろに書かれた、よくあるプログラマーエッセーみたいなものだと思ってください) 本文 僕の心には、どうしても「諦める理由」を探してしまうクセがあります。 …

coincheckから580億円相当のNEMが盗まれた騒動と会見について僕の考え、僕の被害状況などのまとめ

id:hirokiky です。 正直、今回のような時事ネタはブログやTwitterではあまり書かないようにしているんですが、 さすがに今回は書いておこうと思います。 なぜか。 理由は僕自身がcoincheck (コインチェック)を2016年ごろから使ってきたことが大きいです。…

S3で302リダイレクトをする(301リダイレクトでなく)

AWS

AWSのS3でリダイレクトの設定ができます。 例えば https://hirokiky.org/ 以下へのアクセスをすべて https://blog.hirokiky.org/ にリダイレクトするなどです。 簡単な設定(301リダイレクト) S3の親切な設定を使うと簡単に設定できるのですが、 301リダイ…