【オブジェクト指向】継承、コンポジションの違いと使用方法
まずはじめに、オブジェクト指向言語とはソフトウェアの考え方で「さまざまな処理を部品ごとに分けて、それらを1つにまとめプログラミングしていくという考え方」を表しています。よく自動車の例が挙げられていますが、ほとんど同じですがここでは自動販売機を例にあげてみます。まずは自動販売機の動作をおさらいしてみますが、「お金を入れる」→「購入できる飲み物のボタンが光る」→「ボタンが押されたら飲み物が出てくる」というようなものが共通の動作としてあると思います。この共通の動作を色々な自動販売機に流用していくというのがオブジェクト指向の考え方です。「お金を入れる」処理を1000円ガチャなどに流用すると、小銭が使えなくお札のみ使用できるという処理を1から作らずに応用して作成することができます。こういった考え方をプログラムに落としたものがオブジェクト指向といいます。今回はその中で、「継承」、「コンポジション」についてそれぞれの違いと使用方法について簡単に説明していきます。
タスク管理ツール、Redmineの使い方
Redmine(レッドマイン)とはオープンソースで公開されているプロジェクト管理ツールのことです。 プロジェクト管理ツールとは、チームで作業する場合の進捗状況やスケジュールを管理することを目的としており、システム開発などエンジニアの仕事においては必須のツールであります。 今は様々なプロジェクト管理ツールが存在していますが、数あるツールの中でもRedmineはオープンソースで自由度が高いという特徴を持っています。 Redmineはフランス人であるJean-Philippe Lang氏によって開発され、2006年に最初のバージョンがリリースされた、かなり歴史の古いプロジェクト管理ツールです。 オープンソースであるためGitHub上でソースコードが公開されており、様々なエンジニアが開発に参画していますしていることから、GitHubでは細かいアップデートが頻繁に行われています。 また、Redmineはオープンソースソフトウェアであるため、全ての機能を無料で使うことが可能です。個人利用としてプロジェクト管理ツールを使いたい場合にも心強いと言えるでしょう。
【初心者用】Prismaについて
Prismaは、データベース操作するためのORMです。Prismaを使用することで、データベースのスキーマを定義し、型安全なクエリを実行できます。また、Prismaは、Prisma Migrateと呼ばれるマイグレーションツールなどを提供しています。データベースのスキーマ変更に伴うマイグレーションを簡単に行うことができます。具体的には、prismaを使用することで、以下のようなことが可能です。 ・データベースのスキーマ定義 ・データのクエリ ・データの作成、更新、削除 ・データの関連付けPrismaは、Prisma Clientと呼ばれる型安全なクライアントライブラリも提供しています。これにより、SQLクエリを直接記述する必要がなくなります。
「IT向いてない」と言われたけどエンジニアになりたい人向け記事
「学校の授業にはついていけていたのに」「プログラミングになると頭が痛くなる」「実際にIT向いてないと言われた」「でもエンジニアとして働きたい」こんな人向けの記事です。
C言語とC#・Objective-Cの違い
C言語は1972年にAT&Tベル研究所と呼ばれる場所で、ブライアン・カーニハンとデニス・リッチーが開発したプログラミング言語です。プログラミング言語の中では比較的歴史の長いものでありながら、現在でも現役で開発に利用されています。実際、「TIOBE Index for April 2021」と呼ばれるプログラミング言語の人気・利用状況ランキングを見ると、C言語は1位に君臨しています。2020年は2位でしたが、2021年には1位になっていますので今でも多くの需要があり注目されていると考えられます。また、C言語には資格も様々あり、需要に応えられるよう専門的に学ぶこともおすすめの言語です。C言語はコンパイルが必要なプログラミング言語です。コンパイルが必要なプログラミング言語は、処理速度が早い特徴があります。他のプログラミング言語よりも高速なアプリケーション開発が可能となり、その点が今でもC言語を活用する理由ともなっています。
製造・コーディング(PG/フロントエンド)
【ソフトウェアテスト】ドメイン分析テスト
同値分割法/境界値分析については他の記事で記載しましたが、ドメイン分析テストも境界値を用いてテストします。このテスト方法は、関係性のある複数の変数について、入力データの有効範囲にフォーカスしてテストをする手法です。同値分割法/境界値分析では、一つの機能に関して境界がいくつか設定されていて、各境界の前後でそれぞれ動作が変わるような仕様に対してパーティションを分けてテストしていましたが、そのような数値による境界をもつ機能がいくつか関連して複数結果に分かれるような仕様のケースでは、ドメイン分析テスト技法が使用できます。ゲームのダメージ計算式で、与えた最終ダメージ数値に応じてクリティカル倍率をかけた数値を上乗せするといった場合に、元となるダメージ数値がいくつか、相手の防御数値がいくつか、数値いくつ以上でクリティカル倍率は何倍が適用されるか、各数値には有効・無効となる境界があり、かつ最終の数値ごとに複数のクリティカル倍率が用意されているといった仕様があったときに、ドメイン分析テストによって必要なテストケースを洗い出すことができます。
テスト(運用・保守・サポート)
テスト観点
テスト観点とは、特定の機能に対してどのようなテストを行うことが有効なのかを考えることを指します。テストケースを作成するうえで必要不可欠な要素であり、テストの精度を高めて効率的に作業するために必要とされています。具体的な例をあげると、次の太字個所がテスト観点と呼ばれる部分に該当します。 ・住所入力テキストボックス(対象)の入力可能桁数(何)を確認する ・次へボタン(対象)押下の遷移先(何)を確認する ・氏名テキストボックスに入力した内容が氏名欄(対象)に正しく表示(何)されることを確認する特定の機能に対して、どの部分をテストしなければならないのか、その方法は何がふさわしいかを考えるのがテスト観点です。テスト観点を明確にすることで、ソフトウェアテストにおける抜けや漏れを防止することができます。
【ソフトウェアテスト】テスト技法の有用性
世に存在するさまざまなソフトウェアテスト技法について、自身のナレッジ整理もかねて詳細をまとめようと思いました。ですが、いろいろなプロジェクトで開発エンジニア・PdM・PM・QAなどさまざまな方と関わらせていただく中で、QAテスター/テストエンジニア等のポジションの方以外には、ソフトウェアテストに技法が存在するということや、テスト技法を用いる意味とメリットについてあまり認識されていないかも知れないと思いました。まずはソフトウェア開発現場でソフトウェアテスト技法を用いたテストを実施することの理由などについてまとめます。
テスト(運用・保守・サポート)
テスト技法の種類をまとめる
業務でテスト設計を行うことになったのでテスト技法について学んでいきたいと思います。
人気のRubyフレームワークを徹底比較!
Rubyの世界では、フレームワークの選択がプロジェクトの成功に大きな影響を与えます。多様なフレームワークが存在する中で、それぞれの特性を理解し、プロジェクトに最適なものを選ぶことは、時には難しい課題となることでしょう。特に、フリーランスのエンジニアにとっては、求人や案件で特定のフレームワークの経験が求められることが一般的です。これにより、適切なフレームワークの知識とスキルは、より良い機会と高い報酬を引き寄せる要因ともなります。Ruby on Railsは、Rubyのフレームワークとして広く知られていますが、他にも多くの優れたフレームワークが存在します。それぞれのフレームワークは、特定の用途や状況に適しており、その選択はプロジェクトのニーズによって変わります。この記事では、Rubyのフレームワークの概要と、それぞれの特徴を深掘りします。また、現在のトレンドや、各フレームワークの利点と欠点、そしてどのような状況で最適なのかについても詳しく解説します。これにより、あなたのプロジェクトやキャリアに最適なフレームワークの選択を、より簡単に、そして的確に行うことができるでしょう。
LPICとは?エンジニアとしてのスキルアップに役立つLinux資格のメリットと難易度
Linuxは、世界中で広く使われているオープンソースのオペレーティングシステムです。Linuxを扱えるエンジニアは、インフラやサーバー、クラウドなどの分野で高い需要があります。しかし、Linuxは多様で複雑なシステムであり、自分で学習するには限界があります。そんなときに役立つのが、LPICというLinuxの資格です。LPICは、Linux技術者としての技術力を認定する、世界的に認められた資格です。LPICを取得することで、Linuxの基礎から応用までを網羅した知識とスキルを身につけることができます。この記事では、LPICとは何か、LPICを取得するメリット、LPICの難易度と試験の概要、LPICの試験範囲について解説します。エンジニアとしてのキャリアを積みたい方は、ぜひ参考にしてください。
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
-
2023年10月02日
製造・コーディング(PG/フロントエンド) -
2023年07月18日
-
2023年10月26日
テスト(運用・保守・サポート) -
2023年01月09日
詳細設計(内部設計)(インフラ) -
2023年11月17日
週間人気記事
もっと見る【初心者向け】Packet Tracerでネットワークを学ぶ(CLI操作の基本編①)
ルータ初期設定編ではPacket Tracerを使ってルータを直接操作し色々な設定を試してみたいと思います。 まずCisco製品のルータにはPCと同様にOSがインストールされています。 それが「Cisco IOS(Internetwork Operating System)」です。 スイッチでもこのOSを利用しています。 Cisco IOSはWindowsのようなグラフィカルなインターフェースではなくコマンド入力のみで様々な操作を行うインターフェースになります。 コマンドで操作するインターフェースのことを「CLI(Command Line Interface)」と言います。
詳細設計(内部設計)(インフラ)
【IT転職】Androidエンジニアって何?必要なスキルや資格を解説します!!
世界中で使用者が増え続けるスマホOSの一つであるAndroidですが、その成長の背景にはAndroid端末を専門にアプリケーション開発をするAndroidエンジニアの存在があります。将来性が高いと噂されるAndroidエンジニアですが、その実態はどうなのでしょうか。今回は、Androidエンジニアとは何か、将来性はあるのか、そしてAndroidエンジニアになるために必要なスキルや資格を紹介します。ぜひ最後までご覧くださいね。この記事を読むのにおすすめな人この記事は以下のような人におすすめです。・Androidエンジニアになりたいと考えている人・Androidエンジニアになるにあたって必要なスキルや資格を知りたい人・インフラエンジニアなどの他職種からAndroidエンジニアへに転職を考えている人
テスト計画書とは?作成する理由や記載必須の内容について教えます!
開発プロセスにおけるテストとは、そのソフトウェアの品質を決める重要なファクターとなっております。テストを正しく実施することはそのまま品質を上げることになります。テストとはいっても、ただやるだけではなく、事前に計画を立てて無理のないスケジューリングを行った上で実施する必要があります。そこで今回はテストにおけるテスト計画書の作成方法やテスト設計所との違い、なぜ必要であるかをご説明いたします。
【初心者向け】CCNA基礎 11章
こちらでは、CCNAの資格取得へ向けた情報を記載いたします。
#09 社員インタビュー【育児もキャリアも、どちらも大切にしたい。フロントエンドエンジニアとして働く、私のリアルな毎日】
こんにちは!今回は、ラーニンギフトで活躍中のフロントエンドエンジニアにインタビュー🎤育児と仕事を両立しながら、自分らしいキャリアを歩んでいる社員のリアルな声をお届けします!「エンジニアとして成長したい」「でも、子どもとの時間も諦めたくない」そんな想いを持っている方に、ぜひ読んでほしい内容です😊
#11キャリアサポーターって何してるの?【“案件に入って終わり”じゃない。キャリサポのリアルに密着】
こんにちは!採用担当です😊今回は、当社でエンジニアのキャリア支援を行っている「キャリアサポーター(通称:キャリサポ)」にインタビュー!SES業界では、「案件参画後は放置だった…」 「相談できる人がいなかった…」そんな声を聞くことも少なくありません。では実際に、当社のキャリサポはどんなことをしているのでしょうか?今回は、・面談で何を見ているのか・どんな人が伸びやすいのか・印象に残っている支援事例 など、“キャリア支援のリアル”について聞いてみました✨
【JSTQB(FL)対策】第5章テストマネジメント<5.1テスト組織~5.2テスト計画作業と見積り
こちらの記事ではJSTQBのシラバスのうち、第5章テストマネジメント分野<5.1テスト組織~5.2テスト計画作業と見積り>における以下の分野の学習内容及び学習してみて私が思ったことについて記載します。
テスト(運用・保守・サポート)
Salesforceエンジニアになるためには?必要な基本知識とスキル、ロードマップを解説
Salesforceエンジニアとは、Salesforceというクラウド型のCRM(顧客管理)システムを開発・運用するエンジニアのことです。主に、Salesforceの機能やカスタマイズを行い、企業のビジネスニーズに応えるシステムを構築する仕事です。この記事では、高い需要と高い報酬を得られる職種として注目されている、Salesforceエンジニアの仕事内容や将来性について解説します。
