管理人

SEとして働く管理人「まつ」がつぶやく個人運営サイトになります。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。

2020/8/23

Spring BootでWebSocketを簡単に実装する方法

Spring BootでWebSocket(STOMPなし)の実装 pom.xml pom.xmlに「spring-boot-starter-websocket」を追加します。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> WebS ...

2022/5/13

ASCIIコード(アスキーコード)とは

ASCIIコード(アスキーコード) 文字コードとは コンピュータが扱う最小単位はビット(bit)と呼ばれる「0」と「1」の数値です。そして、ある程度 扱いやすいように、8ビットをひとまとまりにしたバイト(byte)という単位が、コンピュータでは主に用いられています。 このように、コンピュータは「0」と「1」の集まりしか理解できません。コンピュータには「A」という文字は理解できないのです。 そこで、コンピュータに「0」と「1」以外の文字を表現させるためのものが文字コードです。 文字コードは、コンピュータが理 ...

2024/5/23

Base64とは

Base64って何? Base64とは、64種類の文字(アルファベット「 a~z , A~Z 」と数字「 0~9 」、一部の記号「 + と / 」)と末尾の記号「 = 」を用いて一定の規則に基づきデータを変換するエンコード方式(データを他の形式に変換する際の方式)の一つです。 上記図はBase64の変換イメージです。 変換前のデータをBase64でエンコード(変換)すると、Base64の文字列に変換できます。そして、変換したBase64の文字列をデコード(元に戻す)すると、変換前のデータに戻すことができま ...

2024/5/23

バイナリデータとは

バイナリデータ(binary data) バイナリデータとは?テキストデータとの違い バイナリデータ(binary data)とは、コンピュータが理解しやすいデータ(2進数で表現されたデータ)であり、テキストデータ以外のデータのことです。 バイナリデータは、コンピュータが直接的に処理することができるようになっているため、人が読んでも理解することができません。それに対してテキストデータは、人が理解できる内容のデータです。 上記図は、バイナリデータ と テキストデータのイメージ図です。 バイナリデータって具体 ...

2024/5/27

コンポーネントとは

コンポーネント(component) コンポーネントってなに? コンポーネントは「部品」「成分」「構成要素」などの意味を持つ言葉です。 ITの分野では、ソフトウェアやシステムを構成する部品のことです。ソフトウェア開発では、機能を部品化して開発することがよくあります。 この部品化した「プログラム部品」のことを コンポーネントと呼びます。 コンポーネントは、特定の機能を単体で完結しているが、単体では使用せず、他のプログラムから呼び出したり、他のプログラムと連結したりして使用します。 プログラムをコンポーネント ...

2024/5/29

ライブラリとは

ライブラリ(library) ライブラリってなに? ライブラリ(library)とは、汎用性の高い複数のプログラムを他のプログラムから呼び出して利用できるように部品化したものです。 ライブラリ単体では、動作することはできず(実行ファイルではない)、他のプログラムに機能を提供するコードの集まりです。 上記はライブラリのイメージ図です。ライブラリの中には複数の機能(汎用性の高いプログラム)が入っており、ライブラリを使う側(上記例ではAシステム)は、その機能を呼び出すだけで簡単に使うことができます。 ライブラリ ...

2024/5/23

モジュールとは?ライブラリ、コンポーネントとの違い

モジュール(module) ソフトウェア開発の現場にいると「モジュール」という言葉をよく耳にします。「モジュール」「ライブラリ」「コンポーネント」など、当たり前のように使われている言葉です。 エンジニア同士では、当たり前のように使われている言葉ですが、実際は「モジュールって何?」と検索エンジンで調べたことがあるエンジニアも多いのではないでしょうか。 本記事では、モジュールについて紹介していきます。 モジュールって何? モジュールとは、部品を意味する言葉であり、部品単独でも動作することは可能だが、他の部品と ...

2024/5/23

APIとインタフェースの違い

