2020-01-01から1年間の記事一覧

リモート環境下におけるスクラムイベントのちょっとした工夫 #リモートワーク #scrum #スクラム

これは コネヒト Advent Calendar 2020 5日目 の記事です。 はじめに コロナの影響もあり、現在は在宅勤務が中心になっています。 コネヒトの開発チームはスクラムを採用していますが、スクラムイベントもリモートで行うようになりました。 この記事ではリモ…

「入門監視」を読んだ

入門監視を読んだ 入門 監視 ―モダンなモニタリングのためのデザインパターン作者:Mike Julian発売日: 2019/01/17メディア: 単行本(ソフトカバー) 最近仕事で、アプリケーションのアラート周りの整理をしている。 一緒にやってる同僚がこの本の読書会を社…

Web API の JSON レスポンス等で、null を返すのかプロパティごと削除するのか

概要 表題の通りの疑問なのですが、個人的な結論は出ていないです。 返しても意味がないなら消してよいのではという意見 まぁそうだよねぇ、という気がする。 softwareengineering.stackexchange.com required と nullable は同様に扱おうという意見 クライ…

AWS CLI v2 の Docker イメージで JSON が Parse Error になる #AWS #Docker

概要 AWS CLI を Docker Image 使って利用してみたのだが、出力に jq を噛ませたところ parse エラーになった。 出力に制御文字が入り込んでいるみたい? tty オプションを外してみたら解消された。 動作環境 Mac OS 10.15.5 Docker for Mac Docker version …

GAS (Google App Script) の Moment.js の出どころを調べる #gas

gas

概要 GAS でも Moment.js が使えるらしいが、どこもプロジェクトキーを書いてあるだけだったりして、出どころがよく分からない。 そもそもプロジェクトキーはサポートが終了したようなので、スクリプトIDを知りたい。 Moment.js の公式サイトや GitHub リポ…

「SCRUM BOOT CAMP THE BOOK」にコラムを書きました (そして旧版の思い出) #scrumbcbook #devsumi

SCRUM BOOT CAMP THE BOOK【増補改訂版】 スクラムチームではじめるアジャイル開発作者:西村 直人,永瀬 美穂,吉羽 龍太郎発売日: 2020/05/20メディア: Kindle版 5/20 に SCRUM BOOT CAMP THE BOOK の増補改訂版が発売されました。 学習と成長を促進する Scru…

「みんなの Java 」を読んだ

みんなのJava OpenJDKから始まる大変革期!作者:きしだ なおき,吉田 真也,山田 貴裕,蓮沼 賢志,阪田 浩一,前多 賢太郎発売日: 2020/03/06メディア: Kindle版 主に Java のリリースサイクルの変更とか、結局 JDK どれ選んだらいいの?みたいなところを整理し…

「ドメイン駆動設計入門」を読んだ

ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本作者:成瀬 允宣発売日: 2020/02/13メディア: 単行本(ソフトカバー) 最近は言葉が独り歩きしているような気もするドメイン駆動設計の本。 DDD に限らず設計の話は抽象的になりがちなので…

Javaの単一ファイル実行を試してみる #Java

概要 みんなの Java 読んでいたら、Java の単一ファイル実行試してみたくなったのでやってみた。 環境 Mac で試した。 Java のバージョンは12。 $ java -version openjdk version "12.0.1" 2019-04-16 OpenJDK Runtime Environment (build 12.0.1+12) OpenJD…

Localstack の SQS を使ってみる #AWS

AWS

概要 AWS サービスの Mock ツール、LocalStack で Amazon SQS を使ってみました。 かんたんに扱えるので、ローカル環境での開発等に重宝しそうです。 github.com Localstack の構築 いろんなやり方があるようですが、 docker-compose でやるのが楽そうです。…

「テスト駆動開発」を読んだ

