Pythonの勉強再開
AtomやPython環境のアップデートを行い、Pythonの勉強をリスタートしました。
週末プロジェクトの状況
人工無脳の設計
- 「元気が出る会話」とは何か決める
- 「元気が出る会話」のパターン(その2) - 週末文書で会話のタイプを分類分けしました。当面、プログラムによる実装を目指すのは下記2つのタイプとしようと思っています。
- とにかく肯定的なあいづちを返すタイプ
- 何かしら気晴らしを提供するタイプ
- 「元気が出る会話」のパターン(その2) - 週末文書で会話のタイプを分類分けしました。当面、プログラムによる実装を目指すのは下記2つのタイプとしようと思っています。
- 人工無脳の実装方式を決める
人工無脳の開発
- プログラミング環境を整える
- Atomエディタをアップデートし、日本語メニューを導入しました。
- pyenvを導入し、Python3.9.6版をインストールしました。
- プログラミングを学ぶ
- Pythonプログラミング一般について、Pythonでゼロからでもサービス開発・公開できる学習ロードマップ - Qiitaに従って、あれこれ見てみました。今回はWebデザインフレームワークBootstrapの基礎知識まで。次回はFlask導入まで行きたいです。
- デザイン知識がなくてもOK!Bootstrapの使い方【入門者向け】 | TechAcademyマガジンを見て、グリッドシステム、テーブル、ボタン、フォームの基本事項を把握。
- Bootstrapの使い方とは?初心者でもわかる使い方をまとめて解説!! | 侍エンジニアブログから、レイアウトの基本要素である幅、余白(パディング、マージン)の指定を把握。
- Bootstrapのグリッドシステムの使い方を初心者に向けておさらいするで、グリッドシステムにの基本要素である.container、.row、.colについてもう少し詳しく把握。
- Bootstrap · 世界で最も人気のあるフロントエンドフレームワーク からサンプルをダウンロード。
- 人工無脳関係について、写経したPython初心者に送る「人工知能の作り方」 - すなぶろのコードを見直したところ、Pythonの基本知識でいくつか疑問が出たので確認。
- format()の仕様ってよく知らないなと思ったので検索したところ、Pythonの文字列フォーマット(formatメソッドの使い方) | ガンマソフト株式会社が詳しくてわかりやすい解説でした。
- 同じくPropertyについても忘れてしまったので、pythonのプロパティのあれこれ - Qiitaで復習。インスタンス変数を保護しつつ簡単にアクセスする方法と理解しました。
- Pythonプログラミング一般について、Pythonでゼロからでもサービス開発・公開できる学習ロードマップ - Qiitaに従って、あれこれ見てみました。今回はWebデザインフレームワークBootstrapの基礎知識まで。次回はFlask導入まで行きたいです。
- プログラムを設計・開発する
人工無脳の公開
- 公開環境を整える
- 運用体制を整える
- プログラムを公開する
Python環境のアップデート
2年も放ったらかしにしていたので、いろいろバージョンが古くなってしまいました。
あれこれアップデートすることにしました。
Atomエディタのアップデート
今どきアプリケーションが自分で更新してくれるだろうということで、最初にAtomエディタの更新を片付けることにしました。ところがAtom自体の「check for update」がエラーとなってアップデートできません。原因究明も面倒くさいので、最新版をダウンロードして、アプリケーションのファイルを入れ替えました。
今までは見栄をはって英語メニューのままで使ってましたが、この際、テキストエディタ「Atom」のインストール・日本語化と設定しておくと便利な機能|おふとんしてたらまたねてたに従って日本語化とおすすめされているパッケージの導入を行いました。
Pythonのアップデート
Homebrew, pip, pyenvの違い
今までPython3をpython.orgのインストーラーを使って直接インストールしていました。
どうも、世間ではMacの場合、Homebrewを使ってPythonのパッケージをインストールし、pipなどでPython世界のライブラリ・パッケージなどをインストールとするやり方をとるのが一般的なようです。Homebrewとpipやその他のpyenvなどのツールの違いがわからなくて、あれこれ調べた結果、下記の整理で納得しました。
- Homebrew
- pyenv
- pip
上から下に行くに従って小さい世界になっていくイメージ(下のものが上に含まれる)でしょうか。
他に、プロジェクトごとのライブラリ管理を行うためのvenvというものもあるようですが、これはまた後で考えることにします。
Python/Matplotlibでフィボナッチ螺旋を描いてみた
Pythonプログラミングの入門書を読んで勉強中です。
実行環境を用意しシンタックスもなんとなくわかってくると、何かプログラムを書いてみたくなりました。
で、ふと「フィボナッチ螺旋」を書いてみようと思ったわけです。
フィボナッチ螺旋
ここで言っているフィボナッチ螺旋というのは、辺の長さがwikipedia:フィボナッチ数列になっている正方形を組み合わせ、その正方形の頂点を通る円弧(四分円)を結んだものです。
本当は、Wikipediaにある黄金比を使ったwikipedia:対数螺旋である黄金螺旋でないとフィボナッチの螺旋と言えないような気もします。しかし、対数螺旋を書くのはどうも手にあまりりそうだったので、円弧の連結による書き方*1をとることにしました。
*1:この書き方で書いた螺旋を「フィボナッチ螺旋」としているWebページもままありますし。