kurumi-bioの雑記帳

プログラミング、パソコン、ペット、 犬、お出かけ

初心者のGo言語 -15- <Chtimes,Clearenv,Environ>

こんにちは、kurumi-bioです。久々のGo言語の学習です。
第2回目のosパッケージ(標準ライブラリー)の学習です。

環境

OSバージョン:Windows11 Home 22H2
Go言語のバージョン:go version go1.19.4 windows/amd64

Chtimes関数

func Chtimes(name string, atime time.Time, mtime time.Time) error

Chtimes は、Unix の utime() または utimes() 関数と同様に、指定されたファイルのアクセス時刻と変更時刻を変更します。基礎となるファイルシステムは、値を切り捨てたり、精度の低い時間単位に丸めたりする場合があります。エラーがある場合、タイプは *PathError になります。

<サンプルコード>ChtimesSample.go

package main

import (
    "fmt"
    "os"
    "time"
)

func main() {
    a := time.Date(2023, time.March, 2, 4, 5, 6, 0, time.UTC)
    m := time.Date(2023, time.February, 1, 3, 4, 5, 0, time.UTC)
    e := os.Chtimes("Chtimes.txt", a, m)
    if e != nil {
        fmt.Fprintf(os.Stderr, "os.Chtimes Error: %v \n", e)
    } else {
        fmt.Printf("os.Chtimes success\n")
    }
}

<実行結果>

time.Dateは、引数に西暦、月、日、時、分、秒、ミリ秒を指定してtime変数を作成しています。 ですので、Chtimes.txtのアクセス時刻2023年3月2日 4時5分6秒に、変更時刻2023年2月1日 3時4分5秒に変更するプログラムです。
実行後にファイルのプロパティを見ると、更新日時2023年2月1日 12時4分5秒で、アクセス日時2023年3月2日 13時5分6秒になっています。 これは、os.ChtimesのロケーションにUTC(協定世界時)を指定していますが、表示は日本標準時 (JST)になっているため、+9時間になっているためです。

Clearenv関数

func Clearenv()

Clearenv はすべての環境変数を削除します。

<サンプルコード>ClearenvSample.go

package main

import (
    "fmt"
    "os"
)

func main() {
    fmt.Printf("OS=[%s]\n", os.Getenv("OS"))
    os.Clearenv()
    fmt.Printf("OS=[%s]\n", os.Getenv("OS"))
}

<実行結果>

os.Getenv関数で、環境変数OSの値を出力後にos.Clearenv()関数を使って環境変数を削除。そのため2回目の環境変数OSの値は空になっています。 プログラム実行後にDosコマンドで環境変数OSの値を出力していますので、プログラム内だけ環境変数が削除されていることになります。

Environ関数

func Environ() []string

Environ は、環境を表す文字列のコピーを "key=value" の形式で返します。

<サンプルコード>EnvironSample.go

package main

import (
    "fmt"
    "os"
)

func main() {
    env := os.Environ()
    for _, s := range env {
        fmt.Printf("%s\n", s)
    }
}

<実行結果>

長かったので途中でカットしましたが、全ての環境変数が出力できました。

最後までご覧いただきありがとうございます

先週のくるみ(2023.02.12)

こんにちは、kurumi-bioです。
2月5日(日)~11日(土)のくるみの生活雑記です。
寒い日が続きましたが、1日2回の散歩は欠かさない元気なくるみです。

先週のくるみの様子

  • 散歩
    朝の散歩は、同じ公園に7日間のうち5日行きました。連続して同じ公園に行くのは珍しいです。そこそこ広くて芝生や低木が多いのが気に入っているのだと思います。 同じ場所に行くことが多かったので、散歩時間は1回約1時間くらいで、距離は約3kmくらいでした。
  • 朝ご飯
    朝の散歩の前にご飯を食べたのは、7日間のうち2日だけでした。朝食べなくても夕方から夜にかけて回数を多く食べるので一日に食べる量は、それほど変わらないですが、胃の負担が気になります。
  • 他人
    冬になってから散歩中にほかの人に会う機会が減ったため、他人嫌いが、だいぶ強まった感じがします。わんこは好きなんですけどね。

