Startup Data scientist Blog

データ分析系のテック情報を発信します

GitHub用にSSHの公開鍵と秘密鍵の作成をする場合

SSHで公開鍵と秘密鍵の作成を行います。

Githubへの安全な接続のためにも設定を行っておきましょう。

 

 

コマンド

ssh-keygen

 

コマンドを入力すると表示されるのでEnterを押します

#作成するファイル名を聞かれている
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\username/.ssh/id_rsa):

作成するファイルを聞かれていますがデフォルトで良いのでEnterを押しておきす。

 

#パスワードの入力を求められている
Enter passphrase (empty for no passphrase):

Enterを入力するとパスワードを聞かれるので入力します。

 

#再度同じパスワードを入力する
Enter same passphrase again:

再度同じパスワードを入力します。すると作成が完了です。

 

作成が出来ているのか以下のコマンドで確認してみましょう。

#コマンド
ls ~/.ssh

 

下記のファイル名が確認できれば作成が完了です

authorized_keys id_rsa id_rsa.pub

id_rsa: 秘密鍵

id_rsa.pub: 公開鍵

この二つが確認できれば作成が上手く出来ています。

 

公開鍵をGitHubに登録

公開鍵をGitHubに登録に登録したい場合はgithub上のsettingに作成した公開鍵を登録しましょう。

 

コマンド

 cat ~/.ssh/id_rsa.pub

 

実行結果

ssh-rsa AAAAAAABGyougyo....

 

上記のような公開鍵が表示されるのでGitHub上の「setting」に登録すれば終わりです。

 

 

GitHub上の設定画面

 

This is a list of SSH keys associated with your account. Remove any keys that you do not recognize.

 

GPG keys

There are no GPG keys associated with your account.

Learn how to generate a GPG key and add it to your account.

Vigilant mode

This will include any commit attributed to your account but not signed with your GPG or S/MIME key.
Note that this will include your existing unsigned commits.

Learn about vigilant mode.

 

上記のSSH keys New SSH keyを押し、登録します。

 

Title: vagrant@ubuntu-xenial

Key: 先ほど表示されたものをコピーして入力します。

 

これでSSHを利用した暗号通信をできるようになります。

 

pythonを使ったファイルの読み込みと書き込み

Pythonを使ってローカルにあるテキストファイルを作成したり、読み込む。

 

'r'  ファイルの読み込み

'w' ファイルへの書き込み

'a'  追記(文末へ追記していく)

'x' ファイルへの新規作成のみ

 

#'w' write file
#'r' reading file
test_file = open('test.txt', 'w')
test_file.write('Hello world!\nPython')
test_file.close()
print(test_file)

>>>

text.txtファイルに読み込みと書き込みが行われる。

 

 

f = open('text.txt', 'r', encoding='UTF-8')

data = f.read()
print(data)

 

pythonで奇数か偶数かを判定する関数を作ってみる

数値を受け取り、その数値が偶数であればTrue、奇数であればFalseを返すis_even関数を作ってみた。

 

def is_even():
    number = input('数字を指定してください:')
    if int(number) % 2 == 0:
        print('True')
    else:
        print('False')
    return
   
data = is_even()
print(data)

>>

数字を指定してください:1
False
None

 

pythonを使ったバブルソートアルゴリズムの実装

バブルソートとは

ソートアルゴリズムの中の一つのアルゴリズムバブルソートは、隣り合う要素の大小を比較しながら整列させるソートアルゴリズムアルゴリズムが単純で実装も容易である一方、最悪時間計算量は O(n2) と遅いため、一般にはマージソートヒープソートなど、より最悪時間計算量の小さな(従って高速な)方法が利用される。

 

pythonを使ったサンプルコード

def bubble_sort(data):
    for i in range(1, len(data)):
        for j in range(0, len(data)-i):
            if data[j] > data[j+1]:
                data[j], data[j+1] = data[j+1], data[j]

if __name__ == '__main__':
    data = [5,4,3,2,-1]
    bubble_sort(data)
print(data)

>>>

[-1, 2, 3, 4, 5]

 

    for i in range(1,len(data)):
 

リスト内の要素を何回操作するのか設定しています。len関数でリストの要素個数を設定しています。

        for j in range(0, len(data)-i):
 

操作回数を設定しています。len関数を使用することでデータ内で何回操作(ソート)する必要があるのかカウントします。

iは隣り合う要素と比較する回数を示しており、操作回数はi-1回で表記されます。

           if data[j] > data[j+1]:
 

