技術書典に頒布する書籍の作成環境構築
以下のブログを参考にさせていただきました。 macOSでdockerは導入済みのためステップ1は飛ばしてステップ2、3を実施しました。 mochikoastech.hatenablog.com
Re:Veiw は5.7でも問題なかったです。 なお、ステップ3でdocker実行時はTechBoosterリポジトリのREADMEに記載のある以下のコマンドを実行しました。
./build-in-docker.sh
PDFまで吐き出すことができました。 毎日少しずつ前進。。
macOSでgit実行時にエラー「xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)」の対処法
概要
macOSで久々にgitコマンドを実行した際に以下のエラーが発生。
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
対処法
以下のブログを参考にCommand Line Toolsをインストールし解消しました。macOSアップデートあるあるのようですね。
$ xcode-select --install
macOSを更新してgitコマンドを実行したら(xcrun: error: invalid active developer path)のエラーが
HHKB Professional HYBRID Type-S 雪でキーマップ変更ツールを使う場合、ツールのバージョンはv1.3.0にする必要があります。
結論
2023年3月15日現在、キーマップ変更ツールでHHKB Professional HYBRID Type-S 雪に対応しているのはバージョン1.3.0のみです。1.2.0の場合、接続エラーになりますので、ツールを1.3.0にバージョンアップしてください。
はじめに
HHKB Professional HYBRID Type-S 雪を購入。すでに墨を持っていますが、ホワイトデーということで2000円OFFになっていたので購入。めちゃめちゃ可愛いです。墨と同じキーマップにしようとツールを起動したところ、接続エラーになりました。最初は私が有線モードに出来ていなかったのだと思い、色々試してみたのですがうまくいかず。。
対応策
HHKBのホームページでツールのバージョンを確認したところ、v1.3.0で雪に対応したとの記載がありました。
以前、墨を購入した際にすでにツールをインストールしており、確認したところv1.2.0でした。
v1.3.0のインストーラーをダウンロードしインストールしました。v1.2.0をインストールした状態でも正常に終了しました。
Happy Hacking Keyboard | ダウンロード | PFU
無事、ツールに雪が認識してくれました。よかった。
Amazon Detectiveを組織で有効化するとメンバーアカウントから情報が見れない
はじめに
Organizationsを使用してAmazon Detectiveを組織で有効化すると、メンバーアカウントでは情報が見れなくなります。
Amazon Detectiveとは
AWSドキュメントから引用します。
Amazon Detective を使用すると、セキュリティに関する検出結果や疑わしいアクティビティの根本原因の分析、調査、および迅速な特定を行います。Detective は、AWS リソースからログデータを自動的に収集します。その後、機械学習、統計分析、グラフ理論を使用して、セキュリティ調査をより迅速かつ効率的に行うのに役立つビジュアライゼーションを生成します。 Amazon Detective とは
Amazon DetectiveはCloudTrail, VPCフローログ、GuardDutyの情報を取り込み、ログオン試行の失敗や疑わしいAPI呼び出しなどの通常と異なるアクションを調べることができます。また、このアクションがAWSアカウントやEC2などのリソースにどのように影響するかも確認できます。
2021年12月20日にAWS Organizationsへのサポートが発表されました。これにより、組織内アカウントでの有効化の簡素化と管理アカウント(委任アカウント)への情報集約が可能になります。
AWS Organizations へのサポートにより、Amazon Detective でアカウント管理を簡素化
メンバーアカウントで情報が見れない
メンバーアカウントとは、管理アカウント(委任している場合は委任アカウント)を除いた組織内のアカウントのことです。 2023年2月9日現在、OrganizationsでDetectiveを有効化すると、メンバーアカウントではAmazon Detectiveにアクセスしても情報が見れなくなります。GuardDutyやSecurity HubはOrganizaitonsで有効化してもメンバーアカウントで検出結果の確認・更新ができるのを考えると不便ですね。アップデートがあることを期待したいです。
参考
What is Amazon Detective? - Amazon Detective
DetectiveがOrganizationsに対応したのでマルチアカウント設定してみる - fu3ak1's tech days
AWS Internet GatewayでNATしている
概要
AWSのInternet Gatewayに関する備忘録。インスタンスは内部IPアドレスしか認識していないこと、Internet GatewayでNATしていることを全然意識したことなかったのでメモ。
内容
- Internet Gatewayを利用すると、パブリックサブネット内にあるパブリックIPアドレスあるいはElastic IPアドレスがあるリソース(EC2インスタンス)はインターネットとの相互接続が可能。
- サブネットのルートテーブルにInternet Gatewayへのルートがある場合、そのサブネットはパブリックサブネットと言われる。
- Internet GatewayはStatic NAT。
- インスタンスは内部IPアドレスのみ認識している。インターネットゲートウェイはインスタンスに代わって、1対1のNATを行う。
- VPCサブネットからインターネットへの通信は、プライベートIPアドレスからパブリックIPアドレス、あるいはElastic IPアドレスに変換される。
- インターネットからVPCサブネットへの通信は、インスタンスのパブリックIPアドレス、あるいはElastic IPアドレスから内部IPアドレスに変換されてからVPCに配信される。
参考
Reactの学習、主にReact Router,Reduxのメモ
はじめに
@seltzerさんのReact入門動画で学習した結果をまとめます。 www.youtube.com
学習の目的
主に動画の後半にあるReact RouterとReduxを知るためです。
結果
React Routerによる画面遷移、Reduxによる状態管理が出来ました。 ただここにReact Hooksを使用するとどうなるのか、最新の書き方なのか・・というのは気になりました。
学習メモ
動画1
Reactの最終目的がDOMを書き換えること。それよって画面を書き換えたり、もともとなかった要素を足せる。 renderとは表示、組み立てるという意味。
いつもcreate-react-appでテンプレを使用してしまうので、元々あるhtmlにreactの要素を足すのは新鮮でした。
動画2
VS Codeのショートカット、SHIFT+ALT+Fでインデントが直せる。
動画4
babelを使用しないとjsxは使用できない。(create-react-appなら最初から入っている) JSXでクラスを指定する場合はclassではなくclassName。classだとJavaScriptの命令と被る。 ブラウザでソースを確認するとclassとなる。
動画5
コンポーネント=パーツ。ヘッダ、フッタ、処理を分けるのに使う。 React.Componentを継承していて、render()の中に出力したいJSX(HTML)を書く。
constructorを作成し、引数のpropsを親クラスに渡す必要がある。 stateを関数で使用するときはbindを使用しないといけない。(ただこれは関数フックを使えば大丈夫なはず?)
動画6
画面遷移の機能をルータという。 ReactはReact Routerを使用する。 aタグで遷移することも出来るがReact RouterではLinkを使用する。 React Routerでリンクを自動で作成できる。
動画7
画面遷移時に値を受け渡しできるようにする=ステート管理が必要。Reactでは Reduxが使われる。 aタグでの遷移だと値がリセットされるが、Linkを使用すると引き継がれる。 ブラウザの戻るボタンでも引き継がれる。
yarnの用語、コマンドについて
yarnについて、簡単ですが学習内容をまとめます。
yarnとは
yarnとは、JavaScriptのパッケージマネージャーです。 npmも同じ役割ですが、yarnにはいくつかメリットがあると言われています。 詳細は以下が参考になります。
- npmよりインストールが速い
- npmより厳密にモジュールのバージョンを固定できる
- npmと一緒に使える yarnとは - Qiita
yarn.lockとは
パッケージの依存関係を記載しています。 詳細は公式ドキュメントが参考になります。
各開発者のマシン間で一貫したインストールを行うためには、Yarn には package.json で設定した依存関係以外にも追加の情報が必要です。 一貫したインストールのためには、Yarn は各依存関係のどのバージョンがインストールされたのか、正確に記録しておく必要があるからです。 yarn.lock | Yarn
package.jsonよりもさらに詳細な記載があり、開発者のマシン間で環境が合うようにするもの・・と理解しました。
yarnコマンド
yarn
yarnだけで実行すると、yarn installになります。(びっくりしました)
$ yarn
yarn install
package.jsonに記載されている依存関係をすべてインストールします。
その他コマンドは公式ドキュメントを参照。