よしたろうブログ

設計・人文知・歴史・哲学・漫画とかの話が好きです。

ゼロから始めるシステム障害対応フロー

障害対応体制の策定・構築・改善・失敗

リーダーに必要な話すスキル~話し方の構造~

前提状況 私 35歳、男、東北出身大阪在住 エンジニア2年4ヶ月目、元臨床工学技士、元ドラッグストア店長、元個人事業主 現職場 入社10ヶ月目、初アジャイル Java エンジニア → QA・信頼性向上エンジニアリングもしつつ、スクマムマスターに バックエンド開発…

テストのいろんな定義(WF・アジャイル・シラバス・テストピラミッド・ロンドン学派・古典学派・Google)

テストの種類・定義・タイプ・目的に対するの認識が個々人で違う。 人によって指してる内容が違うからまず定義を統一したい。そのような経緯で世間で言われているテストについて整理してみた。 WF的な正解とアジャイル的な正解は合致しない部分が多いように…

単体テストにおいて、実行時例外が発生しうるメソッドは一つだけにしないといけません『Only one method invocation is expected when testing runtime exceptions java:S5778』

単体テストで、実行時例外が発生しうるメソッドは一つだけにしないといけません 『Only one method invocation is expected when testing runtime exceptions java:S5778』

static と synchronized から始めるマルチスレッド入門 〜後編:synchronized の使い方と注意点〜

初めに 本記事は3部構成になっております。 『前編:static とメモリ管理』 static と synchronized から始めるマルチスレッド入門 〜前編〜 - よしたろうブログ 『中編:マルチスレッドの基本的な用語と概念』 static と synchronized から始めるマルチスレ…

static と synchronized から始めるマルチスレッド入門 〜中編:マルチスレッドの基本的な用語と概念〜

初めに 本記事は3部構成になっております。 『前編:static とメモリ管理』 static と synchronized から始めるマルチスレッド入門 〜前編〜 - よしたろうブログ 『中編:マルチスレッドの基本的な用語と概念』 static と synchronized から始めるマルチスレ…

static と synchronized から始めるマルチスレッド入門 〜前編:static とメモリ管理〜

初めに 本記事は3部構成になっております。 『前編:static とメモリ管理』 static と synchronized から始めるマルチスレッド入門 〜前編〜 - よしたろうブログ 『中編:マルチスレッドの基本的な用語と概念』 static と synchronized から始めるマルチスレ…

リファクタリング入門 ~凝集度・結合度~

ランキング参加中プログラミング 凝集度と結合度は、保守性と生産性の高いコードを書くための尺度。凝集度と結合度は順次、選択、反復という要素を持った構造化プログラミングをベースとしている多くの言語に適用できる概念。 1. リファクタリングの必要性 1…

受託・SESのメリットとデメリット、ウォーターフォールについての所感

はじめに 私事ですが、2023年 4月から別の会社に転職します。 約一年半のキャリアの中で感じたことを書きたいと思います。主にデメリット面。転職時に企業のどんな面を注視すべきなのかはデメリット面から見えてくることが多いからです。デメリットを許容出…

モック入門『考え方と使い分けについて』

はじめに モックについての本記事は、以下の方々を対象にしております。 開発歴一年程度 自動単体テストについて多少の理解がある方 自動単体テストを実務で触れた事はあるが、良く解らないという方 モックやスタブなどを扱った事はあるが、違いや使い分けが…

Java と JavaScript の覚書

1. メソッドのシグネチャの引数は、final にする(Java) 2. 排他エラーチェック方法例(Java) 3. DOMの要素にイベントを付与する (JavaScript) 4. 特定のイベント発生後に、さらにイベントを発生させる (JavaScript) 5. 入力欄に最大文字数を入力後に…

モック入門:LT用スライド

JUnitで学ぶユニットテストの実践的で本質的な考え方 ~新版~

初めに 具体的なコードや方法も記述しますが、それよりも JUnit などの自動テストのFW、ユニットテストの概念や目的など本質的なことを把握し理解する事を主題にしてます。 また、参考資料欄にあるように、様々なものを参考に網羅的にまとめています。非常に…

JUnit5 のアサーション

アサーションの種類 ラムダを使った assertAll()と assertThrows() assertAll() assertThrows() アサーションの種類 JUnit の assert 系のメソッドには、以下のものがあります。 assertEquals:2 つの値が等しいかどうかをテスト assertTrue:引数の値が tru…

テストの網羅方法と分析(同値分析と境界値分析)

テストの網羅方法 テストの網羅率を上げるための基本的な考え方が以下の方法です。テスト対象のプログラムの中で到達可能なパスの全パターンを知る方法です。 網羅方法 内容 網羅率(下にいくほど高い) 命令網羅 すべての命令を最低1回は実行 C0 判定条件網羅…

JUnitで学ぶユニットテストの実践的で本質的な考え方 〜後編〜

本記事は以下の記事の後編になります。 またこちらの記事のブラッシュアップ版として以下の記事を書きました。 こちらの方が私にとっては、より質の高い記事だと思ってますのでこちらをご覧いただけると幸いです。以下のような違いがあります。 追加・変更事…

