コンテンツにスキップ

2022

godologの導入

昨日書いたように Google Docs を利用する機会が増えました。GitHub Pages も Google Docs から書けると最高なので、 r7kamura/godologを導入して投稿できるようにしました。

この記事も Google Docs から書いています。

Google Docs で利用できる書式がどの程度変換できるのかテストしてみます。


見出し

見出し1

見出し2

見出し3

見出し4

見出し5
見出し6

タイトル

サブタイトル

箇条書き

  • リスト1
  • リスト2

  • リスト2-1

  • リスト2-2

  • リスト2-2-1

  • リスト3

番号付きリスト

  1. リスト1
  2. リスト2

  3. リスト2-1

  4. リスト2-2

  5. リスト2-2-1

  6. リスト3

チェックリスト

  • 未チェック
  • チェック済み

太字

太字

斜体

斜体

下線

下線

取り消し線

取り消し線

リンク

リンク

上付き文字

x2

下付き文字

x2

3x3の表を作ります

ヘッダー1

ヘッダー3

ヘッダー3

hoge

fuga

piyo

foo

bar

baz

画像

テキストカラー

背景色

コードブロック

print("python hello world!")

メモを残す最良ツールを探し続けてる

ちょっとしたメモを残すときは markdown ファイルで管理することが多くなりました。そのとき割と困るのが画像の扱いです。 markdown で画像を扱う場合は次のステップを踏んでいます。

  1. 画像を保存
  2. 所定のディレクトリに移動
  3. パスをコピー
  4. markdownファイルに記載

これがとても面倒と感じています。画像をテキストのようにコピペで管理したいなーという気持ちが強くなってきました。

なので、仕事では Google Docs を使うように切り替えています。Google Docsも markdown 記法で書けるようなったのでかなり体験は良い感じです。 あとは、Scrapbox も使うようになりました。これも画像をコピペで貼れます。画像の保存先は Gyazo となっていて管理しやすいです。独自の記法なので書き方に多少の慣れは必要ですが、とても感触はよいです。 Google Docs と Scrapbox の使い分けができていないので、運用面を考えていきたいです。

テキスト書いてるときは markdown 🥰って思うのに画像が絡んでくると急に markdown 😡って気持ちになるんですよ。分かるかなこの気持ち。

今後も自分にとっての最良メモツールを探していきます。

SurfaceのUSB-Cが認識しなかったときの対処法

ある日突然、SurfaceのUSB-Cが認識しなくなりました。 Microsoft Supportに問い合わせたところ解決できたので備忘録として残しておきます。

結論

次の手順を行ってください。

  • Surface に、USB 機器を接続します。現在接続中の場合は、一度外してから再度接続し直します。
  • USB 機器が接続された状態で、電源ボタンを 20 秒間長押しします。
  • 電源が落ちた状態になるので、この後改めて電源を入れ、USB 機器の動作をお試しください。

不具合があったときの情報

  • Surface Laptop 4 13.5インチ
  • Windows 10 Pro
  • OSビルド: 19044.1682

不具合時の状態

デバイス マネージャー を見ると、Surface Retimer に警告が出ていた

このデバイスを開始できません。 (コード 10)

{操作の失敗} 要求した操作が失敗しました。

ドライバーのバージョン

2.17.2.1

ファームウェアのバージョン

1

ファームウェアの更新状態

前回の試行時にファームウェアを更新できませんでした。

前回の試行のバージョン: 2170201 前回の試行日: 2022/04/28 9:53:24 前回の試行の状態: 0xC0000001

同じような事象が発生した方は一度お試しください。これで解決できなかったら多分初期化しないとダメっぽいです。

AWSクラウドプラクティショナーのメモ

仕事でがっつりAWSを使った設計をすることになった。ゴールデンウィークにやることもないので、AWSの勉強をしている。いくつか本を買って読んでたけど、イマイチ自分が欲しい情報が入っていない。AWSのベストプラクティス集みたいなのを期待したが、あんまりそういうのは載ってなかった。