<広告の下に続きます。>

先週の写真


朝散歩(5時台)のくるみ
撮影日 2023年2月5日
夜の散歩ではありません。朝の散歩です。日が少しづつ延びてきていますが、5時台はまだまだ暗いです。


丸まって昼寝してるくるみ
撮影日 2023年2月8日
寒い日は、大きな体を器用に丸めて昼寝しています。


雪上を歩くくるみ
撮影日 2023年2月10日
夕方の散歩です。今年初めての降雪です。昼前から降っていたと思いますが、夕方には雨になっていました。近場でトイレを済ませて家に戻りました。


雪の匂いを嗅ぐくるみ
撮影日 2023年2月11日
夜中に降雪があったのか、うっすらと雪が残っていました。雪というより雪の下の何かに興味津々です。雪を食べるのもよくないので直ぐに止めさせました。雪の上を喜ぶわけでも避けるわけでもなく普通に歩いていました。もう少し喜ぶかと思ってたので、ちょっと拍子抜けでした。


日の出とくるみ
撮影日 2023年2月11日
7時になると地平線から陽が完全に出ます。雪と日の出とくるみを撮りたかったのですが、くるみが停止した場所の背景の雪が少なかったです。失敗作です。


最後までご覧いただきありがとうございます

割と普通な自作PCを作る -6- ベンチマーク結果

こんにちは、kurumi-bioです。

前回で一通り組み立て終わったので、Windows11 Homeをインストールしてベンチマークを実施しました。

FINAL FANTASY XVベンチマーク

グラフィックカードを付けていないので当然の結果なのですが、目の当たりにすると少し悲しい結果です。

Windows システム評価ツール

FINAL FANTASY XVベンチマークの結果だと何もわからなかったので、Windows システム評価ツール(WinSAT)を実施してみました。 Windows システム評価ツール(WinSAT)は、Windows11の標準機能で実施可能です。 この数値がどの程度なのかわからないので、もう一台のノートPCと比較したのが下の表です。

Dell G5 5590 自作PC
CPU Intel Core i7-9750H Intel Core i7 12700
モリー 16GB(DDR-4) 32GB(DDR-5)
グラフィックス NVIDIA GeForce GTX 1650 インテル® UHD グラフィックス 770
-- -- --
CPUScore 9.1 9.4
D3DScore 9.9 9.9
DiskScore 8.95 9.7
GraphicsScore 8.5 8.1
MemoryScore 9.1 9.4
TimeTaken MostRecentAssessment MostRecentAssessment
WinSATAssessmentState 1 1
WinSPRLevel 8.5 8.1

CPUスコアが0.3ポイント高くて、グラフィックスコアが0.4ポイント低いです。微妙です。 グラフィックスコア0.4の差は、FINAL FANTASY XVベンチマークで「動作困難」と「やや快適」の差ですので、 かなり大きいかと思います。

SSD(M.2)

システムドライブに使用している1TBのSSDです。

仕様  
メーカー WESTERN DIGITAL
モデル名 WD_Black SN770 NVMe WDS100T3X0E
読込速度 5150 MB/s
書込速度 4900 MB/s

CrystalDiskMarkの測定結果を見ると、ほぼスペック通りの速度が出ています。 雑誌やネットで評価が高いのも納得です。

SSD(SATA)

追加ドライブに使用している2TBのSATA接続SSDです。パーテーションで区切らないで2TBをそのまま1ドライブにしています。

仕様  
メーカー SUNEAST
モデル名 SE900
読込速度 550 MB/s
書込速度 500 MB/s

スペック通りの速度が出ていないです。SanDisk SDSSDH3は読込と書込みの両方ども500 MB/sに近い速度が出ていましたので値段相応なのかと思います。

割と普通な自作PCを作る -5- ケーブル類とストレージの取り付け