APIとインタフェースの違いとは ソフトウェア開発に携わっているとよく耳にする言葉である「API」と「インタフェース」。設計書にも「API仕様書」と「インタフェース仕様書」があり、同じような意味の言葉で使用されています。 エンジニア同士では、当たり前のように使われている言葉ですが、実際は 「APIってどんな意味?」 「インタフェースってどんな意味?」 「APIとインフェースはどう違うの?」 と疑問を持ち、1度は検索エンジンで調べたことがある人も多いのではないでしょうか。 本記事では、そんな「API」と「イ ...

2024/6/10

APIとは

API(Application Programming Interface) ソフトウェア開発に携わっていると「API」という言葉をよく耳にします。 「API」「インタフェース」「ライブラリ」「モジュール」「コンポーネント」など、ソフトウェア開発の現場では、当たり前のように使われている言葉です。 エンジニア同士では 当たり前のように使われている言葉ですが、実際は「APIってどんな意味?」と疑問に思い、検索エンジンで調べているエンジニアは沢山いるのではないでしょうか。 本記事では、そんな「API」について分 ...

2022/12/25

インタフェースとは

インタフェース(interface) インタフェースとは、ものごとの境界となる部分(接点)を表す言葉です。IF や I/Fと略されて表記されることもあります。 接点、境界面などの意味を持つ英単語であり、物と物を接続するために必要な部分をインタフェースと呼んでいます。 インタフェースは様々な物に使用される言葉であり、主に「ハードウェアインタフェース」「ソフトウェアインタフェース」「ユーザインタフェース」に分けられます。 ハードウェアインタフェース ハードウェアインタフェースとは、コンピュータなどの情報機器と ...

2022/12/25

ボトムアップテストとは

結合テストの種類 ソフトウェア開発では、各工程にあわせて様々な試験が存在します。 モジュール(機能)単体の動作を確認する「単体テスト」、そして 複数のモジュールを繋ぎ合わせて実施する「結合テスト」、最後に全体を確認する「システムテスト(総合テスト)」などがあります。   複数のモジュールを繋ぎ合わせて検証する「結合テスト」には、主に次のようなテスト手法があります。 トップダウンテスト ボトムアップテスト サンドイッチテスト(折衷テスト) ビッグバンテスト 結合テストは、複数のモジュールを繋ぎ合わ ...

2022/12/25

トップダウンテストとは

トップダウンテスト(top down test) トップダウンテストってなに? トップダウンテストとは、ソフトウェア開発のテスト手法の一つで、上位のモジュール(機能単体)から順に検証する手法です。 結合テストの工程でモジュール間のインタフェースを確認をするために実施します。 複数のモジュールで構成されているソフトウェアの場合、複数のモジュールを一気に繋ぎ合わせて検証すると、問題の発生箇所が特定しにくくなる可能性があります。そこで、すべてを一気に繋ぎ合わせるのではなく、少しずつ繋ぎ合わせて検証していきます。 ...

2022/12/25

「ブラックボックステスト」と「ホワイトボックステスト」の違い

「ブラックボックステスト」と「ホワイトボックステスト」の違い 「ブラックボックステスト」と「ホワイトボックステスト」って何? 「ブラックボックステスト」と「ホワイトボックステスト」は「単体テスト」で実施されるテストのことです。 ソフトウェア開発では、機能(モジュール)単体の検証を行う「単体テスト」、複数の機能(モジュール)を繋ぎ合わせて検証を行う「結合テスト」、そして システム全体の検証を行う「システムテスト(総合テスト)」が存在します。 ブラックボックステストとは ブラックボックステストとは、内部構造を ...

2024/5/23

ホワイトボックステストとは

