技術

pemファイルに含まれる証明書の確認方法

tama-tan

以下で、内容が見られます。

openssl x509 -text -fingerprint -noout -in "ファイル名.pem"

実際には、こんな感じです。

$ openssl x509 -text -fingerprint -noout -in  '*.xxxxxxxx.xxx.cer'
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            26:8c:4f:db:b0:ba:d7:43:45:1b:43:f2:5d:84:9b:85
        Signature Algorithm: sha384WithRSAEncryption
        Issuer: C = AT, O = ZeroSSL, CN = ZeroSSL RSA Domain Secure Site CA
        Validity
            Not Before: May  5 00:00:00 2022 GMT
            Not After : Aug  3 23:59:59 2022 GMT
        Subject: CN = *.tama-tan.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:
                    00:c5:bb:31:b4:41:96:66:e6:ed:47:9e:74:2f:58:
                    7a:af:fe:a0:d8:09:06:25:36:99:4f:69:79:71:55:
                    --- 省略 ----

上記で、Validityの覧を見ると有効期限がわかります。

Golangでホットリロードする方法

tama-tan

※ 過去に書いた記事を載せています。今動作するかは不明。。。。

今回、Go言語で開発を行うことがありました。

go言語は、PHPやRubyなどの言語とは異なり、ビルドをしないとソースは反映されません。

APIの死活監視をRocketChatに送信する

tama-tan

※ 過去に書いた記事を載せています。今動作するかは不明。。。。

サーバ監視ツールを作成しようというお話をします。

サーバが本当に動いているかどうかを少し前までは、メールで送信が多かったのですが、 最近は、Slack等のチャットに連絡するような方法が多くなってきているようです。

GORMでtime型をするときの注意

tama-tan

GORMでtime型をするときの注意

GORMで構造体をマイグレーションしたときに 以下のようにしてもtime型にはならなかった、、、

type test struct {
BreakTime                  *time.Time               `gorm:"type:time;comment:休憩時間"`
}

↓ マイグレすると

create table test
(
    break_time                   timestamp with time zone,
);

となった、

どうも、「time」のあとにスペースを入れれば解決するみたい。

時間の取り扱い方

tama-tan

time型を取得する

time.Time型の変数を取得する方法。

現在時刻から取得する

fmt.Println(time.Now())
// Output: 
// 2009-11-10 23:00:00 +0000 UTC

日付から取得する

fmt.Println(time.Date(2014, time.December, 31, 12, 13, 24, 0, time.UTC))
// Output:
// 2014-12-31 12:13:24 +0000 UTC
loc, _ := time.LoadLocation("Asia/Tokyo")
fmt.Println(time.Date(2014, 12, 31, 8, 4, 18, 0, loc))
// Output:
// 2014-12-31 08:04:18 +0900 JST

文字列から取得する

t, _ := time.Parse("2006-01-02", "2014-12-31")
fmt.Println(t)
// Output:
// 2014-12-31 00:00:00 +0000 UTC
t, _ := time.Parse("2006-01-02 15:04:05 MST", "2014-12-31 12:31:24 JST")
fmt.Println(t)
// Output:
// 2014-12-31 12:31:24 +0900 JST

Unix TimeStampから変換

fmt.Println(time.Unix(1419933529, 0))
// Output:
// 2014-12-30 09:58:49 +0000 UTC

第2引数でナノ秒を指定できる。

UIButtonの文字の設定

tama-tan

UIButtonの文字の設定

ボタンの設定

UIButton をコード上で使用することで、ボタンを追加することができます。 追加する時に、各状態になった場合のボタンのタイトル、色などを指定することができます。

時刻ではまった

tama-tan

時刻ではまった。。。。 文字列をtime型にしてからunixtimeに入れようとしたら、

timeStr := "2022-06-07 09:00:00"
layout := "2006-01-02 15:04:05"
timeData, _ = time.Parse(layout, timeStr)
fmt.Println(timeData.Unix()) # => 1654592400

タイムゾーンが、日本に設定してないので、UTCになっているみたい。 time.Parseを使用せずに、locationを設定できるtime.ParseInLocationを使用するとうまく行く。

HUGO便利スクリプト

tama-tan

HUGOの使い方がようやくわかってきて、今必死ですw

コンテントを作成する時

hugo new post/なんたらー.md

って、書かなきゃならなく、中身もちょびちょび書き直さなければならない。 これって面倒ですね。