Springを使ったAPIの実装方法
そもそもAPIとは、簡単に言うと他社が作った機能を自社のサービスに簡単に取り入れることができます。 例として、自分が住んでいる地域の天気予報が知りたいときにAPIを利用すると、住んでいる地域の情報を引数として相手に教えてあげると結果として自分の住んでいる地域の天気予報データが取得できたりします。 他にも、運送業者などが荷物発送のタイミングでメッセージアプリのAPIを利用すると荷物の発送通知などが利用者に簡単に伝えることができます。 APIを利用すると自社システムの開発の工数を減らすことができ、API利用可能なサービスはAPIを利用することでスムーズに自社のシステムに取り入れることができます。 ただメリットばかりではなくデメリットもあります。 APIの仕様変更やサービスの停止でシステムがうまく動作しなくなったり、APIを運用しているサーバーで不具合があったときはAPIは利用できず APIを過剰に利用せず自社システムである程度対処できるようにしておくことも大事です。
製造・コーディング(PG/バックエンド)
【初心者用】Docker(ドッカー)とは?
Dockerは今や当たり前に使われているプラットフォームですが、実務で使用することになったため、今更ながら自分なりに調べてまとめてみました。
開発環境関連(PG/バックエンド)
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
学習・スキル
【エンジニアになりたい人必見!】システム開発について
今回はシステム開発の流れや、関連する用語についてまとめました。エンジニアになりたい方に、役立つ内容となっています。ぜひ最後までお読みください!
開発計画(SE)
【ソフトウェアテスト】欠陥分析手法について
「【ソフトウェアテスト】不具合報告のインシデントレポートについて」記事で記載したとおり、インシデントはチケット作成して報告されたのち、内容を分析して対応をし、作成から完了に至るまで管理します。そうして蓄積されたインシデントレポートは、報告対応されたそのレポート自体が、以降で類似の現象を検出した際の資料として用いられる面もありますが、内容を分析することで、今後の開発品質向上を目指すための判断材料として活用することができます。いずれのインシデントレポートも、何かしら問題があったから作成されているものであり、問題点は解決した時点で完了とはせずに、内容を振り返って同じ轍を踏まないように以降の活動を随時改善していくことが肝要です。近年のアジャイル化が進んでいるプロジェクトなどの場合は、直近の開発内容に対するインシデントレポート単体を都度分析するような時間も設けられずに次々進んでいくことがありますが、プロジェクト全体としてインシデントレポートを統合管理し、アジャイル開発の各プロジェクト進行とは別途で機会を設けて、振り返りと共に不具合分析を行うことは、高品質な開発を目指す上で必要な活動です。ソフトウェア開発現場の現状として、プロジェクト形式もインシデントレポート形式もさまざまある状況なので、欠陥分析の手法もこれが絶対という唯一のものではなく、状況や期間などに合わせて必要な手法でアプローチをすべきです。統計的内容に基づく分析、インシデントごとの要因に基づく分析、その両面からの分析など、どのような面からアプローチするかによって用いる手法もさまざまあります。
テスト(運用・保守・サポート)
【ソフトウェアテスト】エラー推測テスト
エラー推測テストは経験ベーステストの一種です。最も単純な表現をするならば、「どうすればエラーが発生するか」を想像して試行し、エラーを再現させることを目的としたテストの手法です。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ソフトウェア開発とテスト活動について ①
ソフトウェアはほとんどの場合、複数の機能を組み合わせてシステムを構築し、さまざまなシステムをまとめたものを運用する想定で開発プロジェクトが進行します。Webシステム開発、アプリケーション開発、組み込みシステム開発など、開発プロジェクトにもそれぞれ種類はありますが、アプリケーションに付随するWebサービスを展開する場合にWebシステムを開発したり、組み込みシステムと連携するアプリケーションを展開する場合にアプリケーション開発をするなど、複数のサービスやプラットフォームが関連しているのがソフトウェアの現状であり、開発プロジェクトもそれに伴って複雑で多様な関係性の中で進行していきます。このため、何か一つを開発して終わりとなることはほとんどなく、開発プロジェクトの開始・終了・進行中に至るまで、そのほか複数の開発プロジェクトの進行も関連してきます。とはいえ、多くのプロジェクトが相互に関連しながら進行しているとしても、プロジェクト進行の工程という点でいうならば、サービスやシステムの企画と検討に始まり、リリース後の継続的な運用保守から運用の終了に至るまでを一つのサイクルとして、開発プロジェクトは段階を経て進行していくといえます。
テスト(運用・保守・サポート)
【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
【基礎】useEffect.useStateについて
Reactを使用した開発の勉強をしているので、頻繁に使用するuseEffectやuseStateなどのHooksにして基本的な用途と作業した例をまとめます。
その他(PG/フロントエンド)
決済サービスStripe+Laravelで決済フォームを作る
決済サービスとして人気なStripeを使用して決済フォームを作成してみます。以前GMO Paymentサービスを利用した際の導入コストや使用感などの比較検討を行い、要件にあったサービス選択を行う判断基準と学習を目的とします。・環境Laravel 10.3PHP 8.1nginxMySQLStripe
その他(PG/バックエンド)
Windows Active Directory入門
Windows Active Directory(AD)は、ネットワーク上でのリソース管理やセキュリティの向上に不可欠なツールです。本記事では、初心者向けにActive Directoryの基本的な概念と用語を大まかに解説します。ADの導入から基本的な機能の使い方を学んでいきましょう。なお、詳細なドキュメントは以下のサイトを参照してください。https://learn.microsoft.com/ja-jp/windows-server/identity/ad-ds/get-started/virtual-dc/active-directory-domain-services-overview
その他(インフラ)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
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のビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
学習・スキル
【初心者向け】Packet Tracerでネットワークを学ぶ(DHCP)
DHCP(Dynamic Host Configuration Protocol)は自動的にIPアドレスやサブネットマスク等をPCやルータに配布してくれるプロトコルです。
詳細設計(内部設計)(インフラ)
GitHubのReadmeをMarkdown記法で書く
Markdown記法は、プレーンテキストに特定の書式を付けることで、簡単にWebページやドキュメントを作成するための記法です。Markdown記法は、文書の見た目を整えるためのHTMLタグを記述する必要がなく、テキストファイルとしても読み書きが容易であるため、多くの人々によって広く使用されています。
プロジェクト推進・管理(PG/バックエンド)
ECUとはなにか、まとめてみた
ECUとは、車載ECUにおける「ECU」とは、Electronic Control Unit(エレクトロニックコントロールユニット)の略称で、車両のあらゆるシステムを制御する装置の総称です。主にライトやドア、キーレスエントリーシステムなどの車両のボディに関する分野からブレーキ、エンジン、ステアリングなどの制御、オーディオやナビ、GPSなどの情報に関わる分野などもECUが用いられています。現在市販されている自動車には、およそ100個以上ものECUが搭載されており、さらにはハイブリッド車や電気自動車などの環境に対応した最新の自動車にもECUがなくてはならないものとなっています。自動車に関連するECUという用語は、Engine Control Unit(エンジンコントロールユニット)として捉えられることもあります。エンジンコントロールユニットとは、エンジンにおける運転制御を電子的に行うためのマイクロコンピューターのことです。現在ではエンジン制御だけでなく、自動車のあらゆる分野で役割を担っていることから、総称としてElectronic Control Unit(エレクトロニックコントロールユニット)として扱われています。なお、エンジンコントロールユニットの呼び名であり、自動車技術者協会(SAE)および国際標準化機構(ISO)で定義されているものは、ECM(Engine Control Module)と呼ばれます。車載ECUは、自動車に装備されているあらゆる機器やシステムを制御します。この働きによって、エンジン性能の向上や燃費の低減、排出ガスのクリーン化、運転性(ドライバビリティ)の向上などを目指すのが、ECU搭載の目的です。自動車業界の大きな変革期である今、世界中の各自動車メーカーは自社が誇る最新技術を用いて自動車の環境性能や快適性能、安全性能の向上に力を注いでいます。自動運転技術など、これからの自動車においてさまざまな最新機能の司令塔を担うECUは今後の技術発展において必要不可欠なものになっています。
開発環境関連(PG/フロントエンド)
Springを使ったDBデータ検索画面の作成
今回はJavaから画面へ値を渡すプログラムではなく、 画面からJavaへ値を渡して、DBからデータを取得し結果を画面へ表示する 実装方法を紹介していきたいと思います。
製造・コーディング(PG/バックエンド)