bookmark_border開業しました

色々と思うところがあって、9月に会社を退職しました。

妊娠出産も重なって、ちょうどいい機会だし退職を決意しました。

今後は副業を本業に切り替えて頑張るか、子供が生後半年ぐらいになったら就活するか・・・と悠長なことを考えていましたが、上の子の保育園問題考えたらそうもいかず。
当たり前ですが、退職してるんだから保育園通わせられなくなってしまいます。(地域によると思いますが)
幸い、産後8週間は出産のためという理由で継続して保育園に通わせられるのですが、その後はすぐに就活するか働くかしなければならず。

色々考えた結果、2021年12月6日をもって開業しました。

まだ下の子が保育園に通えておらず時間の捻出が大変なのもあり、しばらくは仕事よりも勉強メインで頑張ります。

技術的なことはもちろん、どう営業していくか、経理の入力どうするかとかの勉強もしていかないとね。
あとは資格も欲しいし・・・時間の捻出が大変と言いつつも、やらないといけないことたくさんだな。

・・・頑張ろう。

bookmark_borderAndroid SDK Toolsがない(Android Studio/Mac M1)

Mac M1にFlutterの開発環境を整えている最中、Androidのライセンスを許可しようとするがAndroid SDKが見つからない問題が発生して許可できない。

flutter doctor --android-licenses

を実行すると

Android sdkmanager not found.

とエラーが出る。

Android sdkmanager tool not found.の解決法

対処法を調べるとこちらのページが出てきたので参考にしながら進めるが、Android SDK Toolsという項目がない。なんでやねん。

よくよく画面を見比べると、こちらには「Android SDK Command-line Tools (latest)」という項目がある。

(写真ではStatusが「Installed」になっているが、この時点では「Not Installed」でした)

これにチェックを入れてApplyし、再度以下コマンドを実行。

flutter doctor --android-licenses

今度は上手くいった。

bookmark_borderpandasをimportすると「Could not import the lzma module」とエラーが出た時の対処(MacBook M1)

CSV操作のためpandasをインストールしインポートするが、「Could not import the lzma module」とエラーが発生し実行できない。

無事調べてみた情報で解決できたので、手順を残しておきます。

参考にしたのはこちらのサイト様たち。

[Python3 / pandas] pandasをアップデートしたら、lzmaなるmoduleがimportできないというメッセージが出た

ModuleNotFoundError: No module named ’_lzma’ #27532

手順

lzmaの有効化

まずはエラー文にもあるlzmaをインストール。

brew install xz

.zprofileを編集。

vi ~/.zprofile 

.zprofileに以下を追記。

prefix=$(brew --prefix)
export LDFLAGS="-L$prefix/opt/xz/lib $LDFLAGS"
export CPPFLAGS="-I$prefix/opt/xz/include $CPPFLAGS"
export PKG_CONFIG_PATH="$prefix/opt/xz/lib/pkgconfig:$PKG_CONFIG_PATH"
# YOU CANNOT HAVE THE GNUBINS in your PATH when you run this
export PYTHON_CONFIGURE_OPTS="--enable-shared"

追記した環境変数を有効化。

source ~/.zprofile

Pythonの再インストール

再インストールの前に、インストール済みのライブラリを確認。
(Pythonを再インストールすると、インストールしていたライブラリが消えてしまったので)

pip list

現在使用しているPythonのバージョンを確認。

python --version

pyenvを使って確認したバージョンをアンインストール。
(私の場合3.9.6を使用していました)

pyenv uninstall 3.9.6

この段階でPythonのバージョンを確認すると2.7.16となっており、

pyenvを使って、先ほどアンインストールしたPythonのバージョンをインストール。

pyenv install 3.9.6

pyenvを使って、インストールしたPythonのバージョンに切り替える。

pyenv global 3.9.6

.zprofile、.zshrcの内容を反映させる。

source ~/.zproflie
source ~/.zshrc

再度Pythonのバージョンを確認し、インストールした。

ライブラリのインストール

pip list

