【初心者向け】データベースセキュリティについて
データベースを設計する際や、不正アクセスがあった際にセキュリティを見直したり考えたりする必要があると思います。今回はデータベースセキュリティについてどういった内容なのか、どういったことを考慮して設計すればよいのか解説していきたいと思います。
【初心者向け】ORMとは
ORMとは英語でObject-Relational Mappingといい、オブジェクト指向プログラミング言語とリレーショナルデータベースとのマッピングを行うものになります。またそれぞれの互換性を向上させるために設計されたプログラミング技術でもあります。ORMの基本的な構造として、プログラミング言語のクラスとデータベースのテーブルを関連付けや対応付けを行うことから始まります。これにより、エンジニアは直接SQLクエリを作成することなく、ORMを通じてデータベースとやりとりを行うことができます。そもそもオブジェクト指向プログラミング言語と、リレーショナルデータベースとはなにかを簡単に説明します。オブジェクト指向言語:データ(オブジェクト)とそれに関連する操作(メソッド)を組み合わせてプログラムを構築するプログラム言語のことです。リレーショナルデータベース:データを表形式で管理するデータベースの一種です。リレーショナルデータベースでは、データが複数のテーブルに分割され、それらの表の間に関係性が定義されています。ではなぜORMという技術が出てきたのでしょうか。
【ソフトウェアテスト】シナリオテスト
シナリオテストはユーザー視点で利用場面を想定し、操作フロー、入力値、発生する正常系挙動異常系挙動など、ユーザーが利用する一連の流れを想定したうえで発生しうるストーリーを元にテストを実施する手法です。ブラックボックステスト技法はさまざまあり、あくまで無数に存在しうるテストケースから粒度や対象を整理抽出してより広く浅いテストケースを目指すようなものがほとんどです。しかし、複数機能をもつシステムを実際に利用する際には、複数回の遷移を繰り返したりシステムが何重にも関連したりするので、1つの機能を対象としたテストや、2つ3つの機能間の関連をテストしただけでは、再現し得ないような組み合わせでの不具合が発生する懸念は常にあります。フリーチェックやモンキーチェックなどと呼ばれるものも、結局は「ユーザーなら再現しうる」可能性を想定して実行するものですが、それを数値や手順を明確にしてより詳細にテストし、かつ明示することでその内容をテストの履歴としたり、テストの要件自体もレビューなどで評価対象とできることがこのシナリオテスト手法の利点と考えられます。また、ユーザーのストーリーを元にテストするという点から、よりユーザーサイドでの視点から評価できるため、単純に欠陥を検出するのみならず、UI/UXの評価検討なども実施することができます。
テスト(運用・保守・サポート)
システム開発で行うテスト工程と概要のまとめ
開発するシステムの品質を担保するために開発工程に応じてシステムのテストを行う必要があります。開発工程ごとに行うテストではどのようなものがあるのか、そこではどのようなことを行うのかを説明します。「ウォータフォール型開発」と「アジャイル型開発」の開発手法がありますが、ここでは「ウォータフォール型開発」の手法に絞って説明します。
テスト(SE)
【Java】トランザクション処理について
「トランザクション処理」という言葉は基幹システムや、オンライン決済など、データの整合性と信頼性を必要とするシステムを開発する際に必ず耳にすると思います。必ず耳にするということは大事な処理であるということだというのはわかるはずです。ただ、どういった処理なのかぼんやりとしか分からない方もいると思います。私もその一人でしたので、今回は学習した内容をまとめると同時に分かりやすく「トランザクション処理」について解説していきたいと思います。
仕事の流れを可視化する業務フローの作り方
システム開発の現場に参画して一番最初に学ぶ内容が、今回紹介する業務フローです。 前回紹介したマニュアルと近しいドキュメントにはなってしまいますが、マニュアルと業務フローは全く別の観点から作り上げるドキュメントです。 マニュアルは、システムの操作方法などを記したドキュメントなのに対して、業務フローは【仕事の内容や手順を図で表したもの】です。 業務を視覚化することで、見落としを行うリスクが軽減し、文章で手順を読むよりもわかりやすく、全体像を掴みやすくするというメリットがあります。 各現場によっては非常に読みづらい業務フローが整備されていますが、適切に書かれたフローであれば業務の流れを直観的に理解しやすく、業務マニュアルや新人研修としても活用できるため、非常に効果的です。 担当者が業務を改善したり、他部署の業務について相互理解を深めたりするツールとしても有効です。 小規模・中規模のシステムにも活用できますが、大規模なシステムにおいては、全体の機能を業務フローで表すことができるので、保守性の向上にもつなげることができます。 障害が発生して調査をおこなう場合などでも、ソースコードのみを調べると時間がかかりますが、業務フローがあれば、機能ごとのきりわけができるので問題を早く特定しやすくなります。 もちろん、システムの機能拡張や業務内容の変更の際も、業務フローがあれば検討資料としても活用されるシーンが多いです。 業務フロー作成の目的をまとめると、 ・業務の視覚化、標準化 ・業務の問題の発見 ・担当者および他部署間の業務の把握、相互理解 ・業務の保守性、拡張性の向上
製造・コーディング(PG/バックエンド)
ネットワークセキュリティの重要性と技術
インターネットの発展に伴い、インターネットを悪用する側の技術も進歩しています。「利便性」と「安全性」を両立させるために多くの技術革新が進んでいます。ネットワーク技術に加え、セキュリティ関連の技術に対しても、正しく理解して、適切なセキュリティポリシーを作成し、管理・運用することが重要になってきます。ネットワークセキュリティの重要性と技術について学習していきたいと思います。※セキュリティポリシーとは、企業や組織が定める、情報の取り扱いやセキュリティ対策についての考え方などを統一し、明文化したものになります。
テスト(IT事務全般)
人気のRubyフレームワークを徹底比較!
Rubyの世界では、フレームワークの選択がプロジェクトの成功に大きな影響を与えます。多様なフレームワークが存在する中で、それぞれの特性を理解し、プロジェクトに最適なものを選ぶことは、時には難しい課題となることでしょう。特に、フリーランスのエンジニアにとっては、求人や案件で特定のフレームワークの経験が求められることが一般的です。これにより、適切なフレームワークの知識とスキルは、より良い機会と高い報酬を引き寄せる要因ともなります。Ruby on Railsは、Rubyのフレームワークとして広く知られていますが、他にも多くの優れたフレームワークが存在します。それぞれのフレームワークは、特定の用途や状況に適しており、その選択はプロジェクトのニーズによって変わります。この記事では、Rubyのフレームワークの概要と、それぞれの特徴を深掘りします。また、現在のトレンドや、各フレームワークの利点と欠点、そしてどのような状況で最適なのかについても詳しく解説します。これにより、あなたのプロジェクトやキャリアに最適なフレームワークの選択を、より簡単に、そして的確に行うことができるでしょう。
【Javaフレームワークおすすめガイド】スキルアップへの第一歩
エンジニアとしての成長は、学習と実践を通じて進むものですが、その中でもプログラミング言語の選択は重要なステップです。特に、Javaという言語は幅広いアプリケーションで利用され、堅牢で拡張性の高いコードを作成することができます。しかし、Javaをより効果的に活用するためには、フレームワークの理解が不可欠です。本記事では、Javaの基礎から始めて、フレームワークの種類やそれぞれの特徴、そしてJavaエンジニアとしてのキャリアパスについて深掘りしていきます。エンジニアとしての成長において何が足りないのか、またどのようなスキルや知識が必要なのかを明確にするための第一歩として、Javaとそのフレームワークについて詳しく解説します。
【ソフトウェアテスト】QC7つ道具と新QC7つ道具 ①
生産の分野における管理手法に関して、各種データの分析に使用する代表的な7種類の手法が、QC7つ道具と呼ばれています。もともとは工業系生産などの製造現場における品質に関して、顧客信頼度を高めたり現場の問題解決に取り組むための視点として、品質管理の思考が波及しました。そのことから、管理の手法を明示化することで、手法を用いて誰でも品質管理に取り組むことができるようになることを目的としてさまざまな手法が作成されました。それらの中でも特に代表的なものがQC7つ道具と呼ばれるようになりました。ソサエティー5.0が提唱されている現代において、市場や製造現場におけるソフトウェア関連開発業務の割合は増えています。ITの基本資格でもある基本情報技術者試験のストラテジ系領域の内容にもQC7つ道具に関する問題が含まれており、ソフトウェア開発現場におけるQC(Quality Control)活動においても、QC7つ道具の利用される場面は増えています。QC7つ道具は主に、数値などの定量的分析が可能なデータを取り扱う分析の際に用いられる手法です。定性的な事象の分析に用いるような手法は新QC7つ道具として別でまとめられています。※以降に記載する図の中でも定性的事象分析に使用できる図はあるため、QC7つ道具が必ずしも定量的分析にしか使用しないものというわけではありません。
テスト(運用・保守・サポート)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年10月26日
テスト(運用・保守・サポート)2023年11月17日
2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見る【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
【初心者向け】Packet Tracerでネットワークを学ぶ(インストール編)
ネットワークエンジニアとしてCisco社のルータやスイッチの運用業務を遂行するには、 コマンドの知識やどのように機器が通信させているかよく理解しておく必要があります。 またCCNAといったネットワークのベンダー資格でも実際にコマンドを記述するシミュレーション問題が出題されることもあるので、自身のネットワークスキル向上には日頃からコマンド操作に慣れておく必要があります。 知識を定着や操作の慣れには座学だけでなく実際に機器に触れコマンドを入力し結果を確認することが一番なのですが、ルータやスイッチ等のネットワーク機器はいずれも高額であり、中古でもそれなりの値段となるので初心者が自宅に環境を作成することは簡単ではありません。 そこでCisco社のルータやスイッチに簡単に機器の設定、環境の構築、コマンドの投入練習といったことができるアプリケーションが「Packet Tracer」となります。
詳細設計(内部設計)(インフラ)
【初心者向け】Packet Tracerでネットワークを学ぶ(CLI操作の基本編①)
ルータ初期設定編ではPacket Tracerを使ってルータを直接操作し色々な設定を試してみたいと思います。 まずCisco製品のルータにはPCと同様にOSがインストールされています。 それが「Cisco IOS(Internetwork Operating System)」です。 スイッチでもこのOSを利用しています。 Cisco IOSはWindowsのようなグラフィカルなインターフェースではなくコマンド入力のみで様々な操作を行うインターフェースになります。 コマンドで操作するインターフェースのことを「CLI(Command Line Interface)」と言います。
詳細設計(内部設計)(インフラ)
【初心者向け】Packet Tracerでネットワークを学ぶ(NAT)
NATとはNetwork Address Translationの略称でIPアドレスを変換する技術です。 インターネットに接続する際にプライベートIPアドレスをグローバルIPアドレスに変換します。
詳細設計(内部設計)(インフラ)
