现在我什至无法建立一个小型网站





简而言之,我很记得2013年我是如何一天下来坐下来写一个小网站的。



这是一个关于我的家乡事件的网站。下一周的所有事件都显示在一页上。



我制作了一个包含事件的页面,以及一个用于编辑事件的小型管理面板。我有一本关于PHP的书,所以我用PHP编写了该网站,连接了MySQL数据库,并以HTML和CSS进行了布局,然后将其上传到共享主机。该站点已被使用,我每天早晨都在努力增加事件,直到我参军为止,没有人支持。因此该站点死亡。 我决定开始做生意,开始思考。



该网站的想法似乎仍然很好,我决定复兴它。看起来,可以接受,可以做到,但是令我感到不适的是,我真的不记得PHP,并且已经设法在大型,中型和小型公司中积累了开发经验。







嗯,我不能只接受PHP并在其中写一些页面并混合HTML。在没有OOP和常规代码拆分的情况下,我将如何支持它?另外,每个人都说PHP并不是很好,有多少新版本问世!



我想我需要采用更现代的东西,例如Node.js或Python。但是,我当然不会只写这些内容,因为它们不是最佳实践。也许我会采用一些框架,例如Django或Express.js。但是,这些是最流行的框架,但是还有一些其他的,更现代的框架,您需要看一下。



决定使用Python或Node.js后,我意识到仅从服务器提供整个页面是不好的。在这种情况下,如何进行授权弹出窗口或动态加载?好吧,不是jQuery,上帝禁止!我可能会使用React或Vue.js编写适当的基于组件的接口。当然,Angular会过分杀人。使用该框架,我需要通过API连接到后端,因此我使用Django REST Framework或类似的东西。 Express.js可以自己完成此操作很好,也许最后值得选择Node.js。在前端,我应该连接Axios,尽管现在有了Fetch,但是所有浏览器都支持吗?还是我应该同时使用Svelte来学习新东西?



现在值得正确设置IDE,以尊重代码样式,纠正缩进,并且永远不要忘记编写三重等于而不是两倍。设置很困难,因为IDE插件会相互争论,并将分号放在错误的位置。



弄清楚之后,我知道我的代码需要存储在某个地方。由于我已经很累了,因此我将选择最受欢迎的GitHub。在计算机上设置Git和ssh授权后,我意识到我不知道要使用哪个分支系统。当我一个人时,GitFlow太冗余了,但是不要将所有内容都提交给master分支吗?您永远不会知道,有人会加入该项目,或者如果我在面试中展示存储库,每个人都会笑。关于在提交描述中写什么以及使用哪种语言,还有一个不容置疑的问题,但让我们将其留待以后使用。



值得考虑如何将整个事情部署在主机上。如果后端使用Python,则需要创建一个虚拟环境并在其中工作。由于某些原因,这在服务器上无法完全正常工作,总会出现问题。顺便说一句,您需要将应用程序作为服务运行,以便崩溃后一切都重新启动!就是这样,现在我们一定要接野田!为了支持Node.js,您需要找到Node.js工作的主机,它们都是基于云的并且非常现代。在那里,您需要从GitHub上的存储库设置项目的部署,但是我不能仅连接master分支,因为那样我所做的所有更改都将立即转到服务器,这不是很好。当然,您可以手动部署,但这在某种程度上已经过时了。也许我会再考虑分支系统。



哦,还是同一个DB!看起来PostreSQL很好,甚至我都使用过它,但是也许我需要一个nosql数据库?问题仍然是,如何在服务器上部署它,以及如何在计算机和云中保持相同的结构而不丢失数据,但这还有很长的路要走。



啊,我差点忘了。由于前端位于JS框架上,因此您需要考虑服务器端渲染,对我的项目进行索引很重要。嗯,您不需要为此使用Next.js或Nuxt.js吗?需要思考。



由于我已经开始忘记某些事情,因此我需要使用一些任务跟踪器来跟踪任务和进度。我应该使用Scrum还是看板方法?或者当我一个人时,我可以这样做吗?那么,您如何跟踪截止日期?



我也没有想到过TS,ES6,SASS,PUG,GraphQL,OOP,函数式编程,不变性以及所有这些东西。并且有必要紧固HTTPS证书!也许我应该让团队中的几个朋友把事情搞对?然后,您将无法没有Scrum和Pull Requests。



在这个注释上,我终于疲倦了,以为也许我应该掏出一本关于PHP的旧书,并像2013年那样做所有事情,那时我对上述事情一无所知,而且一半的技术还没有出现?似乎我在想太多。稍后我将解决所有这些问题,现在我将观看电视剧并上床睡觉,明天我一定会开始编程。



All Articles