最近在学习《Flask web开发》这本书,基本上已经跟着书把书中的示例代码都写了一遍。现在感觉对Flask有些入门了,想自己写一个Flask应用,但是又感觉无从下手。
据说好的程序员应该用大于50%的时间做设计,其它时间写代码。目前我能想到的设计项目有:
程序逻辑、功能设计(用户使用时的流程,该实现哪些功能)
数据库模型设计(Models)
表单设计(Forms)
路由设计(Views)
Jinja模版设计(Templates,包括可以复用的模版代码)
前端设计(准备使用bootstrap框架,但仍然要考虑:该在哪个页面引入哪个页面的超链接,比如登录页面中添加一个注册的链接;页面内容的布局)
安全设计(在前端和后端都要对用户的提交做限制,以及对用户权限的检查)
请问各位大神在做Flask web开发的时候思路是怎样的?我列出的这些是否正确,该以一个怎样的顺序进行?
ご招待ありがとうございます~
まず第一に、優れたプログラマーは時間の 50% を設計に費やしていると誰が言ったのでしょう?ナンセンス!優れたプログラマーは、時間の 80% をリファクタリング (UT) に費やします。
質問の問題は、あなたが考えすぎて行動が少なすぎることだと思います。
Web プログラムを開発するにはどうすればよいですか? Flask を選択したのは、開発が十分に速く、Flask の一連のコード構成構造に精通しており、コード フレームワーク全体がセットアップされているためです。コードの最終的な目的はデータを操作することに他ならないため、データ (モデル) は明確に定義されており、他のビューやサービスはデータの CRUD にすぎません。
これも CRUD ですが、なぜこれをうまく書く人がいるのですか?経験に加えて、リファクタリングは必須です。職人魂が反映される時代です。しかし、大規模な環境では、1 回や 2 回のリファクタリングができる人はさらに少ないです。 3 ~ 5 回リファクタリングする忍耐力があるので、良い設計はそれほど多くありません。良い設計もリファクタリングされると思うからです。
最後に: UT は復興の礎です。
はい、それだけです。ビジネス ニーズに応じてモデルを設計し、ビューにビジネス ロジックを実装します。フロントエンド オプションは多数あります。まずはブログを書いたり、Weibo や他のアプリに投稿したりして練習してください。
ご招待ありがとうございます~
実際のところ、問題のような質問はここで行うのには適していません。結局のところ、ここは具体的な実践的な問題を解決するコミュニティであり、問題の質問は一般的な方向性に関するものです。
どうやって学ぶかといえば、実際にやってソースコードを読む以外に方法はありません。今のあなたの状況では、計画を立てすぎて実行しないのは無駄です。
最も単純なログイン機能から開始し、ログイン成功後にログインしているユーザー情報を表示することをお勧めします。したがって、ここにはデータベース ユーザー テーブル、フォーム送信、パスワード検証、ログイン ジャンプなどの基本操作が関係します。この機能が完成すると、他の機能もすぐに拡張できるようになります。自分が作成したフロントエンドの見栄えが良くないと思われる場合は、先ほど述べたブートストラップ フロントエンド UI フレームワークを使用するだけで、美しくシンプルな小さな Web サイトを作成することもできます。
その後、どのようなものを作りたいかを考え、商品に関する知識を学び、自分の商品として扱い、継続的に補完・改善していきます。段階的にクラウドサービスのドメイン名を購入してサーバーに展開することで、運用・保守の基礎知識を学ぶことができます。この際、自社製品のプロモーションを行ったり、運用に関する知識を補うことができます。徐々にユーザーが増え、資金を集めたい、BPになりたい、ビジネスモデルを掘り下げて、そして将来的には...
たくさんありますが、これらは単なる想像です。最初のステップ、つまりログイン機能を実装する必要があります。私も初心者から段階的に理解して耐えることができますが、これを行うと、おそらくそのような質問がなくなるでしょう。
https://github.com/iamzcr/dai...
私も最近この本を勉強していますが、最初は小さなプロジェクトから始めて、大まかなプロトタイプを完成させてから細部を最適化することができると思います。