Blog
Contents
xiao ESP32 S3と3.5インチ ST7796S LCDで遊ぶ
ESP32でパーティーパロットを動かそう やったーうごいたー! xiao ESP32S3+ST7796Sの組み合わせです@lovyan03 最高なライブラリLovyanGFX、ありがとうございます!@coppercele 楽しいアニメーション、ありがとうございます! pic.twitter.com/HPCMF63TdU
Playwright を Lambdaで動かす
ちょっと苦労したのでポイントをまとめておく。 前提 TypeScriptでPlaywrightを動かすコードを書きたい AWSが提供しているLambda用のAWSベースイメージはFedoraベース?(CentOSベース?)なのでPlaywrightの推奨ではない 自分でコンテナイメージを作成する 準備 独自でコンテナイメージを作る 基本的に以下のサイトのコンテナの項を参考に作成しました。
簡単タコス(時間はかかる)を作ろう
タコス作りにはまっている タコス - Wikipedia タコス!日本だと店で食べるのが当たり前の料理! しかし意外と簡単に作れてしかもうまい、ということを知ってしまった。特に小麦粉のトルティーヤ(タコスの皮ね)よりトウモロコシ粉を使ったトルティーヤの方が簡単でうまい!
Amplify UIでJWT Tokenを取得する
Tokenを取得する 以前のバージョンだと以下の方法で取得できていたが import { useAuthenticator } from "@aws-amplify/ui-react"; const { user, signOut } = useAuthenticator((context) => [context.user]); const token: string = user.getSignInUserSession()?.getAccessToken().getJwtToken() as string; 今(6.0.3)だと以下の方法で取得する必要があるっぽい?もっといい方法があるかもしれない。
Githubのプライベートリポジトリにパーソナルアクセストークンでアクセスできるようにする
環境作り直すたびに調べなおしていたのでここにまとめておく トークンの作成 Github.comにログインし、Settings→Developer Settings→Personal access tokens→Fine-grained tokensに移動する。
左手デバイス XPPen ACK05をVSCodeと組み合わせて使う
XPPen ACK05買ったよ しばらく前から左手デバイスに興味があったが、Amazonに大量に並んでいる謎メーカーの小さなキーボードタイプのものはキー設定書き込みのためのソフトが謎のGoogle Driveからダウンロードする必要があるらしく、さすがに業務でも使おうと考えると無理があるなぁと思って尻込みしていた。あとBTで接続できるタイプも多いが謎メーカーのものは技適どうなんだと思ったり。
Goのバイナリが GLIBC not found で動かないとき
ローカルでビルドしたGoのモジュールをAWS Lambdaで動かしてみたところ、以下のようなエラーが発生して動かなかった。 /var/task/main: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by /var/task/main) 理由としてはビルドした環境のglibcと実行環境のglibcのバージョン違い(正確にはビルドした環境のほうが新しいglibcを使っている場合に発生する?)ようだ。
goのモジュールを一括アップデートする
go get -u all プライベートリポジトリが含まれる場合は以下のように GOPRIVATE 環境変数を定義すれば良いらしい。 GOPRIVATE=github.com/example/hoge go get -u all 参考: Goで開発途中のプライベートモジュールを参照する方法
VSCodeでビルドタスクを作る(ショートカットキーでビルドする)
tasks.jsonを書こう トップ階層に .vscode/tasks.json を作り、そこにデフォルトのビルド動作を登録すると、ショートカットキー(Ctrl+Shift+B)でビルドコマンドをささっと実行できる(というか任意のコマンドは何でも登録できる)
2023-07-20コミュニケーションコストをAIに肩代わりさせたい
コミュニケーションコストをAIに肩代わりさせたい 所属している組織は、部署単位で数百人、関係部署や委託先入れると千人超えるような規模だったりする。 これだけ大きいので毎日色々なところで色々な会議が行われ、資料が作られ、しかもそこで決まったことが組織内の別のグループの予定に影響を及ぼす。
2023-07-19 ソフトスキルの可視化ができるか
ソフトスキルの可視化ができるか ※ただの日記なのでダラダラ書いて長いです。結論、今のところ自分が知る限りは可視化の方法はなさそう。 ここ数年、いわゆるソフトウェア開発のスキルではないスキル、いわゆるソフトスキルと呼ばれるものの重要性を感じている。
子供の夜泣きが始まった
子供の夜泣きが始まった 成長の証、ではあるもののなかなかきつい。大体夜中の1時から3時に1-2回は起きてわんわん泣く。妻は育休、自分はフルタイムで働いているので別部屋で寝ていて、妻が夜中の対応はしてくれるのだが、別部屋であっても子供の泣き声ってのは聞こえてしまうので目が覚める。
amplify init不要: Next.jsとAmplifyUIで既存のCognito使って認証だけしたい
やりたいこと Cognitoのユーザプールは別で作成済みで、amplifyを使ってのリソース作成や管理は「しない」 Next.jsのアプリケーションは別で作成済み という条件で、AmplifyUIのうち認証のとこだけ使いたい(要は Authenticator | Amplify UI for React だけ使う)ということです。
2023-07-11 プライムデーセールで買ったKindle本など
※リンクは全てAmazonアソシエイトリンクです Kindle本 プライムデーに合わせて?Kindle本もセールをやっているのと、8冊購入で15%ポイント付与ということで調子乗って八冊買ってしまった。
赤ちゃん用品買ってよかったものリスト(生後7か月まで)
子育て実体験からおすすめ品の紹介 うちの子供は7カ月ちょっと。ここまで育つまでに「これは使ってよかった」と思えるものを紹介したい。あとこれ不要だった(かも)な、というものも合わせて紹介。
2023-07-10 脱Googleを考えてみる
脱Googleを考えてみる 特にここ数年、Googleのサービス維持に希望を持つとまずそうなことが続いている。この前のドメイン管理サービス売却報道についてもそうだ。
ROG ALLY、良いとこ悪いとこ
ROG ALLY買ったよ Amazon.co.jp: ASUS ゲーミングPC ROG Ally RC71L 7インチ Ryzen Z1 Extreme メモリ16GB SSD512GB リフレッシュレート120Hz Windows11 ポータブル 重量608g ホワイト RC71L-Z1E512 : パソコン・周辺機器
2023-07-07 Googleの印象が悪い
Googleの印象が悪い サービスを簡単に廃止したり売ってしまう点がここ数年(もしかしたら10年)、あまりにも目立っている気がする。GAFAMと呼ばれるテックジャイアントの中でもひときわ目立つ。
2023-07-06 ユーチューバーになるなら
ユーチューバーになるなら もし自分がユーチューバーになるなら何するかな~と妄想してみてる。 色々とガジェット揃えるのは好きだしガジェット系ユーチューバーはどうかな?と思ったけど、連日Amazonで使うかも分からないようなもの買って、レビューして動画撮るなんてやっぱ無理だなと思い直す。
2023-07-04 子供のハイハイが速くなった
子供のハイハイが速くなった ほんの2週間ほど前にはその場で四つん這いになりながらクルクル回るだけだった子供が、ここ何日かで急激に成長してハイハイができるようになり、更にはハイハイの速度があがったので目が離せなくなっている。
2023-07-03 久しぶりの出社
久しぶりの出社 すこし体調を崩しており、2週間ほどずっと家にいた。まだ体調に不安な部分はあるけど、かと言ってずっと家にいるのも性分に合わないので今日は久しぶりに出社してみた。 結論、そこまで問題はなかったが単純に疲れた感じはする。出社はやはり週に2、3程度で十分と感じる。
2023-07-02 ドッキングステーション買った
DELL WD22TB4を買った ROG ALLYを買ってウキウキしながら元々持っていたLenovoのTB3のUSBドッキングステーションを繋げたのだが、ドライバを入れても機能してくれなかった。古いドッキングステーションでファームウェアやドライバも更新が止まっているので、これを機に新しいドッキングステーションとしてDELL WD22TB4をDELLの公式サイトから購入した。
2023-07-01 子供の成長
子供の成長 昨年生まれた子供もそろそろハイハイができるようになってきた。嬉しい反面、自分で移動できるので色々なものを触って何でも口に入れようとするので目が離せない。 そろそろ家に柵が必要だなぁと思っている
2023-06-30 雑にブログを書く
雑にブログを書こう もっと雑にブログを(本来の日記的な意味で)書いてもいいかなと思ったので、今日から書いていこう。 雑にブログを書くために このブログはHugoを使って生成しており、Netlifyで自動的にビルドされるようになっている。ということでリポジトリにmdファイルだけコミットすれば自動的に更新してくれる。
30代男性、育休を取る (育休中・後編)
これは何か 育児・育児休職に関すこれから育休を取る人(主に男性)に向けた、自分の体験に基づいたメッセージです。聞こえますかウヴォーさん。 30代男性 非管理職 伝統的日本企業(企業規模大きめ)勤務 里帰り出産しない 実家が遠方で頼れない という条件です。
30代男性、育休を取る (育休前夜編)
これは何か 育児・育児休職に関すこれから育休を取る人(主に男性)に向けた、自分の体験に基づいたメッセージです。聞こえますかウヴォーさん。 30代男性 非管理職 伝統的日本企業(企業規模大きめ)勤務 里帰り出産しない 実家が遠方で頼れない という条件です。
ffmpegでTS-NA220WからRTSPでカメラ映像を取得する
TS-NA220Wという防犯カメラを使っているが… TS-NA220W | ネットワークカメラ | IODATA アイ・オー・データ機器 本体の録画機能に不満な点(連続録画に失敗していつの間にか録画されていなくなったり)があり、嫌になったのでRTSPから直接動画を保存することにした。
pythonで数日前の日付を取得する
datetimeで簡単に前の日付を取得できる 日付の取得 import datetime # daysで日付を指定する date = datetime.datetime.now() - datetime.timedelta(days=3) ディレクトリを消す 20211201 20211202 20211203 20211204 上記のような日付が名前となっているディレクトリがある場合でX日前のディレクトリを消すスクリプト
3台まで接続可能なiCleverマウスレビュー
3台まで接続可能なiCleverマウスレビュー しばらく前にiCleverのマウスを買って使っていたので比較紹介。 もともと自宅では MX Anywhere 3を使っていて非常に気に入っていたのだが、職場にもう一台買うにはちょっと高いな~と思い、安い価格帯のマウスを調べていて良さそうな2台を購入したので比較紹介。 どちらも使いやすいのだが、結果としてはMD167を会社で利用することにした。
JavaScriptとReactのお勉強
参考にした本 初心者向けの本でお勉強。あと少しで終わりそう。 公式のReactチュートリアルもあるのだが、JavaScript自体の経験もないのでJavaScriptのお勉強も兼ねて買ってみた
ASUS detachable cm3 を買ったので感想など
ASUS detachable cm3 公式サイト ASUS Chromebook Detachable CM3 CM3000 | Chromebook | ノートパソコン | ASUS日本 スペックは公式サイトに載ってるので感想だけ。 なお初のChromeBookなので、ChromeBookになれている人からすると当たり前なことも書いていると思われる。
電話番号が変わったときに連絡すべきところ
電話番号変更時に連絡すべきところ 変更前に手続き方法を調べておいたほうがいいもの LINE Googleアカウント ネット決済系サービス(Paypalなど) 連絡優先度 すぐに 家族/親族 LINE(変更前に手続きを確認しておくべき) Googleアカウント 決済系(Paypalなど) 会社 銀行 証券 クレカ 割と急ぎ 賃貸の不動産会社 保険 ネットプロバイダ ガス 水道 電気 後からでも良さそう 上記を除く会員登録を伴うサイト
ストレージサービスの比較
主な機能比較 機能 Dropbox box GoogleDrive OneDrive 有料プラン(最低限)/月 \1200(2TB) \1200(100GB) \250(100GB) \224(100GB) 同期可能端末数(無料プラン) 2 不明 不明(無し?) 不明(無し?) 容量制限(無料プラン) 2GB 10GB 15GB 5GB 過去データの保持期間(無料プラン) 30日 日数不問の過去1バージョン 日数不問のファイルごとの版管理 日数不問のファイルごとの版管理 Dropbox 個人向けプランの料金を比較 - Dropbox
個人用に使えるメモサービス・アプリを比較した
個人向けメモサービス・アプリを比較した結果 結論から言うとJoplinが素晴らしかった。 経緯 インターネット上に公開しても問題ないような内容はこのブログにたまに書いているが、極個人的なメモを書いてまとめておくために何かいい方法は無いかなと調べたのでメモしておく。 今回はあくまでも個人向けを検討しているので、例えば会社のチームで使うことを主目的に置いているようなサービスは比較対象に入れていない(フリープランがあれば一応検討程度)。
プランターの大玉トマト収穫終了
トマトの収穫終了 初収穫後しばらくして梅雨に入り、どうやらトマト自体が何かの病気にかかってしまったようで葉が次々と枯れる自体に。 幸いいくつか玉ができている状態だったので、梅雨中は表面が乾いたら水やり抑えて順次収穫。
oauth2関連のメモ
oauth2のRFC The OAuth 2.0 Authorization Framework rfc6749 日本語訳:The OAuth 2.0 Authorization Framework The OAuth 2.0 Authorization Framework: Bearer Token Usage rfc6750 日本語訳:The OAuth 2.0 Authorization Framework: Bearer Token Usage(日本語) アクセストークンレスポンスの例 HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Cache-Control: no-store Pragma: no-cache { "access_token":"mF_9.B5f-4.1JqM", "token_type":"Bearer", "expires_in":3600, "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA" } ライブラリ Go golang.org/x/oauth2 oauth2 · pkg.go.dev x/oauth2 - Go Python oauthlib Welcome to OAuthLib’s documentation! — OAuthLib 3.1.1 documentation oauthlib/oauthlib: A generic, spec-compliant, thorough implementation of the OAuth request-signing logic Requests-OAuthlib Requests-OAuthlib: OAuth for Humans — Requests-OAuthlib 1.0.0 documentation requests/requests-oauthlib: OAuthlib support for Python-Requests! 参考書籍 この本はとてもいい。読みやすくわかりやすい。
家庭菜園のメモ
肥料 肥料の種類 有機肥料 動植物や魚由来の原料で作られる、遅効性、緩効性の肥料。元肥として使われることが多い。悪臭や虫の発生の可能性があるが、オーガニック栽培をしたいなら優先的に利用を考えたい。牛糞、鶏糞、油かす、骨粉、草木灰など。
プランターの大玉トマト初収穫
トマトの初収穫 昨年からプランターで野菜を育てていて、去年は初心者ということもありバジルなどの葉物ばかりだったが、今年は実がなるものに挑戦したくなり、トマトの苗をゴールデンウィーク前の土日に植え付けたのだった。
ふるさと納税の返礼品でリッツパーティーした
鹿児島県伊佐市のふるさと納税 毎年のふるさと納税では主にお肉を選んでいたのだが昨年はチーズのセットをみかけたので試しに選んでみた。 結果としては金額(寄付額15000円)に対して満足度が高いセットが届いてとても良かった。
DIYのメモ
DIY(日曜大工)に関するメモ 材料 SPF材 ホームセンターでよく売っている柔らかく加工しやすい木材で、 SPFはSpruce(エゾマツ), Pine(マツ), Fir(モミ)の頭文字をとったもの。
How to use withings-go
withings-go Go library zono-dev/withings-go is for Withings API. Currently it support resource the below. Offline Authorization Measure - Getmeas Measure v2 - Getactivity Sleep v2 - Get Sleep v2 - Getsummary Getting started 1. Create your account and register your app Before you can use withings-go, you need to create your Withings account and register your app; if you own a Withings product, you should already have a Withings account.
pkg.go.devにパッケージを登録してgo docを表示する
pkg.go.devにパッケージを登録したい About - go.dev Adding a package に方法が書いてあった。 Adding a package Data for the site is downloaded from proxy.golang.org. We monitor the Go Module Index regularly for new packages to add to pkg.go.dev. If you dont see a package on pkg.go.dev, you can add it by doing one of the following: Visiting that page on pkg.go.dev, and clicking the Request button. For example: https://pkg.go.dev/example.com/my/module
go getしたモジュールを削除する
go clean goコマンドのオプションとしてcleanというものがある。 go 1.15.6のヘルプは以下の通り。 $ go help clean usage: go clean [clean flags] [build flags] [packages] Clean removes object files from package source directories. The go command builds most objects in a temporary directory, so go clean is mainly concerned with object files left by other tools or by manual invocations of go build. If a package argument is given or the -i or -r flag is set, clean removes the following files from each of the source directories corresponding to the import paths: _obj/ old object directory, left from Makefiles _test/ old test directory, left from Makefiles _testmain.go old gotest file, left from Makefiles test.out old test log, left from Makefiles build.out old test log, left from Makefiles *.[568ao] object files, left from Makefiles DIR(.exe) from go build DIR.test(.exe) from go test -c MAINFILE(.exe) from go build MAINFILE.go *.so from SWIG In the list, DIR represents the final path element of the directory, and MAINFILE is the base name of any Go source file in the directory that is not included when building the package. The -i flag causes clean to remove the corresponding installed archive or binary (what 'go install' would create). The -n flag causes clean to print the remove commands it would execute, but not run them. The -r flag causes clean to be applied recursively to all the dependencies of the packages named by the import paths. The -x flag causes clean to print remove commands as it executes them. The -cache flag causes clean to remove the entire go build cache. The -testcache flag causes clean to expire all test results in the go build cache. The -modcache flag causes clean to remove the entire module download cache, including unpacked source code of versioned dependencies. For more about build flags, see 'go help build'. For more about specifying packages, see 'go help packages'. iでgo install で作られたものを削除する。
http.Requestとhttp.Responseをダンプする
net/http/httputilを使えばいい httputilの存在をしらず、最初は自分でRequest、Responseをダンプする関数を書いていたのだが こんなの無いわけない(少なくとも誰かがライブラリ作ってるはず。。。)と思い探したらそもそも公式で用意されていた。
WSL2のメモ
WSL2に関するメモ 以下も参考に。 WSL2, Docker Desktop for Windows, VSCodeでの開発環境を整える" プロキシ設定が必要なネットワークでDocker buildのエラーが出る" WSL2(Ubuntu) 通常のUbuntuとの違い 固定IP設定ができない(2020/12/31時点) systemdは通常では動いていない WSL2 Set static ip? Issue #4210 microsoft/WSL WSL2のshutdown/reboot WSL2側では対応できないので、Windows側で以下のコマンドを実行する。
Cheero Power Plus 5 を買った
モバイルバッテリーを久しぶりにアップグレード 2年ほど前?に買ったCheeroのPower Plus 3とPower Plus 3 miniを使っていたのだが、スマホを機種変しやっとtype-cの充電口になったのでモバイルバッテリーもtype-c充電可能なものに変更しようと思い Power Plus 5を購入した。
プロキシ設定が必要なネットワークでDocker buildのエラーが出る
WSL2+Docker Desktop for Windowsでdocker buildが通らない 会社にプロキシがある場合 docker build で以下のようなエラーがでる場合がある。 docker: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io: no such host.
WSL2, Docker Desktop for Windows, VSCodeでの開発環境を整える
WSL2が使えるようになった いつのまにかWindows 10 1909にもバックポートされていたので、プライベートのPCや会社のPCに Windows 10 Home WSL2 Docker Desktop for Windows VSCode Remote Containers の組み合わせで開発環境を構築してみた。
Anker PowerExpand 7-in-1を買った
Anker PowerExpand+ 7-in-1を買った Amazon.co.jp: Anker PowerExpand+ 7-in-1 USB-C PD メディア ハブ 85Wパススルー充電 Power Delivery USB-Cポート HDMI USB-Aポート : パソコン・周辺機器
楽してスパイスカレー編
包丁まな板を使いたくない 以前のレシピだとトマト、玉ねぎを切らなくてはならないのでめんどくさい。 ということでまな板、包丁を使わないようにするため、冷凍玉ねぎみじん切りとカットトマト缶を使う。 ただしカットトマト缶を使うと酸味が強くなることには注意。
RaspberryPi4b CPU温度測定
RaspberryPi4bを買った 8GBモデルが出たのをこの前知った。64bitカーネルのRaspbianも今ベータ段階みたいなので、(大して値段も変わらないので)メモリが多いモデルを買った方が後々いいかな?と思い8GBモデルを購入した。
Goのsortパッケージでtime.Timeの要素を基にソートする
時間でソートしたい 小ネタ。 sort.Sliceでソート Go1.8以降でならsort.Sliceを使ったシンプルな方法でソートできる。 Go 1.8 Release Notes - The Go Programming Language
お金に関わるメモ
注:自分のために書いているページです このページは自分の整理のために書いている内容なので、間違ってたり読みづらかったりする部分があると思います。(間違ってたら教えてほしいです)
GitHub Actionsを使ってみた感想
GitHub Actionsを使ってみた きっかけ stp というLambda、DynamoDB、S3を使って小規模なCDNを構成できるものを作っているのだが、それのヘルパーとして stph も用意している。 stphは単純にブログに画像を載せるときにMarkdownコードと画像を表示してくれたり画像の削除をしてくれるローカルで動作するサーバなので、バイナリ単体で動作するようになっている(設定ファイルは必要)
ASUSのプレゼントキャンペーンでノートPC ExpertBook B9が当たったのでレビュー
ExpertBook B9が届いた! Twitterでいろいろな企業がやっているリツイートして応募するタイプのプレゼント企画。個人的に好きなメーカーのASUSの企画で初めて当選! 現在のコロナの状況もありしばらく時間がかかったものの、先週末無事に当選品が届いた。
Goのnet/http互換WEBサーバやミドルウェアのメモ
WEBサーバやミドルウェア とあるソースコードを見ていて知らないものがあるので、どういったものかメモしていく go-chi/chi go-chi/chi webサーバでルーティング機能がある。デフォルトの net/http互換。
年収XXX万のリアルを教えようシリーズが流行って(?)いる
年収XXX万シリーズ 多すぎる 年収100万のリアルを教えよう 年収180万のリアル 年収200万のリアルを教えよう 年収200万円のリアル 年収350万円のリアル(過去形) 年収500万のリアル 年収700万のリアルを教えよう 年収700万子供部屋おじさんのリアルを教えよう 年収780万のリアル 年収850万円のリアル 年収1000万800万に下げたリアルを教えますですが 年収1000万のリアルを教えよう 35歳の私の場合の年収1000万のリアルな生活 年収1400万円のドケチのリアル 年収1600万円のリアル 年収2000万のリアルを教えよう 年収2000万円のリアル 年収2900万のリアル 年収4000万円のリアル 年収1億のリアルを教えよう 年収に関係なく共通して選ばれるユニクロすごいということは分かった(?) 雑感 年収1000万のリアルを教えよう
IODATAのTS-NA220Wという防犯カメラを設置してみた
防犯カメラ TS-NA220Wを設置してみた 防犯のために、という理由もあるが一番の理由は単純に設置してみて映像を見てみたかったから。 TS-NA220Wのいいところ 動作検知機能は割とまとも 設定項目が豊富 ONVIF対応 Wi-Fi接続可能(有線LANもOK) 視野角広め IP65防水防塵 SMB, FTP経由でNAS、FTPサーバに保存可能 画質が良い(1920x1080まで可能) シンプルなデザイン 実はAPIがある 特別な設定なしにリモートからアクセス可能 いくつか詳しく書いていく。
aws cli でLightsailのポートを開け閉めする
LightsailもIP制限ができるようになっていた Lightsailでいつのまにかアクセス元のIPアドレス制限ができるようになっていた。前々からfirewall機能はあったので自分でサーバ側で頑張って設定する必要はなかったのだが、IP制限まではできなかった。
GW中はスパイスからカレーを作ってばかりいた
なんで作ろうと思ったか 時間あるし前から作りたかった。 レシピ 元レシピはこれ。これをもとに自分にあうようちょっとカスタマイズしました。 我が家のインドカレー
Hugo用にGo, Lambdaで画像を自動的にリサイズしてS3に保存するやつを作った
とりあえずソースコード github.com/zono-dev/stp あと補助ツールも。 github.com/zono-dev/stph なぜ作ったか Hugoで書いてるこのブログに画像を貼りたいことがたまにあるのだけれど、元となるmarkdownはgitで管理しているのでリポジトリに画像を入れたくないなぁと思ったことがきっかけ。あとは単純に自分の勉強を兼ねて作った。
スピーカーを作ってみた
スピーカー作ってみた 在宅勤務期間が長くなってきて仕事をしながら音楽でも聞くかと思ったんだけどスピーカーが作業部屋になく、Amazonをさまよっているうちにふと思い出したのは随分前になんとなく買っておいたスピーカーのパーツ。
英会話メモ
在宅勤務や新型コロナ関連の話が多かった 直近やったレッスンの最初の雑談では自宅で働いているか?とか新型コロナの対応とか、そういった話題が多かったかな。 在宅勤務: work from home I believe working from home is quite useful to all employees to avoid the commuting problem such as the rush hour. 在宅勤務はラッシュアワーを回避する方法としてとても便利です。
1ヶ月ずっと在宅勤務だったので知見をまとめる
3月はずーっと在宅勤務でした 感染症予防ということで2月の下旬に在宅勤務が決定し、当初3月中頃までの予定だったものが伸びて伸びて今は4月の半ばまでは在宅勤務が確定している状況。
英会話メモ
think outside the box! 発想の転換をしてみよう,これまでとは全く違った観点で考えよう、といった意味の言葉。箱の外で考えよう、が直訳なのだがなぜ箱なんだろうか。
Lenovo G580のCPU/メモリ交換とSSD化
Lenovo G580のCPU/メモリ/HDDを交換してみた Lenovo G580というちょっと古いノートPCがあり、スペックがWindows10を使うには辛いものだった。
S3バケットに対してバケットポリシーでIP制限をかける2020年02月時点版
S3バケットに対してIP制限をかけたい 調べたらすぐ出てくるのだが、結構古い内容も多くなかなか正解にたどり着けなかった。 S3はAWS re:Inventなどでちょこちょこ機能追加されてコンソールで設定できる内容が多くなっており、その影響を受けてバケットポリシーを追加するだけではIP制限をかけることができなくなっている。
英会話メモ
TOEIC 800点をやっと超えた TOEICの点数が高いからといって英語の能力が高いことには直結しないが、それでもある程度の目安にはなるので定期的に受験している。
Python boto3でCLB, ALB, NLBの情報を取り出す
Python/boto3でLBの情報を取得する boto3でロードバランサの情報を取得を取得する。CLBとALB/NLBで利用するAPIが異なるので注意する。 動作環境情報 Ubuntu18.04 LTS Python 3.6.9 boto3 (1.11.8) ソースコード import boto3 from boto3.session import Session # セッションのセットアップ # aws cliの利用時に profileを設定していれば boto3が勝手に拾ってくれるようだ def setup(): session = Session( profile_name = "profile_hoge" ) return session # CLBの情報取得 # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/elb.html#ElasticLoadBalancing.Client.describe_load_balancers def get_clb_info(sess): elb = sess.client("elb") elb_info = elb.describe_load_balancers() for i in elb_info["LoadBalancers"]: lb_name = i["LoadBalancerName"] # … その他色々情報が取れるが、LBによっては欠損している(辞書のKeyごと存在しない)情報もあるので # 辞書での情報取得時はKeyが事前にあるかどうかを確認した方がいい # NLB/ALBの情報取得 # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.describe_load_balancers def get_elb_info(sess): elb = sess.client("elbv2") elb_info = elb.describe_load_balancers() for i in elb_info["LoadBalancers"]: lb_name = i["LoadBalancerName"] # … その他色々情報が取れるが、LBによっては欠損している(辞書のKeyごと存在しない)情報もあるので # 辞書での情報取得時はKeyが事前にあるかどうかを確認した方がいい if name == 'main': sess = setup() get_clb_info(sess) get_elb_info(sess) ドキュメントではそのような記述が見当たらなかった気がするのだが、 “elb” で取得できるのはCLBの情報で、“elbv2” で取得できるのはNLBやALBの情報のようだ。
英会話メモ My wife and me
My wife and I/me は正しいが I and my wifeは間違い 英会話中に指摘されて知ったのだが、英語には「三人称と ‘I’をandでつなぐといには必ず’I’があとに来る」というルールがあるらしい。 日本語ではどちらが先でも構わないが、英語の場合は他者の方を先に言う必要があるようだ(なぜだろう)
英会話メモ
オンライン英会話をまた始めた(半年ぶり4回目くらい) 年の半分くらいオンライン英会話をやって半分くらいは休んでいたりするのだが、会社で契約してくれているオンライン英会話が他の安いオンライン英会話よりも良い感じだったので同じところでまた始めた。(前回は秋くらいで一旦終了した)
re:Invent2019に行ってきた
re:Invent 2019 に行ってきた 2020/03/31追記:当初2ページで書くつもりだったのだが間が空いてしまったので1ページに画像を追加してお茶を濁すことにする
Google Cloud Vision APIでPDFにOCRをかけてみた
給与明細にOCRをかけて自分の給与を記録したい 会社から発行される給与明細はPDFファイル。しかもフォント埋め込みで埋め込まれてるフォントが有償?恐らく通常手に入らないRICOHのフォント。 データを抜き出せないかとGoogleDriveでPDFからGoogleDocumentsに変換してみたり、各種ツールでwordとかテキストに変換してみようとしたが一切うまくいかない。 そもそもコピペすらできない(コピペしようとしてもフォントが無いから?????になる)
TypeScriptに入門したいのでJavaScriptに入門してみる(文と式)
続: JavaScript入門 教材は https://jsprimer.net/ 文と式 JavaScriptは文と式で成り立つ。 式は評価すると値を得ることができ、この値のことを評価値と呼ぶ。
TypeScriptに入門したいのでJavaScriptに入門してみる(関数と宣言)
続: JavaScript入門 教材は https://jsprimer.net/ 関数と宣言 関数は function キーワードを使う。 function function_name(arg1, arg2) { // something to do… return return_value; } // 関数の呼び出し const result = function_name(arg1, arg2); 関数名のルールは変数名のルールと同じ
TypeScriptに入門したいのでJavaScriptに入門してみる(暗黙的な型変換)
続: JavaScript入門 教材は https://jsprimer.net/ 暗黙的な型変換 等価演算子などで暗黙的に型変換される例が載っているが、必要性は薄く基本的には === を使うようにすべき。
TypeScriptに入門したいのでJavaScriptに入門してみる(演算子)
続: JavaScript入門 教材は https://jsprimer.net/ 演算子 + での文字列結合 const value = "hoge" + "moge"; console.log(value); // -> hogemoge 数値計算 JavaScriptでは数値は内部的には IEEE 754方式の浮動小数点数として表現される。よって整数と浮動小数点数の加減乗除も + ,- , * , / , % で実行可能。
TypeScriptに入門したいのでJavaScriptに入門してみる(nullリテラル~データ型とリテラルの最後まで)
続: JavaScript入門 [これ]({{ relref path=“2019-10-29-javascript-intro.md” }}) の続き。 教材は https://jsprimer.net/ nullリテラル null 値を返すリテラルで、「値がない」ことを表す。 nullを参照した場合コンソール上では null と表示されるだけである。
DIYで家のネットワークをcat6aにした場合の費用はどのくらい必要か
本ページには広告リンクが含まれます 新築時にcat6aケーブルを敷設する 持ち家のいいところの一つに、家の色々な部分を変更できるという点がある。 家を作るときに情報コンセント(モジュラージャック)を付けて、入居前に宅内LANを敷設してもらうことももちろん可能だ。 しかし家を建てるときに住宅メーカーにやってもらった場合、5箇所で10万~20万程度はかかってしまう。 更にcat6aなどは対応してくれない業者もあるので,それなら空配管だけ通しておいてもらって自分でやろう!と思った次第。
TypeScriptに入門したいのでJavaScriptに入門してみる(変数~文字列リテラルまで)
動機 WebUIをある程度作れるようになりたい(個人の趣味レベルだけど)と大昔から思っていたものの、当時はJavaScriptのFWだったりJavaScriptのトランスパイラだったりが沢山出てきていたような印象があり、遠巻きにWebのUIを作るのは怖い!と思っていた。
続:Terraformに入門してみた(Lambda)
続: Terraform入門 今回は terraformで lambdaを管理してみる。ただし terraform での Lambdaの管理は辛いというような意見が散見されるので、良い方法ではないと思われる。 まぁあくまでも入門ということで。
Ubuntu18のaptでインストールしたpip3ではtargetオプションを使ってもExceptionが発生する(Ubuntu18.04)
pip3でtargetオプションを使って特定ディレクトリにライブラリをインストールしたい $ pip3 -V pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6) このpip3はaptでインストールしたもので、バージョンが低くtargetオプションがそもそも存在しないようだ。
続:Terraformに入門してみた(VPC/サブネット/ピアリング等)
続:Terraform入門 今回はVPCを2つ作って、サブネット、ルートテーブル、ピアリングまで実施する。 作るネットワーク VPC1, VPC2の2つがある。 VPC1, VPC2ともに public用のサブネットを持つ。 またインターネットゲートウェイもそれぞれ持つ。 publicサブネット同士をルーティングする。 publicからインターネットゲートウェイを抜けて外にアクセスできるようにする。 terraformのコード グローバルIPを使ってしまっているが、サンプルということで…
Terraformに入門してみた
Terraform使い始めた 仕事でterraformを使い始めたのでメモしておく。 なお、AWSと一緒に使う場合を記載する。 公式サイト https://www.terraform.io/ 対応してるIaaS等 https://www.terraform.io/docs/providers/index.html
Gitコマンドのメモ
gitに関するメモ gitの使い方などをメモしていく。随時更新。 git logで変更されたファイルを確認する git log –name-only その他にも –stat, –numstat, –name-statusなどで確認できる。
Hugoに関するメモ
HugoやMarkdownの書き方などをメモしていく。随時更新。 Gist用のshortcode Shortcodes | Hugo {{< gist zono-dev 377e5d76d335f73eb662ffc6dc02a09e >}} こんな感じでアカウント名とgistのIDを書けば良いらしい。
yum updateでurllib3のエラー
Amazon Linux2のyum updateでurllib3のエラー Running transaction Updating : python-urllib3-1.24.3-1.amzn2.0.1.noarch 1/2 Error unpacking rpm package python-urllib3-1.24.3-1.amzn2.0.1.noarch error: unpacking of archive failed on file /usr/lib/python2.7/site-packages/urllib3/packages/ssl_match_hostname: cpio: rename python-urllib3-1.10.2-3.amzn2.0.1.noarch was supposed to be removed but is not! Verifying : python-urllib3-1.10.2-3.amzn2.0.1.noarch 1/2 Verifying : python-urllib3-1.24.3-1.amzn2.0.1.noarch 2/2 Failed: python-urllib3.noarch 0:1.10.2-3.amzn2.0.1 python-urllib3.noarch 0:1.24.3-1.amzn2.0.1 Complete! ここ
AWSのgo用SDKでSQSに入ってくるメッセージを取得する
目的 インスタンスからgo用のAWS SDK でSQSに届くメッセージを取得したい。 公式APIリファレンスの場所 AWS SDK for Go API Reference インストール 先にgo getしておきましょう。
親の見守り方法を考える
離れて住む老親の見守り方法を考える 親が一人で暮らすようになり、遠隔地ということもあって見守り製品を検討している。 見守り製品で重要なのは、プライバシー侵害をせず、監視されている気持ちにさせない、ということだと思う。(自分が見守られる側だとすると、カメラなどで監視されるのは嫌なので。。。)
AWSのgo用SDKでLambdaを呼び出す
目的 インスタンスからgo用のAWS SDK でLambdaを呼び出したい 注意)Lambdaをgoで書きたいとか、Lambda to Lambdaをgoで書きたいとかではない(でもやってることはほぼ同じ)
相続法の改正で助かる人も多そう
相続法が改正された 相続法の改正|凍結した口座から預金を引き出す法(仮払い制度)2019年度版 司法書士事務所の公式ページなので、内容は信頼性が高そうだし、わかりやすくて助かった。 法定相続分の3分の1、かつ150万円未満であれば想像できるらしい。相続人の戸籍謄本を準備するなど銀行によってそれぞれ条件があるようだが、相続の手続きが終わらないと引き出せないというのは残された人にとって困ることが多いため、今回の法改正は良いと思う。
vim setpaste で不意なインデントを防ぐ
setpaste で不意なインデントを防ぐ vimのautoindentやsmartindentが効いているときにMinttyなどを経由してコピペする時に自動的に改行されまくってうざいなぁと思っていながらも、手動または Ctr-v で範囲選択して = で直したりしていた。 しかし実は以下のオプションで一旦インデントを解除できるようだ。
HugoとNetlifyでブログ開始
ブログのビルドとホスティング 以前 Sphinx を使ってブログを書いていたのだが、Sphinxはやはりドキュメンテーションツールであってブログ向きではないと思うことが多く、最近Goを触り始めたのもあり人気のあるHugoを利用することにした。
First Commit
Hello This is test page. Test code package main import "fmt" func main() { fmt.Printf("Hello World.\n") }