Googleの認定資格「Associate Cloud Engineer」の勉強方法を紹介

  • POST
はじめに Googleの認定資格「Associate Cloud Engineer」の試験の難易度や学習方法、受験の方法を紹介します。 Associate Cloud Engineerとは Google Cloudの認定資格は以下の3つのレベルに分けられています。 ファンダメンタル : 基礎レベル アソシエイト : 中級レベル プロフェッショナル : 上級レベル Google公式:Google Cloud 認定資格 Associate Cloud Engineerは、アソシエイトレベルに該当する試験で、合格することで以下のスキルが評価されます。 クラウド ソリューション環境の設定 クラウド ソリューションの計画と構成 クラウド ソリューションのデプロイと実装 クラウド ソリューションの正常な運用 アクセスとセキュリティの構成 合格特典 Associate Cloud Engineerに合格すると、以下の特典を得ることができます。 メンバーだけが参加できる Google Cloud Certified コミュニティにアクセスして、ビジネス上のネットワークを築いて他の認定資格取得者と交流できます。 デジタルバッジと証明書を取得して、ソーシャルメディアで実績をアピールできます。 Google Cloud Certified コミュニティの認定資格保持者ディレクトリに合格者として登録されるので、自分のスキルをアピールができます。 Google Cloud 認定資格のメリット また、アソシエイトレベルより上位のプロフェッショナルレベルの場合、 Google Cloud 認定グッズを受け取ることができますので、興味のある方はAssociate Cloud Engineerに合格後、プロフェッショナルレベルにもチャレンジしましょう! 試験内容 試験時間 : 120 分 問題数 : 50 問 合格点 : 不明(※1) 受験料 : $125 前提条件 : なし 推奨される経験 : 6か月以上のGoogle Cloudの実務経験 ※1 :Google Cloud 試験は、合格点は公開されておらず、受験後に自身の点数を確認することもできません。 対象分野の専門家によって合格点が決定されます。 また、新たに作成した問題の有効性を評価する目的で、採点対象外の問題が出題されることがあります。

AWS ECSとは? ECSの概念を図解で整理

  • POST
AWS ECSとは? ECSの概念を図解で整理 はじめに AWS(Amaon Web Service)には、ECS(Elastic Container Service)というコンテナサービスがあります。 AWS ECSは、起動タイプが2種類あり、複数の要素から構成されているため、初学者の方の場合、各構成要素の役割を理解するのに時間がかかってしまうケースがあります。 この記事では、初学者の方がECSの構成できるようECSの概念を解説します。 AWS ECSとは AWS上で複数のコンテナの実行、停止、管理をすることできるサービス (コンテナオーケストレーションサービス)です。 https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/Welcome.html ECSは、KubenetesというGoogleが設計したOSSのAWS版と考えていただくとイメージしやすいかと思います。 https://kubernetes.io/ja/docs/concepts/overview/what-is-kubernetes/ ECSの種類 ECSはEC2とFargateの2種類の起動タイプが用意されています。 EC2 起動タイプEC2はAWS EC2インスタンス上で起動します。 Fargateより価格は安いですが、ホストOSやDocker Engineなどへのアップデートなどはユーザーが自分で実施する必要があります。 Fargate 起動タイプFargateは、コンテナを実行するホストの管理をAWS側で管理してくれるため、EC2より価格が高額になる反面、 ホストOSのアップデートなどはAWS側で実施され、ユーザー側実施する必要がなくなります。 ECSの構成要素 ECSはタスク、サービス、クラスターという3要素から構成されています。 タスク タスクはタスク定義と呼ばれる設定内容に基づいてECS上でコンテナを起動する役割を担います。 タスク定義は起動タイプ、CPU、メモリ、イメージのURL、ネットワーク設定、環境変数などのコンテナの起動内容を定義したものです。 サービス サービスはECS上で起動するタスクを管理する役割を担います。 具体的にはどのタスクにどのタスク定義を使用するかを定義したり、設定したタスク数より起動したタスク数が少なくなった場合に自動的にタスクを起動させることができます。 クラスター クラスターはサービスや、タスクを実行する基盤で、サービスやタスクをグループ化する役割を担います。 クラスターを開発環境用クラスター、本番環境用クラスターの2種類を作成することで、サービスやタスクも開発環境用と本番環境用で論理的に分けることができます。 まとめ この記事ではECSの構成要素について紹介しました。 ECSはAWS上で複数のコンテナの実行、停止、管理をすることできるコンテナオーケストレーションサービス ECSはEC2とFargateの2種類の起動タイプがある 起動タイプEC2の場合、価格は安いがホストOSなどの管理はユーザーがする必要がある 起動タイプFargateの場合、価格が高額になる反面、ホストOSの管理はAWS側で実施してくれる ECSはタスク、サービス、クラスターという3要素から構成される タスク : タスク定義の内容に基づいてECS上でコンテナを起動する役割 タスク定義 : コンテナの起動内容を定義したもの(起動タイプ、CPU、メモリ、イメージのURL、ネットワーク設定、環境変数など) サービス : ECS上で起動するタスクを管理する(起動させるタスクの数や、使用するタスク定義を定義する) クラスター : サービスや、タスクを実行する基盤で、サービスや、タスクをグループ化する

