どうにかドキュメントをmarkdownで書かせてhtmlに変換したい
ドキュメントはOfficeのExcelやWordの弊社ですが、やはりバージョン管理システムを利用していると変更点を知りたいことがあるので、markdownで書いて欲しいと思っています。
しかし、markdown自体も社内では認知されておらず、また閲覧することもままならないので、htmlに変換して見せようと思いました。ただし、他の作業者(markdown知らない)を考慮し、環境設定も考えてみます。
- 環境
- やりたいこと
- 環境設定スクリプト
- 実現したい環境
- pandoc…の前にwinget
- pandoc
- pandoc用のテンプレート導入
- まとめ(setup_documentation_env.ps1)
- html出力スクリプト
- githubにサンプルを置きました。
PowerShell5.1でLINEWORKS API2.0を叩く!JWTで苦労したService Accountのアクセストークン取得編
弊社採用のLINE WORKSなのですが、今までAPI1.0を利用していたのですが、廃止予定が迫ってきたのでAPI 2.0を触りはじめました。
LINE WORKS API 2.0のリリースに伴い、LINE WORKS API 1.0は2023年4月30日をもって提供を終了いたします。
提供の終了前であっても、サービスの仕様変更等によりLINE WORKS API 1.0の一部が正常に利用できない場合があります。できるだけ早いLINE WORKS API 2.0への移行をご検討ください。
とのこと。
弊社はテック企業ではないので、マシンの環境をおいそれとアップデートしたりできませんし、開発用端末も他部署の業務用PCと同様の環境となっています。
また、作成したPowerShellスクリプトも配布する時があるので、PowerShell5.1(Win10標準)環境での実現にこだわっています。
本記事は下記の環境で LINE WORKS API 2.0のService Account認証し、アクセストークン取得するまでを実現したソースコードを説明します。
- Windows 10
- PowerShell 5.1
- .Net Framework 4.8
もくじ
- アクセストークン取得までの流れ
- 1. アプリ開発者は、Developer ConsoleよりService Accountを発行する
- 2. アプリは、Service Accountを使用してJWT生成する(RFC-7519)
- 共通して利用する、Base64URLを実装する。
- Header
- Payload
- Signiture
- 3. アプリは、JWTを電子署名する (signature) (RFC-7515)
- PowerShell 6.2 なら簡単らしい(私の環境では動作未検証)
- .NET 5以降なら簡単らしい(私の環境では動作未検証)
- 前提とした環境での解決方法【PEMをopensslkey.csで読み込む】
- opensslkey.cs をPowerShellで利用して署名処理を実装する
- 4. アプリは、LINE WORKSにAccess Tokenの発行を要求する (RFC-7523)
- 5. アプリは、Access Tokenの有効期限が過ぎた場合、Refresh Tokenをもとに再発行する
- それぞれの処理をまとめたソースコードは GitHub に置いています。
検索ボックス入力中の文字列を取得してリアルタイム絞り込みを行う
弊社のアプリを進化させるため、よくWebであるやつをWindowsFormsで再現してみました。
こんな感じの画面でテキストボックスに入力すると・・・
変換途中の文字でこんな感じで絞り込める、そんな感じのを実現します。
- 原理
- 入力中の文字列の取得
- コンテキストの取得 ImmGetContext
- コンテキストの開放 ImmReleaseContext
- 入力中の文字列の取得 ImmGetCompositionStringW
- 絞り込み(力技)
- 入力中の文字列の取得
- ソースコード
- DataGridViewのデータについて
- テーブルの構築
- IMM用クラス
- KeyDownイベント
- フィルタ処理
- サンプルプロジェクト
PowerShellで作ったモジュール(psm1)をプライベートなリポジトリに発行して開発チームで共用する
今日はPowerShellを。
1つの処理の流れで複数のスクリプト(ps1)で共通して使う処理をモジュール (psm1)にまとめて実装することがあります。
それらのモジュールは公開されたPowerShell Galleryに発行することで、Install-Moduleコマンドを使って、世界中で使ってもらうことができます。
しかし、開発チームなどだけで共有したい場合、どのように共有すればいいだろう、というのが今回の記事の発端です。
- 調べたこと
- まとめ&感想
- まとめ
- 感想
iPhone,iPadで使える、Twitter対応魚拓ショートカットつくってみた
Twitterで読みたい記事ツイートをブックマークに入れていたら見返した時にその人が消していたことが何度かありました。
記事だけでなくそのコメントも貴重な情報なのでTwitterで簡単に魚拓を取れるショートカットを作ってみました。
- 魚拓ってなに?
- どんなことをするショートカット?
- 対応アーカイブサービス
- ショートカットをダウンロードするための共有リンク
- Internet Archive用
- Archive.today用
- WEB魚拓(Megalodon)用
- 使い方
- 1.ツイートの共有アイコンをタップ
- 2. 共有をタップ
- 3.好きな魚拓サービスのショートカットをタップ
- 4. 魚拓サービスのURLがブラウザで開かれます。
- Internet Archiveの場合
- Archive.todayの場合
- Web魚拓(Megalodon)の場合
- ロジック解説
- ショートカットを作ってみた感想
Powershellでpythonをセットアップしつつ、SQL Serverのテーブルなどの定義をスクリプトに出力するパッケージを実行するPowershellスクリプト
新しい社内アプリケーションを作る際、データベースも含めバージョン管理したいと思い、SQL ServerのDDLを出力する方法を色々調べていました。 今まで、SQL Server Management Studioを利用し、GUI上で操作していたのですが、コマンドラインで実行できるものとしてpythonのパッケージを発見しました。
ただし、社内の開発用端末にはpythonが標準でインストールされていないので、そのpythonのセットアップ(embeddableです)も含めて環境構築するスクリプトを作りました。
続きを読む