JUnitで学ぶユニットテストの実践的で本質的な考え方 〜前編〜

初めに JUnit に触れたことがなく最近実務で触れ始めた自分用の記事です。実務歴一年過ぎた位です。 具体的なコードや方法も記述しますが、それよりも JUnit・ユニットテストの概念や目的など本質的なことをまず押さえてつつ並行して進めていきます。 こちら…

いい仕事をしたいなら走ろう

運動は脳に送る血流を活発にする 脳への血流増減は何をもたらすか? 運動すれば、身体の不具合は大体よくなる 脳血流の増加がもたらすもの 結論「仕事でパフォーマンス発揮したいなら運動しよう」 運動は脳に送る血流を活発にする 脳は酸素・栄養素を大量に…

いろんな漫画家に影響を与えた、知る人ぞ知る本物の漫画10選!! 〜前編〜

こちらでは知る人ぞ知る漫画10選を紹介ということで、よくある有名作品の羅列ではありません。知る人ぞ知ると題してるやつのほとんどが、みんな知ってるってそれ〜ばっかりで、そんな記事には飽き飽きだ!!という方にはオススメの記事です! この記事で紹介…

Javaのラムダ式を順序良く理解するための基礎

ラムダ式を簡潔に表すと 「ラムダ式は関数型インタフェースを実装した匿名クラスの簡易的な記述法」です。 匿名クラスで行っていたインスタンス生成がラムダ式でできるようになりました。関数型言語では関数をオブジェクトとして変数に代入したりメソッドの…

参照・複製・不変で始めるセキュアコーディング

本記事ではセキュアなコーディングを行う上で必要な知識を、別名参照問題を入り口にしてまとめています。 言語には Java を用いていますが、Ruby・Python・PHP であればほとんど当てはまる様な内容かなぁ、と思います。 具体的には以下の事柄と関係するセキ…

不変(Immutable)オブジェクトについて

こちらの記事は以下の記事にて他のトピックと共に統合的に扱っています。ちょっと長いですが、多角的により深く、ある程度網羅的にまとめています。こちらの方がより深い理解が得られると思いますので時間がある場合はこちらを参照してください。 yoshitaro-…

別名参照問題とディフェンシブコピー

こちらの記事は以下の記事にて他のトピックと共に統合的に扱っています。ちょっと長いですが、多角的により深く、ある程度網羅的にまとめています。こちらの方がより深い理解が得られると思いますので時間がある場合はこちらを参照してください。 yoshitaro-…

「プリミティブ型」と「参照型」はメモリ管理の仕組みが異なる【Java】

前記事ではJava における引数などの評価戦略は「値渡しのみ」であり「参照渡し」は存在しないと紹介しました。これに加え本記事では、データのメモリ管理上で具体的にどの様なことが起きているのかを紹介します。

Java に参照渡しは存在しない。値渡しだけが存在する。

Javaの評価戦略は値渡しです。 Javaでいう参照値(reference values)・参照(references)を引数で渡しても、値渡しで評価されます。参照渡しができるという記事や解説がよく見られますが、Java には「参照渡し」はありません。確かに配列やオブジェクトの場合…

最近の学びを簡単にご紹介~SOLID・カプセル化・宣言型プログラミング・不変・共変・反変・ROA・REST・スキーマ駆動開発など~

SOLID カプセル化と宣言型プログラミング 不変・共変・反変 HTTPとURI HTTPメソッド ROAとREST 安全性と冪等性 スキーマ駆動開発とAPI設計 プロダクトや組織の文脈を把握する まじアウトプットは大事!!

コレクションとジェネリクス~不変と共変~【Java】

この記事ではコレクションとジェネリクスを使いこなせるようになるための基礎知識をまとめています。ラムダ・ストリーム・オプショナルを使いこなすためですね。 目次 コレクションとは? コレクションの種類 それぞれの特徴 List Set Map 配列とListの使い…

【徹底解説まとめ】 継承、抽象クラスとインターフェイスの違い、ついでにSOLID【Java】

誕生した背景には必ず問題があり、そのソリューションとして道具が登場します。その道具は、その問題を解決するための機能以外のことはできない方がいいのです。本来の目的以外の余計な役割を持たせれば、他の道具と目的が重複すかもしれません。無駄であり…

SpringBootとスキーマ駆動開発で始めるWeb API 設計開発入門:後編

初めに 前編ではスキーマ駆動開発において必要な前提知識や周辺ツールの記述を行いました。 以下の様なものたちです(抜粋)。 ❐ スキーマとは ❐ OpenAPI Specification ❐ OAI:OpenAPI Initiative ❐ OpenAPI (Swagger) Editor ❐ OpenAPI Generator (Gradle …

SpringBoot とスキーマ駆動開発で始めるWeb API 設計開発入門:前編

初めに まず、最初には、どんな環境で行ったのかと、それらの周辺知識をまとめた備忘録になります。実際にAPI開発を簡単に行なってみてAPI設計についてまとめてみよう的な記事です。 過去記事にてREST API の実装のための前提知識をまとめました。そこの知識…