まったりするmatayu

ツイートにゴミがついた感じのブログ

車は大事にしよう

学校もバイト先もそこそこ遠く,この時節ながら車を割と頻繁に使うのですが,昨日トランスミッション警告灯がついてしまったので今日点検に出しました. 結果は走行機能に特に問題は見受けられないとのことでひとまず安心しました.原因はセンサー系の誤動作だったようです. トランスミッション系は取り換えになると20万以上は飛ぶと思うので,点検結果を聞くまでドキドキしていましたし,最悪今まで乗ってきた車を手放さなければいけなところまで考えてしまい辛かったです. 最近車のメンテに気が回っていなかった矢先の出来事で罪悪感もありました.少なくともあと3~4年は乗っていたいので,改心してメンテを怠らないようにします. 洗車もしっかりしてあげます.

自分のSwiftは.アクセルのレスポンスはあまり良いとは言えないし,Stop & Goを繰り返すと機嫌が悪くなってレスポンスを返してくれない時もあります(それは故障では...?).妹の車を借りた時は運転の快適さに毎回感動し,自分の車に戻ると重い鉄の塊を操作している気分になります.でも車高が低めなので高速ではとても安定しているし,機嫌が悪くなることもありません.気をつけるところを気をつければ見た目がかっこよく運転していて楽しい車です.

沖縄で車を買うなら軽自動車が最有力候補です.道や駐車場は狭く,駐車場の数が少ないためです.なので自分が最初に考えたのは軽自動車の購入だったのですが,祖母に乗用車を勧められお金も出してもらったので乗用車を買うことにしました.また,自分は実用性を考えて車内スペースが広かったり,荷物をたくさん載せられたりするるような車を検討したのですが,その時父がSwiftを見つけてきて,実用性よりカッコ良いのに乗った方が良いとのことで最終的にSwiftを中古で購入することになった感じです.何一つ自分の思い通りではなくなりましたが,今はSwiftでよかったと思っています.こんな成り行きで買うのも悪くはないですね.

Swiftのおかげか分かりませんが,自分の思考パターンが高校生の時からすこし変化しました.高校生の時は真面目で堅実!という感じでしたが,今はまあ楽しくやっていきましょ〜というのが追加された感じです.真面目だから実力があるというわけではないので,多少不真面目でも何かに楽しく取り組み続けられる方が良いと思います.気分も良いですし.

いつの間に2月

時間過ぎるの早いですね.

最近は期末レポート系が結構大変でしたが, 昨日で授業も全部終わって,課題も残すところあと1講義分です.

シス管の方は最近はLDAPと縁があって,どのタスクをやってもLDAPに遭遇します. (年度末だからかな) ちょっと前までとても苦手意識を持っていたLDAPですが,おかげさまでだいぶ仲良くなれた気がします.

あいかわらず苦手なのがcronですね. コマンドをフルパスで指定してあげないといけないのは承知しているのですが,どうしても毎回罠に引っかかります. cronで設定をする時にフルパスにするのは忘れないですが,そこで設定したスクリプトやコードの中身でフルパスにするのを忘れます. 一発でcronを通せた試しがないです.

この頃やっとシステムの大まかな構成が掴めてきて,割と楽しいです. まだまだわからないことは多いですが,とりあえず無事に年度を越せるように準備をしていきたいと思います.

1月10日くらいにTOEICを受けていました. L300, R235の535点でした.どうせなら600点台に乗りたいので600点以上を目標に勉強を続けているところです. 次は3月21日の午後を受けようと思っています.Readingの方に伸び代がありそうですね.

英語力だけでなく日本語力も鍛えないといけないと最近よく思います. 特に説明力はいろいろ役に立つと思うのでどうにか身につけていきたいです.

なんか頭がこんがらがっていたのでとりあえず書きました.おやすみ.

win10とUbuntu20.04のdual bootした

家のwin10 pcにUbuntuを入れてみました。

理由

  • 自分のMacBook Proの容量が圧倒的に足りないから。

gyazo.com

  • dual bootしてみたかったから。
  • Ubuntu desktop使ってみたかったから。
  • 学科システムがUbuntuだから。