左を右を比較するように記述しています。

               data[j], data[j+1] = data[j+1], data[j]

さらに次の記述で、左右の場所を入れ替えています。

 

 

 

 

python For ループを使って最大値、最小値、合計値、平均値を求めていく

Forループを使用して最大値と最小値、合計値と平均値を出力するアルゴリズムを作る。

 

List = [180, 170, 160, 165, 175]

 

まず、最大値と最小値、そして合計値の変数をループ前に定義し、ループを回すたびにその値を更新していく。

list = [180, 170, 160, 165, 175]

max = list[0]
min = list[0]
total = 0


for i in range(1, len(list)):
    if max < list[i]:
        max = list[i]
print(max)
for i in range(1, len(list)):
    if min > list[i]:
        min = list[i]
print(min)
for i in list:
    total = total + i
print(total)
print(total/len(list))

>>>

180
160
850
170.0

 

 

 

 

 

 

pythonで使う絶対値を求めるabs関数

絶対値はある数値(マイナスを含む)の0からの距離であり、大きさを表現する。

pythonではabs関数を使用することで絶対値を求めることが出来る。

 

abs(5)

>>>

5

abs(-19)

>>>

19

 

a = abs(-1)
print(a)

>>>

1

 

ABS関数はExcelでも用意されている関数の一つであり、引数(受け取り)に指定した数値の絶対値を取得することが出来ます。

 

Excelの場合の使い方

=ABS(数値)で表示され、数値が絶対値を通して表示されます。

 

【2022/10/12 07:58】Amazonを騙る詐欺メールが送付されてきた

最近メールアドレス宛に詐欺メールが多く困っています。同じように迷惑メールに悩まれている方はメールアドレスを再設定した方が良さそうです。

 

今回の迷惑メールは文字化けが多く、フィッシングメールだと分かりやすいメール内容です。リンク先では情報を取得される可能性があるのでアクセスを控えましょう。

私のメールアドレス部分はxxxになっています。

 

From: admin@ama-account-qudc.ga

 

件名: Amazon.co.jp にご登録のアカウント(名前、パスワード、その他個人情報)

 

本文:

Amaぬzon.co.jpからのお知らせ

アカウントのエラーまたは不完全なプロファイルにより、システムは残念ながら高リスクのアカウントに設定されており、アカウントと対応する機能の権限が部分的にロックされています。

Amazゑonアカウントのロック解除にご協力ください。以下のリンクを使用して、 Webサイトにアクセスし、情報を更测试新してください。 モケぞべゾねっぞてユすグぼゼもエサノロヅみ゛びヲあ 

ログイン

--------------------------------------------------------------------------------------------------------------------------

※ 24時間経過してもこのメッェセに返信しない場合、アカウントのステータスは1週間後に放棄され、完全に削除されるように設定されます。お客様のアカウントのセキュリティを強化するため、xxx段階認証を有効にすることをお勧めします。 ユはレボッゥスぱァあナゐニょくふじヽハジヺよプヌれ   
またのご利用をお待ちしております。

 オぽゝまグゐャよゕヺヂぢくぜツゴサヱべジクミラよいハゔれゑルぼウへシギわマぱじツネびアパちぃキドぃ   

 

 

同様の詐欺メール報告

www.cc.uec.ac.jp

 

 

 

エンジニア向けのリスキリングサイトまとめ

     DX人材の写真素材|写真素材なら「写真AC」無料(フリー)ダウンロードOK

日本リスキリングコンソーシアム

 サイト内では無料でトレーニングプログラムを受講できる。トレーニングテーマは、クラウドマーケティング、テレワーク・働き方改革、学校教育、インターネットセキュリティ、クリエイティブ、AI、認証書取得、DE&I、デザイン、データ分析など多岐にわたる。受講レベルは初級、中級、上級、経営層向け等を用意する。

japan-reskilling-consortium.jp

 

 

Grow with Google

 さまざまなコースやセミナーから目的に合ったものを受講できるGoogleが支援しているサービス。コースによっては認定書付きとなっている。コースによっては受講期間等が決まっている。

grow.google

 

 

gacco

ドコモにより運営されている学習サービス。エンジニア向けのスキルからビジネススキルなどを習得することが出来ます。

gacco.org

 

BINANCE ACADEMY

 中国、香港で設立された仮想通貨取引所である「BINANCE」により提供されている学習サイト。ブロックチェーンと仮想通貨について学ぶことが出来る学習サイト。仮想通貨だけでなくチャートの見方や投資についても学ぶことができるのが特徴。

