Posts

OneNoteでMakrdownが使えるプラグイン「OneMark」を紹介

  • POST
OneNoteでMakrdownが使えるプラグイン「OneMark」を紹介 はじめに Micorsoftから提供されているノートアプリ「OneNote」をご存知のエンジニアは多いと思います。 2003年から提供されているノートアプリの老舗で、最近のWindowsではデフォルトでインストールされているので、とりあえず使っているという方も多いと思います。 OneNoteの欠点として、Joplin、Obsidian、Nortionなどと違い、エンジニアがよく利用するMarkdown記法に対応していないことが挙げれていましたが、サードパーティ製のプラグイン「OneMark」を使うことで、OneNoteでもMarkdownを使うことができます。 OneNoteでMakrdownが使えるプラグイン「OneMark」を紹介します。 OneMarkとは OneMarkはNeux Labから提供されているOneNoteにMakrdown機能を追加することができるプラグインです。 OneMark公式HP OneMarkをインストール OneMarkをインストールする方法を紹介します。 OneMark公式HPにアクセスします。 自分のPCが64bitならDownload Nowをクリックし、32bitならとなりのor 32bitをクリックします。 ダウンロードが終わると、64bitならOneMarkSetupX64.0_2_2.msi、32bitならOneMarkSetup.0_2_2.msi というインストーラーが保存さていてるので、このインストーラーを実行します。 インストーラーの実行完了後にOneNoteを起動すると、右上のタブに「OneMark」が追加されます。 OneMarkの機能 OneMarkの機能を紹介します。 Live Preview Live Previewは、MarkDown形式で入力したテキストを装飾した状態で表示する機能です。 Live PreviewをONにした状態で、テキスト入力後にEnterキーを押すと、その行のテキストがMakrdownの内容に応じて装飾された状態で表示されます。 また、Live Previewタブの下にある Auto enable for preview を有効にすると、OneNoteで新規に追加したページにもLive Previewが有効になります。 Convert Paragraph Edit 選択中のテキストボックス内にあるMakrdownに対して、一括でテキストの装飾を行います。 Toggle Source カーソル位置と同一行のテキストのMakrdownテキストの装飾と非装飾の切り替えを行います。 Import Markdown / Export Markdown Import Markdownをクリックすることで他のエディタで作成したマークダウンファイルをOneNoteにインポートすることができます。 Export MarkdownをクリックすることでOneNoteのページをMakrdownファイルとしてエクスポートすることができます。 Themes MarkdownテキストのスタイルをThemesから変更可能です。 ショートカットキー Ctrl + , Toggle Sourceと同様にカーソル位置と同一行のテキストのMakrdownテキストの装飾と非装飾の切り替えを行います。 F5キー Convert Paragraph Editと同様に選択中のテキストボックス内にあるMakrdownに対して、一括でテキストの装飾を行います。 F8キー OneNoteのページ内のMakrdownテキストをクリップボードにコピーすることができます。 Markdownルール OneMarkはMarkdownのルールにGitHub Flavored Markdownを採用しています。

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上で起動するタスクを管理する(起動させるタスクの数や、使用するタスク定義を定義する) クラスター : サービスや、タスクを実行する基盤で、サービスや、タスクをグループ化する 本サイトへのご意見、お問い合わせなどありましたらこちらからご連絡下さい。 お問合せフォーム a8adscript('body').

音声認識ライブラリ「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」入門 注意 サービス名称に伴い最新版の記事はこちらに記載しました。 https://ohina.work/post/azure_ocr_di/#google_vignette はじめに 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モデルを使用して、フォームを解析する機能です。

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ソケット数をモニタリングする方法を紹介しました。 a8adscript('body').showAd({"req": {"mat":"3HREPM+6UHH82+279M+HUSFL","alt":"商品リンク","id":"3IzcOOW-g7-u2A1CfX"},"goods": {"ejp":"h"+"ttps://ebookjapan.yahoo.co.jp/books/789749/","imu":"h"+"ttps://cache2-ebookjapan.akamaized.net/contents/thumb/m/J6100281917861.jpg?1696410860000"}}); a8adscript('body').showAd({"req": {"mat":"3HREPM+6UHH82+279M+HUSFL","alt":"商品リンク","id":"3IzcOOW-g7-u2A2FzR"},"goods": {"ejp":"h"+"ttps://ebookjapan.yahoo.co.jp/books/721208/","imu":"h"+"ttps://cache2-ebookjapan.akamaized.net/contents/thumb/m/F0100169654961.jpg?1663322311000"}});

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

  • 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 を使って、登録レコード数が取得できることが分かりました。