資格を取ったほうが体系的に学べるし、今の自分がほしい知識が吸収できそうと思ったので、GW期間中にAWSクラウドプラクティショナーの資格に挑むことにした。その中で、すんなり頭に入ってこなかったサービスや用語についてまとめた。

Elastic Beanstalk

AWSクラウドにアプリケーションのデプロイと管理の環境を簡単に設定できる。

例えば

  • ログ
  • EC2インスタンス
  • EBS
  • ロードバランサー
  • セキュリティ
  • モニタリング
  • VPC
  • RDS

などを簡単に設定できるサービス。

責任共有モデル

セキュリティとコンプライアンスについての責任が、AWSと利用者の間で共有されるとする考え方。 この範囲はAWSが責任を持つけど、あの範囲は利用者の責任ね、っていうモデル。

Shared_Responsibility_Model_V2_JP.a4acd9721218c9d7d4ab5083c349e706e8ad300d

AWS Artifact

第三者による監査レポートを無料でダウンロードできる。いつでもダウンロード可能。

TAM

正式名称は Technical Account Manager 。AWSユーザーに対して技術的視点でサポートしてくれる専門家。

AWS Shield

マネージド型の DDoS 保護。Standard と Advanced の2種類あり。

Standard

  • レイヤー3および4 に対する既知の攻撃に向けた保護をする。
  • Amazon CloudFront 、 Amazon Route 53 と一緒に使用する。

Advanced

Standard の機能に加えて次の機能がある。

  • 次のリソース保護が可能
  • ELBロードバランサー
  • EC2 Elastic IPアドレス
  • Amazon CloudFront ディストリビューション
  • Amazon Route53 ホストゾーン
  • AWS Global Accelerator アクセラレーター
  • 大規模で高度な DDoS 攻撃に対する追加の検出および緩和策と、ほぼリアルタイムの可視性を提供
  • 24 時間 365 日の AWS Shield レスポンスチーム (SRT) へのアクセス
  • DDoS に関連して起こったスパイクに対する保護を提供

AWS Direct Connect

AWSが提供する専用接続サービス。ユーザーのネットワーク環境からAWSまでインターネットを経由せず(専用線を介して)プライベート接続するサービス。

VPCエンドポイント

VPCエンドポイントは、サポート対象のAWSサービスなどにVPCをプライベートに接続可能な仮想デバイスのこと。Virtual Private Cloud (VPC) とサポートされているサービスの間の接続が有効になる。 ゲートウェイエンドポイントインターフェースエンドポイント の2種類あり。

ゲートウェイエンドポイント

VPCにインターネットゲートウェイや NATデバイスを必要とせずに、Amazon S3 および DynamoDB への信頼性の高い接続を提供する。

vpc-endpoint-s3-diagram

インターフェイスエンドポイント

VPC内にインターフェイスを設置して、インターネットゲートウェイを介さずに、VPC外(AWS通信網内)のサービスにアクセスするための機能のこと。

下記例では、プライベートDNSの有効/無効時のVPC外の接続方法の違いを説明している。

プライベートDNSを使わない場合

デフォルトの DNS 名を使用して AWS リージョンのパブリック IP アドレス空間経由で Amazon Kinesis Data Streams と通信。

vpc-endpoint-kinesis-diagram

プライベートDNSを使った場合

デフォルトの DNS ホスト名またはエンドポイント固有の DNS ホスト名を使用して、インターフェイスエンドポイントを介して Amazon Kinesis Data Streams にリクエストを送信。

vpc-endpoint-kinesis-private-dns-diagram

VPCピアリング

2つのVPC間でプライベートな接続を可能にするネットワーキング機能。

最新docker-composeをインストールするコマンド

WSL2でインストールするときなど、いつも次のようにインストールしてました。

  • 公式ページ のインストール手順に従って進める
  • 手順の中にdocker-compose版の最新バージョンを確認する手順があるのでGitHubにいって最新版を確認する
  • URLに含まれるversionを差し替える
  • インストールする

この手順2,3が個人的にとても面倒です。 次のコマンドを上から実行するだけで最新版がインストールできます。