でインストール済みのライブラリを確認しつつ、Pythonをアンインストールする前にインストールされていたライブラリの状態に戻す。

pandasをインストールする。

pip install pandas

以上の手順で、pandasをimportしたpythonファイルを実行できるはず。

bookmark_borderPythonの対話モード開始と終了

対話モードとはインタプリタ上でプログラムを入力、実行できるモード。

対話モードの開始は、コンソール(またはターミナル)上で

python

と入力。

>>>

と表示され、入力待ち状態になる。
ここでプログラムを入力するとそのまま実行出来る。

対話モードの終了は、

exit()

と入力するか、「Ctrl+D」で終了できる。

よく間違えて対話モードにしちゃうけど、終了方法なんだっけ?ってなることがあるからメモ。

bookmark_borderGoogle Maps APIでREQUEST_DENIEDエラーが出る

昔作成したPlace BookmarkにてGoogle Maps APIを利用しているのだけれど、Mapを開くとREQUEST_DENIEDエラーが表示され、「Google Mapを正しく読み込めませんでした」と表示されるようになっていた。

調べるとこちらの記事内に書かれている『1. 「このページではGoogleマップが正しく読み込まれませんでした」というエラーが表示された』の内容が今回の状態に当てはまり、記事に書かれている解決方法で無事に解決できた。

Google マップや地理位置情報取得時のトラブルシューティング

記事にはこの状態になった場合、2つの原因が考えられるとあるけれど、私は両方当てはまっていました・・・。(おいおい)

1.請求先が無効になっていた

まず1つ目の原因。

そもそもGoogle Maps APIの利用には請求先の登録が必要なんですが、登録していたクレジットカードの期限更新をするのを忘れており、請求先が無効状態になってしまっていました・・・。

クレジットカードの期限切れには要注意ですね。(当たり前)

2.Google Cloud Platformの無料トライアルが終了していた

こちら2つ目の原因。

Google Cloud Platform(APIなどGoogle が提供するサービスをクラウド上で利用できるもの)を開くと、上の部分に「無料トライアルは終了しました。」と表示され、Always Freeを有効化するかというアナウンスが出ている。

Always Freeもどうやら無料枠内があるようなので、Always Freeを有効化し、念のため予算を¥0に設定しておきました。

以上2つの原因を解決させて再度Mapを開くと、無事エラーが出ることなくMapを見ることができました。

公開し続けるサービスは定期的に確認が必要なこと、期限があるものは管理しなければいけないことを改めて認識させられました・・・。

bookmark_borderWordPressのパーマリンクにindex.phpが入る

