Make組ブログ

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

ロジクールの新作キーボードMX Keys は本当にガチプログラマー向けなのか?

今日はキーボードの話をします。 MX Keysキーボード はい。これが ロジクールMX Keys X800というキーボードです 。つい最近の19年9月27日に販売されはじめたそうです。 パット見の印象は正直派手さのない印象ですが、 クリエイター、プログラマーといったパ…

28歳になりました

やったね!28歳になったよ! 鉄の首飾りを外して、ただ自由にいきたいだけ ファッションモンスター / きゃりーぱみゅぱみゅ open.spotify.com 他におすすめの記事 blog.hirokiky.org

Djangoのマイグレーションで実行される処理(とSQL)を確認する方法

Djangoのマイグレーションで実行される処理(とSQL)を確認する方法を説明します。 先日の記事では「Djangoマイグレーションを無停止で反映する方法」を説明しましたが、そのためにはマイグレーションでどんなSQLが実行されるかが重要になります。 blog.hiro…

DjangoマイグレーションをWebアプリが無停止のまま安全に反映する方法

Djangoはデータベースマイグレーションの機能を持っています。 ですが、 実際、Djangoマイグレーションってどう使うの? という疑問が多いかと思います。 docs.djangoproject.com この記事では、 マイグレーションを稼働中のアプリケーションに、無停止でど…

ブログ記事に書くPythonコードはPEP8を厳密に守るべき?

ブログに書くコードスニペットはPEP8を厳密に守るべきでしょうか。 pep8-ja.readthedocs.io ブログ記事に書くPythonコードはPEP8を気にしすぎなくて良いのでは 僕はブログ記事に書くPythonコードは、PEP8をそこまで気にしないで良いと思っています。 ブログ…

invokeで実行されるコマンドをプロジェクトルートから実行する方法

invoke(pyinvoke)というプロジェクト管理用のツールを使っていたときに出た疑問の解決方法を説明します。 とはいえ、私自身もまだこの方法で良いのか疑問なので、より良い方法を知っている人はぜひ教えてください。 invoke(pyinvoke)とは プロジェクトでの開…

仕事の精度、家政の精度。なぜ核家族の育児は大変なのか

家事、育児の話題続きで申し訳ないです。 今僕が育児休暇中なので考える機会が多いのです。 ですがこういう課題の多い分野ほどビジネスチャンスが大きいと思うので、記録として残しておきます。 仕事の"精度"と家政の"精度"は大きく違う 仕事と家政の違いは…

育児が大変なのは基準や業務の曖昧さからくる?

免責: この記事は個人の戯言です この記事に政治、宗教的な立場はありません。また、何かを他人に訴える文章でもありません。 僕がただ感じたことを書いているだけです。 本文 育児において何が苦労するのか。作業自体の労力もちろんですが、僕は情報の曖昧…

highlight.jsで行ごとに区切りつつハイライトする

highlight.js というコードハイライトをするJavaScriptのライブラリーがあります。 highlightjs.org このライブラリーで、「行ごと」にHTML要素を分割しつつハイライトする方法を説明します。 highilght.jsの基本的な使い方をおさらい highlight.jsは基本的…

8月23日のAWSの大規模障害でMultiAZでもALB(ELB)が特定条件で500エラーを返すことがあったという話

AWS

このブログ記事で 「MultiAZ」にしていたら何事も全て大丈夫という認識を変えられると嬉しいです (当該の時点で障害起こした人はちゃんとMultiAZにしてなかったんでしょ?という人の認識も変えられると嬉しいです)。 MultiAZにしておくことは基本 です。 …

Djangoでdjango-hijack-adminをカスタムユーザーモデルと使うときのハマりポイント

django-hijack-admin とDjangoのカスタムユーザーを併せて使うとき、Adminサイトへの登録でハマるので書いておきます。 django-hijackとは、Admin画面から別ユーザーのセッションを乗っ取れるライブラリーです。 個別のユーザーで問題が発生しているときに状…

Vue.js+VueRouterでページの離脱、再読込、別ルートへの移動時に警告を表示する