音声認識ライブラリ「Whisper」とXbox Game Barを使ってWEB会議の議事録を文字起こし

  • POST
音声認識ライブラリ「Whisper」とXbox Game Barを使ってWEB会議を文字起こし はじめに この記事では、音声認識ライブラリ「Whisper」を使って文字起こしを行い、Zoom、Teams、Google MeetなどのWEB会議の議事録の作成に活用する方法を紹介します。 Whisperとは whisperはOpenAIが提供しているPythonの音声認識ライブラリです。 OpenAIはOpenAI は、人工知能を研究する非営利団体です。 音声データからテキスト情報を抽出することができます。 文字起こし環境構築 whisperのインストール 公式によるとPython 3.7 以降であれば動作するようです。 Pythonのインストール後、同梱されるPythonのパッケージマネージャPIPからインストールが可能です。 コマンドプロンプトなどで以下のコマンドを実行することで、インストールが可能です。 pip install git+https://github.com/openai/whisper.git https://github.com/openai/whisper ffmpegのインストール 音声・動画ファイルのフォーマットを変換するツールです。 mp4(動画と音声) → mp3(音声)に変換する際に利用します。 https://ffmpeg.org/ FFMPEGをインストールするには、以下のURLからWindows用のffmpeg-master-latest-win64-gpl-shared.zip ダウンロードします。 https://github.com/BtbN/FFmpeg-Builds/releases ダウンロードしたZIPを展開するとbinフォルダ配下に実行ファイルがあるので、 binフォルダのフォルダパスを環境変数のPathに追加します。 Xbox Game Barでビデオ会議を録画 Xbox Game Bar(以下、ゲームバー)はWindows 10に標準搭載されているゲームの録画などを行う機能です。 [Windows]キー+[G]キーを押すと、ゲームバーが起動します。 ゲームバーの録画開始ボタンを押すと、録画が始まり、録画終了ボタンを押すと C:\Users\%ユーザ名%\Videos\Captures 配下に録画したMP4ファイルが保存されます。 文字起こしを実施 ゲームバーでキャプチャした audio.mp4 から文字起こしを実行します。 コマンドプロンプトなどで以下のコマンドを実行します。 # MP4 → MP3に変換 ffmpeg -i audio.mp4 -ab 256k audio.mp3 # 文字起こし # 初回時はモデルのダウンロード処理で2分ぐらいかかります # 私のPCのスペックだと、モデルのDL時間を除くと20秒の動画で文字起こしに5分ぐらい時間がかかりました whisper audio.mp3 --language Japanese C:\Python310\lib\site-packages\whisper\transcribe.

