pythonの勉強再び

      2022/02/19

プログラミング習得に挫折する人が多い理由

ノンプログラマーでもできるPythonでWebサイト構築➀
※厳密にはpythonでスクレイピングしたものをwordpressにアップして表示していると思われますので、サイト自体もpythonで構築されているわけではないようです。
wordpressにはrest api を使って自動投稿できるようです。WordPressで記事の自動投稿できるようになる

現在、日経平均株価などを手動で記録していますが、上記記事を読んで忘れかけていた(否完全に脳内に残ってない)pythonでwebサービスを作って大金持ちになるという野望が再び湧いてきました。
ということで完全なる個人的なつぶやきですのでスルーして頂ければと存じます。

思い返せば2年数か月前に時は止まっていたようだ。一体あれから俺は何をしていたのだろうか。。。。(笑)

結局のところ一から文法を覚えたところでwebサービスは作れない。
便利なフレームワークを活用するしかないし、みんなそうしている。
要するに言語を覚えるのではなく目的のフレームワークが使えるようになるために文法などを理解するのだ。
そして、そのためには開発環境やどうやってそれを公開して、運用していくのか、それができなければ画に描いた餅である。

ちまたによくあふれているノンプログラマにでもとか、初心者でも、とかこういう本はまったくあてにならない。
そもそも一から条件分岐だとか正規表現だとか文法を解説されたところで理解できないし、それが一体何に使われるかさえ分からなければモチベーションさえ保てない。
また、分かったところでそんなもん一から記述している人なんているのか、というかどうせコピペだろうし、それでいい。原理さえ分かっていれば。

ということで参考になるもの
【Python(パイソン)】でホームページをつくった時の話
こういう話が聞きたいんですよ。どの言語でもそうですが、入門とか初心者で検索すると、その言語での書き方とか文法とかそんなのばっかなわけです。
それである程度理解してもその段階で目的のサービスは作れないのでまた勉強なわけです。また、地味にめんどくさいのが開発環境ですよね。
ここらへん初心者ほど分かりませんから文法ばっか理解しようとして、理解してないからまた勉強し直したりしてそのうち挫折するわけです。ええ、私の事です。

VirtualBox(バーチャルボックス)インストール
Vagrant(ベイグラント)をインストール
Vagrant(ベイグラント)内にPython(パイソン)をインストール
pip(ピーアイピー)やflask(フラスク)、virtualenvなどインストール
flask(フラスク)の設定、ローカルで表示確認
プロジェクトフォルダでGit(ギット)設定
Heroku(ヘロク)プロジェクト作成
Heroku(ヘロク)用にファイル作成
Heroku(ヘロク)にファイルをアップロード
Heroku(ヘロク)側で表示確認

という流れでしたが、VirtualBox関連は結論として不要と判断しました。以前もやった記憶がありますが、PCのスペックがあまりよろしくないので仮想環境つくってしまうと他の事できなくなりそう。
また記事の最後に触れられていますが、「ローカル環境とVagrant(ベイグラント)環境の同期で手間があり、Anaconda(アナコンダ)+heroku(ヘロク)で対応の方がいいかもと思ってたりします。」ということでした。
アナコンダってなんだったけ?色々と調べると特に使う必要はなさそう。もしかすると以前導入したかもしれない。

エディタやIDE、アナコンダは必要なのか問題

いずれにしろ、エディタorIDEを何にするのか問題がある。テキストエディタ・エディタ・統合開発環境(IDE)の違い
こういのは結局慣れとか好みの問題だと思うが、高機能なものが推奨されがち。初心者には荷が重い。以前も色々試したが、どんなエディタ使っていたのかさえ忘却の彼方。

Django Girls のチュートリアル

エディタの事からインストールやインターネットの仕組みまで、ブログなども作ったりして至れり尽くせりで無料とか。本を買うのが馬鹿らしくなってしまいますが。

そう言えばアナコンダはpythonのインストールなどもラクにやれるからというものがあったが、そういう理由なら別にアナコンダが必ずしも必要とはならないな。

色々調べた結果PyScripterをとりあえず今回は使ってみよう。まずインストールしようと思ったが、
【Python/IDE】PyScripterをインストールして処理を1行ずつ実行してみた
「PyScripterを使用するにはインストールする端末にPython2.6以降のバージョンがインストールされている必要があります。」
なんと(笑)もしこれを見落としていたら、また動かないとか途方にくれるのだろう。そして速攻挫折するのである(早すぎ(笑))。

さて、いつになったらジェフベゾスを超える大金持ちになれるのか。。。。残された時間はあまりない、資金が底をつくのが早いのか、pythonを習得するのが早いのか。。