インストールや設定中のメモ書き

scrapbox.io

とりあえずMacBook Proと同じように作業ができるようにするのを目標に。

これから

作業はできる状態になったので使っていきたいと思います。 あとやることとしては、バックアップのとり方とか有線接続たまに切れる問題とかを解決していこうかなと思います。 また、使っていくうちに問題が発覚していくと思うのでその都度解決していこうと思います。 家での作業スペースは確保できたので良かったです。 でもやっぱりMacBookは使うので、どうにか容量を開けたいですね。

新しいPC買った気分!!

Google Cloud PlatformのService account

google adminで新規のgoogle accountを作成するAPIを叩くには,いくつか方法があるのですが,今回はservice accountを利用した方法をやってみました. 実際に叩いたAPIはこれです.

developers.google.com

Guidesの

Prerequisites -> Authorize Requests -> Perform Google Workspace Domain-Wide Delegation of Authority

の順にひとつずつやっていけば,google developer consoleでアプリケーションを作成したり,service accountを作成したり,google adminの方でservice accountを登録したりできます. (変に手順飛ばすと詰まるよ)

コードをみる

今回は具体的なコードをみて使い方を確かめたいと思います.if err != nil {}的なのとコメントは省略してます.

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"

    "golang.org/x/net/context"
    "golang.org/x/oauth2/google"

    admin "google.golang.org/api/admin/directory/v1"
    "google.golang.org/api/option"
)


var ServiceAccountFilePath = "private_key_file.json"

var UsersJson = "./users.json"

var AdminUser = "example@aaa.com"

func CreateDirectoryService() (*admin.Service, error) {
    ctx := context.Background()

    jsonCredentials, _ := ioutil.ReadFile(ServiceAccountFilePath)

    config, _ := google.JWTConfigFromJSON(jsonCredentials, admin.AdminDirectoryUserScope)
    
    config.Subject = AdminUser

    ts := config.TokenSource(ctx)

    srv, _ := admin.NewService(ctx, option.WithTokenSource(ts))
    
    return srv, nil
}

func main() {
    service, _ := CreateDirectoryService()

    file, _ := ioutil.ReadFile("./users.json")
    var users []admin.User
    json.Unmarshal(file, &users)

    for _, user := range users {
        service.Users.Insert(&user).Do()
    }
}

importするやつと,CreateDirectoryService()はここから丸コピです.

developers.google.com

ServiceAccountFilePath

サービスアカウントを作成後,それに割り当てる鍵を作成する手順があると思います. そのときに生成された秘密鍵ファイルをここで指定しています. 秘密鍵ファイルには鍵以外にも認証に必要な情報がまとめて入っています. このファイルが流出するとサービスアカウントがほぼ自由に使えてしまうので取り扱いには注意する必要があります. (具体的にはこのファイルとadminのアカウント名がセットになると使えてしまいます.そのはずです.)

UsersJson

下記のような,作成したいgoogleアカウントの情報が入ったJsonを指定します.

[
    {
        "name": {
            "familyName": "test",
            "givenName": "matac"
        },
        "password": "hogehoge",
        "primaryEmail": "matactest@example.com"
    },
    {
        "name": {
            "familyName": "test2",
            "givenName": "matac"
        },
        "password": "hogehoge",
        "primaryEmail": "matactest2@example.com"
    }
]

APIリファレンスを参照して生成するなり手書きするなり?します.

developers.google.com

AdminUser

developer consoleで指定したユーザーをここで指定してあげます.(基本的には自分のアカウント) consoleで何も指定していなくても,google adminのsuper admin accountは使えるみたいです. (それ以下の権限の場合は未検証)

CreateDirectoryService()

鍵ファイルを利用して,APIのメソッドをたくさん抱えた*admin.Service型を返します. APIを叩くにはこいつを使います. 関数の処理としては,鍵ファイルのJsonからJWTという証明書付きの改竄不可能なJsonを生成し,設定を入力してServiceを生成している感じです. JWTを生成するときに,admin.AdminDirectoryUserScopeスコープを指定していますが, サービスアカウントを使用する時は,ここでの指定とgoogle admin consoleでのスコープの追加が必要になります.(Guidesの手順にあります.)