Azure Active Directoryで認証するJavaアプリケーションが作れるライブラリ「Spring Cloud Azure」を紹介

  • POST
Azure Active Directoryで認証するJavaアプリケーションが作れるライブラリ「Spring Cloud Azure」を紹介 はじめに Azureでは「Azure Active Directory (Azure AD) 」とJavaライブラリ「Spring Cloud Azure」を使うことで、Azure ADに登録されているユーザで認証を行うWEBアプリケーションの作成を行うことができます。 この記事では「Spring Cloud Azure」について紹介します。 Spring Cloud Azure Springは、VMwareが開発したJava言語のWEBアプリケーション開発に必要な機能を提供するフレームワークです。 Spring Cloud Azureは、AzureのサービスとSpringのシームレスな統合を提供するオープンソースプロジェクトです。 https://microsoft.github.io/spring-cloud-azure/current/reference/html/index.html#spring-security-support https://docs.microsoft.com/ja-jp/azure/active-directory/develop/quickstart-register-app Spring Cloud AzureでのAD認証 Spring FramworkにはSpring Securityというログイン認証やCSRF対策をフレームワークが含まれています。 Spring Cloud AzureではAzure用に拡張されたSpring SecutiryでOAuth2.0での認証を行います。 以下にAD認証のシーケンスを記載しています。 https://microsoft.github.io/spring-cloud-azure/current/reference/html/index.html#spring-security-support https://spring.pleiades.io/spring-security/site/docs/current/api/org/springframework/security/config/annotation/web/builders/HttpSecurity.html Azure ADへのアプリケーション登録 WEBアプリケーションでAzure ADでの認証を行うには、AzureポータルでAzure ADに対象のアプリケーションの登録と、クライアントシークレットの作成を行います。 アプリケーション登録 Azure ADメニューからAzure ADを選択します。 表示名 : 任意のアプリケーション名を入力 サポートされているアカウントの種類 : 今回は任意の組織ディレクトリ内のアカウントを選択します リダイレクトURI : 省略可能。省略した場合は https://WEBアプリホスト名/login/oauth2/code/azure になります クライアントシークレット登録 Azure ADに登録したアプリの「証明書とシークレット」からクライアントシークレットを追加します。 説明 : 任意 有効期間 : 今回は2年を設定します 作成されたクライアントシークレットの値を控えます。(※再表示はできません) その後、クライアントID(アプリケーションID)および、テナントIDを確認し、控えます。

Redmineの代替ツールを探してたどり着いたJetBrainsのプロジェクト管理ツール「YouTrack」入門

  • POST
