Posts

Outlookの署名機能を使って定型文を作成する

  • POST
Outlookの署名機能を使って定型文を作成する はじめに Outlookにはクイックパーツという定型文を登録する機能があるが、登録後の定型文を編集するGUIがないなど、使いづらい。 他の手段として、VBAやフリーの定型文ツールを利用する方法もあるが、セキュリティの関係で利用できないケースもある。 Outlookには署名の雛形を保存する機能があり、この機能を利用することで、定型文を作成できる。 本記事では、Outlookの署名機能を使って定型文を作成する方法を記載する。 署名を使って定型文を登録 定型文を登録する 「新しいメール」をクリックし、メールメッセージ作成画面を開く 「挿入タブ」 → 「署名」 → 「署名(S)」をクリックし、署名登録画面を開く 「新規作成」をクリックし、署名の名称を入力して、「OK」をクリック 定型文を編集する 署名登録画面から編集する署名を選択 署名編集欄に定型文を入力する 「保存」をクリック 「OK」をクリック 定型文を挿入する 「署名」から登録した署名を選択 メッセージ欄に定型文が挿入されることを確認 定型文ファイルの保存先の確認 登録した署名ごとに定型文ファイルが以下に保存される。 <C:\Users\ユーザ名\AppData\Roaming\Microsoft\Signatures> ファルダ内のhtm、rtf、txtファイルを編集することで、署名内容の変更も可能。 クリックパーツを使用した場合との比較 メリット 定型文の登録・編集をGUIで行うことができるので、メッセージの編集がしやすい 定型文ファイルを他のPCにコピーすることで、他のPC上のOutLookでも利用可能 デメリット 署名なので、挿入できる定型文は一つだけ ※ 例えば、「パスワード周知」、「会議連絡」という定型文を同時に使用することはできない

カスタマイズ制の高いWEBブラウザ「Vivaldi」の紹介

  • POST
カスタマイズ制の高いWEBブラウザ「Vivaldi」の紹介 Vivaldiとは Vivaldiは、Vivaldi Technologies社が開発したChromiumベースのWEBブラウザ。 Opera Sofwareの元CEOが開発に携わっており、Operaのコンセプトを引き継いでいる。 また、開発には共同創設者としての日本人の冨田龍起氏も関わっている。 まだシェアは少ないが、利用者数は少しづつ増加しており、 2019年9月にはスマートフォン版のβ版が公開され、近年、注目を浴びているブラウザの一つである。 https://news.mynavi.jp/article/20181102-717456/ Vivaldiの特徴 以下の点が特徴である。 動作が軽快 宇宙一高速なWEBブラウザを目指すというスローガンを掲げており、動作が軽快。 多機能 Operaで好評だったスピードダイヤルなどの多様な機能がデフォルトで備わっている カスタマイズ性が高い ボタンやタブなどの位置変更が行えるなどカスタマイズ性が高い また、Chromiumベースなので、 Google Chromeと同様にChrome拡張機能の利用が可能 開発のコンセプト 以下に窓の杜の冨田龍起氏へのインタビュー動画があるので、視聴を推奨。 https://forest.watch.impress.co.jp/docs/special/1038849.html 所感 近年の主要なブラウザでは不要な機能を削ぎ落とされ、誰にでも仕えるGUIや軽量化という点に力がそそがれ、サードパーティ製のアドオンにより、機能拡張する形式を提供する形式を取るケースが多く、差異がなくなって来ている。 対して、Vivaldiはデフォルトでも様久な機能を有しており、ボタンやタブの位置の変更が行えるなどカスタマイズ製が高い。 Vivalidのように多機能なツールは一見、使いどころがないように思える機能でも、人によっては重宝するものであったり、新しい使い方が発見をユーザに提供している。 こうした設計指針は主要な流れとは異なるのかもしれないが、コモディティ化を避けるための教訓として知っておいたほうがいいと思った。

HUGOでURLを相対パスから絶対パスにする

  • POST