ホワイトボックステスト(white box test) ホワイトボックステストとは、モジュールの内部構造(プログラムの内容)が意図していた通りに動作するかを確認するテスト手法です。 ホワイトボックステストは、ソフトウェア開発の単体テストの工程で実施されるテストであり、ホワイトボックステストの他にも ブラックボックステストと呼ばれるテスト手法があります。 ブラックボックステストとの違い モジュールの内部構造が正しく動作するかを検証するホワイトボックステストとは違い、 ホワイトボックステストのイメージ図 ブラ ...

2024/6/10

ブラックボックステストとは

テストの種類 ソフトウェア開発では、各工程にあわせて様々な種類のテストが存在します。有名なテストには「単体テスト」「結合テスト」「システムテスト」があります。 単体テスト 単体テストとは、ソフトウェア開発で作成した部品単体(モジュール)の信頼性を確認する試験のことです。単体テストでは、「ブラックボックステスト」や「ホワイトボックステスト」という手法を用いて検証します。 結合テスト 単体テストが終わると、次に実施するのが結合テストです。結合テストは、複数の部品(モジュール)を繋ぎ合わせて試験を行います。モジ ...

2024/6/12

リグレッションテストとは

リグレッションテスト(regression test) リグレッションテストとは、プログラムの一部を修正したことで、これまで正常に動作していた個所に不具合が出ていないかを確認するためのテストのことです。 「回帰テスト」(回帰:もとの位置 または 状態に戻ること)や「退行テスト」(退行:後ろにさがること)とも呼ばれており、プログラムを修正した後に、他の個所へ影響がないことを検証します。 リグレッションテストが必要な理由 例えば、2人(AさんとBさん)が同じソフトウェアのソースを修正していたとします。 Bさん ...

2022/12/25

アクセシビリティとは

アクセシビリティ(accessibility) アクセシビリティとは アクセシビリティとは、「近づきやすさ」「利用のしやすさ」の意味を持ち、ITの分野では障害者や高齢者でも支障なく利用できる(すべての人が情報サービスを支障なく利用できる)度合いを指す言葉です。 例えば、高齢者にも使いやすいように大きなボタンでデザインされた携帯電話(スマートフォン)、弱視の人でも利用できるように文字を拡大表示する機能など。アクセシビリティを高めることで障害者や高齢者でも支障なく使うことができるようになります。 似たような言 ...

2022/12/25

ユーザビリティとは

ユーザビリティ(usability) ユーザビリティとは、Webサイトやソフトウェアなどの操作性や使いやすさを示す言葉です。 Webサイトやスマートフォンアプリ、ソフトウェアなどで利用される言葉で、利用者が「簡単」に「迷うことなく」、そして「ストレスを感じず」に操作できることを「ユーザビリティが高い」 といいます。 Webサイトなどをデザインする際は、ユーザビリティを考慮しながらボタンなどを配置していくことが大切です。   開発者が制作したWebサイトなどに「ユーザビリティ」が備わっているかを確 ...

2022/12/25

ユニバーサルデザインとは

ユニバーサルデザイン(Universal Design) ユニバーサルデザインとは、利用する人の障害・年齢・性別・国籍などに関係なくできるだけ多くの人が利用できることを目的とした建築・製品・情報などの設計(デザイン)です。   障害者や高齢者が利用しやすいように設計(デザイン)する「バリアフリー」とは異なり、ユニバーサルデザインでは障害者や高齢者に限定せず「できるだけ多くの人が利用可能であるようにデザインすること」を基本コンセプトとしています。 ユニバーサルデザインの7原則 ユニバーサルデザイン ...

2022/12/25

リバースエンジニアリングとは

リバースエンジニアリング(reverse engineering) リバースエンジニアリングって何? リバースエンジニアリング(reverse engineering)とは、出荷された製品や既存のソフトウェアを入手して分解や解析などを行い、プログラムの仕様やソースコードを導き出すことをいいます。   上記図は、リバースエンジニアリングの例です。既存のソフトウェアを入手して、逆コンパイル(ソースコードに戻す)、そして、ソースコードからプログラムの仕様を導き出しています。 既にあるソフトウェアを再利 ...