Redmineの代替ツールを探してたどり着いたJetBrainsのプロジェクト管理ツール「YouTrack」入門 はじめに プロジェクトでタスク管理をするにあたって、プロジェクト管理ツールを採用しているプロジェクトは多いと思います。 この記事では、JetBrainsのプロジェクト管理ツール「YouTrack」を紹介します。 具体的には以下について紹介します。 YouTrackの概要 YouTrackクラウド版の使い方(プロジェクト作成、タスク作成、ガントチャートの作成、ボードの作成) 前置き 国内で利用者数が多いプロジェクト管理ツールとしては、Redmineが有名ですが、Redmineは利用者数が減少傾向にあります。 https://qiita.com/Tytm_tytm/items/64828db708cba5327021 プラグインでカスタマイズができることが、Redmineの大きな特徴ですが、 プラグインの開発が終了してしまうケースもあり、今後利用できなくなる可能性があるため、 減少傾向にあるRedmineではなく、別の管理ツールを使ってみようと思ったのが、今回の調査の背景です。 プロジェクト管理ツールには、個人的に以下の項目は最低必要と考えています。 タスクをリスト、かんばんボード、ガントチャートで表示が可能 タスク管理を実施するに当たって、担当者とタスクの一覧を俯瞰したい場合はリスト、タスクのステータスを変更する場合はボード、全体的なスケジュールを確認したい場合はガントチャートのように使い分けるケースが多いため、 リスト、かんばんボード、ガントチャートの3種類の表示についてはサポートされて欲しいところです。 タスクの開始日、終了日が設定できる プロジェクト管理ツールでは、タスクのカテゴリや、開始日、終了日などのタスクに対して、フィールド(属性)が設定できる可能なものが多いのですが、開始日が設定できず、終了日だけしか設定できないものも中にはあります。 2022年4月現在、Gitlabsなどは開始日の設定ができない状態です。 https://gitlab.com/gitlab-org/gitlab/-/issues/20073 セルフホストが可能 プロジェクト管理ツールのサービスの形式がクラウドサービスの場合、然るべきアクセス制御をしていないと、 インターネットを介してどこからでも接続できるようになってしまっているので、私が参画しているプロジェクトの場合、社内承認が降りず、利用できません。 なので、パッケージソフトウェアとして提供されていて、オンプレミス上のサーバーにインストールできるようになっている必要があります。 一定ユーザまでは無料で利用可能 私が参加しているプロジェクトの方針で、一定規模のプロジェクトでないとプロジェクト管理ツールの利用費用が会社負担にならないため、トライアル期間後も無料で利用できる必要があります。 上記の4項目を満たすプロジェクト管理ツールを探して、Asana、Trello、OpenProject、OrangScrum、Taiga.io、Azure Borads、Wike、GitLabs、Githubなど色々なサービスを使ってみたのですが、無料枠だとどのツールもできることがかなり限定されているため、4項目すべてを満たすサービスはありませんでした。 様々なサービスを探し回ったところ、最終的にたどり着いたのが、JetBrains社のYouTrackでした。 YouTrackとは YouTrackとは、JetBrainsから提供されているプロジェクト管理ツールです。 YouTrack公式サイト JetBrainsはIntelij ideiaやPycharmなどのIDEを提供していることで、有名なチェコ共和国の企業です。 ざっと触ってみて個人的に感じたYouTrackの特徴を以下に上げました。 リスト、ツリー、ボード、ガントチャートなどの様々なタスクビューの切り替えが可能 タスクのフィールドのカスタマイズが可能 クラウド版とオンプレミス版の2つをサポート 10ユーザーまでは無料で利用可能 タスクに対して直前に実行した操作を別のタスクにも再実行できる機能がある ワークフローという仕組みがあり、Javascriptを用いてカスタマイズが可能 Redmieなど他のプロジェクト管理ツールからインポートが可能 YouTrackの使い方 YouTrackにはクラウド版と、オンプレミス版の2種類がありますが、この記事では、オンプレミス版は作成に時間がかかるので、YouTrackクラウド版でのプロジェクトの作成方法を紹介します。 オンプレミス版の利用法は、今後は別記事を作成させていただきたいと思っております。 YouTrackのアカウント作成 まず、YouTrack公式サイト にアクセスし、 クラウド版のFreeプランを契約します。 契約する際に、自分のメールアドレスと、YouTrackのインスタンス名を入力します。 入力後、JetBrainsから自分のメールアドレス宛にYouTrackの招待メールが送信されるので、 メールを開き、ボタンをクリックします。 クリックすると、作成したYouTrackのWEB画面にアクセスできるようになります。 YouTrackの初期設定 個人的にYouTrackで最初に確認すべきと思う設定項目について紹介します。

AzureのOCRサービス「Azure Form Recognizer」入門

  • POST