こんにちは、kurumi-bioです。
前回に引き続きPC作成について記載します。


大物の取り付けが終わったので、ケーブル類の取り付けを行いました。 こちらは、電源装置(ASUS ROG STRIX 850W)に付属しているケーブルです。この通りコネクタ部分に挿す場所が記載されていますので特に迷うことはありませんでした。


上から垂れ下がっている白いケーブルは、CPUの電源ケーブル(2つ)です。 黒色のケーブルはPCケース(ASUS AP201)から出ていて、フロント部分の電源スイッチとスイッチのライト、オーディオ(イヤホン、マイク)、USB-TypeA(1口->2口)、USB-TypeC(1口->1口)です。 ユーザーマニュアルを参照してコネクタの位置を確認して向きを合わせて差し込みます。スイッチのライト以外はそれぞれ形が違うので間違うことは無いと思います。


ケーブルの取り回しが問題ないことを確認してメモリーSSDを付けました。メモリーを挿す場所はマザーボード(MSI MAG B660M MORTAR WIFI)にも記載されていました。 SSDヒートシンクで覆ってしまったのでわからないですね。CPUファンが邪魔になるので先にSSDを付けた方がよいかと思います。


2.5インチSATASSDの取り付け場所です。このPCケース(ASUS AP201)は取り付ける場所が、マザーボード(MSI MAG B660M MORTAR WIFI)の裏、ケースのボトムにストレージを取り付けます。


黒いのがSSDです。こんな感じで電源装置の下に設置されます。SSDは薄いので電源ケーブルの邪魔にならなかったです。


電源装置に、マザーボード(MSI MAG B660M MORTAR WIFI)電源ケーブル、CPU電源ケーブル(2口)、SATA電源ケーブルを挿しましたが、 まだ差込口が残っていました。CPU/VGA/PCI-Eが3口とPeripheral-IDE/SATA/Molexが3口です。 SATAの電源は一つのケーブルで複数のSATAに使えますので、使うとしてもPCI-Eが1口か2口です。 取り回しの良いモジュラーケーブルにして正解だったかなと思います。


CPUの電源ケーブルが余っちゃってますが、電源ケーブルはすべて裏側を通すようにしました。 PCケース(ASUS AP201)のボトムがすっきりしました。


裏はひどい状態です。これでも辛うじてサイドカバーを閉じることができました。


PCケース(ASUS AP201)のトップにつけるケースファンです。風向きが矢印で記載されていますので、上(外)に風が向かうように取り付けます。


ケースファンの取り付け位置は自由に変えれるようになっています。マザーボード(MSI MAG B660M MORTAR WIFI)の電源ケーブルとCPUの電源ケーブルが邪魔ですね。


マザーボード(MSI MAG B660M MORTAR WIFI)の電源ケーブルを裏に回さないようにして、ケースファンをフロント寄りに詰めて設置しました。 少しでも電源装置の熱がケース内に溜まりにくくするのが目的です。


マザーボード(MSI MAG B660M MORTAR WIFI)にケースファンのコネクタが二つありますが、分岐ケーブルを使って1つのコネクタから3つのケースファンが繋がるようにしました。 全てのケースファンが同じタイミングで動くことになります。


これですべての取り付けが終わりました。前側は、このようになりました。マザーボード(MSI MAG B660M MORTAR WIFI)とCPUの電源ケーブルが余って邪魔です。


裏側はすっきりしています。


電源を入れるとUEFI画面になります。CPU、メモリー、ストレージが認識されているか確認します。 メモリーは、オーバークロックをしないで規格値のままで使用していこうと思います。


割と普通な自作PCを作る -4- マザーボード(MAG B660M MORTAR)の取り付け

こんにちは、kurumi-bioです。
前回に引き続きPC作成について記載します。

マザーボード

MSI MAG B660M MORTAR WIFI

