エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

Enumとてもつらい、でも負けない

列挙型、JavaでいうならEnum型、使っていますか。使わないわけにいきませんよね。 でも、Enumを使っていたせいで辛い目にあったことありませんか。ないですか。それならきっともうすぐに辛い目にあうと思います。 Enumはすべてのプログラマに等しく辛みを与…

9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか

私は日付時刻の処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日…

テーブルを一個追加するたびにGRANT文書かないといけないの、やめられます

WebシステムがPostgreSQLにアクセスするときのDBロールはどうしていますか? postgres みたいな全能ロールをそのまま使う⋯⋯ でも動くシステムにはできるんですが、仮にアプリサーバ側の脆弱性を突かれたときに即DBの全権限まで危険にさらされる構成はインタ…

ひな形からコードを書くときのコミット流儀

ひな形ファイルを微変更してコード追加したというフィーチャーブランチは、変更部分はわずかなのにレビュアーには変更部分の確認がしづらく辛いもの。それをレビューしやすくするコミットの小技

令和最新版エンジニアのリーダーシップ論

フラットな組織のエムスリーで人々はどう組織として一緒に働いている? それは、「相互にリーダーシップを及ぼしあっている」のだと言えます。相互に及ぼしあうとはどういうことか、実例を紹介することで説明を試みます。

アーキテクチャと設計は全然違う⋯ただしあなたの想像する”違い”とは多分全然違う【輪読会発表紹介】

「ソフトウェアアーキテクチャの基礎」第2章の輪読会資料をご紹介。アーキテクチャと設計の違いを思考法の違いから説明していきます。

【Tech Talk動画紹介】ローマ字限界カスタマイズ

ローマ字テーブルをカスタマイズして日本語入力を効率化しようというLT動画を紹介します。

こんばんは、X-Forwarded-For警察です

エムスリーエンジニアリンググループ製薬企業向けプラットフォームチームの三浦 (@yuba)です。普段はサービス開発やバッチ処理開発をメインにやっておりますが、チームSREに参加してからはこれに加えて担当サービスのインフラ管理、そしてクラウド移行に携わ…

18分59秒をめぐって日本標準時の歴史をひもとくことに

この記事は エムスリー Advent Calendar 2018 12日目の記事です。 こんにちは。エムスリー エンジニアリンググループの三浦(@yuba)です。基盤開発チームというところで各サービスチーム共用のシステムの開発保守に携わっており、そこで見つけた面白い動作を…