#jpblog
Explore tagged Tumblr posts
Text
そもそもスマホアプリ決済ってなに?安全性は?そんな疑問を一挙に解決!
2016年の今、たくさんのお店、銀行などでスマホアプリ決済を取り扱うようになりました。楽天市場、LINEストアなど皆さんお気に入りのアプリにはスマホアプリ決済の機能が付いていますよね。
そもそもスマホアプリ決済とは一体何なのでしょうか?その安全性も含めご紹介していきたいと思います。
スマホアプリ決済って?
スマホアプリ決済とは、消費者と企業の間でスマホを使って決済を行うことです。実際の操作ステップは…
ステップ1 そのお店で使えるアプリをインストールして、アプリを通してお買い物。
ステップ2 決済情報をアプリに入力、決済を行う。
ステップ3 アプリはインターネットを通じて店舗や消費者の銀行口座へ通信。 ステップ4 銀行と店舗それぞれが決済を認証すると、アプリを通して消費者に決済完了を通知。
スマホアプリ決済のこの流れは非常に便利で、実際に店舗に出向かなくてもスマホひとつでお買い物ができてしまいます。しかしスマホアプリ決済にまだまだ不安を持っている方も。考えられる心配・不安な点は2つあります。
その1 安全でないネットワークを使っていた場合、第三者が消費者と店舗のインターネット通信を覗き見ることができるかもしれません。
その2 安全でないアプリや、アプリに脆弱性があっ��場合、ハッカーが入り込んで、自分の個人情報や銀行情報などが流出して、無断で何かの取引に使われてしまう可能性があるかもしれません。
それでは、スマホアプリ決済に関して消費者はどのような注意を払えばいいのでしょうか?2つご紹介します。
一つ目 安全が保証されない公共Wi-Fiのようなネットワークでスマホアプリ決済をしない。
二つ目 Apple Store、Google Play以外からのアプリのダウンロードを避ける。
皆さんも参考にしてみてください。
スマホ活用法がいろいろ載ってるDr. Booster公式ファンページもぜひチェックしてください。
参考文献: TREND LABS 趨勢科技全球技術支援與研發中心、「【資料圖表】行動支付安全」、2015/02/14更新、http:/blog.trendmicro.com.tw/?p=10861#more-10861、2016/12/02引用
0 notes
Photo
New on #JPBlog: why we're in love with the new photo series by @forloveandlemons where real couples share their Sunday mornings in #Skivvies! 💕 This photo was taken by #AsherMoss @basementfix of his stunning girlfriend #MelodiMeadows @babynative 😍❤️ #ForLoveAndLemons
8 notes
·
View notes
Text
Tinder!
Tinder
Cada 3 días vamos a probar esta divertida app cambiando un poco las fotos a sacar algunas estadísticas.
Cada vez que subamos las fotos vamos a dar 50 "Me gusta" a usuarias ni muy exuberantes ni muy poco exuberantes (3 - 7).
Vamos a seguir estos consejos Y arrancamos! Primera Ronda: Original (21/06)
Cantidad de Match: (Resultados el 25/06)
Segunda ronda: Tramposa (25/6)
Cantidad de Match: (Resultados el 29/06) Segunda ronda: Ayúdenme con ideas, Gracias! (29/6)
0 notes
Link
2021年6月23日(太平洋標準時)に開催されたTrailheaDX ’21のセッションの中からSalesforce開発者向けにピックアップした動画を日本語で公開します。 (原文セッションタイトル:Get to know Architect Decision Guides ) Salesforce Developers Japan では Salesforce 開発に関する最新情報を発信しています! ◎チャネル登録はこちらから↓ http://www.youtube.com/channel/UCFG6QAd05vKhxC0ySMH1Cww?sub_confirmation=1 ◎ニュースレター配信登録はこちらから↓ https://forms.gle/9dXsSh9ah4sPFCzt6 ☁ - - - - - - - - ☁ - - - - - - - - ☁ 公式 Twitter https://twitter.com/SalesforceDevJP 公式���ログ https://developer.salesforce.com/jpblogs/ ☁ - - - - - - - - ☁ - - - - - - - - ☁ #Salesforce #セールスフォース #開発 #TDX’21
0 notes
Link
「Salesforce エンジニア白書」を無料公開 この度、Salesforce Developers Japanより「Salesforce エンジニア白書」を公開いたしました。 本レポートは、2021年3月16日から同年4月16日までの間でSalesforce開発者とアーキテクトを対象に実施した「Salesforce開発者アンケート」の結果をまとめたもので、Salesforce��開発の携わるエンジニアの皆様の今を知ることができるレポートとなっています。 この記事では、調査結果の中から注目すべき結果をピックアップしてご紹介しています。 全ての調査結果をご確認頂くには無料配布中の「Salesforce エンジニア白書」をダウンロードしてご覧ください。 Salesforce エンジニアのスキル 多くのSalesforceエンジニアは、JavaScriptやHTML、JavaといったWeb開発に関するスキルを習得していることとが分かりました。また、よく使うフレームワークとしてはjQueryの人気が高く、業界の最先端技術よりは使い慣れた技術を好む傾向があるようです。また、Salesforceプラットフォーム上での開発においても、jQueryが利用できるVisualforceを使った開発が根強い人気を誇っていますが、LWCの活用も進んでいます。 保有している認定資格としては、認定アドミニストレータが最も多く、技術者であってもSalesforceの基本機能への理解が重要視されています。 Salesforce 開発の現場 Salesforceの開発プロジェクトに参加しているエンジニアの内、54.9%が現在システムの内製に関わっています。 また、93.2%の開発者がここ1年間でノーコード開発を活用したと答えており、内製とノーコード開発の浸透率の高さが伺えます。 新型コロナウィルス感染症以降、84.3%のエンジニアが在宅勤務を行っており、半数以上が月の平均残業時間が20時間未満であることから、ライフワークバランスのとれた生活をおくれているようです。 開発者の学習方法 主な学習方法としてはTrailheadと開発者ドキュメント、コミュニティによる技術ブログが活用されています。 また、8割以上がなんらかの社外勉強会に参加しており、年齢が高まるにつれて参加率も上がっています。 Salesforce は非常に多くの機能が提供されているのに加え、年3回のアップデートによる機能強化も実施されるため、継続的な学習が求められる一方で、年齢や役割によって学習方法は変化するようです。 最後に 新型コロナ感染症によって人々の移動が制限され、これまで積み上げてきた開発者同士の繋がりも少しずつ薄れ始めています。同時に、これまで互いの交流によって醸成されてきた技術への探究心やさらなる成長への意欲を見出す機会も薄れつつあります。 「Salesforce エンジニア白書」は、日本のSalesforce開発者を取り巻く環境を俯瞰的に把握し、開発者が今注目している技術やスキル��またスキルアップや学習方法、人材市場における動向など幅広いトピックについての調査結果を公開しています。これにより、以前のような気軽な交流が難しい中でも、Salesforce開発者が自身のスキルや市場価値を客観的に分析する指標となり、現在の仕事やスキルアップにより一層取り組む意欲を再発見することで、開発者コミュニティ全体の発展に貢献できることを願っています。 本調査にご協力頂きましたみなさま、誠にありがとうございました。
0 notes
Link
イベントバスが必要なケースをよくある5つの用途で紹介 オリジナル記事 Do You Need an Event Bus? A Quick Overview of Five Common Uses イベントは、メッセージとも呼ばれ、異なるシステム間で情報を伝達するための優れた手段です。Apache Kafkaは、こうした通信を大規模に処理するように設計されています。 これが業界標準になっている1つの理由は、入力データをすべて最適に活用する効率的な方法を提供していることです。 英語などの言語の価値が高まるのは、多くの人がその言語を話すからであるように、こうしたメッセージは最も一般的なシステムで「理解」される一方で、そうでないメッセージに関して「教える」には多大な努力が必要です。 このブログ記事は公開されており、お互いのことを知らなくても情報を共有できるように、Kafkaはイベントやメッセージを関係者に配信する手段となります。そして、話し言葉と同じように、その言葉を話す人が増えれば増えるほど、その価値は高まっていきます。同様に、異種システムがイベントを交換できるKafkaのような共有イベントバスがあれば、さらに強力になります。 Herokuのアーキテクトとしてトップクラスのお客様をサポートしていると、人とその会社を窮地に追い込むパターンや、きわめて簡単に変更を行うパターンを目にします。この記事では、標準規格に準拠したイベントバスによって実現する(数多くの)パターンのうち、5つのパターンについて手短に紹介します。それぞれのパターンの目的は異なりますが、実装は基本的に同じであるため、簡単で保守性と汎用性の高いものになっています。 これは、イベント駆動型アーキテクチャについて説明するシリーズの記事です。このシリーズの他の記事では、Herokuのコンピューティングを使用してフローを拡張する方法、Work.com組織の複数組織における可視性、および組織間のデータ同期について説明しています。 こうしたパターンの中心となるのが、HerokuとApache Kafkaのコネクターです。どちらもよく知らないという方は、記事の最後にある資料をご覧ください。(また、Heroku Enterpriseのお客様は、Customer Solutions Architectureチームにこれらのトピックに関する詳細なガイダンスをリクエストできます)。 今回の記事では、以下の5つ��パターンを取り上げています。 パターン#1:変更を管理する場合(Change Data Capture) パターン#2:連携する場合(統合) パターン#3:すぐに把握する必要がある場合(リアルタイム処理とインサイト) パターン#4:後で必要となる可能性がある場合(データのアーカイブ、バッチ処理) パターン#5:組織のスケーリングが必要な場合(スケーラビリティ) パターン#1:変更を管理する場合(Change Data Capture) データが変更されない場合(おかしなことですが)、この問題はスキップしても構いませんが、変更されてもわからない理由を理解する必要があります。このパターンでは、基本的なユースケースとして、Salesforce組織で何かが変更され、他の多くのサービスで変更内容を把握する必要がある場合を想定しています。サービスが何であるか、または誰が所有しているかを把握していなくても、変更を反映させることができます(言うまでもなく、セキュリティを考慮することが重要です)。 たとえば、オンラインストアを運営していて、地域のあるSalesforce組織で在庫が更新されたときに、サイトの検索、レコメンドグラフデータベース、CDNを更新する必要があるとします。Lightning Webコンポーネントは、共有されたKafkaイベントバスから直接更新することもできるので、Salesforce組織内で動作しているアプリであっても、変更後すぐに更新できます。 在庫切れの商品の購入を勧めるような真似は避けたいので、このパターンではタイミングを考慮することが重要になります。また、ロールアウトの同期を維持しながら、品目をパージする機能を備えているかどうかを確認することもおすすめします。オンラインショッピング時に品目は在庫としてあるのに、購入しようとすると消えてしまうような問題を経験したことがありませんか。より適切に処理するには、在庫切れのマークをつけて、順番待ちリストを提供することです。お客様に時間を無駄にしたと感じさせず、他のサイトに流れさせて販売機会を失うこともありません。 最終的に、次のようなアーキテクチャになると考えられます。 詳細情報 Heroku Connect Apache Kafka on Herokuによる複数のSalesforce組織の同期化(ウェブセミナー)(英語) https://devcenter.heroku.com/ja/articles/heroku-data-connectors Elastic Searchアドオン(英語) CDNアドオン(英語) Fastly + Kafka + Elasticsearch(英語) パターン#2:連携する場合(統合) ピーナッツバターとゼリー、コーヒーとドーナツ、あるいはコピーとペーストのように、多くのテクノロジーは相性が良いものです。Apache Kafkaの真の強みは、サービス間やクラウド間でデータを共有すると同時に、各システムの切り離しが可能であることです。これも、標準規格に準拠したオープンソースのソリューションを使用することのメリットです。Apache Kafkaには常に新しいコネクターやツールが開発されており、そのまま利用することも、既存のものを利用して独自に開発することもできます。エコシステムは製品よりも強力です。 イベントを共有バスに送信することで、新しいサービスを追加したいときには、これを共有バスに接続するだけですぐに動作するようになります。この図ではPrivateLink経由でKafkaに接続していますが、これにより、AWS VPC内の別のIPであるかのように安全にアクセスすることができます。また、MuleSoftも接続しており、他の多くのサービスやAPIに接続することができます。 詳細情報 Apache Kafka on Heroku向けPrivateLinkの作成 Heroku Elements(��ドオン)(英語) MulesoftとKafkaの接続サンプル(英語) Mulesoftコネクター(英語) MulesoftとHerokuのデータサービスとの接続(英語) パターン#3:すぐに把握する必要がある場合(リアルタイム処理とインサイト) 一部には時間的制約がある変更もあるため、できる限り早急に把握しておく必要があります。たとえば、セキュリティ侵害、商品の出荷(配送)、サービスの停止など、今すぐに対応が必要な問題を考えてみましょう。 リアルタイムのイベントを分析し、通知やダッシュボードを提供するためのアーキテクチャは、以下の図のようになります。イベントがトピックに入ってくると、それを処理し、適切な措置を講じます。イベント数をカウントしてアクションをトリガする量でないか確認することもあれば、単にダッシュボードに集計結果を表示してモニタリングすることもあります。 Kafka Streamsは、このタイプのアプローチを実装する妥当な手段であり(以下のリンクを参照)、アーキテクチャは次のようになります。 詳細情報 HerokuでのKafka Streams Kafka Streamsのアーキテクチャ(英語) 小売でのリアルタイム利用(英語) リアルタイムの他のサンプル(英語) イベントストリームの管理(英語) パターン#4:後で必要となる可能性がある場合(データのアーカイブ、バッチ処理) それでは、今あるこのデータをどこに保存しますか? 多くの企業では、データを一定期間保存したり、オフサイトに保管したりする必要があります。どの企業も、お客様のことをもっと知りたい、データからインサイトを得たいと考えています。これは、そうした方(つまり、私たち全員)を対象としたパターンです。生のイベントをどこかに保存しておく理由は、処理以外にも、イベントを「再生」できるという点があります。バグのため、または新しい方法でデータを処理するために再生が必要となる場合があるかもしれません。どのようなユースケースであっても、このパターンは導入してよかったと思えるものです。 詳細情報 オフサイトデータベースのアーカイブ(英語) TableauとSnowflakeの接続 Kafka用のSnowflakeコネクター Apache KafkaとRedshiftを連携させるコネクターのサンプルアプリ(英語) Apache KafkaとS3、Google Cloud Storageなどの連携(英語) Apache Kafka、Redshift、Metabaseのサンプルアプリ(英語) Kafkaイベントを再生する例(英語) パターン#5:組織のスケーリングが必要な場合(スケーラビリティ) これは大規模なものになりそうです。 サービスが分離されると、サービスは脆弱性が低くなり、俊敏性が高まります。組織の成長に伴って必ず低下するのがチームの「コラボレーションコスト」です。これは、自分のチームの仕事を終わらせるために他のチームと話すのに、どれだけの時間を費やしているのかを表しています。つまり、分離することでアプリケーションおよび組織の拡張が可能になります。大規模なモノリシックアプリは、徐々に分離したマイクロサービスに分割することができるうえ、このマイクロサービスは個別にスケーリングできます。また、ここで示したパターンでは、さまざまな地域にあるPrivate Spacesを利用してグローバルにスケーリングしています。Kafkaに送信される変更を取得し、他の地域にあるリモートのRedisキャッシュを更新しています。 詳細情報 Heroku Private Spaces Heroku Redis Apache Kafkaを使用したイベント駆動型マイクロサービス KafkaとRedisを連携させるコネクターのサンプル(英語) まとめ ご覧のように、こうしたパターンは、サービスの接続を行う小規模企業だけでなく、規模拡大に伴って、問題なくチームの動きを迅速化しようとする大規模企業にも、あるいはその中間の企業にも当てはまります。ピースが��ろえば、他にもさまざまなユースケースが見えてきます。Kafkaは、より優れたアーキテクチャを実現するための入り口であり、基本的な準備が整えば、可能性は無限大です。 その他の有益なリソース Herokuの神話と魔法(無料動画コース)(英語) Apache Kafkaとは(英語) HerokuでのKafkaコネクターの実行 Herokuのストリーミングデータコネクターのリリース(英語) [すでにHeroku Enterpriseをご利用のお客様は、こちらで会議を設定することができます。Lyricが送ったとお伝えください。] 著者紹介: Lyric Hartleyは、Herokuのカスタマーソリューションアーキテクトです。Herokuの大口顧客が抱える難題の解決と、必要なスケーリングの実現を支援する日々を過ごしています。いつでも新しくて難しい問題を解決することが大好きです。現在の職務に就く前は、Salesforceの開発チームに所属していました。Salesforceの仕組みを理解し、Salesforceの多くのチームがHerokuを使用してより迅速にイノベーションを実現できるよう支援しています。コンピューティングの未来に情熱を注いでおり、人々がすべてのビジネスに共通することではなく、自分のビジネスにとって重要なことに集中できるようにしたいと考えています。また、音楽とビールも大好きです。
0 notes
Link
Learn MOAR Spring ’21:SOQL Builderの更新 オリジナル記事 Learn MOAR with Spring ’21: SOQL Builder Update 最近、SOQLクエリを迅速に作成する新しい方法が導入されました。SOQL Query Builderは、VS Codeの拡張機能であり、誰もがクエリを視覚的に作成、実行して、クエリの結果を調べることができます。クリックでクエリを作成すると、クエリのすぐ隣に結果が表示されます。また、結果を.csvファイルや.jsonファイルに保存することもできます。 すでに多くの方がベータ版の拡張機能をダウンロードし、試してくださっていることを大変嬉しく思います。皆様からのフィードバックをお待ちしておりますので、どうぞよろしくお願いいたします。 ここでは、SOQL Query Builderに追加された新機能や機能強化について簡単にご紹介します。 ビルダーとエディターの切り替え – クエリの作成を開始してから、より複雑なクエリを作成するためにエディターへの切り替えが必要になる場合があります。また、既存のクエリをSOQL Query Builderで開き、項目を追加したい場合もあります。右上にアイコンを追加し、エディターとSOQL Query Builderを簡単に切り替えられるようにしました。 コード補完機能の向上 – エディターでSOQLを直接記述する際のコード補完機能とインテリセンス機能が向上しました。これにより、コードを好む人でも、より効率的にクエリを作成できます。 ビルダーにすばやくアクセス – コマンドパレットの新しいCreate Query in SOQL Builderコマンドを使って、ビルダーで直接クエリを開始できます。 次のターゲットは、WHERE句です。これに対するニーズは承知しており、近々このためのUIを送り出す予定です。他のSalesforce開発者ツールと同様に、SOQL Query Builderも毎週更新されます。この機能は現在ベータ版であり、引き続き改良を重ねているところですので、ぜひフィードバックをお寄せください。現在SOQL Builderをさらに充実させるための新機能を積極的に開発しており、お客様にとって最も重要なことをお聞かせ願えれば幸いです。また、GitHubリポジトリをご覧いただき、 ご意見をお聞かせください。皆様のご協力をお待ちしております。 2021年3月31日までにLearn MOAR Spring ’21の管理者または開発者向けtrailmixを完了すると、特別なコミュニティバッジを獲得できます。また、5名様に200米ドル分のTrailhead Certificationバウチャー1枚をゲットできるチャンスがあります。以下の公式ルールをご覧ください。 Spring ’21リリースの魅力をハッシュタグ#LearnMOARを付けて投稿してください。また、2020年1月29日に開催されるRelease Readiness Liveへの���加申し込みもお忘れなく。 著者紹介 Stephanie Maddoxは、Salesforce Extensions for VS Code担当のプロダクトマネージャーです。2010年3月にExactTarget社に入社し、Salesforce社による買収により2013年7月に正式に同社の一員となりました。Salesforceではカスタマーサクセスとプロダクト管理を担当しています。ボールステイト大学でコンピュータサイエンスの学位を取得し、キャリアの最初の8年間を開発者として過ごしました。Twitter、LinkedIn、Trailheadでフォローすることができます。
0 notes
Link
(この投稿は Aditya Naag Topalli(Salesforce.com) による『Error Handling Best Practices for Lightning Web Components』の翻訳です) エラー処理はどのようなアプリケーションにとても重要であり、設計段階からアプリに組み込むべきです。適切に定義されたエラー処理パターンとベストプラクティスを使用することで、アプリが予想されるエラーと予想外のエラーの両方を一貫して優雅に処理できるようになります。このブログでは、Lightning Web コンポーネントのエラー処理のベストプラクティスについて説明します。Lightning Web コンポーネントのフレームワークは標準ベースなので、ほとんどのエラー処理のベストプラクティスも標準に基づいています。 サーバーサイドのエラー処理 Lightning Web コンポーネントは、サーバー上のデータの存在に依存する UI フレームワークです。Lightning Web コンポーネントを使用して Salesforce のデータを操作する最も簡単な方法は、基本 Lightning コンポーネントと Lightning データサービスによって提供されるワイヤアダプタを使用することです。しかし、データをクライアントに返す前に、カスタムビジネスロジックを実行して複雑な変換を適用する必要がある場合もあり、このカスタムロジックは通常、Apex を使用して記述されます。 Apex のメソッドは、さまざまな例外を投げることができます。これらには、クエリの例外、DML の例外、およびパースや型変換などのビジネスロジックからの一般的な例外が含まれます。Apex コードで処理せずに例外を直接クライアントに送信させることもできますが、予めサーバー側でエラーを処理することで、どの種類のエラーをクライアントに表示するか、どの種類のエラーをバックエンドで処理するかを制御することができます。 エラーを処理する最良の方法は、try-catch ブロックの中でロジックをラップすることですが、リミット例外 (System.LimitException) のように、キャッチブロックでは処理できない種類のエラーもあります。フロントエンドに例外を投げるときは必ず、独自のカスタム例外クラスを作成して、エラーメッセージをカスタマイズしたり、クライアントに送信される例外の詳細を抽象化することをお勧めします。 03} catch (Exception e) {04 throw new CustomException(e.getMessage());08public class CustomException extends Exception { ベストプラクティスとして、エラーを送信するための共通の構造を決め、すべてのバックエンドクラスでそれに従うようにしてください。事前に定義されたエラータイプがあれば、クライアントに返す詳細を簡単に決めることができます。 クライアント側でのエラーの処理 クライアント側で発生する全てのエラーが同じように処理できるわけではありません。ここでは、Lightning Web コンポーネントのエラーの発生源によって、エラー処理の仕組みがどのように変わるのかを見ていきます。 try-catch ブロック try-catch はコード内のエラーを処理する最も一般的な方法ですが、誤用される可能性があります。すべてのコードを try ブロック内に配置することは、ベストプラクティスとは考えられていません。try ブロック内に配置されるコードは、そのコードによって発生するエラーがどのように処理されるかに基づいていなければなりません。異なるコードブロックからのエラーを異なる方法で処理しなければならない場合は、複数の try-catch ブロックを使用してください。また、catch ブロックは、その中で発生する可能性があるエラーのみを処理し、残りはさらに伝搬させるべきです。 覚えておくべきことは、try-catch ブロックは同期コードの例外のみを処理できるということです。setTimeout や Promise のように、非同期コードの実行で例外が発生した場合、try-catch はそれをキャッチしません。以下の例では、エラーが非同期プロセス内で発生したため、キャッチブロックは実行されません。 3 throw new Error('some error');6 console.error("An error occurred"); ワイヤ、命令的呼び出し、プロミスなどの非同期処理によるエラー 前述したように、非同期呼び出しのエラーは、try-catch ブロックの中で呼び出しをラップしてもキャッチできません。setTimeout や setInterval のような時間ベースのイベントの場合は、コールバック関数の内部で try-catch ブロックを使用してエラーを処理する必要があります。 ワイヤード・メソッドの場合、潜在的なエラーの発生源が 2 ヶ所があります。それは、ワイヤアダプタによる値のプロビジョニング中と、プロビジョニングされた結果を処理するためのカスタムロジックの実行中です。値のプロビジョニングでエラーが発生すると、エラープロパティに自動的に格納されます。このプロパティを解析することで、エラーの原因を知ることができ、それに応じて処理することができます。データのプロビジョニングが正常に行われ、データを処理するロジックからエラーを処理したい場合は、以下の例のようにトライキャッチブロック内にロジックを配置します。 02wiredContacts({ error, data }) { 命令的な呼び出しや Promise を使用する場合、エラーを処理する方法は 2 つあります。 1.catch メソッドを使用して、プロミスチェーン全体で発生するエラーを処理します。これには、サーバーからのエラーと then メソッドに書かれたロジックからのエラーが含まれます。catch() メソッドを省略すると、then() メソッドからのエラーを破棄してしまいます。ベストプラクティスとして、すべてのプロミスに catch メソッドがあることを確認してください。下の例では、getContactList と then メソッドの両方で投げられたエラーを catch メソッドが処理しています。 2.非同期関数を呼び出すもう一つの方法に async/await パターンがあり、この場合は同期関数と同じようにコードを try-catch ブロックの中にラップします。 3 let result = await getContactList(); コンポーネントのライフサイクルハンドラ内のエラー コンポーネントのライフサイクルハンドラには、クラスの初期化などを行う constructor() の他、connectedCallback()、renderedCallback() などがあります。ライフサイクルハンドラ内で発生したエラーは、try-catch ブロックでラップすることができますが、プロパティ値を計算する際に発生したエラーは同じように処理することができません。 2export default class PropertyInitErrorExample extends LightningElement { クラスのフィールド/プロパティの値はインラインで計算しないようにし、計算にはゲッターメソッドを使用して、必要に応じてメソッド内のロジックを try-catch ブロックでラップできるようにします。また、コンポーネントのライフサイクル内のエラーを処理するために、errorCallback() ハンドラを使用して境界コンポーネントとしての処理を記述することもできます。これについては、「エラーのライフサイクルと伝播」のセクションで詳しく説明します。 エラーの表示とロギング さまざまな種類のエラーをキャッチする方法を見てきましたが、次は Lightning Web コンポーネントでこれらのエラーを表示する際のベストプラクティスを見てみましょう。 エラー本体のペイロードを理解する エラーを表示する前に、様々なシナリオでキャッチするエラーオブジェクトの構成を理解しておくと便利です。 JavaScript や Web Platform API では、ReferenceError や TypeError などの reject エラータイプを投げます。これらはすべて、以下のプロパティを持つ Error オブジェクトを継承しています。 name – 投げられた例外のタイプ message – エラーメッセージ stack – スタック・トレース 以下にコードスニペットの例と、その結果のコンソール出力を示します。 2 undefinedVariable.toString();5 console.error( ' + e.name );6 console.error( ' + e.message );7 console.error( ' + e.stack ); Apex または Lightning データサービスを使用して Salesforce データにアクセスすると、Fetch API の Response オブジェクトをモデルにした上の例とは異なる構造のカスタムエラーオブジェクトを使用してエラーが表示されます。以下はカスタムエラーオブジェクトに含まれるプロパティの例です。 ok – リクエストの成否 status – レスポンスの HTTP ステータスコード。たとえば内部サーバー エラーの場合は 500。 statusText – ステータスコードに対応するステータスメッセージ body – レスポンスボディ。エラーをスローしたメソッドに応じて異なる。 Apex によって投げられた補足されない例外とカスタム例外については、body プロパティで例外の種類 (body.exceptionType)、エラーメッセージ (body.message)、Apex スタックトレース (body.stackTrace) などの追加の詳細を確認できます。以下にコードスニペットの例とその結果のコンソール出力を示す。 03public static Integer someMethod() { サーバー上のレコードやオブジェクトなどのリソースにアクセスできない場合や、ワイヤアダプタに無効なオプション(無効なレコード ID や必須フィールドの欠落など)を渡した場合、または検証ルールが失敗した場合に、Lightning データサービスでエラーが発生します。Lightning データサービスは、Apex が返すものと非常によく似たカスタムエラーオブジェクトを返しますが、エラーの body プロパティの値は API によって異なります。このオブジェクトには単一のオブジェクトまたはオブジェクトの配列が含まれている場合があるため、ロジックはこれを解析する際に両方のデータ型をチェックする必要があります。以下に例を示します。 01@wire(getRecord, { recordId: '$recordId', fields })02wiredRecord({error, data}) {05 if (Array.isArray(error.body)) {06 this.error = error.body.map(e = e.message).join(', ');10 else if (typeof error.body.message === 'string') {11 this.error = error.body.message; ご覧になったように、エラーオブジェクトの構造はそれぞれのケースで異なります。各コンポーネントで異なる種類のエラーオブジェクトを解析するロジックを繰り返すのではなく、これを行う単一の関数を作成し、それを各コンポーネントのモジュールとしてインポートすることができます。 ベストプラクティスとして、LWC Recipes(Lightning Web コンポーネントのコード例集)にある reduceErrors 関数を使用して、異なる種類のエラーオブジェクトを処理します。この関数は、メッセージプロパティを抽出し、複数のメッセージプロパティが見つかった場合にメッセージを連結します。ここでは、��ほどのコードスニペットを簡略化するためにどのように使用できるかの例を紹介します。 01import { reduceErrors } from 'c/utils';04@wire(getRecord, { recordId: '$recordId', fields })05wiredRecord({error, data}) {07 this.errorMessage = reduceErrors(this.error); しかし、サードパーティのコードを扱う際には、エラーボディのペイロードが若干異なる場合があることを覚えておきましょう。JavaScript の throw 文は、数値や文字列を含む任意の式を投げることができます。そのため、サードパーティのコードからの例外を扱う際には、上で説明したアプローチでは不十分な場合があるので注意が必要です。 エラーの表示 エラーの表示はおそらくエラー処理メカニズムの中で最も重要な部分です。エラーはユーザに意��のある方法で表示されなければなりません。最も推奨される方法は、エラーが発生したポイントの近くでユーザーにエラーを表示することです。例えば、テキストフィールド。ボタンがクリックされたときにエラーが発生する場合や、エラーが複数の箇所で発生した場合は、トーストメッセージがより適切です。 基本 Lightning コンポーネントは、フォームにエラーメッセージを表示するための簡単で一貫性のある方法を提供します。基本 Lightning コンポーネントは、検証状態に応じてフォームコントロールやフォーム自体に CSS クラスを自動的に追加したり削除したりします。reportValidity メソッドと setCustomValidity メソッドを使用して、エラーメッセージをプログラムで制御することができます。 また、エラーメッセージはユーザーフレンドリーであるべきで、エラーが発生したことを示すだけでは役に立ちません。メッセージは、エラーが何であるか、そしてユーザーがそれを修正するために何ができるかを正確に示す必要があります。 一貫したエラー処理と表示メカニズムを持つためには、エラーを表示するための再利用可能なコンポーネントを作成し、すべてのコンポーネントでそれを使用することがベストプラクティスです。これは、LWC Recipes の errorPanel コンポーネントでも利用されています。また、このコンポーネントは先ほど説明した reduceErrors 関数を使用して、すべての形式のエラーオブジェクトを処理し、一貫したユーザーインターフェイスを表示します。以下に例を示します。 1<template if:true={error}2 <c-error-panel errors={error}</c-error-panel エラー・ロギング ユーザーにエラーを表示するだけでなく、コンソールにエラーを出力することもできます。console.error() 関数を使用すると、元のエラーメッセージのコールスタックを記録しつつ、呼び出された console.error() のコールスタックも記録されるため、ベストプラクティスとして使用してください。これは、DevTools コンソールでメッセージの横にある矢印をクリックすると表示されます。 すべてのコンソール ロギング API は複数の引数を受け入れます。捕らえたエラーにさらに情報を追加する必要がある場合は、console.error(‘Unexpected error during some operation’, error) を使用します。 また、より良い追跡と報告の目的のために、可能な限りエラーはサーバーに記録します。これは、本番環境で問題をデバッグする際に最も有用です。アプリケーションの運用が開始されると、エンドユーザが明示的に共有しない限り、ログに記録された出力に開発者がアクセスできないため、 console.error に何の価値もありません。 エラーのライフサイクルと伝播 すべてのエラーが発生源での近くに表示できるわけではなく、また、すべてのエラーがユーザー・インターフェースを持つコンポーネントで発生するわけではありません(サービス・コンポーネントなど)。そのようなエラーを表示するためには、親コンポーネントに伝搬されなければなりません。未処理のエラーはデフォルトではコンポーネント階層を介して伝搬されることになります。 Lightning Web コンポーネントのエラーライフサイクル コードでエラーが発生した場合、Javascript はエラーをキャッチするハンドラを探します。エラーの発生源にできるだけ近いところで処理するのがベストプラクティスです。Lightning Web コンポーネントの場合、処理されていないエラーは子コンポーネントから親コンポーネントに伝搬します。最上位の親コンポーネントがエラーを処理しない場合は、Lightning ランタイムに投げられます。 同期操作によるエラーは、エラーの行番号とスタックトレースを含む “Sorry to interrupt” ポップアップを表示することで、Lightning ランタイムが処理します。エラーはそれ以上ブラウザに伝わりません。ワイヤ関数やプロミスなどの非同期操作によるエラーの場合、エラーはブラウザに伝わり、ブラウザのコンソールに表示されます。またランタイムは、コンテキストに応じて画面にエラーを表示します。例えば、Lightning Experience で Lightning Web コンポ��ントを実行している場合、非同期エラーは UI に表示されません。しかし、フロー内でLightning Web コンポーネントを実行している場合、フローのランタイムは画面の下部にエラーを表示します。 エラーの伝播 上のライフサイクルで見たように、処理されていないエラーはデフォルトで伝搬します。しかし、上記のいずれかのエラー処理メカニズムを使用する場合、コンポーネントレベルでエラーを処理するか、他のコンポーネントに処理を任せるために伝搬させるかを選択することができます。エラーは、throw キーワードを使用するか、カスタムイベントを使用して伝搬させることができます。throw キーワードを使用すると、使用された時点で関数が停止しますが、カスタムイベントを使用すると、イベントを実行した後の処理を柔軟に決めることができます。throw キーワードを使用してスローされたエラーは、コンポーネントの親によってのみ処理できますが、カスタムイベントを使用すると、階層外のコンポーネントを使用して処理することもできます。 ベストプラクティスとして、低レベルのコンポーネント(サービス・コンポーネント、ユーティリティ関数など)からエラーを伝搬し、高レベルのコンポーネントでエラーを処理します。例外が上位レベルで処理される理由は、下位レベルではエラーを処理するための最も適切な挙動が何かがわからないからです。 ここでは、同じ関数に対し、エラーをスローするものとカスタムイベントを発生させるものの 2 つのバリエーションを示します。 01export default class Hello extends LightningElement {04 divide_with_throw(a, b){06 throw new Error('Cannot divide by 0'); 12 divide_with_event(a, b){14 const selectedEvent = new CustomEvent('error', { detail:'Cannot divide by 0' });15 this.dispatchEvent(selectedEvent); 次のステップは、これらのエラーを親コンポーネントで処理することでしょう。 カスタムイベントを使用している場合は、それらのイベント用のイベントハンドラを書けばよいのです。カスタムイベントは実際にはエラーではないので、catch ブロックを使って捕捉できないことに注意してください。 カスタムエラーを投げる場合は、上記のエラー処理メカニズムを使用して個々のエラーをキャッチするか、errorCallback() ハンドラを使用して未処理のエラーとカスタムエラーをすべて捕捉することができます。 errorCallback() は、そのツリー内のすべての子孫コンポーネントからのエラーをキャプチャするライフサイクルハンドラです。子孫のライフサイクルハンドラや、コンポーネントの HTML テンプレートで宣言されたイベントハンドラ内で発生したエラーを捕捉します。errorCallback()フックについて覚えておくべきことがいくつかあります。プログラムで追加されたイベントハンドラ(addEventListener など)は捕捉されません。エラーがキャッチされると、フレームワークは DOM からエラーを発生させた子コンポーネントをアンマウントします。子孫コンポーネントで発生したエラーはキャッチしますが、自身のコンポーネントで発生したエラーはキャッチしません。 ベストプラクティスとして、errorCallback() を実装する境界コンポーネントを作成し、その中に機能コンポーネントを埋め込みます。ここでは、エラーが errorCallback() によりキャッチされ、errorPanel 境界コンポーネントを使用して表示する例を示しています (先ほど説明した reduceErrors 関数を使用しています)。 2 <template if:true={this.error}3 <c-error-panel errors={this.error}</c-error-panel5 <template if:false={this.error}6 <!-- YOUR COMPONENT -- 1import { LightningElement } from 'lwc';3export default class Boundary extends LightningElement {4 errorCallback(error, stack) { 正しいバランスを見つける すべてのエラーがコンポーネント内で処理される必要があるわけではないことを覚えておくことが重要です (低レベルのコンポーネントのエラーなど)。エラーを捕捉せずに放置しておくと、エラーの根本原因を特定して修正するのが簡単になることもあります。これは、開発やテストの段階で特に有用です。しかし、エラーをキャッチするタイミングとキャッチしないタイミングの適切なバランスを見つけるのは難しいかもしれません。ここではそのヒントを紹介します。 アプリケーションを失敗させることは、エラーをうまく処理できないよりも、常に望ましいことです。 外部やサードパーティのコードを扱う際には、常にエラーを適切に処理するようにしてください。 サーバへの呼び出し、サードパーティのライブラ��、外部サービスへの呼び出しなど、アプリケーションの境界点でのエラーを常に処理するようにしてください。 必要に応じて自分のコードでエラーを投げることを恐れないでください。 まとめ このブログでは、コードのどの部分で発生するかによって、エラーを処理する方法が異なることを見てきました。また、エラーオブジェクトの異なるフォーマットと reduceErrors 関数がエラーメッセージの抽出にどのように役立つか、境界コンポーネントを作成することで未処理のエラーからコンポーネントツリーを保護する方法についても見てきました。最後に、イベントと throw 文を使用してコンポーネント階層にエラーメッセージを伝搬させる方法を紹介しました。サンプルギャラリーでは、ベストプラクティスを実践しているアプリを見ることができます。 さらに学習を進めるために、いくつかの追加リソースをご紹介します。 Apex の例外 Handle Server Errors[英語] コンポーネントエラーの処理 JavaScriptエラータイプ Lightning データサービスでのエラー処理 著者について Aditya Naag Topalli は、Salesforce リードデベロッパーエバンジェリストです。彼は、Lightning Web コンポーネント、Einstein Platform Services、およびインテグレーションにフォーカスしています。技術的なコンテンツを執筆し、世界中のウェビナーやカンファレンスで頻繁に講演を行っています。 Twitter @adityanaag
0 notes
Link
(この投稿は Nathan Totten (Salesforce.com) による『Introducing Salesforce Code Builder』の翻訳です) ここ 3 年の間に、 Salesoforce プラ […] The post Salesforce Code Builder を発表 appeared first on Salesforce Developers Japan Blog.
0 notes
Link
Salesforce 向け CircleCI Orbs を公開
0 notes
Link
本記事ではプラットフォームイベントと LWC を使ったシンプルなチャットコンポーネントの作成例を紹介します。 このコンポーネントでは同じ Salesforce 組織にログイン中の二人が、チャット形式での会話を開始できます […] The post LWCとプラットフォームイベントで実現するリアルタイムチャット appeared first on Salesforce Developers Japan Blog.
0 notes
Link
この記事では、郵便番号から住所を自動入力するシンプルで便利な Lightning Web コンポーネント (LWC) を例に挙げ、LWC 開発の魅力とポイントに迫ります。LWC の開発に不慣れ方でも安心してください。この […] The post 郵便番号の入力を Lightning Experience で実現する LWC 開発! appeared first on Salesforce Developers Japan Blog.
0 notes
Link
今年も Salesforce では、一足早い春を Spring ’20 リリースと共に迎えました。 プレリリース期間中のデベロッパーエバンジェリスト達は、素晴らしい最新の機能を活かしたサンプルアプリケーション […] The post Spring ’20 リリース情報とサンプルギャラリーのアップデート appeared first on Salesforce Developers Japan Blog.
0 notes
Link
Evergreen: Salesforce Platform 向け サーバーレス Functions および Customer 360 向けコンピュート すぐれた統一感のあるデジタルエクスペリンスは、顧客・パートナー・従業員にとって、すばらしいものであり、そういった最新のエクスペリエンスを構築するには、Customer 360 のデータとビジネスロジックにシームレスにアクセスできる必要があります。 それを実現する Salesforce Evergreen を発表できることを嬉しく思います。これは、フルマネージドな Kubernetes 上に構築されたサーバーレス機能で、オープンなプログラミング言語のサポート、一般的に利用される高性能なデータストアを提供する Customer 360 Platform の新しい機能です。 Evergreen は、顧客が期待される、親密で魅力的なデジタルエクスペリエンスを構築するための最良の方法です。 Evergreen は、開発チームの生産性を高めるために、以下の技術とアーキテクチャパターンをサポートしています: Functions-as-a-Service:ビジネスロジックやイベント処理を、Node.js、Java、Apex といった開発言語、および、その開発言語のエコシステムで構築します。Funcstions は、Apex から直接、もしくは、様々な呼び出しタイプとイベントソースをハンドルする Platfrom Events から呼び出されます。 Microservices: 小規模でアジャイルなチームにより、複雑で有益なデジタルエクスペリエンスを構築し、頻繁に改善される、HTTP ベースのサーバーレスアプリケーションや API の構築。サービスと Functions はサーバーレスであり、利用されていないときはリソースを消費せず、トラフィックの増加により、自動的にエラスティックにスケールします。 マネージドデータストア: Postgres、Apache Kafka、Redis は、高パフォーマンスで永続化するデータ保管場所やリアルタイムイベント管理を提供し、Salesforce Data API を補完します。 業界標準を考慮し、これらの機能は、顧客コンテキスト上に構築される Salesforce データモデル駆動で、省コードなコンポーネントで構成されています。Evergreen は Salesforce プラットフォームの一部で、追加の認証やネットワーク設定は必要ありません。 たとえば、開発者は Apex から関数を直接呼び出し、組織のコンテキストでロジックを実行、クエリー、更新などの操作ができます。 Evergreen は Kubernetes をベースとし、Salesforce が運用するフルマネージドなサーバーレスサービスを提供することにより、スケーラブルなコンテナテクノロジーの管理容易性と、高い利用性のバランスを実現します。 このサービスを利用すると、インフラストラクチャの運用ではなく、イノベーションに集中できます。 Evergreen は、アプリケーション、Function、サービスを一般的なオープンな開発言語、開発ツール、開発技術を使って構築できるので、すべての開発チームに、オープンな Salesforce 開発環境を提供します。 Dreamforce 2019 の Developer Keynote では、Caesars Entertainment のような Salesforce のお客様が、 Evergreen を使用して、最新のゲストチェックインエクスペリエンスを構築する方法を紹介しました。キーノートのデモでは、Lightning Platform を使用して、清掃と部屋の準備を管理する従業員向けの iOS アプリをすばやく構築し、Evergreen で実行されるイベント駆動型 Function 機能でシームレスに拡張しました。清掃スタッフがアプリを使用して部屋を準備完了とマークすると、プラットフォームイベントが、Node.js で作成された Function をよびだし、ゲストのコンテキストで、リアルタイム通知を送信し、ゲストにアーリーチェックインの準備が完了したことを知らせます。 宿泊者のチェックアウト後には、請求書の明細を作成する別の Function を呼び出します。Node.js で作成された Function は、請求書の明細と、npm PDF モジュールを使用して、請求書を作成します。以下は、CloudEvent が追加データを取得し、PDF を作成し、宿泊者の予約情報のリンクをPDFに追加するサンプルです。 Functions は、利用されていない状況の時には休止状態となり、なにかしらの呼び出しが発生した場合や負荷が発生した場合には、自動的にスケールします。Functions は、 Cloud Native Buildpacks から簡単にビルドされ、開発者は、数多くのサポートされている開発言語で、パッケージやライブラリを利用して、開発することができます。 Evergreen は、Heroku のスケーラブルなコンテナランタイムと、 Lightning ツールと機能を活用できる高パフォーマンスのデータストアを統合している Salesforce プラットフォームへの最新の機能追加です。サーバーレスのエラスティックなコンテナ技術と、顧客データとビジネスロジックへのシンプルなアクセス手段との組み合わせにより、Salesforce は、顧客、パートナー、従業員にとって、差別化されたデジタルエクスペリエンスを構築、および、運用するすばらしい場所になります。 Evergreen デベロッパープレビューは2月にリリースされる、Spring ’20 で利用可能になる予定です。 ぜひ、Evergreen の最新情報をお届けするメールにサインアップしてください。 また、Dreamforce Developer Keynote の録画では、Evergreen のデモンストレーションをご覧いただけます。#DF19 にご参加いただいている場合には、Evergreen の詳細を入手するために、(Moscone Westの)Trailhead エリア内の Platform Park にある Evergreen ブースにお越しください。また、Evergreen に関する Dreamforce ブレークアウトセッションへもご参加ください。
0 notes
Text
そのアプリ、大丈夫?アプリをダウンロードするときに心がけたい3つのポイント
「毎日使うアプリの中にサイバー犯罪者が仕込んだ仕掛けがあって、個人情報を抜き取られたら?」と、考えたことはありますか?
個人情報の入力が必要なアプリは多いですが、もしそのアプリが安全なものではなかった場合、自分の個人情報が危険にさらされてしまうかもしれません。
例えば、不正アプリをダウンロードした後、不正サイトに誘導させられたり、自分が知らない間に端末内の情報が送信されてしまう可能性があります。
不正なアプリをダウンロードすることは、金銭的詐取や個人情報の抜き取りに繋がってしまうのです。
では、どうやったらこのような不正なアプリをダウンロードせずに済むのでしょうか?オススメの方法3つご紹介します。
その1 Apple Store、Google Play以外からのアプリのダウンロードは慎重に。
その2 アプリのダウンロード前には、必ずアクセス権についてもしっかりと目を通しましょう。アプリがどんな情報を要求しているのか把握することが大切です。
その3 信頼できて、効果のあるセキュリティソフトを使いましょう。
上述の方法を試した後、さらにアプリの安全性が気になったり、スマホの快適な動作をお望みの方はアプリを「Dr. Booster」に入れてみてください。Dr. Boosterなら自動的にスマホをスキャンしてくれるので安心ですよ。Dr. Booster公式ファンページへ
参考文献:いいアプリと怖いアプリ:これってチェックしたほうがいいの?
0 notes
Text
これらの“お買い得”商品に注意!どうやってネットショッピングを安全に楽しめるの?
そろそろ年末になりますね。クリスマスに向けて、今年もまた年末商戦が始まります。スマートフォンやタブレット、おもちゃ、ビデオゲーム、また化粧品はものすごく人気のギフト商品となっています!しかし、サイバー犯罪者たちもお金を儲けるため、偽のオファーを使ってヒット商品を探しているユーザたちを騙しているということを知っていますか?
今回は皆さんに今年の人気ギフトと、安全にネットショッピングを楽しめる方法をご紹介します!年末のショッピングシーズンに、ネットで人気商品を買う時に注意を払いましょう!
今年の人気ギフト
その1、スマートフォン、ウェアラブル端末とタブレット
iPhone 7、Galaxy S7、Apple Watchといった人気商品の発売により、今年の年末商戦においても、最も検索される商品となっていても驚きはありません。サイバー犯罪者が人気のブランド名をかたって商品を検索する消費者を気付かれずに騙していることが確認されています。(参考文献:iPhone 7開賣搶購 60人遭詐騙近百萬)
その2、おもちゃとゲーム
おもちゃやゲームはクリスマスに常に人気の商品ですが、これらの商品に関わるすべての年齢の消費者がサイバー犯罪の被害者になりえます。例えば、今人気のポケモンのゲームソフトを親友の子供にプレゼントとして購入しようとしている時は、くれぐれもそのサイトが正規のものであるかを確認し、大幅値引きを提供するEメールにも注意を払ってください。不正なWebサイトに誘導するスパムメールの可能性があります。
その3、カメラ
今、カメラはスマートフォンの内蔵のカメラで十分だと思っている人はたくさんいるものの、本格的にデジタルカメラで撮影するという市場はまだまだ大きいです。サイバー犯罪者は、人気が高いカメラでも同じように、フィッシングサイト、不正サイトや偽サイトといったさまざまなwebの脅威を利用してユーザを騙します。
その4、スマホのアクセサリ
スマートフォンが皆さんにとって毎日使う欠かせないツールとなっている今、スマホの周辺機器やアクセサリも人気商品となっています。例えば、Bluetoothイヤホン、Bluetoothスピーカー、ケーブルクリップなど。こういったスマホの周辺機器やアクセサリはスマホをさらに便利にするし、値段も手頃なので皆さんもよくプレゼントとして購入されていますが、サイバー犯罪者は偽のサイトに誘導して、ユーザを騙す可能性があります。(参考文献:iPhone SEの偽ブランドケース販売サイトを確認)
このショッピングシーズンは、欲しいアイテムを購入する絶好のタイミングですが、買い物をする前に、より安全に買い物できる方法をチェックしてください。
その1 複雑なパスワードにして、使いまわさない:
なじみのある名前や、日付、単語の代わりに複雑で推測されにくいパスワードを使用してください。長いほうがより効果的です。また、できるだけサービスごとに異なるID・パスワードの組み合わせを利用するようにしてください。同じID・パスワードを利用していると、1つのサイトから情報が漏洩した際に、芋づる式に他のサイトもアクセスされてしまうためです。
その2 URLを再確認する:
サイバー犯罪者は、支払用ページやアプリを偽のものと入れ替えることが可能です。Webサイトが安全かを確認する方法の1つとして、該当のURLにセキュリティ保護が 含まれているか(HTTPの代わりにHTTPS)を確認する方法があります。さらに、ドメイン名の綴りを確認してください。サイバー犯罪者たちは、このような見破られにくい手口を用いて、疑わしいWebサイトへ誘導します。
その3 安全なネットワークを用いる:
モバイル端末を支払いに使用する場合、常に安全なネットワークにアクセスし、適切な支払用アプリを使用しているか確認してください。
その4 クリックするものを確認する:
ソーシャルメディアを頻繁に使用している場合、不審な投稿、提案、メッセージや広告は避けるようにしてくださ い。こうした不正な投稿は、���ィッシング詐欺サイト等へユーザを誘導するために特に今の時期は頻繁に利用されます。ソーシャルメディア上に投稿された宣伝を鵜呑みにせず、クリックする前に公式Webサイトで確認するようにしてください。
その5 安全なアプリケーションを使用する:
お使いになるショッピングアプリ、支払用アプリは安全かを確認するのはとても重要です。Dr. Boosterはインストール済みのアプリの危険性がないかスキャンする機能があります。もし、自分が使っているアプリに不安があれば、ぜひアプリをDr. Boosterに追加してみてください!
以上5つのポイント、皆さんぜひ役立ててくださいね!
スマホに関する、かなり使える情報が満載のDr. Booster公式ファンページ!
こちらもぜひチェックしてみてください。
参考文献:Techies Gift Guide: Best Selling Tech Gifts in 2016、The Best Tech Gifts to Give Your Friends and Family This Holiday
0 notes