Python開発環境 on Macの再整備メモ (2)

前回の記事Mac上のPython環境をアップデートしたが、今回はTwitterに投稿するPythonのプログラムを動かす所まで環境を整えることに。

【環境】
 ・MacBook Pro (Retina, Mid 2012) / macOS Catalina 10.15.7

【Step1】
 ・TwitterのDeveloper PlatformAPIの利用申請を実施
  Test用のTwitterアカウントを持っていたのだが、APIを使っていなかったためか、利用出来なくなっていた。そのため再度申請を実施(参考にしたサイト)。以前やったときには特に審査は無かった気がするのだが、今回は利用用途等をメールで確認されるなどのプロセスがあって、申請が通るまで1日半ほど掛かった。あと、デフォルトだとRead Onlyの権限しかなかったので、ユーザー認証の編集でRead & Writeに変更する必要があった。

【Step2】
 ・tweepyのインストール

$ pip install tweepy

 ・Tweepyの公式ドキュメントを参考に、以下のコードを書いて動作確認

import tweepy

auth = tweepy.OAuth1UserHandler(
    'consumer_key',
    'consumer_secret',
    'access_token',
    'access_token_secret'
)

api = tweepy.API(auth)

public_tweets = api.home_timeline()
for tweet in public_tweets:
    print(tweet.text)

【Step3】
 ・Webサイトのスクレイピング用にBeautifulSoupをインストール

$ pip install beautifulsoup4

 ・Qiitaの記事(10分で理解する Beautiful Soup - Qiita)を参考に、以下のコードを書いて動作確認

import requests
from bs4 import BeautifulSoup

res = requests.get('https://www.google.co.jp/')
soup = BeautifulSoup(res.text, 'html.parser')
title_text = soup.find('title').get_text()
print(title_text)

ボットのプログラムを書く準備は以上でひとまず終了。
次はGoogle CloudのApp Engineの環境準備を進める。

Python開発環境 on Macの再整備メモ (1)

Google CloudのApp EnginePythonで書いたTwitterのボット(@yokohama_pm25等)を幾つか動かしているのだが、最近メンテナンスをすっかりサボっていたので、ボットの開発環境自体が今現在使えるか怪しい状態になっている。そこで、少しずつ再整備を進めて行こうと思っているのだが、その作業をメモしておく。
【環境】
 ・MacBook Pro (Retina, Mid 2012) / macOS Catalina 10.15.7

【Step1】
 まずは諸々のツールのアップデートを実施。
 ・パッケージ管理ツール(Homebrew)のアップデート

$ brew update

 ・パッケージの更新

$ brew upgrade

 ・xcodeのバージョンアップ

Warning: A newer Command Line Tools release is available.
Update them from Software Update in System Preferences.

If that doesn't show you any updates, run:
  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

  パッケージの更新の際に上記メッセージが出ていたので、xcodeもバージョンアップ。

$ sudo rm -rf /Library/Developer/CommandLineTools
$ sudo xcode-select --install

  ちなみにmacOS Catalinaだと、brew upgradeで以下のような警告が出てしまうが、そこは仕方がないので放置。

Warning: You are using macOS 10.15.
We (and Apple) do not provide support for this old version.

【Step2】
 Pythonの環境をアップデート。
 ・pipのバージョンアップ

$ pip install --upgrade pip

 ・python 3.10.9のインストール

$ pyenv install 3.10.9
$ pyenv global 3.10.9

【Step3】
 これはおまけ的だけど、エディタのAtomを最新版にアップデート。2022年末で開発終了のようだけど、そこは気にしない。アップデートはGitHubからダウンロードして実施。

環境整備の第一弾はここで終了。
次のステップはpythonTwitterに投稿するプログラムをローカルで作る事にする。

在宅勤務環境のまとめ Part 2

約2年前に在宅勤務環境をブログにメモしておいたのだが(その時の記事)、現在の在宅勤務環境を再度メモしておく。ちなみに、引き続き寝室の一区画を仕事場にしている状況。そろそろディスプレイをもう少し大きい物(27インチぐらい)に変えたい。

Type-C ACアダプターは自宅用に1個購入(純正アダプターは非常に軽量なので、出社とか出張時に使う)。


www.logicool.co.jp
www.sanwa.co.jp

自宅のLANに繋がっているデバイスの一覧