また、2年後くらいに同じ事言ってるだろう。。。

勉強を再びやる前に確認しておきたいことがある(山ほど)。いや、これも勉強だろうか。
実際にサイトを作って世の中に公開する時に問題になるのはセキュリティである。まだ、何も作ってないくせにセキュリティの心配とかしてどうする、だから全然前に進まないんだよと言われるだろう。もっともである。
高校の頃の体育の授業を思い出す。その日は近くのアイススケート場でスケートの授業だった。体育の教師に止まり方を質問したところ、その教師はこう言った。
満足に滑る事も出来ないくせして止まり方を覚えるなど笑止、と。生徒の真摯な質問を一笑に付する輩などもはや教師ではない。

Webアプリのテンプレートなら『cookiecutter』がよさげ【簡単で安心】

色々とググっていたらbottleというフレームワークがあるらしいことを知る。
python製フレームワークBottleで簡単なWebアプリを作る(その1)
小規模で簡単なものしか作れないようだが、まずはこんなもので練習するのもいいかもしれない。

Pythonでwebサイトを作るのは簡単ですか?他の言語の方がわかりやすいですか?

要するに目的によって使用する言語の優位性は変わってくるということで、何がいいのか?一概には決定できないようである。
とは言え、pythonでサイト、或いはwebサービスを作る場合はpythonのやり方に従う。しかし、例えばPHPだかjavascriptだかはHTMLなどで書かれたものに組み込める。
pythonの場合はpythonの枠の中にHTMLがある感じだろうか。
従って、単なるホームページでたまに記事を更新するような程度のものにわざわざpythonを使うのは非効率的と言えるだろう。もっとも全然PHPを知らず、pythonしか知らなければ話は別だな。
ということで好きな言語使えばいいんじゃね、的な感じとなる。
そもそもなんでpythonを勉強しようと思ったのかしら? なんとなく大金持ちになれそうだったからだな(ナンデスカソレ)。
いや、pythonとFlaskで簡単にwebサービスが造れますよ的な本に感化されたからだった。。。

pythonの開発にvirtual box とか必要なのか問題

pythonの開発をするときに仮想環境という言葉が随所に出てくる。プログラマの方々にとっては当たり前なのかもしれないが、素人には何のことか分からない。
仮想環境とは、と説明されるとなんとなくわかった気になるが、pythonをインストールする際にvirtual boxで云々かんぬん。
virtual box という仮想環境にインストしてしまえばそれでいいかというとどうやら違うようである。
このあたりきちんと切り分けて説明されているものを見たことが無い。
仮想環境
venv で仮想環境を作成するのが一般的であり、ここではvirtual box の話はでてこないようだ。ん?初心者はこのあたりで躓くのだ。
仮想環境というからには何やらPCの中にそういう環境を作るようなイメージだが、venvという奴は極論すればある特定の場所である特定のpythonプログラムを実行できるものようである。確かに環境と言えるかもしれないが、virtual boxはそのvirtual boxの中にpythonそのものをインストする事のようである。従ってその中でさらにvenvを使ってさらにプロジェクト毎などに別々に動かせるようにする(別にしなくても構わないだろうが)。
最初pythonをインストールする時にvirtual boxがどうのと書いてあったのでvirtual boxにpythonをインストしたらそれでいいと思っていた。
初心者というものはこんなことさえ分からないのである(いや、あんたがバカなだけだろという言葉は甘んじて受け止める)。

今回pythonを使う目的

ここで一旦pythonを使って何をするのか目的とそのための大枠を概観しておきたい。
まずは
株価などをスクレイピングしてそれを加工整形してグラフやチャート化してサイト上にアップしたい。
とりあえずこれでいいだろう。
スクレイピングするだけならRとかでもいいし、VBAでもいけるので敢えてpythonでやる必要もないが、その先には壮大な野望があるのだ

なんつって

pythonのインストール

Windows版Pythonのインストール
公式サイトのダウンロードは分かりにくい

仮想環境について

【種類別】Pythonの仮想環境を使うメリット4つと使い方を紹介!
virtual boxなどはPCの中に別のPCを構築するようなものだと言える。
そういうものは必ずしも必要ではない。
virtualenvを使おう。

エディタ

【Python/IDE】PyScripterをインストールして処理を1行ずつ実行してみた
単なるエディタだと使う意味はあまりない。また、エディタと統合開発環境がごっちゃになって紹介されている場合が多い。
PyScripterは統合開発環境らしいのでとりあえずこれを使ってみよう。




 - python