付属品は、説明書、M.2ロック(2個)、アンテナ(2本)、SATAケーブル(2本)、M2DVD-ROM(ドライバー)、ドライバー(+/-)です。 説明書は、大きな紙1枚を畳んだタイプで多言語(日本語を含む)対応していますが、取り付け順番が記載されているだけなので、 コネクタの位置を調べるためには、予めMSIのHPでユーザーガイドをダウンロードしておいたほうがよいです。

CPU

Intel Core i7 12700

付属品は、説明書とCPUファンです。上にCPU、下にCPUファンが入っています。

CPUファンを取り出そうとしたら、指先にヌルっとした感触。何かと思ったらグリス触っちゃいました。 取り出すときは要注意です。プラスチックカバーを付けてくれた方が安心だと思います。

CPUの裏側は平らです。昔は細かな突起が出てたので取扱注意でしたが、これでしたらサクッと置いて完了ですね。

CPUの取り付けは、説明書を見てもらえばわかるのですが、CPUを乗せた後に蓋を締めるのが非常に硬いです。つかかってるのでは?と思うくらい硬かったです。 慎重かつ力を入れないとだめなので神経減ります。

CPUを付けたらマザーボードをケースに取り付けます。CPUファンは大きく邪魔になりそうなで、後から付けることにしました。 ケース内は、まだ余裕があります。

CPUファン

DeepCool AK400

付属品は、説明書と取り付け金具です。取り付け金具は、インテル系が2種とAMD系が1種の合計3種類に対応しています。

こちらもグリスが塗られた状態でしたが、プラスチックのケースが付いていたのでグリスに触らずに取り出すことができました。

マザーボードの裏側にプレートを取り付けます。 このプレートは四つの足の長さを変えることで複数種類のソケットに対応しています。 マザーボードを挟む形で前面にもプレートを取り付けて前後をねじ止めをします。

前面のプレートにCPUクーラーをネジ止めします。ケースギリギリの大きさです。

ファンを取り付けて完了です。ヒートシンク側に風が向かうようになっています。

後は、配線とケーストップのファンの取り付けです。次回に続きます。

割と普通な自作PCを作る -3- 電源装置(ROG STRIX)の取り付け

こんにちは、kurumi-bioです。

パーツが揃ったのでPCを作成していきます。 作成手順がわかっていないので、PCケース(AP201)の説明書通りに進めていきます。

PCケース

ASUS PRIME CASE AP201

段ボール箱の大きさがイメージしているのと違って違和感を感じていたのですが、 こんな感じで縦に入っていたからでした。

向きを正しくしてサイドカバーを開けると、説明書と付属品が入っていました。 カバーは、全て工具不要で、手で開けることができます。

付属品は、マザーボードやDISKを止めるネジとケーブルタイです。 説明書は、一つのページに多言語(日本語も含む)で簡単な説明が記載されています。

逆サイド側です。右側の四角い枠に電源を入れます。四角い枠と手前の板はネジで止まっていて、ネジを外すと取ることができます。

電源装置

ASUS ROG STRIX 850W WHITE EDITION

箱を開けると、左側のクッション材の中に電源装置。右側の袋の中にケーブルが入っています。 なかなか高級感があって好感が持てます。

付属品は、説明書、ケーブルタイ、シールです。説明書は、多言語(日本語を含む)で記載されていて言語ごとにページが分かれています。

電源装置(ROG STRIX)の取り付け

PCケースにネジで止められていた電源カバーを取り外して、中に電源装置を入れます。 説明書では向きがわからなかったので、電源装置の熱が外に出る方向でファンを取り付けました。

失敗でした。ケースの電源ケーブルがL字型をしており、この向きだとケースに干渉してケーブルを挿すことができませんでした。

正しい向きはこちらです*1。ケーブル差込口の平らな方が外側*2に向くように付ける必要があります。ファンが内側になりますので熱気がケース内に入ることになります。

これでケースに干渉することなくケーブルを取り付けることができました。ちなみに、このケーブルは、PCケースの背面の電源差込口からの中継ケーブルです。 電源装置がPCケース内部に隠れてしまうため電源装置のスイッチは常時ONになります。

