くじらの覚えがき2

おもに勉強ノート、現在ハマっていることなど、不定期で更新しています。書きかけの情報や間違った内容などが掲載されることもありますが、何卒ご容赦ください。

Pythonのポリモーフィズムを勉強しています

ひきつづきPython修行中です。

オライリーの「入門Python3」の「ダックタイピング」のところで
いまひとつ「ポリモーフィズム」の意味が分からずにいましたが
下記のコードを見つけて納得したのでメモ。


class Shape:
    def area(self):
        pass

class Rectangle(Shape):
    def __init__(self, width, height):
        self.width = width
        self.height = height
    
    def area(self):
        return self.width * self.height

class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius
    
    def area(self):
        return 3.14159 * self.radius**2

class Triangle(Shape):
    def __init__(self, base, height):
        self.base = base
        self.height = height
    
    def area(self):
        return self.base * self.height * 0.5

def calculate_area(obj):
    print(obj.area())

rectangle = Rectangle(4, 5)
circle = Circle(3)
triangle = Triangle(5,1)

calculate_area(rectangle)
calculate_area(circle)
calculate_area(triangle)

VPSその後2

今日はvenvで「仮想環境」の作り方を覚えました。

 

それを試すためだけに新たにサーバーを追加して、
使えるのがわかったところでまた削除。

 

Djangoを使う場合、
これまで使っていたようなLAMP環境と同じではないことを知りました。

 

同じVPSサーバーの中で
「venv」ではDjango用にセットアップして
「venv2」ではApachePHPMySQLを入れることができるんですね。

 

本来はバージョン違いやライブラリ構成が異なる環境を使い分けるためのものとか。
当面必要はなさそうだけど、いろいろできて面白そうです。

 

あと、Anaconda Navigatorをインストールして
DjangoでWEBページをあっという間に表示できてしまったのにはびっくり。

 

Udemyの講座の導入部分で
言われるままに進めただけの結果なので、理解が追いつきません。
一つ一つちゃんと理解できたら楽しくなりそうです。

 

Djangoの講座では、必ず最初に「MVTモデル」について説明されますが
それもまだ直観的には理解できていません。

 

何となく、PHPで昔よく使っていたテンプレートエンジン「Smarty」の

ディレクトリ構造を思い出しますが、それともだいぶ違う感じ。

 

PHPはサーバーにアップロードすれば動くので、単純でよかったなぁ。

 

追記 : 

根本的に勘違いをしていたかも。
ここでいう仮想環境は基本的にPython絡みのことであって、
環境ごとにApacheMySQLがインストールできるわけではないということ。

複数の仮想環境の上流にあるのが、たとえばroot環境としてのAnaconda。

「pyhon 仮想環境 図」と検索してわかった。

 

もともとインストールされているそれらのアプリケーションと、
pythonが連携をとったりとらなかったり、
いろいろなライブラリを使ったり使わなかったり、
一方の環境ではバージョンの違うライブラリを使ったり、

目的しだいでいろんな組み合わせが一つのサーバー内で構築できる、
そういうバリエーションが作れる、という理解でいいのかな・・・

pythonは複数インストールできるけど、
ApacheMySQLが何種類もインストールできるわけではないよね・・・

 

そりゃそうだ。

 

 

VPSその後

UdemyでPythonの基礎を勉強しながら

VPS構築も修行しています。

 

予想通り、conohaVPSの時間課金サーバーを新たに追加するたびに

同じコマンドを0から打ち直しているので、だいぶ慣れてきました。

 

ApachePHPMySQLphpMyAdmin、その他使いたいPythonライブラリまで

毎回スムーズにセットアップできるようになりました。

 

現在はCentOS stream9のサーバーを選択していますが

そろそろUbuntuでも試したほうがいいかもしれません。

 

いろいろ遊んでいるうちに、やりたいことが漠然と見えてきました。

 

データベースを使って、

ワードプレスではないシンプルなブログが作りたいと思っているので

つぎはDjangoを勉強する予定です。

 

Google広告やYahoo広告、GA4のデータ分析もやってみたいので

APIについてもしっかり勉強する必要があるかもしれません。

 

還暦過ぎのプログラミング修行、何だかきりがありません。

毎週土日はVPSの日

Pythonの勉強のため、VPS構築の修行をはじめました。

 

PythonExcelを動かして遊ぶのもなかなか面白いんですが、

やはりWEB上でデータベースとつなげて何かしたいので、

conohaVPSの時間課金のサーバーを使ってみることにしました。

 

まだ右も左もわからないので、

その日に追加したサーバーで行けるところまで行ったら、そこでキッパリ削除。

サーバーは停止してても課金されるので、

やっと動くようになったサーバーでもそのつど削除するのです。

 

もちろん使ったコマンドなどはそのつどメモしておきます。