いつの間にかブログのURLが “https://enlico.net/index.php/blog” になっていました。
(前は”https://enlico.net/blog”だった)

投稿の各ページも “https://enlico.net/index.php/(ポスト名)” になっている・・・。

設定→パーマリンク設定から確認すると、カスタム構造が選択されており、「index.php/%postname%/」になっている。

他の設定にしたりindex.phpを消すと、なぜかブログページにアクセスした際に404エラーとなってしまう。

なぜ!?
と色々調べて試したところ、無事解決したので記事を残す。


解決に導いてくれたのはこちらの記事。

WordPressのパーマリンクからindex.phpを消す方法

Apacheの設定ファイル、httpd.confを弄るみたい。

まずはhttpd.conf内からWordpressの.htaccessファイルがあるディレクトリのAllowOverrideを探し、NoneからAllに変更する。

私の環境ではWordpressは/var/www/html/に入っているので、

<Directory "/var/www/html">
・・・
  AllowOverride None
・・・
</Directory>

を探して、NoneとなっているところをAllに変更して保存しました。

変更したら、念のためhttpd.confのバックアップを取っておいてから

service httpd restart

でApacheを再起動。

そして再度ブログページを開いてみると、URLが”https://enlico.net/blog”に変わりました!

投稿の各ページも “https://enlico.net/blog/(ポスト名)”になっており、パーマリンク設定も投稿名「https://enlico.net/sample-post/」が選択されていました。

なぜ変わったのか、いつ変わったのか分からないけれど無事に解決して良かった。

bookmark_borderPythonコードチェックツール

Pythonのソースコードを自動チェックしてくれるツールはないかと探すといくつか出てきたけれど、今回はflake8というチェックツールを使用してみたのでそれについてまとめる。

今回主に参考にしたサイトはこちら。

Pythonのスタイルガイドとそれを守るための各種Lint・解析ツール5種まとめ!

pythonでコーディング規約(pep8)に準拠しているかチェック方法

flake8とは、ソースコードがPythonのコード規約(PEP8)に則っているか、論理的エラーがないか、また循環複雑度を確認するツール。

pycodestyleというコード規約チェックツールと、pyflakesという論理的エラーチェックツールの機能に+αで循環複雑度チェックの機能が入っているらしい。

※pep8というツールが新しくなったものがpycodestyleらしい。(pep8自体は今も使える)

pip install flake8

でインストールして使用可能となり、

flake8 main.py

で実行可能。
(main.pyの部分には確認したいソースファイルを入れる)

実行してみるとこんな感じでエラーが出てきました。

エラー出すぎ!!

「E」や「W」から始まるエラーコードはコード規約エラーまたは警告、「F」から始まるエラーコードは論理的エラーの検知、「C」から始まるエラーコードは循環複雑度の検知らしい。

flake8 ./

のようにディレクトリを指定してやると、ディレクトリ内の.pyファイルをすべてチェックしてくれるみたい。
便利!!

その他にも

flake8 main.py --show-source

のようにオプションをつけて送ると、ソースコードの指摘箇所も表示してくれるようになるみたい。

ちなみにオプション一覧は

flake8 --help

で確認可能。

autopep8というツールを使うと自動でコード修正までしてくれるみたいだけど、最初はエラーを確認しながら自分で修正していきたいのでとりあえずは使いませんでした。
(手間に感じてきたら使うかも)

bookmark_border切迫早産で入院

現在妊娠22週目なのですが、まさかの入院することになりました。

動くとかなり痛む腹痛(安静時はマシになるが、なくなるわけではない)が夜から朝まで続き、病院へ。

子宮頸管長もNSTも問題なく、念のため血液検査しとこっか〜と言われて行った血液検査でアウトに。

CRPって数値が高く、感染症にかかってるかもとのこと。

感染症はお腹の張りを促進させるらしく危険なので、念のため入院してお薬投与して経過観察するんだとか。

おかげでお仕事1週間お休みですよ…辛い!

入院中は副業と勉強に励む気満々だったけど、思ったより身体がしんどくてなかなか捗らないのがまた悲しい。

んー頑張ろう。

bookmark_borderLet’s Encrypt自動更新

定期的に手動で更新してたけど、面倒くさくなったので自動更新を設定した。

参考にしたのはこちらのサイト。

Cronという仕組みを使うらしい。
まずは以下のコマンドを入力して、自動実行の設定ファイルを開く。

vi /etc/crontab

ここに設定を追記することで、コマンドを自動実行してくれるらしい。
参考にしたサイトでは毎日実行するようにしているが、私は毎月実行するように設定することにした。

Cronの日時指定については、このサイトを参考にして作成。

https://www.yoheim.net/blog.php?q=20190902

記入した設定はこちら。

0 3 1 * * root /usr/bin/cetbot renew

おそらくこれで毎月1日 3:00に更新コマンドを実行するはず。

もしこれでできてなかったら、追記します。

bookmark_borderLet’s Encrypt更新

有効期限が残り30日を切ったので、更新しました。

参考にしたサイトは、以前Let’s Encryptを導入した際と同じサイトです。
過去の記事にサイトのリンク貼ってます。

https://knowledge.sakura.ad.jp/10534/

管理者権限でSSHにログインして、下のコマンドを実行。

certbot renew

何行かぶわーっと英文が表示された後、最後はこのような文が表示されました。

 

再度コマンドを実行すると、まだ更新できないよ~といった文の後にこのように表示されました。

今は手動で更新してるけど、いつか自動更新を導入したいところ。
(いつかっていつだろう・・・)