【初心者用】オブジェクト指向におけるカプセル化について
カプセル化とは、オブジェクト指向における考え方の一つです。 オブジェクト指向については、他サイトで色々と説明が為されておりますが、調べるのが億劫な方は、ざっくり「各々の細かい処理を別クラスに分けて部品化し、メインとなるクラスからそれらを呼び出すという考え方」程度には認識しておいてください。 今回は、カプセル化とはどういった考え方か、その具体例を交えて説明していきたいと思います。
製造・コーディング(PG/バックエンド)
【ソフトウェアテスト】CFD法
CFD法はCause Flow Diagram(原因流れ図)を略したもので、原因の集合と結果をそれぞれの関係のつながりにフォーカスして図式化し、そこからデシジョンテーブルを想定してテストケースを作成する技法です。システム設計において、正常な動作の仕様を基本として異常系の仕様もエラー動作実装のため明確に定義されているべきですが、テスト実施の際には、仕様想定上の正常系・異常系動作確認はもとより、考え得る限りの準正常系テストケース網羅も必要です。そうしたケースの考慮が足りていないと、リリース後にユーザーが想定外の操作を実行して重篤な不具合につながったり、あるいは仕様の穴を付いた不正処理などを実行されたりして、プロジェクトやサービスに損失が発生したりします。原因・結果・各関係を図示して明確に関係を洗い出すことで、実装段階では考慮が漏れているような挙動についても抜けや漏れをカバーするようにテストすることができます。また、エラーに関するもののみではなく、同値分割が可能な原因が複数関連して複数の結果が想定されるというシステムで、その関係性を図にして流れを見ることで、テストケース作成がグラフィカルに把握しやすくなります。インターネットでクレジットカードを利用して決済処理を実行する際に、完了までには以下の様な結果パターンが想定されます。・カード情報入力エラー(入力したカード利用情報に問題がある)・決済処理不能エラー(登録しているカード情報の照会時にエラーが発生)・通信不良による接続タイムアウトエラー(決済実行から完了までの通信時間が規定の時間内に処理されないことによるエラー)・決済完了上記4パターンの結果を返すまでの原因は、細部まで書き出すと煩雑になります。・複数の入力フォームに入力した情報のどこがエラーになったか・カード情報照会時にどのような理由でエラーになったか・どのページからどのページに遷移するときにエラーになったか・何秒以上の通信待機時間を過ぎたら通信エラーで処理するか等これらを一つの枠に収めてそれぞれを線でつなぐことで関係性を整理できるのが、このCFD法の利点だと思います。
テスト(運用・保守・サポート)
【ソフトウェアテスト】直交表/ペアワイズ法 ①
本記事では直交表について記載します。さまざまな資料を調べて情報をまとめているうちに、直交表、ペアワイズ、HAYST法はそれぞれ直交表を元に関連しているようだと思ったので、直交表から順を追って記載していこうと思います。しかし、それぞれが個別の手法として確立しており、その手法を使用するシーンも違うことから、記事としては独立させたほうが適切かと思ったので、まずは直交表についてまとめたのち、続いて別の記事でペアワイズ法をまとめていきます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】直交表/ペアワイズ法 ②
直交表そのものについては直交表/ペアワイズ法 ①で記載しています。この記事では主にペアワイズ法についてまとめます。ペアワイズ法は組み合わせテスト技法の一つであり、直交表で考慮した各因子に想定されている水準が均等に分布するという条件を緩和し、各水準の組み合わせが少なくとも1回以上出現するようなペアを選択することで、直交法そのものよりもテストの粒度を粗くしてテストケース数を抑える手法です。
テスト(運用・保守・サポート)
組み込みエンジニアの収入の実態とキャリアの展望
組み込みエンジニアという職業は、モダンなテクノロジーの背後で静かに働き、私たちの日常を支えています。家電製品から自動車、医療機器、産業設備まで、数々の製品やシステムに組み込まれた技術の要として、組み込みエンジニアは欠かせない存在です。その専門的なスキルと知識は、時に目には見えない形で社会の発展に寄与しています。組み込みエンジニアにとっては、技術だけでなく、経済的な側面も重要なテーマです。この記事では、組み込みエンジニアの平均年収や年収アップのために必要なスキル、将来的なキャリア目標の選択肢について探求していきます。組み込みエンジニアを目指す方や既にこの分野で活躍している方々にとって、役立つ情報を提供することを目指しています。
キャリア
ネットワークの基礎③
TCPはTransmission Control Protocol、IPはInternet Protocolの略称になります。TCP/IPは、インターネット環境の通信を実現するための世界標準的に利用されているプロトコルのことです。機器やOSが異なっていても共通のプロトコルにより通信を可能にしています。TCP/IPの誕生から現在、そしてプロトコルについて学習していきたいと思います。
その他(インフラ)
sts4+JUnit5+Selenium4+Chromeを使ってみる
Seleniumをつかうと、結合テストを自動化した上にスクショまで取ってくれるということでしたが、前回はうまくいきませんでした。そこで今回は、Selenium4でリベンジしたいと思います。
テスト(PG/バックエンド)
DBの基礎と、Microsoft Accessについて
皆さんは”Access”(アクセス)という言葉を聞いたことがありますか? Accessとは、Microsoft社が運営するツールで、主にデータ抽出、集計処理や、業務システムの開発環境や動作環境として使われております。 企業向けというよりかは個人向けのデータベースソフトですが、多機能であり、データベース以外にも、外部のデータベースを参照してデータ抽出やデータ集計をするためのBI(ビジネスインテリジェンス)ツールとしてや、帳票作成機能を活用した業務システムの開発環境、動作環境としても利用されるシーンが多いのが特徴です。 また、AccessにはVBAが標準搭載されているため、プログラミングを行うことも可能です。 プログラミングを行うことで、上記の活用方法をより高度に、より便利に実装することができます。 ただ、機能が多すぎるため、新しくAccessの使い方を習得しようとする場合は、覚えることが多い分、それだけ学習コストが高めとなっております。 今回の記事では、そんなAccessの機能と一般的なデータベース知識の紹介を併せて行っていこうと思います。
製造・コーディング(PG/バックエンド)
【初心者用】CakePHPを学んでいこう⑧(APIその2)
前回はCakePHPでTwitterAPIを使用し、ツイートを取得して画面に表示する方法を紹介しました。 今回は実際にCakePHPで、JSONデータを返却するAPI処理をご紹介いたします。
製造・コーディング(PG/バックエンド)
自宅のWindowsでRuby on Rails ~データベース操作1
Webアプリケーションにおいて、データベースは非常に重要な役割を果たしています。多くのWebアプリケーションは、ユーザーからの入力情報を記憶するためにデータベースを利用しています。データベースがなければ、Webアプリケーションは単なるツールにすぎず、ユーザーの利便性を向上させることはできません。また、Webアプリケーションの開発者にとっても、データベースは欠かせない存在です。なぜなら、データベースを利用することで、Webアプリケーションの機能性や安定性を高めることができるからです。この記事では、データベースがWebアプリケーションにおいて果たす役割や、RailsでWebアプリケーションを開発する上でのデータベースの設計や操作について、具体的な例を交えながら解説していきます。
製造・コーディング(PG/バックエンド)
【初心者用】VB.Netとは
現在特には使用することがないのですが、様々な案件でVB.Netを使用する所が多いので気になっていました。どのようなことに使用するのか理解していないので、どこでどんな風に利用する言語なのかまとめたいと思います。
その他(PG/バックエンド)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
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を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
学習・スキル
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
学習・スキル
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
プロジェクト推進・管理(PG/バックエンド)
【初心者用】Active Directoryについて
Active Directory(AD)とはマイクロソフトが提供するWindows Serverに搭載されている機能で、ネットワークにつないでいるクライアント端末やサーバー、プリンター、アプリケーションなどの情報を収集し、一元管理できるディレクトリサービスです。ユーザーアカウントを集中的に管理できるので、ファイルやフォルダの共有データへのアクセス権限、プリンタなどの周辺機器への利用制限などユーザの利用権限を効率的に管理することができます。複雑化するリソース管理のタスクも、Active Directoryを使うことによって管理しやすくなります。
その他(インフラ)
【初心者用】ifconfigの出力結果の見方
Linuxシステムでネットワーク設定や情報を確認するための基本的なコマンドの1つがifconfigです。この記事では、初心者向けにifconfigコマンドの使用方法、オプション、出力結果の解釈について詳しく説明します。また、具体的な使用シーンや例、関連するコマンドや技術についても紹介します。
その他(インフラ)