@kyanny's blog

商品にならぬ技術は役に立たない - トーマス・エジソン

Go: json & や < や > をエスケープしない 

SetEscapeHTML() を使う。 b = new(bytes.Buffer) enc = json.NewEncoder(b) enc.SetEscapeHTML(false) enc.Encode("&<>") fmt.Println(b.String()) //=> "&<>" Go の json パッケージは &, <, > をエスケープする。 *json.Encoder.SetEscapeHTML() に false…

Go で chomp (末尾の改行文字を取り除く)

strings.TrimSuffix() を使う。 strings.TrimSuffix(s, "\n") s := " hello, world!\n" fmt.Printf("%#v\n", strings.TrimSuffix(s, "\n")) //=> " hello, world!" https://golang.org/pkg/strings/#TrimSuffix TrimRight() も \n だけを取り除くのであれば…

Go: json struct 大文字小文字

JSON and Go - The Go Blog The json package only accesses the exported fields of struct types (those that begin with an uppercase letter). Therefore only the the exported fields of a struct will be present in the JSON output. json.Marshal: …

リモートワーク時代に再認識したいコミュニケーションの同期・非同期

「リモートワーク」「テレワーク」「在宅勤務(Work From Home)」など呼び方は様々だが、 オフィス以外の場所から、同期的に働くこと オフィス以外の場所から、非同期に働くこと どちらの意味だと解釈しているか?一緒に働く人と認識を合わせておいた方が良…

プロジェクト型 vs プロダクト型

友人と、人にも組織にもプロジェクト型とプロダクト型があるよね、という話をした。 プロジェクト型 仕事 = 締め切りまでに終わらせるべきもの、という価値観 所与の条件下でいかに良い成果を出すか?という考え方 優先順位は 納期 > 質。間に合わせるためな…

Bash 現在の編集モードを確認する

set -o shopt -o bind -V | grep editing-mode emacs - How to set and determine the command-line editing mode of Bash? - Unix & Linux Stack Exchange set -o bash-3.2$ set -o allexport off braceexpand on emacs on errexit off errtrace off functr…

寄付

donation.yahoo.co.jp 余っていたTポイント 80 ポイント + 1000 円。

Grammarly の iOS アプリ(キーボード)を削除した

いまいち安定しないのと、標準の英語キーボードと比べて自動スペル補正などの挙動に不満があったので。 ないと思うが iOS 端末で他人が読む英語の文章を頻繁に書くようになったら再検討する。

Signing HTTP Messages について

このブログ記事の説明が網羅的でわかりやすい。 HTTPメッセージに署名をするSignatureヘッダの標準化 - ASnoKaze blog 仕様は移り変わっており、版も何度も変更されている。ライブラリや API がどの版に基づいているかによって相性問題が発生する。新しい仕…

漫画バビロン大富豪の教え 「お金」と「幸せ」を生み出す五つの黄金法則

黄金に愛される七つ道具 収入の十分の一を貯金せよ 欲望に優先順位をつけよ 貯えた金に働かせよ 危険や天敵から金を堅守せよ より良きところに住め 今日から未来の生活に備えよ 自分こそを最大の資本にせよ 「お金」と「幸せ」を生み出す五つの黄金法則 家族…

Bash で C-p が効かないときの調べ方

$ bind -p | grep previous-history "\C-p": previous-history "\eOA": previous-history "\e[A": previous-history [ubuntu@ip-xxx-xx-xxx-x:~]$ bind -p | grep previous-history "\eOA": previous-history "\e[A": previous-history C-p が無ければ、キー…

Google Discover その後

知人から「暇つぶしには Google ニュースのアプリもあるよ」と教えてもらい、試しにそちらを使い始めた。 以前試したときは、出てくる記事が Discover と似ていて重複も多く(同じ Google アカウントなので当然だが)、あえて別アプリを使う必要性を感じなか…

iOS スマート句読点をオフにした

設定→一般→キーボード→スマート句読点 をオフに。 半角ハイフンを2連続で入力すると全角ダッシュに自動変換されてしまうやつ。鬱陶しくて困っていた。 iPadで英字入力しているときにで2回連続半角ハイフン"-"を打つと全角ハイフン"—"に勝手に変換されてしま…

TIL: 数値をあえて文字列型で保存することがある

列1 列2 列3 列4 eb2c0958-991c-5f26-4d99-8214518fbb8a a 20000 5000 66a08082-ebd0-6de2-c4e8-6388df00e4e5 b 20000 5000 このようなデータを持つ CSV ファイルをパースして RDBMS のテーブルに保存する。列2の値がaならテーブルAに、bならテーブルBに保存…

mackerel で cron ジョブの所要時間を監視するアイデア

cron ジョブを監視したい。監視したい項目は以下。 cron ジョブの実行が開始されたかどうか cron ジョブが正常終了したかどうか cron ジョブの所要時間 このような課題を解決するソリューションとして Dead Man’s Snitch を使ったことがあるが、他にも複数の…