はじめに HUGOでWEBサイトを作成した場合に、各ページのURLは、config.tomlのbaseurlからの相対パスで設定される模様。 相対パスでWEBサイトを作成していたところ、config.tomlのbaseurlにhttps://example.com/blogという設定をすると、 NextやPrevのアンカーの参照先のURLが、本来であれば、 http://localhost:1313/blog/page/2/としたいのに、http://localhost:1313/blog/blog/page/2/のようになってしまう事象が発生した。 本記事では、HUGOでURLを相対パスから絶対パスに変更する手順を記載する。 実行環境 下記のテーマを利用。 https://github.com/dim0627/hugo_theme_robust URLの正規化オプションを設定 下記のようにconfig.tomlにcanonifyurls = trueを設定すると、 baseURLを起点とした相対パスから、絶対パスになる模様。 ※ canonifyは正規化という意味の英単語。 https://gohugo.io/content-management/urls/ baseurl = "https://example.com/blog" title = "SiteTitle" theme = "hugo_theme_robust" canonifyurls = true googleAnalytics = "UA-XXXXXXXX-XX" # Optional disqusShortname = "XYW" [params] description = "This is site description" dateformat = "Jan 2, 2006" # Optional # Fonts settings. googlefonts = "https://fonts.googleapis.com/css?family=Lobster|Lato:400,700" # Optional, Include google fonts. fontfamily = "Lato,YuGothic,'Hiragino Kaku Gothic Pro',Meiryo,sans-serif" # Optional, Override body font family.

ECL2.0 (EnterPrise Cloud2.0)の紹介

  • POST
※ 画像引用先 https://www.ntt.com/business/services/cloud/iaas/enterprise-cloud.html ECL2.0 (EnterPrise Cloud 2.0)の紹介 はじめに NTTコミュニケーションズが、パブリッククラウドサービス「Cloudn」を2020年12月31日に終了すると報道された。 報道によると、今後は、同社のもう一つのパブリッククラウドサービス「Enterprise Cloud」に統合されるとのこと。 https://www.itmedia.co.jp/news/articles/1910/25/news080.html 本記事では、CloudNに変わる新たなサービス「ECL2.0」について記載する。 ECL2.0とは NTTコミュニケーションズが提供しているCloudNに変わるパブリッククラウドサービス。 国産クラウドの代表格の一つ。 以前は、BHEC(Biz Enterprise Cloud)というサービス名として提供され、 ECL1.0を経て、ECL2.0というサービス名になった。 ECL2.0の特徴 個人でも利用可能 ※ 展示会などに行くとトライアル用の無料クーポンなどが配布されていることがあるらしい ベアメタルサーバと仮想サーバの2種類を提供 AWSなどは、CPUとメモリ容量から組み合わせからリソースを選択する ※ 以前はリソースプールが形式だったが、ECL2.0から変更された AWS S3互換APIに対応したオブジェクトストレージが提供されている ※ Wasabi社(米国)のWasabi hot cloud storageの使用している ※ Wasabi社(米国)が提供する米国リージョン・欧州リージョンのみ(2019/12/26時点) 他社クラウドに比べて、ストレージ(データディスク)の料金が安い クラウド外部へのデータ転送量が無料 同社が提供するArchstar Universal Oneとの接続が100Mbpsベストエフォートまでが無料 国内の拠点数が豊富 ※ 現状は、国内リージョンではJP1~JP5まである(2019/12/26現在)

pgpool-Ⅱ入門

  • POST
