気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

ssh時はローカルのlocaleを接続先に引き継いでしまう

タイトルの通りだけど、ssh時はローカルで設定したlocaleを引き継いでしまい、 接続先はen_USだったはずなのに、ja_JPになるということがある。

ssh -v でデバッグすると、接続先にロケール情報を引き継いでいることを確認できる。

[接続元]$ ssh -vi ***.pem ec2-user@***.***.***.***
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to ***.***.***.*** [***.***.***.***] port 22.
debug1: Connection established.
debug1: identity file test-cm.pem type -1
debug1: identity file test-cm.pem-cert type -1
・
・
・
debug1: Sending environment.
debug1: Sending env LANG = ja_JP.UTF-8

SSH接続時のLANG設定がOS設定値と異なる時の対処方法 | DevelopersIO

解決方法

/etc/ssh_configのEnvをssh時に送信する設定をコメントアウトするとlocale設定を引き継がなくなる。

 Host *
 #   SendEnv LANG LC_*

IntelliJ IDEA ショートカット(MacOSX)

便利なショートカットを記載しておきます。

カテゴリ コマンド 概要 詳細
ナビゲーション command + option + 左右キー ナビゲーションのUndo/Redo
検索 Shift + Shift 全て検索 プロジェクト内のファイル名、クラス名、シンボル名(変数、メソッド等)をインクリメンタル検索。クラス検索(Ctrl + N)で詳細検索
Ctrl + Option + H 呼び出し階層を開く
Ctrl + F12 メソッド一覧を開く
Command + E 最近開いたファイルを開く 開いた後にCommand + Eを押すと修正したファイルのみを開く
編集 Shift + F6(fn押しで) 名前変更
Ctrl + J ライブテンプレート 省略コマンドでテンプレート呼び出しで実装効率化
メソッド名の上で、/ **と入力してEnter メソッドJavaDocコメント生成 ショートカットはない
Option + Shift + ↑ or ↓ 行の移動
Command + Option + L コードフォーマット
設定 Ctrl + , 設定を開く
テスト パッケージを選択してCmd+N テストクラスを作成
クラス内でCtrl+Enter テストメソッドを作成
エラー箇所でCtrl+Enter コンパイルエラーを解消する
テストメソッド内でCtrl+Shift+R 特定のテストを実行する
テストクラス内でCmd+Shift+T テスト ←→ 実装コード
メソッドにカーソルをあわせてCtrl+Cmd+B テストコードで呼び出しているメソッドへ移動
(どこでも)Ctrl+R 最後に実行したテストの再実行

参考URL

Mac OSX 日常で使う便利なアプリ

Macに入れておくと業務効率化や、便利に使えるアプリを追記していきます。

メニューバーにカレンダー表示_無料

https://jittodesign.org/itsycal-18947/

f:id:tamata78:20210421105122p:plain:w200

Macのメニューバーに表示する日付表示は、クリックしてもカレンダーが見れるわけではないので不便。
無料でシンプルな1月のカレンダー が見れるアプリとしてオススメ

httpとhttpsのポート番号

httpのポート番号:80 httpsのポート番号:443

ポート番号の80と443は、ドメイン名の後ろについているけど、それが省略されている

ポート付けた場合と付けない場合は同義となります。
http://aaa.co.jp:80http://aaa.co.jp
https://aaa.co.jp:443https://aaa.co.jp

Git pushできない幾つかのパターンと解決方法

タグが既にある

特に更新していないタグが原因でpushが拒否されることがあります。

[rejected]        example_tag -> example_tag (already exists)

そんなときはタグを更新してみます。

git pull --tags

競合が発生した場合、ローカルにあるものを上書きして解決させます。

git pull --tags -f

Kotlin 型パラメータ

Kotlinソースを見たときに引数に見慣れない変数があったのでググってみた。

inline fun <reified T> startActivity(context: Context) {
    context.startActivity(Intent(context, T::class.java))
}

「context: 」と「T::class.java」の記述はJavaで書くと以下のようになるらしい。

public <T> void startActivity(Context context, Class<T> clazz) {
    context.startActivity(new Intent(context, clazz));
}

型を書くときに 「小文字 + : 」という表記になるんですね。
T::classは型パラメータの表記でClassの書き方。

イマイチなんとなくの理解ですが。 さらに疑問あれば、このページを追記、編集していきます。