ページの離脱時に警告を表示するには、 beforeunload イベントを使えば簡単にできます。 ですが、Vue.jsでVueRouterを使っている場合、ページの移動で beforeunload イベントは発生しません。 理由はブラウザーの画面自体が切り替わっていないからです(ペー…

Vue.jsでAPIにないフィールドはモデルにも作らないプラクティス - モデルとViewModelの区別の仕方

前回の記事はこちらです。先に読まれておくことをオススメします。 blog.hirokiky.org モデルに置く値、ViewModelに置く値の区別をつけよう Vue.jsで開発するときに、モデルに置くべき値とViewModelに置くべき値を区別できればかなりキレイに設計できます。 …

ここ1年以上同じ服を着たので服装まとめ

クローゼットの中 この1年半ほど、自分の服装を固定化しています。 平たく言うと、毎日同じものを着るということです。 ミニマリストしぶ という人に影響を受けてやり始めたんですが、、意外とかなり快適で長いこと続いています。 極端に全く同じというわけ…

JavaScript (ES6) でAPIから受け取ったデータをモデルに入れるプラクティス

フロントエンドのJavaScriptで、バックエンドのAPIからの結果をモデルに入れるプラクティスについてまとめます (より良い方法があったら教えてください)。 まず、以下のようなレスポンスがAPIからあると想定します。 { "id": 1, "username": "hirokiky", "…

なぜ「やりたいことが見つからない」のか?単に「見つけ方」を知らないから

ちょっと、大きなテーマを扱います (大げさな話しなので間違いがあれば教えてください)。 「やりたいことが見つからない」 「自分は何をやっても中途半端になる」 「好きなことも、すぐに飽きてしまう。楽しくなくなる」 そういった悩みは、僕を含めて、多…

雑談: (昔の僕の)非モテの僻みは、たまに優しいヤンキーと同じ思想だった?

僕は高専卒のわりと非モテ系な人間なので、学生のころは「外見ばかりで判断しやがって中身が大事なんだ」とよく思っていた。 でも、そうやって「外見は汚くても自分の心はキレイだ」という思想は、「たまに優しいと全肯定されるヤンキー」の存在を良しとして…

忙しいのに仕事が進まないのは、仕事に八方美人をしてるから - 仕事は人格を持っているという話

仕事には人格がある。八方美人をやめよう 「大した成果をあげられてないのに、なぜか忙しい一日だった」 「忙しく頑張っているのに、なぜか優先度を考えろと怒られる」 こう思ったことはありませんか?仕事を終わったあとにそう感じてしまう理由は、仕事に八…

雑談: 飯担当大臣、夕飯をハックする

最近、嫁さんがある事情で家事が一切できなくなってしまいました。 そこで僕が夕飯を作るのですが、せっかくなのでその記録を残しておこうと思います。 楽で、うまくて、栄養バランスの良い飯を考える 正直料理や家事に時間はかけたくないので、栄養バランス…

雑談: 子供のころの僕の変な言動

子供の頃、おさるのジョージという絵本を読んでいました。 今日話すのは「ひとまねこざる」というタイトルの本と、それを読んだ幼少期の私の変な言動の話をします。 (ふと思い出したから書きたくなっただけです)。 じてんしゃにのるひとまねこざる (岩波の…

卑下すると自分にも他人にも良くないんじゃないかという考え

「悪く言っても、自分のことだから良いだろ」と言えばそうです。 でも僕は卑下することはすごく損失が大きいことだと思っています。 ここで言う卑下は、何かあるたびに自分(や自分の周りの人やもの)を悪く言う、癖みたいなもののことです。 卑下 自分をあ…

Djangoのcacheのキーには必ず文字列を指定しよう

Djangoのキャッシュ(cache)にはキーを文字列として指定しましょう。 >>> from django.core.cache import cache >>> cache.get("mykey") # OK >>> cache.get("1") # OK >>> cache.get(1) # よくない キャッシュバックエンドの実装によっては数値でも指定で…

仕事を人に任せられず忙殺されてる人へ: 小さな組織向け業務設計の方法

こんな悩みはありませんか? なぜか忙しくてメインの仕事が進まない 人に任せられない仕事を常に抱えている 人に任せたは良いがうまくいかない 私はあります。日々仕事をする中で悩んでいます。その中で実践して、見つけたことを今日はお話します(まだまだ…

ウィーンモダン展に行ってきたWebアプリ開発者の感想

今日は、総合的な芸術、そして人の集まりというものの大切さを感じました。 ウィーンモダン展というものに先ほど行ってきましたのでその感想です。 artexhibition.jp 展示会として、行くべき? 個人的な感想の前に答えておきます。 今この記事を読んでくれて…

Slackで「お節介しちゃうチャンネル」が増えすぎて疲れてませんか?ROM専力を鍛えよう

仕事用のSlackで時間と集中が奪われすぎていないでしょうか。 Slackは相当優秀なコミュニケーションツールですが、あまり反射的に使っているとSNS疲れのような状態になってしまいます。僕は「お節介しちゃうチャンネル」が増えすぎると疲れて良くないと最近…

もうPythonの細かい書き方で議論しない。blackで自動フォーマットしよう

「ここで改行するほうがキレイで良いと思います」 『いや、私はこちらのほうがキレイ良いと思います』 コードレビューでこういう議論をしたことはありませんか? 大切なことだとは思いますが、生産性にはあまり直結しません。議論を避けるために書き方を決め…

DjangoCongress JP 2019を主催したよという話

DjangoCongress JP 2019というイベントを主催しました。 2018年もDjangoCongress JP 2018 を主催しましたが、今年も主催しました。 全員であわせて130人くらいが参加するイベントになりました。 「130人にもなるとやっぱ人多いなぁ」 と、集合写真を撮ってい…

雑談: YouTubeの話題を共有できなくて寂しいのでオススメのYouTuberを共有したい会

ブログを読まなくなって久しいhirokikyです。 最近はYouTubeばかり観ています。Twitterのみる頻度が減って「話題」についていけて無い寂しさを感じる今日この頃です。 そこで オススメのYouTuberを紹介して僕の友達にも観てもらおう という記事です。 そして…

雑談: 約束の時間に早く行き過ぎる病

僕は待ち合わせというのがすごく苦手です。何なら、先に予定が入っていると不安になります。 楽しい飲み会でも、「1週間後にこの時間で」となると、その間の時間ソワソワしてしまって急激にテンションが下がります(予定が始まればすごく楽しい)。 それで、…

PythonでValueError: I/O operation on closed fileを避けるためにwith open() return せずにコンテキストマネージャーにする

Pythonでファイルを with open してファイルを読む前に return しちゃうとファイルがクローズしてしまいます。 ValueError: I/O operation on closed file エラーが発生します。 def load(): with open(...) as f: return csv.reader(f) >>> for row in load…