付けてみるとケース内に大きなファンがあるのかなぁと言った感じで、電源装置の存在感が無くなります。 電源装置を取り付ける高さが三か所あり、自分はトップに140mmファンを2つ付ける予定ですので、の位置で取り付けました。

Scenario PSU mount Optimized PSU Length 3.5''HDD 2.5''SSD Top 360 AIO Top 120mm fan
Liquid Cooling 170mm × × 3pcs
Neutral 170mm × × 3pcs
Full Storage 160mm × 2pcs

今回は、ここまでです。次回はマザーボードの取り付けから始めます。

*1:ケーブルがある程度折れることを覚悟すれば逆位置も可能だと思います。自分は怖いのでやりませんでした。

*2:枠をケースに引っ掛けるためフックがある方が外側になります

くるみ

こんにちは、kurumi-bioです。

ブログ20回目を記念して愛犬のくるみを紹介します。
ブログタイトルになっているkurumibioは、この子からとりました。
くるみは、元保護犬で横須賀の保護団体を経て家族の一員になりました。 元保護犬のくるみ

プロフィール  
名前 くるみ
犬種 ミックス(雑種)
クリーム
性別 メス
生年月日 2019年12月25日くらい
出身地 中国地方
体重 約21Kg

来歴

  • 2020年02月23日 譲渡会で初顔合わせ。会場では、ビオと言う名前でおとなしくて壁際にいることが多かったです。
  • 2020年03月06日 トライアル開始。犬用のゲージと散歩道具、食事などを一通り揃えて迎えました。その際に「生後2,3か月位の中型犬で皮膚が弱いのでご飯はラム肉が入ったフードがよい」と聞きました。
  • 2020年04月12日 譲渡契約を行い正式に家族の一員となりました。

性格

  • 温和:外では滅多に吠えません。
  • 臆病:音に敏感で風で自転車カバーなどがバタバタするのと逃げようとします。
  • 他人が苦手:家族以外が触ろうとすると逃げます。
  • 犬大好き:近寄ったり離れたりバタバタとかなり激しく遊びに誘います。

散歩

一日二回散歩しています。朝は1時間半から2時間くらい。夕方は30分から1時間くらい。 散歩が大好きなので時間が許す限りは自由に歩かせるようにしています。

<広告の下に続きます。>

写真


トライアル初日のくるみ
2020年3月6日 撮影(トライアル初日)
パピーの時は、たれ耳でした。初日なのでおとなしくしていますが、
実際はやんちゃ坊主で、家の壁紙を剝がされたりしました。


トライアル2日目のくるみ
2020年3月7日 撮影(トライアル2日目)
ゲージを使っていたのは1歳くらいまでです。今は家の中を自由にしています。
ゲージは出たくてガジガジするので、1年で見るも無残な姿になりました。


トライアル3日目ののくるみ
2020年3月8日 撮影(トライアル3日目)
慣れてきてやんちゃな顔をしています。
このソファーはお気に入りで、今も日中はこの上に居ることが多いです。


生後六か月ごろのくるみ
2020年6月6日 撮影(生後六か月ごろ)
今よりも一回り小さいくらいです。大きな耳が特徴です。
この頃は穴を掘るのが好きで庭の芝生が台無しになりました。


1歳ごろのくるみ
2020年12月27日 撮影(1歳ごろ)
いたずらをあまりしなくなったので、ゲージを撤去して自由に家の中を歩けるようにしました。
ただティッシュを食べてしまうので、ティッシュ箱は裏返しに置くようにしています。


2歳ごろのくるみ
2021年11月06日 撮影(2歳ごろ)
かなりしっかりした体形になりました。


3歳ごろのくるみ
2022年12月21日 撮影(3歳ごろ)
自然が大好きで色々な匂いを嗅いでご機嫌さんで尻尾を振って歩くのがかわいいです。


最後までご覧いただきありがとうございます