テスト駆動開発作者:Kent Beck発売日: 2017/10/14メディア: 単行本(ソフトカバー) 自分程度のキャリアでも、テストを取り巻く環境は大きく変わったと思う。 テストコードは多くの場所で当たり前になった。 それでも、日々のプログラミング(テストコードに…

「みんなでアジャイル」を読んだ

みんなでアジャイル ―変化に対応できる顧客中心組織のつくりかた作者:Matt LeMay発売日: 2020/03/19メディア: 単行本(ソフトカバー) 同僚の何人かが読んでいたので手にとってみた。 「アジャイル」という言葉は「単なる方法論」あるいは「宗教のような何か…

SQL アンチパターンを読んだ

SQLアンチパターン作者:Bill Karwin発売日: 2013/01/26メディア: 大型本 ちょこちょこつまみ読みはしていたけれど、改めて通しで読んでみた。 そこそこキャリアのある人であれば、どこかで見かけ、そして苦しめられたパターンがいくつかあると思う。 この本…

1365. How Many Numbers Are Smaller Than the Current Number

LeetCode の挑戦ログ Problem https://leetcode.com/problems/how-many-numbers-are-smaller-than-the-current-number/ 数字の配列が与えられる それぞれの値より少ない値がいくつ含まれているか数える その数を同じ index の配列にして返す Solution class …

1342. Number of Steps to Reduce a Number to Zero

LeetCode の挑戦ログ Problem https://leetcode.com/problems/number-of-steps-to-reduce-a-number-to-zero/ 正の整数が渡される 偶数なら 2 で割る、奇数なら 1 を引く 0 になるまでの回数を数える Solution class Solution { public int numberOfSteps(int…

PHPUnit のモックで、引数に応じて戻り値を変更する #php #PHPUnit

概要 returnValueMap を使うと引数に応じて戻り値を変更できる 例外を返したいときは returnCallback() を使うと便利 returnValueMap を使う returnValue に [引数, 戻り値] の配列を渡すと、引数に応じた戻り値を返す Mock を作れる。 引数が複数ある場合は…

課題に正面から取り組むこと

経験を積むと、実現が難しい方法で苦しんでるときに、より容易な回避方法が浮かぶようになる。 手元に並べられる選択肢が増えるというか。 それはいいことなんだけど、「より最適な解として」別の手段を選んでるつもりで、「難しい方法を避けるために」別の…

DataGrip で クリアテキスト認証 を使う #DataGrip

概要 IAM 認証 による RDS 接続をする際などに、 MySQL のクリアテキスト認証が必要になる。 DataGrip から利用する方法をまとめておく。 おそらく Jetbrains 製品の Database Viewer でも同じ方法でできると思う。 参考: IAM認証によるRDS接続を試してみた …

IntelliJ IDEA から MySQL に繋ごうとしたら Communications link failure #IntelliJIDEA

問題 IntelliJ IDEA や DataGrip から MySQL に接続したら、エラーになってしまった。 接続テストでは成功するのに、実際に繋ごうとすると Communications link failure と言われてしまう。 java.io.IOException: Socket is closed. Communications link fai…

1207. Unique Number of Occurrences

LeetCode の挑戦ログ Problem https://leetcode.com/problems/unique-number-of-occurrences/ 整数の配列を渡される 値の登場回数がユニークで構成される場合は true を返す Solution class Solution { public boolean uniqueOccurrences(int[] arr) { Map<Integer, Long> m</integer,>…

Measure What Matters を読んだ

Measure What Matters 伝説のベンチャー投資家がGoogleに教えた成功手法 OKR (メジャー・ホワット・マターズ)作者:ジョン・ドーア出版社/メーカー: 日本経済新聞出版社発売日: 2018/10/16メディア: 単行本 巷で話題の OKR の本ということで読んでみた。 チー…

977. Squares of a Sorted Array

LeetCode の挑戦ログ Problem https://leetcode.com/problems/squares-of-a-sorted-array/ 整数の昇順でソートされた配列が渡される 各要素を自乗して、それを昇順でソートした配列にする Solution class Solution { public int[] sortedSquares(int[] A) { …

617. Merge Two Binary Trees

LeetCode の挑戦ログ Problem https://leetcode.com/problems/merge-two-binary-trees/ 2つのバイナリツリーを同階層でマージしたツリーを作る Solution /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; …

自分の欠点を3つあげるとしたら

転職活動の面接で、「自分の欠点を3つあげるとしたらなんですか?」と聞かれたことがあった。 自分と向き合えるいい質問だなぁと思ったのと、後で見直したら面白そうなので記録しておく。 ちなみに面接の相手は開発者じゃなかったので、技術的な観点では答…

HTML5/CSS3 モダンコーディング を読んだ

HTML5/CSS3モダンコーディング フロントエンドエンジニアが教える3つの本格レイアウト スタンダード・グリッド・シングルページレイアウトの作り方 (WEB Engineer’s Books)作者:吉田 真麻出版社/メーカー: 翔泳社発売日: 2015/11/03メディア: 大型本 HTML や…

657. Robot Return to Origin

LeetCode の挑戦ログ Problem https://leetcode.com/problems/robot-return-to-origin/ 座標位置を上下左右に動かす指示が文字列で与えられる R (right), L (left), U (up), and D (down) 元の位置 (0, 0) に戻っていたら true , 戻っていなければ false を…

A - Remaining Balls

AtCoder の挑戦ログ Problem https://atcoder.jp/contests/abc154/tasks/abc154_a Solution import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String color1 = sc.next(); sc…

728. Self Dividing Numbers

LeetCode の挑戦ログ Problem https://leetcode.com/problems/self-dividing-numbers/ 整数の範囲が渡される 範囲の中から、自身の桁ごとの数字で割り切れる値を抽出する 0 を含む値は除外する Solution class Solution { public List<Integer> selfDividingNumbers(i</integer>…

627. Swap Salary

LeetCode の挑戦ログ Problem https://leetcode.com/problems/swap-salary/ salary テーブルの性別を入れ替える f の行は m に m の行は f に Solution UPDATE salary SET sex = ( CASE WHEN sex = 'f' THEN 'm' ELSE 'f' END ); Impressions CASE 文便利

961. N-Repeated Element in Size 2N Array

LeetCode の挑戦ログ Problem https://leetcode.com/problems/n-repeated-element-in-size-2n-array/ 2N サイズの配列が与えられる N+1 種類の整数が含まれている 一つの要素が N 回繰り返されている N 回繰り返されてる数を特定する Solution class Solutio…