らべブログ

主にはアプリ開発や資産運用について書いていきます

初めてのWebアプリ制作①

機械学習の勉強ばかりをしていましたが、「機械学習の知識だけ持ってても実際に使えないと意味なくね?」と思うようになりました。そう、今まで僕はひたすらインプットをし、ちょくちょくKaggleでアウトプットするくらいで、一度も何かを作ったことがないのです。

何も作れなければエンジニアではない!というわけで、就職のことも考えなければ取り返しのつかないことになる時期になってきたこともあり、Webアプリとやらを作ってみることにしました。

どんなアプリを作ろう?

役に立つものを作ろうと思うと何も浮かんで来ない。よし、自分の好きなもの関連で作ってみよう。というわけで真っ先に浮かんだ犬関連のアプリを作ることに。

まだぼんやりとしか決まっていませんが、何かの事情で飼えなくなってしまったペットを代わりに飼ってくれる人を探すのに使える会員制アプリのようなものを作ることにしました。

どのように作るか

 Webサイトの模写は少しやったことがあるので、HTMLやCSSで簡単なページのコーディング程度ならできるのですが、サーバーなどの知識が一切ないため、何をやればいいかさっぱりわかりません。というわけで、PythonのWebアプリフレームワークの有名どころのDjangoに関する書籍、「動かして学ぶ!Python Django開発入門」を参考に作っていくことにしました。

この書籍の前半部分を読んでみましたが、正直ほとんど意味が分かりません。「フレームワークなんてものがあるんだから作ろうと思えば簡単につくれるんじゃね?」なんて考えてた自分を殴りたくなるほどに意味が分かりませんでした。

開発準備

正直ルーティングやらビューやらなんやらをどのように結び付けていくのかさっぱりわかっていませんが、とにかく作り始めることにします。

まずはアプリを作るのに使うものをインストールするところから。僕はAnacondaでまとめてインストールしているため、DjangoなどもAnaconda Navigatorの仮想環境上にインストールしていくことになり、早速書籍通りにはいきません。Anacondaでの仮想環境の作成は簡単でよかったのですが、PostgreSQLがなかなかに謎でした。

外部でインストールすればスーパーユーザーとしてログインできるようなのですが、Anaconda上でインストールすると、スーパーユーザーの登録?のようなことを一切しないため、書籍通りのコマンドは使えなかったのです。そこでひたすら調べ倒し、なんとなくこんな感じのコマンドで進めていけばデータベースを作ることができるのでは?というものを見つけることができましたが、その時にはすごい時間になってしまっていたので、試す前に寝ることにしました。

 

明日は今日発見したコマンドを試し、残りのPycharmのセットアップやバージョン管理システムの導入などをし、アプリ作成に入っていけたらなと思います。

作業内容を簡潔にまとめたブログを作る気だったのですが、書き始めると日記のようになってしまったので、基本はこのスタイルで書き、簡単に解決しなかったところを別の記事にまとめていく、というスタイルで行こうと思います。