ssh_config で設定した Host から HostName (IP) を引く

ssh -G の結果をフィルタすれば良い。 Host mysite HostName 203.0.113.200 $ ssh -G mysite | grep -E '\bhostname' hostname 203.0.113.200 awk - Given the Hostname, get Host from ~/.ssh/config - Stack Overflow 203.0.113.200 は Reserved IP addres…

ssh WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! を解決する

$ ssh-keygen -R hostname # 例 $ ssh-keygen -R 203.0.113.200 エディタで ~/.ssh/known_hosts から該当行を消すのでも良いが、コマンドを使う方がスマート。 「SSHホスト鍵が変わってるよ!」と怒られたときの対処 - Qiita ssh-keygen(1) - Linux man page…

愚行録

暗くて救いがなかった。「悪人」とかと同じ吉田修一かと思ったが、貫井徳郎だった。 function showSpoiler173fc7f86a3() { if(window.confirm('ネタバレを含む感想文を読みますか?')) { document.getElementById('showSpoiler173fc7f86a3').innerHTML = "妻…

OWNDAYS で眼鏡を買った

破天荒フェニックス オンデーズ再生物語 (幻冬舎文庫)は読んでないけど、何かと話題の*1 OWNDAYS で新しい眼鏡を買った。ここ数年は惰性で JINS で買っていた。 Ray-Ban のチタンフレームのやつもかけ心地が独特で悪くなかったけど、奥さんが「これが一番似…

Google アプリの Discover をオフにした

Digital Wellbeing 活動その二。 実は Google アプリの Discover が一番の時間泥棒だった。何かというとすぐ検索したくなる癖があり、しょっちゅう開くので Dock に入れているくらい。スクリーンタイムでも常に上位に入っている。 Discover は実によくおれの…

Twitter と Facebook のアプリからログアウトした

I have logged out from Twitter/Facebook app on my phone for Digital Wellbeing.— kyanny (@kyanny) August 14, 2020 Buffer は「投稿に対する反応が気になってしまうこと」への対処にはなるが、「タイムラインを眺めて時間を潰してしまうこと」への対処…

取引先とのシステム連携の開発タスクにアサインされた。 Production 環境の API にアクセスするためには審査が必要で、ビデオ会議中にアプリケーションを実行してテスト環境の API を呼び出すデモをしろという。先方のエンジニアによるアクセスログの確認も…

Go の time.Second について

Constants のところに定数はまとめて表示される。 https://golang.org/pkg/time/#pkg-constants https://pkg.go.dev/time?tab=doc#pkg-constants time.Second の型は time.Duration で、 time.Duration の実体は int64 。 https://golang.org/pkg/time/#Dura…

note の IP アドレス

芸能人とかは興味ないけど、どういうデータ構造で露出してたのか気になったので調べた。 調べ方 http://web.archive.org/ で https://note.com/ を検索する 適当に数日前まで wayback する 今回は http://web.archive.org/web/20200811074150if_/https://not…

Buffer

何年も前から気になっていたけど使い始めるには至らなかった Buffer のアカウントを作った。 Twitter や Facebook をぼーっと眺めてしまうことを減らすため。 40代はフットワーク軽く動くことを意識したい。30代半ばからは、流行り廃りに振り回されないこと…

右手首、親指の付け根あたりが痛む。腱鞘炎っぽい予感。熱さまシートを貼ってみたりしたが効果なし。手首をそらすスマホ腱鞘炎対策のストレッチを強くやりすぎたか。フリック入力を右手親指でやってるので妥当ではある。 両手首にタコができてそこも痛む。手…

GitLab は OpenAPI (Swagger) の YAML/JSON ファイルビューアが組み込まれている

bookwor.ms @KitaitiMakoto これ https://t.co/UGuzRf5ra0 気になったので試してみました。 GitLab に Swagger YAML ファイル置くだけでうまいこと表示してくれますね。 https://t.co/AdHbGlAteLここで入ったのかな? https://t.co/yPjDxjmuuZ— kyanny (@kya…

Lightning - SDカードカメラリーダー その後

一週間ぶりに写真を取り込んだら、メインのカメラで使ってる SD カードからは取り込みと削除が問題なく行えた。 iPhone 側の一時的な問題だった模様。

Ruby Net::HTTP SSL (HTTPS)

オプションを忘れがちなのでメモ。イディオムとして覚えたい。 require 'net/http' http = Net::HTTP.new('example.com', 443) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_PEER http.set_debug_output($stderr) docs.ruby-lang.org blog.…

カレンダーを共有できない相手との日程調整の方法

前提: 仕事の予定(会議など)が一つのカレンダーに入っている 1. 日程調整可能な時間枠を「予定あり」でブロックする 2. 日程調整用の新しいカレンダーを作る 3. 「予定あり」を日程調整用カレンダーにコピーする 4. メインのカレンダーを非表示にする 5. …