pgpool-Ⅱ入門 pgpool-Ⅱとは アプリケーションと複数のPostgreSQLの間に介在し、 負荷分散や冗長化の機能を提供するOSSのプロキシソフトウェア。 複数のPostgreSQLノードに対して、参照クエリを振り分けなどが可能。 下記の機能を提供する。 コネクションプール 参照負荷分散 オンメモリクエリキャッシュ 自動フェイルオーバー オンラインリカバリ レプリケーション レプリケーション レプリケーションには、PostgreSQLがもともと提供しているレプリケーション機能と、 pgpoolが提供しているレプリケーションの2種類がある。 PostgreSQLのレプリケーション ストリーミングレプリケーション プライマリノードのWALを、リアルタイムでスタンバイノードに転送することで、 プライマリとスタンバイのDBの同期を取ることができる。 WAFの転送と、WAFからの複製処理に時間がかかると同期が遅延する https://www.fujitsu.com/jp/products/software/resources/feature-stories/streaming-replication1/?postgresql-inside pgpool-Ⅱのレプリケーション ネイティブレプリケーション 更新クエリを全てのサーバに送信してレプリケーションを行う。 同期遅延なし 更新性能が50%に落ちる フェイルオーバー pgpool-ⅡがPostgreSQLを定期的に監視し、ダウンしたノードは自動的に切り離される ノードがダウンした場合の処理はshell script形式で記述する。 オンラインリカバリ サービスを止めずに停止したノードを復帰させる機能。 マスタのバックアップから、リカバリする。 https://www.pgpool.net/docs/latest/ja/html/example-cluster.html https://www.sraoss.co.jp/prod_serv/support/cluster_option.php https://www.obci.jp/wp-content/uploads/2016/08/TIS_PostgreSQL.pdf 用語 データベースクラスタ DBサーバ内のにあるDBの集合体、およびDBのディスク上の保存領域を示す。 データベースクラスタのスナップショットは「ベースバックアップ」と言われる。 WAL(Write Ahead Log) DBに対して更新を実施する前に、作成される更新内容を記録したトランザクションログ。 WALのログを利用することで、DBの複製が可能。 WALログは、postgresのデータディレクトリ以下のpg_xlogディレクトリに、000000010000000000000000から始まるファイルとして配置される。 https://www.postgresql.jp/document/9.4/html/continuous-archiving.html アーカイブログ WALのバックアップファイルを示す。 PostgreSQLの設定ファイルで指定した特定の条件を満たすと、WALファイルはログの切り替え(ログローテーション)を行う。 切り替え後の古いログはアーカイブログとして別ファイルに保存される。 アーカイブログの保存先は設定パラメータarchive_commandに指定する。 PITR(Point In Time Recovery) 特定の時点のDBをリストアする機能。

udevでデバイスファイルのシンボリックを作成

  • POST
udevでデバイスファイルのシンボリックを作成 はじめに Linux環境において、デバイスファイルのファイル名は機種により異なるが、 RXTXライブラリのようにライブラリ側で、デバイスファイル名が固定されているケースがある。 この場合は、デバイスファイルを参照するシンボリックリンクをライブラリが指定しているデバイスファイル名で作成することで、ミスマッチを回避できる。 Linux環境でデバイスファイルのシンボリックを作成する手順を記載する。 udevとは udevは、Linuxにおいての/dev配下のデバイスファイルの管理を行う仕組みである。 USBフラッシュメモリなどのデバイスの差し込みを行うと、/dev配下にデバイスファイルが作成され、デバイスを取り外しすると、/dev配下のデバイスファイルが作成される。 シンボリックリンクを作成 RaspberryPi環境での実行する。 USBフラッシュメモリを装着すると、デバイスファイル(/dev/sda)が作成される。 以下のコマンドを実行すると、デバイスファイルの情報が表示される。 $ udevadm info -a -n /dev/sda # SUBSYSTEMSの項目を確認する looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2': KERNELS=="1-1.2" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceClass}=="00" ATTRS{manufacturer}=="UFD 2.0" ATTRS{bmAttributes}=="80" ATTRS{bConfigurationValue}=="1" ATTRS{version}==" 2.00" ATTRS{devnum}=="9" ATTRS{bMaxPower}=="200mA" ATTRS{idProduct}=="3600" ATTRS{avoid_reset_quirk}=="0" ATTRS{urbnum}=="1558" ATTRS{bDeviceSubClass}=="00" ATTRS{maxchild}=="0" ATTRS{bcdDevice}=="0100" ATTRS{bMaxPacketSize0}=="64" ATTRS{idVendor}=="13fe" ATTRS{product}=="Silicon-Power32G" ATTRS{speed}=="480" ATTRS{removable}=="removable" ATTRS{ltm_capable}=="no" ATTRS{serial}=="201108SP001507B80507CD4F175B" ATTRS{bNumConfigurations}=="1" ATTRS{busnum}=="1" ATTRS{authorized}=="1" ATTRS{quirks}=="0x0" ATTRS{configuration}=="" ATTRS{devpath}=="1.