AzureのOCRサービス「Azure Form Recognizer」入門 はじめに Azureには、Azure Cognitive ServicesとAI機能をWeb APIして提供するサービスがあります。 本記事では、Azure Cognitive Servicesのうち、OCRサービス「Azure Form Recognizer」の使い方について紹介します。 Azure Cognitive Servicesとは Azure Cognitive Servicesは、視覚、音声、言語、決定、検索の5ジャンルからなるAI機能をWeb APIとして利用できるAzureのサービスです。 https://azure.microsoft.com/ja-jp/services/cognitive-services/#overview Azure Form Recognizerとは 請求書、レシート、名刺などのドキュメントから文字情報を取得するAzure Cognitive ServicesのOCR機能の一つです。 Azure Form RecognizerのAPIを実行すると、リクエスト時で渡されたPDFファイルなどのドキュメントのURLを解析し、 解析したテキスト情報をHTTPレスポンスとして返します。 https://docs.microsoft.com/ja-jp/azure/applied-ai-services/form-recognizer/ もう一つのOCRサービス「Azure Computer Vision」 Azure Cognitive ServicesのOCRサービスには、Computer Visionというものもあります。 Computer Visonは画像やビデオのコンテンツを分析するAIサービスです。 こちらもOCRの機能がありますが、画像内のオブジェクトの検出、画像の説明の生成、顔認識などOCR以外にも、画像に対してより幅広いことができます。 PDFファイルの上の表にあるテキストの取得や、指定したテキストを取得したい場合は、Azure Form Recognizerの方が適しています。 https://stackoverflow.com/questions/71071309/ai-form-recognizer-vs-cognitiveservices-computervision https://azure.microsoft.com/ja-jp/services/cognitive-services/computer-vision/#overview https://www.alirookie.com/post/azure-ocr-with-pdf-files Azure Form Recognizerの機能 Azure Form Recognizerは、機能で、次のサービスで構成されています。 Layout API 事前構築済みモデル カスタムモデル Layout API Azure Form RecognizerのAPIを実行することで、ドキュメントから、テキストや、テーブルの構造、テキスト、バウンディングボックスの座標と共にドキュメントから抽出します。 事前構築済みモデル(Prebuilt Model) 事前構築済みモデルは請求書、レシート、名刺などMicrosoftが事前に用意している特定のドキュメント専用のAIモデルを使用して、フォームを解析する機能です。 カスタムモデル カスタムモデルは、ユーザが独自に作成することができるAIモデルです。

オンライン学習サイト「Whizlabs」の紹介

  • POST
オンライン学習サイト「Whizlabs」の紹介 はじめに 本記事では、近年日本国内でも利用するエンジニアが増えてきたオンライン学習サイト「Whizlabs」について紹介する。 Whizlabsとは Whizlabsはクラウド、Java、プロジェクト管理、Linux、CCNAなど、さまざまな分野の学習が可能なオンライン学習サイトである。 AWS、Azure、GCP、Salesforceといったメジャークラウドの認定試験が充実しており、2018年頃から日本国内でも利用するエンジニアが増えてきている。 Whizlabs公式HP サービス開始時期 2000年からサービスを開始しており、2020年現在で約20年実績がある。 国籍 WhizlabsはインドのIT企業。 トレンド 他のオンラインの認定試験学習サイトと比較した結果は下記の通り。 学習コース Whizlabsの学習コースは、以下の3つのコンテンツから構成されている。 Free Tests 無料で利用可能なサンプル問題。 10~15問の程度の問題をお試しで利用できる。 Practice Tests 有料で利用できる模擬試験問題コース。 1コースの価格は日本円で3000円~4000円程度で、 50問~60問程度の模擬試験問題が約5回分ほどある。 50%OFFセールなどが頻繫に開催されるので、よりリーズナブルな価格で購入可能。 Online Course 有料で利用できるオンラインビデオ学習コース。 1コースの価格は日本円で3000円~4000円程度で、 7~9時間ほど。 Whizlabs長所・短所 長所 価格が安い 上述したように他の学習コンテンツに比べ、価格が安い上、 セールが頻繁に行われるので、リーズナブルな価格で利用できる。 1年間全てのコースを利用できるサブスリクションプランがある $199で12ヶ月間、すべてのPractice Testsと、Online Courseを利用可能な年間サブスリクションプランがあるので、ヘビーユーザーにとってはお買い得。 年間サブスクリプション UIがシンプルで分かりやすい 簡素なUIなので、操作をしていて特に困ることはない。 各設問に対する解説付きで、即座に解答を可能。 各設問には全て、簡素ではあるものの解説が付いており、 解答も設問ごとに確認可能。 レポート機能付き 模擬試験問題中に間違った問題や、気になる問題としてマークした問題と解答がレポートで出力され、後から見直しができる。 短所 模擬試験問題のアップデートが遅く、古い問題が残っているケースもある 各認定団体の試験問題は日々アップデートされ、内容が変更されているため、これに対応するため模擬試験問題もアップデートが必要となる。 海外レビューによるとWhizlabsは、 模擬試験問題のアップデートが遅いという指摘があり、利用したコースによっては実試験との乖離がある可能性がある。

