IoTシステム開発の現状と未来展望
IoT(Internet of Things)は、インターネットに接続された物理デバイスのネットワークであり、これらのデバイスはセンサー、ソフトウェア、およびその他の技術を使用して、データを収集し、相互に通信し合います。
2024年7月20日
IoTシステム開発の現状と未来展望
IoT(Internet of Things)は、インターネットに接続された物理デバイスのネットワークであり、これらのデバイスはセンサー、ソフトウェア、およびその他の技術を使用して、データを収集し、相互に通信し合います。
記事を読む
2024年7月18日
セキュアなコーディングプラクティスと脆弱性対策
現代のソフトウェア開発において、セキュアなコーディングプラクティスは極めて重要です。
これにより、ソフトウェアが攻撃者による悪意のある操作から保護されるだけでなく、ユーザーのデータやシステムの整合性も確保されます。
本記事では、セキュアなコーディングプラクティスと脆弱性対策について詳細に説明します。
記事を読む
2024年7月12日
フロントエンドフレームワークの選定ガイド
フロントエンドフレームワークは、ウェブアプリケーションの開発を効率化し、保守性や拡張性を高めるために欠かせないツールです。
しかし、多数のフレームワークが存在するため、適切なフレームワークを選定することは容易ではありません。
本記事では、主要なフロントエンドフレームワークの特徴と、選定時に考慮すべきポイントを詳しく解説します。
記事を読む
2024年6月21日
データベース設計の原則におけるトレンド10選
データベース設計は、データの効率的な格納、管理、アクセスを実現するための基本的なプロセスです。
技術の進歩と共に新たな手法やトレンドが登場しており、これらを取り入れた設計が求められています。
本記事では、トレンドを含むデータベース設計の原則を詳細に説明します。
記事を読む
2024年6月19日
ソフトウェア開発における技術債務とその管理方法
技術債務(テクニカルデット、Technical Debt)とは、ソフトウェア開発において、短期的な利益や急速なリリースを優先するために、最適でない解決策や不完全な設計、コーディングの手法を採用することで生じる技術的負担を指します。
記事を読む
2024年6月14日
モバイルアプリ開発における2024年のトレンドとフレームワーク比較
モバイルアプリ開発の世界は急速に進化しており、新しいトレンドやフレームワークが次々と登場しています。
本記事では、2024年現在のモバイルアプリ開発のトレンドと、主要なフレームワークの比較について詳述します。
これにより、開発者が最新の技術を活用し、最適なフレームワークを選択するための手助けとなるでしょう。
記事を読む
2024年6月13日
テスト自動化と継続的インテグレーションの実践
ソフトウェア開発において、品質を確保し、効率的な開発プロセスを実現するためには、テスト自動化と継続的インテグレーション(CI)が不可欠です。
これらのプラクティスは、コードの変更が迅速に検証され、問題を早期に発見することを可能にします。
本記事では、テスト自動化と継続的インテグレーションの実践について説明し、その利点と導入方法、そしてベストプラクティスを紹介します。
記事を読む
2024年6月7日
機械学習モデルの開発とデプロイメント
機械学習(ML:Machine Learning)はデータから学習し、予測や意思決定を自動化する技術です。
現在、多くの業界で機械学習モデルが活用されており、効率化や高度な分析を実現しています。
この記事では、機械学習モデルの開発からデプロイメント(本番環境に展開をすること)までのプロセスとベストプラクティスについて記載します。
記事を読む
2020年7月30日
HTTPS(SSL/TLS)暗号化について
はじめに 皆さんこんにちは、オプスイン開発エンジニアの新川です。 この記事では、ウェブサービスに関わる上で基本中の基本のセキュリティともいえるHTTPSについて解説します。 HTTPSとは HTTPS(Hypertext Transfer Protocol Secure)は、HTTPによる通信をより安全に行うためのプロトコルです。HTTPとは別のプロトコルで、ウェルノウンポートも異なります。(HTTPは80番ポート、HTTPSは443番ポート) HTTPSを利用することにより、ウェブサイトをホスティングする場合に以下のようなメリットがあります。 改竄、盗聴などの攻撃を防ぐことができる HTTPSを利用する場合、ウェブブラウザからウェブサーバまでの通信が暗号化されます。これにより、例えば利用者がクレジットカード情報等をサーバに送信する場合でも、通信の盗聴や送受信データの改ざんを防ぐことができます。 なりすましの攻撃を防ぐことができる 「なりすまし」とはどういう物かというと、たとえばウェブサイトの閲覧者が銀行のサイトにアクセスして口座情報を入力するようなケースで、悪意のある物が銀行のページそっくりなサイトを用意し、そこにアクセスさせて個人情報を盗み取るような攻撃手段のことです。 HTTPSを利用するためには、ウェブサーバに「サーバ証明書」を配置する必要があります。これは、シマンテック社などの第三者機関が「このサーバは間違いなくこの会社で運用されているサーバですよ」というお墨付きを与えるものです。 ひとつ注意しないといけないのは、なりすましサイトもサーバ証明書を導入してHTTPS化している可能性があるということです。ブラウザから証明書を表示し、ちゃんと第三者期間のお墨付きを得た信頼できる証明書なのか確認することも重要です。 SEOに有利になる 検索エンジンがウェブサイトを検索結果に表示する際、検索エンジンによってはHTTPS化されているウェブサイトを検索結果の上位になるようにしていることがあります。GoogleはHTTPS化したサイトを優遇して検索結果に表示すると公に発表しています。 GoogleのHTTPS化への圧力は結構強いものがあり、最新のGoogle ChromeではHTTPS化していないサイトを閲覧すると警告が表示されます。URL入力欄の隣に「! 保護されていない通信」と表示されているサイトは、HTTPで通信していることを示しています。 暗号化プロトコルの違い HTTPSでは通信を暗号化する技術が使われますが、この暗号化技術(暗号化プロトコル)にはいくつか種類があります。「安全性が低いので使ってはいけませんよ」とアナウンスされている物もありますので、こちらでご紹介します。 SSLとは SSLは、一昔前に使われていた暗号化プロトコルです。SSL1.0〜SSL3.0までバージョンがありますが、2020年現在ではすべてのバージョンで脆弱性が指摘されておりますので、使用しないことが望ましいです。 TLSとは TLSはSSLの次期バージョンとして広まっている物ですが、このTLSについては2020年現在、TLS1.0〜TLS1.3まで存在します。このうち、TLS1.0, 1.1については脆弱性が指摘されており、使用しないことが望ましいです。 新規にウェブサイトを構築する場合は、暗号プロトコルとしてTLS1.2もしくは1.3を選択したほうが良いでしょう。 通信プロトコルの選択手段 SSL/TLSのうちどの通信プロトコルを使うかは、クライアント(ウェブブラウザ)の設定と、ウェブサーバ側の設定で決まります。 クライアント、サーバいずれも、「この暗号化プロトコルは使ってもいいですよ」と許可する形で設定を行います。どちらか一方で拒否しているプロトコルは使えないため、クライアント側が許可しているプロトコルをサーバ側がすべて拒否している場合はサイトを閲覧することができません。 InternetExplorerの古いバージョンではSSLしか使えないものもありますので、こうした古いブラウザで閲覧できるサイトはどんどん減っていることと思います。 必要の無いケース 顧客にウェブサービスを提供する上ではHTTPS化は必須と言えると思いますが、何でもかんでもHTTPSにしなければならないというわけではなく、HTTPSには以下のようなデメリットもあります。 費用がかかる HTTPSを実現するにはサーバ証明書が必要ですが、このサーバ証明書は数年単位の更新で、年額数万円が必要になることもあります。 ただ、最近はLet’s Encryptというサービスもあり、これを利用すると無料でサーバ証明書を導入することも可能です。 リソース消費が増える HTTPでの通信と比較して、HTTPSは暗号化の処理が走りますので、その分サーバのリソース消費が大きくなります。 こうしたデメリットを踏まえた上で、HTTPSを利用する必要が無いのは以下のようなケースです。 開発環境 […]
記事を読む
ユーザーの声をより反映できるサービス提供
現代では様々なサービス、商品があらゆるユーザーの手にわたり、人々の生活を豊かにするものとなっています。サービス提供の流れ、というものはある程度確実な形が存在していますが、中には少し違う方式があります。 今回紹介する方式のサービス提供を実際に活用している事業についても紹介していきます。 目次: 従来とは違う流れ オンラインクラスサービス【CLASS 101】 旅行企画SNS【Trippiece】 クラウドファンディング-ロモグラフィ社によるフィルム製造の例 クラウドファンディング-美術館KAMUの例 このような提供方式を採用することで得られるメリット まとめ 従来とは違う流れ 提供されている多くのサービスでは、上の画像のような流れが適用されています。まず初めにサービスの提供を行い、それに対してのリアクションを受け取って改良を繰り返していきます。 最大の特徴、上で紹介したものとの違いはサービスの提供の前にユーザーからの声を取り入れている、という点でしょう。 反面ユーザーの需要が一定数無ければコンテンツの提供までつながりづらいという点もありますが、実際にこれを採用している例も多くみられます。次は、その具体例を業界別にいくつか紹介していきます。 オンラインクラスサービス【CLASS 101】 CLASS 101は、韓国とアメリカを拠点に置くサービス。2020年の2月からは日本でもサービスを展開し始めました。 サービスの流れ ①クラスの掲載 イラストや写真、料理やハンドメイドなど多くのジャンルに関するクラスを掲載します。掲載ページには習得難易度や詳細が載せられており、予め確認が可能です。 ②希望者の募集 HPには多くのクラスが掲載されていますが、その全てが開講出来る、というわけではありません。クラスの開講のためには、希望者の応募が100人集まる必要があります。その時点で何人が応募しているかは常にメーターで確認することが出来、クラスの掲載主、ユーザーの双方にとってわかりやすい機能となっています。 ③開講 100人を超えると実際にクラスが開講されます。受講の際に使用する材料は予めCLASS 101から予め配送され、授業動画は期間内であれば何回でも視聴することが出来るため、確実に知識と技術の定着が可能です。他の受講生との共有、提出した作品に対してのフィードバックもあり、ユーザーにとって優しいコンテンツを提供していることがわかります。 冒頭で紹介したサービス提供の流れを活用してサービスを提供していることが分かったかと思いますが、そのなかでもCLASS 101の大きな魅力と言えるのはコンテンツ提供後の充実さではないでしょうか。 100人の応募者という条件を満たしたクラスだけを開講することで大多数のユーザーの需要を満たせるようにしていますが、受講生が求める「自分の技術の上達」を実現できるように更にサービスを提供しているという点は、CLASS 101の武器といえるでしょう。視点を変えて考えれば、最初に挙げた従来の流れにある「ユーザーの要望、意見に合わせたコンテンツのアップデート」という箇所をうまく変形させて組み込んでいる、とも言えそうですね。 旅行企画SNS【Trippiece】 株式会社Trippieceが旅行メディア「RETRIP」と一緒に2011年から運営しているサービス。2013年には観光庁長官賞も受賞しており、十分に知名度を得ています。 サービスの流れ ①企画の掲載 Trippieceが認可した企画プランナーによる旅行案を掲載しています。プランナー個人が立案を行うため、旅行会社の企画するプランよりも珍しい場所、内容のものが多くなっています。 ②参加者の募集 掲載から一定の期間、参加者を募る期間が設けられます。他のユーザーがどの程度企画に興味をもっているかがわかる投票機能なども提供されている為に応募期間の途中でもある程度需要を把握することが出来るように設計されていますが、旅行というコンテンツの特性上どうしても参加者を目標まで募れずに企画倒れしてしまうケースも多いようです。 ③ツアーの具体的な内容を練る 参加者とプランナーの間で、ツアーの中身を練っていきます。旅行先で自分がしてみたいことを組み込みやすいという利点があり、より満足するコンテンツに仕上げることが出来ます。 ④出発 […]
記事を読む