キーを取得する
キーのアクセス権限を変更する
chmod 600 ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem
インスタンスに接続する
ssh -i ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem bitnami@<hostname>
chmod 600 ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem
ssh -i ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem bitnami@<hostname>
2020年11月12日時点での、macOSにおけるnode.js環境の構築方法について記録しておきます。
インストールするもの
homebrew、nodenvはわかりますがanyenvというのは見慣れないですね。
どうやら *env といった環境管理ツールを管理してくれるというメタなツールのようです。
言語やツールごとに増えがちで管理も難しいので嬉しいです。
実はjenvとかも管理できるようなので、Java/Scala使いにも嬉しい可能性があります(未検証)。
Homebrewをインストールする方法はScalapediaにて解説済みなのでそちらをご覧ください
macOSにsbtをインストールする方法|Scalapedia
brew install anyenv
anyenv install nodenv
nodenv init
以下のようなコマンドをどこかに記述する必要があります。
eval "$(nodenv init -)"
nodenv init
の実行時の出力に、どこに記述すればよいのかが明らかにされます。
これを参考に追記しましょう。
今は一般的には ~/.zshrc
に追記することになるんですかね。
nodeの一覧を最新に更新します(インストールしたては不要)
brew upgrade nodenv node-build
一覧を表示します。
nodenv install --list
表示した中で必要なnodeをインストールします。
nodenv install 14.15.0
nodenv global 14.15.0
installだけではまだ全体に反映されません。
global
コマンドを使用すると、バージョンが固定されます。
特定のディレクトリのnodeを固定するには local
コマンドを使用します。
nodenv local 14.15.0
2020年11月12日現在のReactのサンプルアプリケーションの作り方について記録しておきます。
Reactでサンプルアプリケーションをつくるには日本語公式のチュートリアルを使用するといいです。
JavaScriptでなくTypeScriptで書きたいという場合は、TypeScript Deep Dive日本語版を見ましょう。
これは上述の公式ReactサンプルをTypeScriptで記述したものです。
git-new-workdir の有効化とは、パスの通ったディレクトリにgit-new-workdirコマンドへのシンボリックリンクを貼ること。
実際に「パスの通ったディレクトリ」に「git-new-workdirコマンド」への「シンボリックリンクを貼」っていきます。
「パスの通ったディレクトリ」として適当なのは /usr/local/bin
です。
次に「git-new-workdirコマンド」のあるディレクトリを特定していきます。
gitインストールディレクトリの中の share/git-core/contrib/workdir
の中に git-new-workdir
があります。
homebrewでgitをインストールしているので、gitのインストールディレクトリを特定するには、brew info git
を実行するとわかります。
私の場合は /usr/local/Cellar/git/2.27.0
でした。
したがって git-new-workdir
のフルパスは /usr/local/Cellar/git/2.27.0/share/git-core/contrib/workdir/git-new-workdir
と判明しました。
ということで、以下のコマンドを実行すればOKです。
ln -s /usr/local/Cellar/git/2.27.0/share/git-core/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir
$ which git-new-workdir
/usr/local/bin/git-new-workdir
のように返ってくればOK。何も返ってこないとなると失敗です。
Gitで同時に複数ブランチを利用する場合は、やっぱり git-new-workdir だね! - 都内SEのプログラミング勉強と雑記
/bin, /usr/bin, /usr/sbin, /usr/local/bin の違いとは? - Qiita
docker exec -it $(docker ps -qf "name=[the container name]") bash
When executed brew install python
, I got "Error: Permission denied @ dir_s_mkdir" below.
$ brew install python
...
==> Installing python
==> Downloading
https://homebrew.bintray.com/bottles/python-3.7.1.mojave.bottle.8.tar.gz
######################################################################## 100.0%
==> Pouring python-3.7.1.mojave.bottle.8.tar.gz
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
https://qiita.com/Jung0/items/d4012814e6fb1b694208
There was no directory named "/usr/local/Frameworks".
The solution was the same to the article above.
I created a directory "/usr/local/Frameworks", and gave permissions.
sudo mkdir /usr/local/Frameworks
sudo chown $(whoami):admin /usr/local/Frameworks
If you want to show the list of databases, you can use pg_database
or pg_database_info
table, which are included the standard PostgreSQL catalog tables.
SELECT * FROM pg_database;
select datname, datdba, datconnlimit from pg_database_info where datdba > 1;
pg_database_extended
References
System Catalog Table / Amazon Redshift Docs
https://docs.aws.amazon.com/redshift/latest/dg/c_intro_catalog_views.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_intro_catalog_views.html
System Catalogs
https://www.postgresql.org/docs/8/catalogs.html
https://www.postgresql.org/docs/8/catalog-pg-database.html
|
Type Alias
|
Tagged Type
|
Value Class
|
Phantom Type
|
Phantom Type & Prism & macro
|
導入コスト
|
◎:他のロジックに影響ない
|
◯
|
×:定義が面倒
|
△
|
△:macroはまだExperimental
|
型安全
|
×
|
◯
|
◯
|
◯
|
◯
|
コンテナ型へのキャスト
|
×
|
◯
|
×
|
◯
|
◯
|
追加のメソッド定義
|
×
|
×
|
◯
|
◯
|
◯
|
boxing/unboxing
|
◯
|
×:AnyValだとアカン
|
◯
|
◯
|
◯
|
レイヤー境界での変換が不要(DBなどとの互換性)
|
◯
|
×
|
×
|
×
|
◯
|
以下のエラーと長いStacktraceが出力されてどうしたものかと思ったが、ここで示されているList内にパッケージ内のどこでエラーが出ているのかが書いてあったおかげで救われました。
[error] (compile:compileIncremental) java.lang.IllegalArgumentException: Could not find proxy for model: models.MyModel in List(value model, method apply, <$anon: Function1>, method myMethod, class MyClass, package myPackage, package services, package <root>) (currentOwner= value x$11 )
List(value model, method apply, <$anon: Function1>, method myMethod, class MyClass, package myPackage, package services, package <root>)
とあるので、末尾から逆に辿って _root_.services.myPackage.MyClass
に定義されているmyMethod内の引数一つの無名関数のどこかにおかしいところがあります。
原因は myMethod
内で使用していた Option
の fold[B](ifEmpty: => B)(f: A => B)
について、第一引数 ifEmpty
を指定し忘れていたからでした。
改行して中にコメントを追加していたのでIDEも検知できなかったようです(?)。
foreach
するなり、 for
内包表記で処理するという対処法があります。また、Unitを返すべき場面では ()
を追加するという方法もあります。