学習を進めることで様々な仮想通貨を獲得することが出来る。

academy.binance.com

 

 

PoL

 学習するほど「PoLトークン」がもらえる仮想通貨の学習サイト。Web3向けのコースやライター向けコースなど複数のコースに分かれており、学習を進めると仮想通貨を得ることが出来る。

pol.techtec.world

 

 

CryptoZombie

 Etherenumなどのスマートコントラクトに使われるプログラムを作成することが出来る学習サイト。solidity学習を行いながら仮想通貨を受け取ることが出来るクリプトゾンビ。日本語にも対応しているのでストレスなく、solidityの学習を行うことが出来る。solidity初心者がまず通るべき登竜門のようなサービス。

cryptozombies.io

 

 

Web3エンジニアになるための学習サイトまとめはこちら

xxstartupxxengineerxx.hateblo.jp

みずほ銀行を騙った電子メールによるフィッシング詐欺

最近みずほ銀行を騙ったメールが多いので記載しておきます。

 

メールはフィッシング目的であり、本人確認を行うようにサイトに誘導させIDやパスワードを入力させて抜き取ろうとします。

 

私はみずほ銀行に登録していないので良いですが、対策としては信頼できるブックマークや検索サービスを使用した通常のアクセスを行う等です。金融機関の支払いや重要な取引はメールアドレスを変えるなど対策が今後必要になってくるでしょう。

 

メール本文に記載されている電話番号等は正しいようですが、リンク先は悪意のあるフィッシング用サイトなので気を付けましょう。

 

 

www.faq.mizuhobank.co.jp

 

フィッシング (Phishing) とは実在する組織を騙って、ユーザネーム、パスワード、アカウントID、ATMの暗証番号、クレジットカード番号といった個人情報を詐取することです。 電子メールのリンクから偽サイト (フィッシングサイト) に誘導し、そこで個人情報を入力させる手口が一般的に使われています。

 

以下詐欺メール--------------------------------------------------------------------------------

 

件名:【お取引目的等のご確認のお願い】

 

本文:

平素より、みずほ銀行をご利用いただきありがとうございます。

みずほ銀行では2019年6月より金融庁の「マネー・ローンダリング及びテロ資金供与対策に関するガイドライン」に基づき、お客さま情報やお取引の目的等を定期的に確認させていただいております。お客さまにはお手数をおかけいたしますが、何卒ご理解とご協力をお願い申しあげます。

※なお、確認させていただく時期はお客さまごとに異なります。
※2022年10月09日までに「▼ご本人確認」より、お取引の目的等のご確認をお願いいたします。

 ▼ご本人確認
※回答が完了しますと、通常どおりログイン後のお手続きが可能になります。
※一定期間ご確認いただけない場合、口座取引を一部制限させていただきます。

▽お客さま情報等の定期的なご確認にご協力ください

【ご注意】
・お客さま個別の事由で口座のお取引が制限されている場合、本件のお手続きを完了しても制限は解除されません。
・その他重要なお手続きのご案内が表示される場合があります。ご案内を確認後、回答画面が表示されます。

お客さまにはお手数をおかけいたしますが、何とぞご理解、ご協力のほどお願いいたします。


━━━━━━━━━━━━━━━━━━━━━━━━
お問い合わせは下記まで
みずほダイレクトヘルプデスク
フリーダイヤル: 0120-3242-99
海外からのご利用などフリーダイヤルをご利用いただけない場合は: 03-3211-9324[通話料有料]
※月曜日〜金曜日9時00分〜21時00分、土・日曜日、祝日・振替休日9時00分〜17時00分
1月1日〜2日はご利用いただけません。12月31日、1月3日の受付時間は9時00分〜17時00分です。
みずほ銀行

━━━━━━━━━━━━━━━━━━━━━━━━

 

フィッシング詐欺や迷惑メールへの対応方法について

www.dekyo.or.jp

 

 

pythonを使用した頭文字の取得

pythonを使用してテキストの頭文字を取得するプログラムを説明します。

 

user_input = str(input("入力して下さい:"))
text = user_input.split()
a = ""

for i in text:
    a = a+str(i[0]).upper()
print(a)

>>>

入力して下さい: Hello world

>>>

HW

 

文を分割するためにsplit関数を使っています。

分割した頭文字を入れるための変数である「a」を置いています。

最後にfor ループで頭の文字を格納し、upper()で大文字に変換しています。

Hello worldと入力すると頭の文字であるHWが大文字で出力されます。

 

#Acronyms