前提条件

  • jq インストール済み

コマンド

version=$(curl https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)
output='/usr/local/bin/docker-compose'
curl -L https://github.com/docker/compose/releases/download/$version/docker-compose-$(uname -s)-$(uname -m) -o $output
chmod +x $output
docker-compose --version

参考

日記

妻が急遽手術して週末まで入院することになった。

3月下旬から定期的に左の下腹部の痛くなるので、消化器内科や婦人科系のクリニックで見てもらったりしてたけど、問題なしと診断されていた。

けど、昨日から痛みが出てきたので大きめの病院の婦人科で見てもらったら、子宮外妊娠と診断され緊急で手術することになった。手術は1時間程度で終わり無事成功。

妻は本当に痛そうだったので心配してたんけど、ようやく原因が分かったし処置できたので一安心。退院したらいっぱい美味しいものを一緒に食べに行こうと思う。

PHPで数値判定をするときは"e"に気をつけよう

指数表現を理解していなかったために間違ってしまった問題があったのでメモ。

少し実装方法に触れてるのでアウトだったら消します。

paizaラーニングの問題B104:データのクレンジングで次の条件がありました。

今回行うクレンジングでは、回答が 0 以上 100 以下の整数ではないデータをすべて取り除きます。なお、先頭に 0 がついているデータ (035 など) は有効です。

上記説明を簡単にいうと、インプットの文字列が0以上100以下の整数であるかをチェックする必要があるということです。 インプット文字列は以下の条件を満たします。

  • -1,000 ≦ s_{i, j} ≦ 1,000 または、「英字小文字 / 数字」からなる文字列
  • 1 ≦ 文字列 s_{i, j} の長さ ≦ 5

このチェックを以下のように実装しました。

function hoge(string $value): bool
{
    if (!is_numeric($value))
    {
        // 数値文字列判定
        // $valueに英字が含まれている場合にfalseを返す
        return false;
    }

    $value = intval($value);
    // 0 以上 100 以下を判定
    return ($value >= 0 && $value <= 100);
}

しかし、この実装で提出するとエラーとなるパターンがありました。それが、eを含むときです。 PHPではeを指数表記として利用しています。例えば次の文字列は数値文字列として判定されます。

  • 3e1
  • 1e2

REPLを使って確認してみます。

php > echo 3e1;
30
php > echo 1e1;
10
php > var_dump(is_numeric("3e1"));
bool(true)
php > var_dump(is_numeric("1e2"));
bool(true)

そのため、整数チェックをする場合、次のうちどちらかを採用するのが良さそうです。

  • ctype_digit 関数で数値チェックをする
  • preg_match 関数を使って正規表現でチェックする

日記

数日前からpaizaからスカウトメールが来るようになった。最後にやったのは2年前だし全然更新してないのに何故かよくメールが届く。

これをきっかけにプログラミングスキルチェックを少しやってみることにした。スコアやレーティングは意識せず継続的に続けていきたい。多分無理だけど。

NordVPNで接続できないサイトがあったので設定を変えてみた

対応方法

  • VPNプロトコルはOpenVPNorIKEv2を使う

先日NordVPNの2年間プランを購入しました。実際に使ってみるとVPN未接続では繋がるのに、VPN接続中では繋がらないサイトがちょくちょくありました。

結論としてはVPNプロトコルNordLynx以外のプロトコルを使うようにしたら問題は解決できました。

デフォルトではNordLynxとなっています。NordLynxは最新の技術でありパフォーマンスに優れているとのことです。しかし、サイトに繋がらないのでは意味がないので、OpenVPNとIKEv2でVPNを使っていこうと思います。

繋がらないのは日本のサイトだったので、もしかしたら国が関係しているかもしれません。

日記

3/19(土)に3回目のワクチン接種をしてきた。副反応としては37℃程度の熱と節々の痛みのみ。接種後20時間後ぐらいにロキソニン飲んだらそこからは体の不調もなく終了。4回目の接種時もこんな感じだったらいいな。

浅草キッド見た。深見千三郎が主役の映画って感じ。