部屋に鉄棒を作ってみた
コロナ禍の運動不足から、腰痛などが発生しています。
隔日のウォーキングはしていますが、筋力の低下が著しいです。
そこで、『ぶらさがり健康法』→『(可能なら)懸垂』に持っていくために、部屋に鉄棒を作ってみました。
まず、屋根裏に上って、私の体重を支えられるに足る木材の場所を捜しました。
で、屋根から千枚通しを打ち込んで基準点を見えるようにしました。
で、DIYショップにいって、手摺り用の器具(でもって、私の体重を支えられそうな、ごっついもの)を購入してきました。
完成
ぶらさがってみましたが、ビクともしませんでした ―― 私の体の方にガタが出てくるもしれませんが。
以上
その後
来週の宿題
1-9-5 で、やっとマルチ画面のバグが取れた。
あとは、オンライン予約
それにしても、emacsのshellモードって、凄くない? 出力中のprint文で検索かけれるエディタなんて、他にあるかなぁ
U-NEXT は"解約"では足りない。必ず"退会"まで持っていくこと
嫁さんが、「U-NEXTのとあるコンテンツを見たい」と言ってきたので、U-NEXTについて色々調べてみました。
無料期間サービスの解約トラブルに関する事項が山のように出てきたので、『心証悪い』と思いました。
「月額プラン1490」を契約していた場合、契約から1年以内の解約に限り違約金5,000円が発生します。
を読んで、『今どき、コンテンツサービスで違約金?』と、その心証は、決定的となりました。
# 江端家は、大型連休中などに、1ヶ月単位でNetFlixへの登録→解約を繰返しています。
とは、言え、嫁さんの希望に応える為にも、入会してみました。
で、徹底的にそのコンテンツを捜してみたのですが、全く見付からなかったので、入会から30分後に解約手続を開始しました。
を見ながら、処理を進めたのですが、怖いと思ったのは、「解約」だけでは足りず、「退会」まで持っていかなければならなかった、ということです。
解約:サービスの停止はするが、アカウントは残る
退会:アカウントも消す
解約だけでは、メールによる宣伝やら、電話による営業までくらうらしいことが分かり、『やっぱり入会するんじゃなかった』と後悔しつつ、退会(アカウントも消す)まで持っていきました。
これが「解約」のエビデンス↓
これが「退会」のエビデンス↓
以上
来週の宿題
1-9-4 bus(),person()の終了から、ちゃんと正常終了メッセージを送付して、echo2を自力破壊するようにしてみる。
デッドロック? している場所をつきとめる 1-9-4は完全に壊したっぽい
golang内でredis経由でJSONを飛す時、golangから直接JavaScriptへJSONを飛す時の覚え書き
- golang内でredis経由でJSONを飛す時
// パブリッシュ側 type GetLoc struct { ID int `json:"id"` Lat float64 `json:"lat"` Lng float64 `json:"lng"` TYPE string `json:"type"` // "PERSON","BUS","CONTROL POPUP int `json:"popup"` //Address string `json:"address"` } gl.TYPE = "BUS" gl.Lat = 35.654543 + (rand.Float64()-0.5)*0.00001*20 gl.Lng = 139.795534 + (rand.Float64()-0.5)*0.00002*20 gl.ID = rand.Int() % 5 json_gl, _ := json.Marshal(gl) r, err := redis.Int(conn.Do("PUBLISH", "channel_1", json_gl)) // サブスクライブ側 for { switch v := psc.Receive().(type) { case redis.Message: fmt.Printf("%s: message: %s\n", v.Channel, v.Data) var gl GetLoc _ = json.Unmarshal(v.Data, &gl) fmt.Println(gl.ID)
- golangから直接JavaScriptへJSONを飛す時
golangから (上記の続き)var gl GetLoc _ = json.Unmarshal(v.Data, &gl) fmt.Println(gl.ID) //conn.WriteJSON(v.Data) conn.WriteJSON(gl)
JavaScriptで受けとる
<script> function obj(id, lat, lng, type, popup){ this.id = id; this.lat = lat; this.lng = lng; this.type = type; this.popup = popup; } //ws.onmessage = e => console.log(e.data) ws.onmessage = function(event) { // 受信したメッセージはここに飛んでくる console.log("RESPONSE",event.data) var obj = JSON.parse(event.data); console.log("after parse:",obj.id) }
ポイントは、Marshal、Unmarshal、
parseの使い方
「江端ファイアウォール」とは
一般的に、ファイアウォールとは、コンピュータシステムにおいて、外部からのサイバー攻撃を妨害する為に、通信路上に、それらの攻撃を防ぐための機器や手段のことです。
比して、「江端ファイアウォール」とは、江端に情報を提供して頂いた方の個人情報を保護する為の、江端が決めた個人情報保護プログラムです(ちなみに、「江端ファイアウォール」と命名された方は、"轢断のシバタ医師"です)
江端ファイアウォールの骨子は、以下の通りです。
(1)ご提供頂いた方からのコンテンツを公開する際には、公開するコンテンツから、ご提供頂いた方の情報(本名、メールアドレス、その他、個人が特定される情報)を全て削除する。必要であれば、ご送付頂いたメールも江端のメーラから削除する。
(2)公開前に、情報をご提供頂いた方から、その公開するコンテンツの全文を確認して頂き、公開のご許諾を頂く。ただし、情報をご提供頂いた方のご希望によっては、この手続をスキップすることができる
(3)情報をご提供頂いた方は、理由の説明をすることなく、公開を拒否することができる。江端は、それ(公開の拒否)に対して、その理由を伺ってはならない。
ちなみに、現在、「江端ファイァウォール」の中には、"轢断のシバタ医師"、"無礼な後輩"、の方々に入って頂いております。
以上