main()

admin.Serviceインスタンスを生成し,作成したいaccountの情報が記述されたJsonを開いて[]admin.Userのusersを作成しています. 実際にAPIを叩いている部分はservice.Users.Insert(&user).Do()で,Insertメソッドを使用して新規アカウントを作成しています. リファレンスを見れば他にどんなメソッドがあるかわかります.

developers.google.com

利点

GuidesのQuickstartsをやるとわかりますが,途中で認証windowが出てくると思います. それが出てくると自動化する場合などに困ります. そこで鍵ファイルを使用して認証するservice accountを使うことで,認証windowを出さずに処理を完了することができるようになります. また,引き継ぎの際にもservice accountに処理を任せていれば属人化が軽減されるとかなんとか.

あとがき

なんか間違ってたら,遠慮なくコメントに書いてもらえると喜びます. Golangはこんな書き方しない!とかでも.

最近macbookの調子が悪い

大学入学時に購入したMacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)の調子が最近悪くなってきました. バッテリーの持ちが悪くなってきて,Service Recommendedの表示が出てきたのと,restartが絶対に失敗するようになった感じです. まあ,それだけといえばそれだけなんですが, 以前windows pcのSSDが故障した時も「ちょっと挙動がおかしいかな?」くらいだったところからいきなり故障して0GB表示になってしまったことがあったので,早めに修理に出したいですね. 大学の生協で買ったmacbookなのでそこで修理できるかな. 修理はするとしてもやはり寿命は近いと思うし,必要なものなので,新しいmacbookを買うために今お金を貯めています. 2台体制にしておくといろいろ安心になると思います.SSDの容量不足からも開放されます.

初TOEIC

今日は人生で初めてTOEICを受験しました.L&Rの方です.手応えはまあよくわからなかったです. 1ヶ月ちょい前から勉強をはじめたのですが(遅い),少しの単語力の増強とTOEICがどんなテストなのかくらいの知識しかつけられずに今日に至ってしまいました. わからない問題はしっかり飛ばして,時間内に一応全部解けたので時間配分だけはうまくいったってかんじです... あんまり良い結果は期待できないですね. これからについてですが,英語の勉強は単語力は力技であげられると思うのでそこは続けていきたいと思います.文法は気が向いたらやります. またTOEIC受けようかな.

余談

TOEICは沖縄産業支援センターが会場で,母に送り迎えをお願いしました(弟もついてきた). まえから欲しいなぁみたいなことを言っていたのですが,私がTOEICを受けている間になんと七輪を購入していました(¥1,900). 寒い日が続いているのでここで暖かい七輪の画像をお送りします.

f:id:mattari_matayu:20210110232412p:plain
あったか七輪
f:id:mattari_matayu:20210110232458j:plain
ローアン七輪
f:id:mattari_matayu:20210110232545j:plain
手ブレ七輪
f:id:mattari_matayu:20210110232641j:plain
熱燗七輪

さむ

木曜と金曜はブログのテーマ失いがち...

今日は1日中家にいてオンラインで講義を受けていた感じですね.1~5限が埋まっているので動くタイミングがなかなかないです. 講義中はずっと椅子に座ってて,血流が悪くなるのかめちゃくちゃ手足が冷えます. 沖縄の今の気温は10℃くらいで今日は特に寒さが辛かったです.

足についてはあまりにも冷えるのでユニクロヒートテック靴下を買って履いているのですが,なかなか良い感じにあったまります.

f:id:mattari_matayu:20210107231746j:plain
ヒートテック靴下
手はMacBook Pro君が生成する熱である程度は温めることができるので作業中であればいい感じに手足が暖まります.

夕方以降はtoeicの対策とかご飯とかsyskanやって,あとhololiveのライブのアーカイブの最後の方がまだ見れてなかったのでそれをみました.良かった... 何回か見返したいところです.

しっかり体を温めて,体調を崩さないように気をつけていきたいですね. 明日はバイトなので23:30からabemaで放送のゆるキャン△2をみたらすぐ寝て,備えたいと思います.

おやすみなさい.