@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
Offending RSA key in ~/.ssh/known_hosts:1
remove with:
ssh-keygen -f "~/.ssh/known_hosts" -R "github.com"
RSA host key for github.com has changed and you have requested strict checking.
ローカルに保持している接続先情報と違うサーバーにつながったよ、とのこと。
中間者攻撃かもしれないと書かれており、ちょっとドキッとしますよね。。。
調べてみたところ、公式からアナウンスが出ていました。
GitHubサーバーの秘密鍵を、公開リポジトリに置いてしまったのとこと…
短時間ってどのくらいなんでしょうね…?
このセキュリティインシデントに対する措置として鍵を取り換えたということのようです。
新しい内容で接続できるように変更しておきます。
やることは特に難しくなく、古い情報を破棄して新しい情報に差し替えるだけです。
# 古い鍵情報の破棄
$ ssh-keygen -R github.com
/home/y-uchiida/.ssh/known_hosts updated.
Original contents retained as /home/y-uchiida/.ssh/known_hosts.old
# 新しい鍵情報を追加
$ ssh -T github.com
The authenticity of host 'github.com (20.27.177.113)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM. # 表示される鍵情報が正しいものか確認
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes # yes を入力
Warning: Permanently added 'github.com' (ECDSA) to the list of known hosts.
Hi y-uchiida! You've successfully authenticated, but GitHub does not provide shell access.
(python-flake8-sample-py3.11) $ poetry add --dev flake8
Creating virtualenv flake8-sample in /home/y-uchiida/python/flake8_sample/.venv
The --dev option is deprecated, use the `--group dev` notation instead.
Using version ^6.0.0 for flake8
Updating dependencies
Resolving dependencies... (0.2s)
Writing lock file
Package operations: 4 installs, 0 updates, 0 removals
• Installing mccabe (0.7.0)
• Installing pycodestyle (2.10.0)
• Installing pyflakes (3.0.1)
• Installing flake8 (6.0.0)
CLI から実行する
それではFlake8 を使ってみます。
flake8 <チェック対象のファイルパス> で実行できます。
PEP 8に沿ってない内容のスクリプトを書いて、、、
if 1 is 1: # リテラルの比較に is は使わない
print('always true') # インデントはスペース4つにする
Flake8 で検査します。
(python-flake8-sample-py3.11) $ flake8 flake8_test.py
flake8_test.py:1:4: F632 use ==/!= to compare constant literals (str, bytes, int, float, tuple)
flake8_test.py:2:3: E111 indentation is not a multiple of 4
By using Black, you agree to cede control over minutiae of hand-formatting. In return, Black gives you speed, determinism, and freedom from pycodestyle nagging about formatting. You will save time and mental energy for more important matters.
<?php
namespace Database\Seeders\Subfolder;
use Illuminate\Database\Seeder;
class SampleSeeder extends Seeder
{
public function run()
{
echo "サブフォルダのSeeder だよ~\n";
}
}
それでは、いざ実行!
# name space を記述しないとエラー
$ sail artisan db:seed --class='SampleSeeder'
INFO Seeding database.
Illuminate\Contracts\Container\BindingResolutionException
Target class [Database\Seeders\SampleSeeder] does not exist.
# Seeders 以降のname space を記述してもエラー
$ sail artisan db:seed --class='Subfolder\SampleSeeder'
INFO Seeding database.
Illuminate\Contracts\Container\BindingResolutionException
Target class [Subfolder\SampleSeeder] does not exist.
Type '{ flexWrap: string; }' is not assignable to type 'Properties<string | number, string & {}>'.
Types of property 'flexWrap' are incompatible.
Type 'string' is not assignable to type 'FlexWrap | undefined'.ts(2322)
index.d.ts(1869, 9): The expected type comes from property 'style' which is declared here on type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'
$ poetry add --group dev mypy
The --dev option is deprecated, use the `--group dev` notation instead.
Using version ^0.991 for mypy
Updating dependencies
Resolving dependencies... (0.3s)
Writing lock file
Package operations: 2 installs, 0 updates, 0 removals
• Installing typing-extensions (4.4.0)
• Installing mypy (0.991)
pip でインストールする場合は以下のようにコマンドを実行します。
$ pip install mypy
これだけで導入は完了です。
CLI からチェックを試す
ためしに、あえて型不整合があるスクリプトを書いて、それをチェックしてみます。
import datetime
var: datetime.datetime = "foo"
mypy でのチェックは、mypy <対象ファイル> で行います。
$ mypy mypy_test.py
mypy_test.py:3: error: Incompatible types in assignment (expression has type "str", variable has type "datetime") [assignment]
Found 1 error in 1 file (checked 1 source file)
最近のコメント