【オブジェクト指向】継承、コンポジションの違いと使用方法
まずはじめに、オブジェクト指向言語とはソフトウェアの考え方で「さまざまな処理を部品ごとに分けて、それらを1つにまとめプログラミングしていくという考え方」を表しています。よく自動車の例が挙げられていますが、ほとんど同じですがここでは自動販売機を例にあげてみます。まずは自動販売機の動作をおさらいしてみますが、「お金を入れる」→「購入できる飲み物のボタンが光る」→「ボタンが押されたら飲み物が出てくる」というようなものが共通の動作としてあると思います。この共通の動作を色々な自動販売機に流用していくというのがオブジェクト指向の考え方です。「お金を入れる」処理を1000円ガチャなどに流用すると、小銭が使えなくお札のみ使用できるという処理を1から作らずに応用して作成することができます。こういった考え方をプログラムに落としたものがオブジェクト指向といいます。今回はその中で、「継承」、「コンポジション」についてそれぞれの違いと使用方法について簡単に説明していきます。
初心者
【デザインパターン】SingletonとFacadeについて
プログラミング言語について学習しているとオブジェクト指向を学ぶことが出てくると思います。オブジェクト指向をある程度理解したあとはデザインパターンについて学ぶことが出てきます。本日はデザインパターンについて概要を説明したあとSingletonとFacadeについて解説していきたいと思います。
初心者
【Java】文書の読込み・出力方法
システム開発をしていると、ファイル入出力の処理機能を実装する場合があると思います。ただ、初心者の方はファイル入出力とはどういうことなのか分からないと思う方もいると思うので、今回はファイル入出力とはどういうものか、どのような時に使うのか、どのように実装するのかを順に解説していきます。
初心者
【Java】トランザクション処理について
「トランザクション処理」という言葉は基幹システムや、オンライン決済など、データの整合性と信頼性を必要とするシステムを開発する際に必ず耳にすると思います。必ず耳にするということは大事な処理であるということだというのはわかるはずです。ただ、どういった処理なのかぼんやりとしか分からない方もいると思います。私もその一人でしたので、今回は学習した内容をまとめると同時に分かりやすく「トランザクション処理」について解説していきたいと思います。
初心者
【Java】コレクションフレームワークとジェネリクス
Javaの学習をしていき、ある程度の基本文法について知識がつくと次はコレクションフレームワークと、ジェネリクスについて学習することになると思います。今回は、コレクションフレームワークとジェネリクスについてどういった特徴があるのか、そして使用方法についてできるだけ分かりやすく解説していきます。
初心者
【初心者向け】ORMとは
ORMとは英語でObject-Relational Mappingといい、オブジェクト指向プログラミング言語とリレーショナルデータベースとのマッピングを行うものになります。またそれぞれの互換性を向上させるために設計されたプログラミング技術でもあります。ORMの基本的な構造として、プログラミング言語のクラスとデータベースのテーブルを関連付けや対応付けを行うことから始まります。これにより、エンジニアは直接SQLクエリを作成することなく、ORMを通じてデータベースとやりとりを行うことができます。そもそもオブジェクト指向プログラミング言語と、リレーショナルデータベースとはなにかを簡単に説明します。オブジェクト指向言語:データ(オブジェクト)とそれに関連する操作(メソッド)を組み合わせてプログラムを構築するプログラム言語のことです。リレーショナルデータベース:データを表形式で管理するデータベースの一種です。リレーショナルデータベースでは、データが複数のテーブルに分割され、それらの表の間に関係性が定義されています。ではなぜORMという技術が出てきたのでしょうか。
初心者
【初心者向け】JDBCについてまとめてみた
Javaで開発を行う際にデータベースにアクセスする機会はかなり多くなります。その際多くの場合に必要になるのがJDBCというAPIになります。今回は、JDBCの特徴を説明して実際にデータベースにアクセスしてみようと思います。
初心者
【初心者向け】データベースセキュリティについて
データベースを設計する際や、不正アクセスがあった際にセキュリティを見直したり考えたりする必要があると思います。今回はデータベースセキュリティについてどういった内容なのか、どういったことを考慮して設計すればよいのか解説していきたいと思います。
初心者
テスト自動化について
近年、ソフトウェア開発の現場では“スピード”が勝負の鍵となっています。ユーザーの期待に応え続けるには、頻繁なアップデートとリリースが欠かせません。しかしその裏で、大きな課題となるのが「テスト工程」。そこに立ちはだかる工数の壁や品質保証のプレッシャーを、解決へと導いてくれるのがテスト自動化ツールです。今回は、実際に現場で自動化に携わってきた経験をもとに、テスト自動化の必要性や導入時のメリット・デメリット、代表的なツールの比較、そして国産の新興ツールまで、リアルな目線でお届けします。
テスト(運用・保守・サポート)
JSTQBのシラバスを読む【第五章】
本記事では、JSTQB Foundation Levelのシラバスを読み解き、テスト計画から欠陥管理までの重要なポイントをまとめていきます。 参考資料は「Foundation Level シラバス 日本語版 Version 2023V4.0.J01」です。 (https://jstqb.jp/dl/JSTQB-SyllabusFoundation_VersionV40.J01.pdf)
初心者
【JSTQB】テストの基礎①
JSTQB認定テスト技術者資格とは、日本におけるソフトウェアテスト技術者資格認定の運営組織であるJSTQB(Japan Software Testing Qualifications Board)により認定される、ソフトウェアテスト技術者資格です。
初心者
【初心者向け】受け入れテストについて
受け入れテストとは、システムテストと同様に、システムやソフトウェアプロダクト全体の機能性と非機能性の両方について評価します。受け入れテストは、リリース直前に行われるだけでなく、ソフトウェアライフサイクルのさまざまな場面で行われます。
初心者
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見るGit GUIツールの使い方:初心者向けチュートリアル
Gitとは、分散型バージョン管理システムの1つで、コードやファイルなどの変更履歴を記録し、複数の人で同時に開発を進めるために使われます。Linuxの開発者であるLinus Torvaldsによって開発され、現在は世界中の多くの企業やオープンソースプロジェクトで使用されています。Gitは、ファイルの変更履歴を保存するための「リポジトリ」と呼ばれるデータベースを持ち、このリポジトリに対してコミットと呼ばれる操作で変更履歴を追加していきます。また、ブランチと呼ばれる分岐を作成して、異なるバージョンのコードを管理します。Gitの主な特徴としては、以下のようなものが挙げられます。・ローカルでの高速な動作・分散型であるため、オフラインでも開発ができる・変更履歴を管理しやすく、コードの品質を高めることができる・大規模なプロジェクトでもスケーラブルに対応可能Gitは、コマンドラインツールを使って操作することもできますが、GUIツールを使って操作することもできます。
アーキテクト・技術選定(PG/バックエンド)
【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
学習・スキル
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
学習・スキル
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
プロジェクト推進・管理(PG/バックエンド)
【初心者用】ifconfigの出力結果の見方
Linuxシステムでネットワーク設定や情報を確認するための基本的なコマンドの1つがifconfigです。この記事では、初心者向けにifconfigコマンドの使用方法、オプション、出力結果の解釈について詳しく説明します。また、具体的な使用シーンや例、関連するコマンドや技術についても紹介します。
その他(インフラ)
【初心者向け】Packet Tracerでネットワークを学ぶ(CLI操作の基本編①)
ルータ初期設定編ではPacket Tracerを使ってルータを直接操作し色々な設定を試してみたいと思います。 まずCisco製品のルータにはPCと同様にOSがインストールされています。 それが「Cisco IOS(Internetwork Operating System)」です。 スイッチでもこのOSを利用しています。 Cisco IOSはWindowsのようなグラフィカルなインターフェースではなくコマンド入力のみで様々な操作を行うインターフェースになります。 コマンドで操作するインターフェースのことを「CLI(Command Line Interface)」と言います。
詳細設計(内部設計)(インフラ)
【初心者向け】テスト観点について
テスト観点(test perspective)とは、「ソフトウェアやシステムをテストする際に、評価すべき特定の側面や機能」を指します。テスト観点は、テストプロセスを計画、設計、実行する際に、目標となる品質要素を明確にすることで、効果的なテストケースを作成し、重要な問題を特定できるようにする役割があります。これは、製品やサービスの品質向上に大きく貢献する重要な要素であると言えます。
初心者