自宅のLANに繋がっているデバイスだが、気づいたら結構な数になって来ていたので、忘備録としてメモしておく。ちなみに数えてみたら、有線 or 無線でルーターに繋がっているデバイスが20台を超えていた。

【PC系】
 ・自分のMacbook Air
 ・息子のWindows PC
 ・仕事用のVAIO Pro
スマホ系】
 ・自分のiPhone 12
 ・仕事用のiPhone SE
 ・妻のPixel 5G
 ・息子のPixel 5G
【家電系】
 ・東芝の冷蔵庫
 ・シャープの加湿空気清浄機
【IoT系】
 ・sRemo-R(スマートリモコン)
 ・sRemo-R3(スマートリモコン)
 ・Amazon Echo Dot
 ・Amazon Echo Flex
 ・Amazon スマートプラグ
【ストレージ系】
 ・IO-Data NAS (有線)
 ・TimeCapsle (有線)
【ネットワーク系】
 ・ONU
 ・無線LANルーター
 ・無線LAN中継機
【メディア系】
 ・三菱電機のテレビ (有線)
 ・Fire TV Stick 第2世代
 ・Fire TV Stick 第3世代
【その他】
 ・Kindle
 ・iPad
 ・ニンテンドースイッチ

光BBユニットのIPv6パケットフィルタのテスト

光BBユニット(E-WMTA2.4)のIPv6パケットフィルタの機能についてテストを行ったので、その結果をメモしておく。なお、IPv6パケットフィルタの設定は、光BBユニットの管理画面から[ルーター機能の設定] - [パケットフィルタ設定]を選択すると実施できる。設定の詳細はコチラ

【テスト環境】
 ・光BBユニットにWiFiで接続したMacBook Airに対して、外部からIPv6アドレス(一時IPv6アドレス)を指定して、pingとポートスキャンを実施。
 ・pingとポートスキャンは4G接続のiPhoneから、iPhoneアプリiNetToolsを利用して実施。
 ・MacBook Airへのパケットの到着確認はtcpdumpコマンドを利用。
 ・光BBユニットの[パケットフィルタ設定]の[セキュリティレベル設定]は「高」、[NGNネットワークフィルタ設定]は「無効」に設定。

【テスト結果】
 ・pingは光BBユニットでパケットフィルタされず、MacBook Airまで到着。
 ・ポートスキャンは光BBユニットでパケットフィルタされて、MacBook Airまで到着せず。

【考察】
 ・IPv6パケットフィルタの機能はちゃんと動いており、ポートスキャンはブロックされていた。
 ・[NGNネットワークフィルタ設定]を「有効」にすると、ポートスキャンがブロックされない(デフォルト設定は「有効」)。ソフトバンクの4G接続のiPhoneからのアクセスなので、NGN網内折り返し通信として、フィルタされないのかも。ちなみにドコモの4G接続のiPhoneからだと、この設定でもブロックされていた。
 ・Mac OSファイアウォール設定でステルスモードを有効にしておけば、pingに応答しなくなる(やり方はコチラ)。

【結論】
 ソフトバンク光でIPv6高速ハイブリッドを使う場合には、以下の設定にしておくのが良さそう。
 ・光BBユニットの[パケットフィルタ設定]の[セキュリティレベル設定]は「高」のままにしておく。
 ・光BBユニットの[NGNネットワークフィルタ設定]は「無効」に変更する。
 ・Mac OSファイアウォール設定で[ステルスモード]を「有効」にする。

【参考サイト】
blog.watahari.com

無線LAN中継機の改善効果測定

Wi-Fi中継機(WEX-1800AX4)を設置することで、Wi-Fiの電波強度がどの程度改善したかを、IODATAWi-Fiミレルというアプリで測定してみたので、結果を纏めておく。

【中継機設置前(1F)】
洗面所の所が少し電波強度が弱くなっているが、その他は特に問題無し。

【中継機設置前(2F)】
寝室の電波強度がかなり弱い。

【中継機設置後(1F)】
玄関の所が少し電波強度が弱くなっているが、その他は特に問題無し。

【中継機設置後(2F)】
寝室の電波強度が大きく改善。

もともと寝室の電波強度を改善したかったので、狙い通りになった感じである。
ちなみに現在のネットワーク構成は以下のような形。
f:id:tomute:20220109115000j:plain

www.iodata.jp