ImportError: cannot import name ‘NewsApiClient’ にハマる

pip install newsapi-python

pip で newsapi ライブラリをインストールして、下記で呼び出し。
from newsapi import NewsApiClient

その際に、ImportError: cannot import name ‘NewsApiClient’ のエラーメッセージが出て正しく実行できなかった。

同じエラーが出る原因は1つでは無いみたいですが、私の場合は脳死状態のときにテストで作った newsapi.py という名前のファイルが原因でした。

python に詳しく無いのですが、このファイルが import newsapi として読み込まれてしまっていたからでしょうか。 (hoge.py で実行した場合でも、同じディレクトリ内に newsapi.py が存在していれば、そちらが参照されるのでもちろん駄目)

import xxx で指定する名前とファイル名の衝突に気をつける。

macOS で curl のインストール

インストール

homebrew が入っている状態で、下記 brew install でインストール。

brew install curl

curl コマンド取得

google chrome では開発者機能から、アクセスしたページのリクエストを簡単に curl でも再現できるようになっている。

非常に便利。

ライティング周りのブックマーク

GLSL Programming/Unity/Diffuse Reflection of Skylight
https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Diffuse_Reflection_of_Skylight

GLSL Programming/Unity/Diffuse Reflection
https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Diffuse_Reflection

PBR Theory
https://learnopengl.com/PBR/Theory

Lighitng
https://learnopengl.com/PBR/Lighting

IBL Diffuse irradiance
https://learnopengl.com/PBR/IBL/Diffuse-irradiance

Specular IBL
https://learnopengl.com/PBR/IBL/Specular-IBL

貴重な資料に感謝。

DirectX12 Ultimate は次世代グラフィックス技術の総称

DirectX12 Ultimate とは?

DirectX12 Ultimate は 次世代のゲームグラフィックスで使われる機能の総称。また、それらを実現するための DirectX12 API の仕様である。

  • Ray Tracing
  • Mesh Shading
  • Variable Rate Shading,
  • Sampler Feedback

これらの技術に関しては、既に発表されていたものもあるため特に目新しさは感じないですが、Xbox Series X など次世代ゲーム機が発売すると噂されている2020年に、改めて今後のゲームグラフィックスで使われる技術やキーワードが何かをまとめて体系化したものに「DirctX12 Ultimate」という名前がついた感じでしょうか。

Announcing DirectX 12 Ultimate
https://devblogs.microsoft.com/directx/announcing-directx-12-ultimate/

DirectX 12 Ultimate Getting Started Guide
https://devblogs.microsoft.com/directx/directx-12-ultimate-getting-started-guide/

NVIDIA Gameworks – DirectX
https://developer.nvidia.com/directx

DirectX Raytracing 1.1

DXR には、DXR 1.0 と DXR 1.1 がある。

Shader Model 6.5

2019年10月15日にリリース。Windows 10 20H1 で使用できる。

HLSL Shader Model 6.5
https://microsoft.github.io/DirectX-Specs/d3d/HLSL_ShaderModel6_5.html

AWS Lightsail に macOS から SSH 接続と SCP

最初、AWS Lightsail に macOS で ssh-keygen して作成した公開鍵を登録して ssh 接続しようとしたのですが、自分のやり方がおかしかったのか、

Permission denied (publickey)

となってしまい繋がらず。
仕方ないので、デフォルトの公開鍵をダウンロードして使用する。

Lightsail の Account -> Account -> SSH Keys から、default を Download する。

.ssh 以下とかに配置して、download してきた .pem の権限を 600 に変更する。
chmod 600 LightsailDefaultKey-ap-northeast-1.pem

あとは、ssh で接続するだけ。-i で公開鍵を指定するのと、-p のport 番号に注意。
ssh -i ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem ubuntu@xxx.xxx.xxx.xxx -p 22

SCP でファイル転送

scp -i ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem -P 22 /Users/USER/Desktop/notify.py ubuntu@xxx.xxx.xxx.xxx:/home/ubuntu/python

Desktop にある notify.py ファイルを、サーバー上の python フォルダ以下に転送する。

Ubuntu 18.04 で直接 Python3.7 をインストール

# apt の update
sudo apt update

# python 3.7 のインストール
sudo apt install python3.7

# 再起動
reboot

# pip3 インストール
sudo apt install python3-pip

# BeautifulSoup4 インストール
pip3 install beautifulsoup4

# Requests インストール
pip3 install requests
しなくても、request モジュールは標準で入っていた

参考

Ubuntu18.04にPyhton3.7を導入や設定をしよう!
https://www.sejuku.net/blog/83204