未熟学生エンジニアブログ

プログラミング・Web開発をする大学院生のブログ

Django製フリマサイト「ホクマ」ができるまで part3

「ホクマができるまで」シリーズについて

シリーズの目次はこちらにあります。今回は第2回です。

swiftfe0.hatenablog.com

この度「ホクマ」という北大生限定フリマWebサービスを作りました。(GitHub)

hufurima.com

その作り方について大雑把に解説していくことで、(基本個人)学生によるWebサービス開発の流れを説明していきたいと思います。

使った技術

f:id:swiftfe:20181006223428j:plain

サービス開発の流れ(簡単に)

  • 1 前提知識
  • 2 Djangoを始めた(Django Girls Tutorial)
  • 3 いろんなDjangoサイトを適当に作った
  • 4 「ホクマ」を作り始める
  • 5 開発を続けていくために
  • 6 開発ツールについて

今回は「2 Djangoを始めた(Django Girls Tutorial)」と「3 いろんなDjangoサイトを適当に作った」について書いていきます。

2 Djangoを始めた

part2で書いたように、Djangoを始めることになった僕ですが、以下のようにRailsの経験があり、Djangoにはある程度スッと入って行くことができました。

  • Railsの経験(同じような形式の言語違いのものを使ったことはあった)
  • 2週間もあればできるようなものしか作ったことがなかった
  • HTML・CSSがある程度読み書きできるようになっていた(jsはちょっとだけ)

しかし、実際にはRailsでのWeb開発からも半年ほど離れていたので、結局忘れていることも多かったです。Djangoを書きながら学び直していきました。

2. 1 Django Girls Tutorial

Djangoの入門は、[Django Grils Tutorial}(https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/)ではじめました。この他にDjango公式のチュートリアルもあるのですが、こちらのDjango Girls Tutorialは、

  • より初心者に優しい作り
  • windows, linux, macに対応
  • 実際にWebサイトの全世界公開までをサポート

と、非常に親切な内容です。とりあえずDjangoを使っていい感じのブログサイトを作れるという、かなりおすすめの内容になっています!(ただし、有志の作成なので、若干古くなってしまっているところがあり、そこが残念なところではあります。(英語版は新しい?))

僕はまずこのチュートリアルを動かすことで、Djangoの基本を知ることができました。

3 いろんなDjangoサイトを適当に作った

基本を抑えたら、そこをベースに色々いじって自分オリジナルのサイトを作っていきました。

Djangoの強みは、当たり前ですが、pythonのプログラムを自由に動かせるところです。python機械学習や画像処理系のライブラリが充実しているので、機械学習や画像処理の簡単なプログラムを動かしたりしてみました。

実際には、以下のようなアプリ(サイト)を作りました

  • アカウント登録機能付きブログサイト
  • OpenCVを使った画像アップロード・加工サイト
  • Seq2Seqという機械学習アルゴリズムを使ったチャットボットサイト

これらのサイトを自分で作るとなると、リファレンスやサンプルが必要になってきます。僕は以下のサイトでよく調べていました。

naritoブログさん

torina.top

narito.ninja

Django公式ドキュメント

Django ドキュメント | Django documentation | Django

上の「naritoブログ」さんは、日本語情報の少ないDjangoを調べて行く中でかなり使いました。最初に作った「アカウント登録機能付きブログサイト」はこの人のリポジトリを参考にしていました。(今確認したらリポジトリ消えていました・・・泣)

でも、読めるなら公式ドキュメントを読んでいくのがいいですね。Djangoは日本語情報が少ないので、公式ドキュメントの内容をちゃんと理解してないとエラーを解決できないことも割とあります。しかし、そのおかげで公式ドキュメントを読む大切さや、Django自体の理解(なんとなくコピペ的に使うのではなく、理解した上で使える)ができたので、決してマイナスではないですね。

日本語ドキュメントがないので、エラーが出た時など、ドキュメントから探しにくい情報は、Stack over flowなどの英語サイトを活用しましょう。英語情報への抵抗もDjangoのおかげで結構なくなりましたね。(僕はToeicは630点なので、まあ普通くらいの英語力だと思います)

最初の間は、一気に大きなものを作るというのではなく、小さなDjangoサイトをいくつか作ってみるのがいいと思います。 将来作りたいものにどんな機能が必要かな?と考えて、その機能を全部一緒のサイトで使うのではなく、いろんなサイトで少しずつ機能を使ってみて覚えて行くのがいいと思います。 具体的には、2、3週間で作れてしまうものがいいと思います。 挫折したらもったいないので、小さな完成を通して技術のストックを貯めていきましょう!

おまけとおさらい:Djangoのおすすめの勉強方法

  • まずはDjango Girls Tutorial または Django公式チュートリアルをやる(できれば公式をやるべき)
  • 公式ドキュメントやnaritoブログさんなどを読んで自分の作りたい機能を実装したサイトを何個か作ってみる
  • Dangoは日本語情報が少ないので、エラーなどはStack over flowなどの英語サイトを活用して解決しよう

次回

次回は、ついに「ホクマ」の作成を始める話に入っていきます!

ついで: 僕のプログラミング歴について

以下の過去投稿にあります

swiftfe0.hatenablog.com

twitter.com