Azure Functionsのソケット数をモニタリング

  • POST
はじめに Azure Functionsには、同時に利用できるTCPソケット数に上限数が設定されています。 そのため、同時利用するソケット数を抑えるようにアプリを実装していないと、処理量が増えた際に、 ソケットが枯渇してしまう可能性があります。 この記事では、Functionsが利用しているソケット数をモニタリングする方法を紹介します。 Functionsのソケット数の上限 従量課金プランのFunctionsの場合、送信接続数は、インスタンスあたり600アクティブに設定されています。 上記のように同時接続数に上限があるので、Functionsアプリケーションを開発する際は、 利用後終わったソケットは開き放しにせずに、すぐにクローズするなどベストプラクティスに基づいた実装が必要です。 https://docs.microsoft.com/ja-jp/azure/azure-functions/manage-connections?tabs=csharp https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-best-practices Functionsのソケット数をモニタリング ソケット数は、Azureポータルを使って、Functionsの診断設定や、Azure Monitorのメトリックからモニタリングできます。 取得できる接続数として、以下の2つがあります。 Connections : Functionsごとの接続するの瞬間値 TCP Established : 仮想マシン単位(App Service Plan)の瞬間値 Connections Connections Azure Monitor の Connectionsから取得できる項目です。 Functionsの関数アプリが利用している接続数をモニタリングできます。 TCP Established App Service Planの接続上限を超過する可能性がございます。 https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-monitoring おわりに 本記事ではAzure Functionsでの同時に利用できるTCPソケット数をモニタリングする方法を紹介しました。 I

ストアドプロシージャによって変更されたレコード数をカウントする

  • POST
はじめに SQL Serverにおいて、ストアドプロシージャで大量にデータを処理した後に、何件のレコードが登録、削除、更新されたのかを把握したいケースがあると思います。 この記事では、ストアドプロシージャの実行によって変更されたレコード数をカウントにJavaアプリケーションでログ出力する方法を紹介します。 変更レコード数を表示するには @@ROWCOUNT を利用する SQL Serverには、 @@ROWCOUNT という直前に実行したSQLで影響を与えたレコード数を返す特殊変数があります。 ※ 行数が20億を超える場合は、ROWCOUNT_BIG を使用します。 https://docs.microsoft.com/en-us/sql/t-sql/functions/rowcount-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15 以下に、@@ROWCOUNTを使って削除レコード数および、登録レコード数を表示するストアドプロシージャの例を記載しました。 ALTER PROCEDURE [TEST].[procedure_count_record] ( @DELETE_ROW_COUNT INTEGER OUTPUT ,@INSERT_ROW_COUNT INTEGER OUTPUT ) AS SET @RESULT_FLAG = 'FALSE' SET @RESULT_MESSAGE = '' DELETE FROM TEST.TABLE_001; SET @DELETE_ROW_COUNT = @@ROWCOUNT; PRINT @DELETE_ROW_COUNT INSERT INTO TEST.TABLE_001 VALUES( 1, 'test') SET @INSERT_ROW_COUNT = @@ROWCOUNT; PRINT @INSERT_ROW_COUNT Javaアプリケーションからレコード数を表示 @@ROWCOUNT を使って、登録レコード数が取得できることが分かりました。