他の日はまた新規のサーバーを追加して、メモを見ながら行けるところまで😊

 

毎回まっさらなサーバーから同じ手順を繰り返すせいか、

コマンドを打つのもちょっとずつ慣れてきました。

 

平日は仕事があるのであまり触らず、ほとんど土日が中心。

おかげさまで、ウソみたいに安く使えています。

 

ApachePHPMySQL(MariaDB)、phpMyAdminの追加までは、

何とか滞りなく進むようになりました。

 

今日は、Pythonとpipを入れてみたので、

これでやっと本来の目的に近くなってきました。

 

気の長い修行です・・・還暦過ぎたし、いいか。

 

 

 

 

Bluetoothイヤフォン

PCに接続しているワイヤレスイヤフォンが使えなくなり、
再度ペアリングしようとしても接続できない状態に(*_*)

ドライバの更新やら、イヤフォンの充電を満タンにするやら、
ひととおり試行錯誤しても効果なし。

ちょっと前にPCが何回かフリーズしたので、いよいよPCがダメか、
もしくはイヤフォンが猛暑でいかれたか・・

と思ったけれど、思い直してもうひとあがき・・

ググりまくって、PCの「放電」というキーワードをみつけたので、
電源やすべてのケーブルを抜いて少し放置。

再度つなぎ直して立ち上げたら、無事イヤフォンが認識するようになりました!

夜中にひとりで地味な達成感を味わって、めでたしめでたし(*^^*)


で、イヤフォンで何しようとしてたんだっけ?!

 

 

仏教

最近、仏教にはまっております。

救われたい、とか、何かを信じたい、とかいうことではないのです。

 

現在籍を置いている生涯学習の大学で、

今期たまたま仏教についての授業を履修したのがきっかけ。

 

ちなみに昨年会社を定年退職して、嘱託社員になりました。

あまり暇になったわけではないけれど

これからはもっと自分の時間を大切にしていきたいと思い始めたタイミング。

 

試験のための勉強をしていくなかで、

お経・仏典ってなんでこんなにたくさんあるの?

宗派によって内容が全然違うけれど、これ全部お釈迦様の言葉なの?

そもそも大乗仏教って原始仏教とどう違うの?

とか、素人ならではの疑問がボロボロ出てきたのが始まり。

 

ここ1か月くらい、図書館で本を借りたり

アマゾンで本を購入したり、自分なりにいろいろ調べてきました。

 

そして、授業の担当講師のおひとりである

頼住光子先生の「正法眼蔵入門」を読んでからは

曹洞宗創始者である道元

正法眼蔵」という著作に俄然興味を惹かれるようになりました。

 

私のような素人ではとてもそのまま読み解くことはできない

「日本思想史上最高の哲学書」でもあるそうです。

 

これからの「余生」?の時間を使って、全部で90巻近くある「正法眼蔵」を

少しずつ読み解いていきたいな、と感じました。

 

「信心」という言葉には程遠い

どちらかというと「挑戦」とか「攻略」に近い

不純な動機ではあるのですが・・・

 

アマゾンで「正法眼蔵」の口コミを見ても

私と同じように少しずつ読み解いていきたい、と思う人が多いようで

少なからず勇気づけられました。

 

ただ、1巻を読み始めたところではやくも挫折気味。

あまりにも仏教のことを知らなすぎて、

いきなり挑戦したのでは、だいぶ遠回りになりそうだと気づきました。

 

そこで素人ながら、仏教についての基本的なところをまずは勉強しておこう、

と思い立った次第です。

 

今は、インド哲学者・中村元先生の

原始仏教関連の書籍をいろいろ読み込んでいるところです。

 

まずは、原始仏教から大乗仏教が生まれていく経緯をざっくり頭に入れて

そのあと、日本に伝わってきた各大乗仏典についてざっくり頭に入れて

それから改めて「正法眼蔵」に挑戦する、

というのが、漠然と頭に描いているロードマップですが

果たしてうまくいくかどうか・・。

 

素人考えでどこまでできるかわかりませんが

興味の向くままに楽しんでみたいと思います。

 

 

●読んでいる本・読む予定の本

バウッダ[佛教] (講談社学術文庫) | 中村 元, 三枝 充悳 |本 | 通販 | Amazon

 

龍樹 (講談社学術文庫) | 中村 元 |本 | 通販 | Amazon

 

・現代語訳大乗仏典1~7 (中村元・著 / 東京書籍)

https://amzn.asia/d/2qRmR1l

 

正法眼蔵1~4 (水野 弥穂子 校注 / 岩波文庫)

https://amzn.asia/d/friFZQe

 

正法眼蔵 読解1~10 (森本和夫・著 / ちくま学芸文庫)

https://amzn.asia/d/2yYBicj

 

正法眼蔵入門 (頼住光子・著 / 角川ソフィア文庫)

https://amzn.asia/d/czxpBmS