helloworld.net的建站故事与技术选型

待兔 等级 1424 26 4

helloworld.net的建站的故事与技术选型

大家好,我是待兔,也是 helloworld.net开发者社区的创始人之一,自从2021年1月18号,helloworld.net 正式上线当天就引来了很多的技术人的关注,其清爽的界面,人性化的操作交互,得了不少网友的好评,大家有表扬的,有提出不足的,有给出很多中肯的建议的,不过大家最关心的,是 helloworld.net 背后的故事以及用到的技术栈是什么?技术框架如何搭建的?

为了满足大家的好奇,团队一致认定我写一篇文章解答上述问题,理由是我文笔比较好(其实真实原因是他们都太低调了,不愿意出来说,哎,坑了我了.... , 写这一篇文章死了好多脑细胞,比写代码难)

我们为什么要做 helloworld.net 技术社区?

喜欢,热爱coding, 喜欢互联网产品,追求完美,虽然现在有不少的技术社区,但是有一些技术社区广告太多,格式混乱,垃圾信息太多,当然也有的社区做的比较好,但是我们觉得多一个平台多一个选择,我们是想从技术的角度出发,想做一个不太一样的平台,也算是一个尝试。

其实上线之前我们心里一直是忐忑的,会不会上线后没有人访问啊,会不会被人骂啊..... , 好在上线后,除了批评声,还有表扬的声音,心里算是有点谱了

helloworld.net 给力团队

首先呢,做 helloworld.net 不是我一个人,是一个团队在做,有前端,后端,移动端,设计师,产品经理,运维,爬虫,甚至还有已经拿到好几个大厂offer的研究生,我在其中只是担任后端开发。 不过我们团队最神奇的是,前端那哥们以前居然是个水手,去过大西洋,太平洋,上万公里,也经过索马里(还好没遇到海盗,哈哈...),水手转前端,这跨度,够牛了吧,整个网站都是这哥们负责的,我们都叫他水手。

除了有水手,也有在国内某个技术平台有上万粉丝的技术大牛,当时我还得专门去上海见过这哥们呢(刘备三顾茅庐才搞定诸葛亮,我们去一次上海就搞定了,哈哈,赚到了)

还有我们的设计妹子,不仅人长的漂亮,而且非常有才华,从网站设计,APP设计,Logo,海报,头像,定制T恤,无所不能全程参与(设计妹子还没有男朋友哦,想要联系方式的可以私聊我哦)

每个人都不一样,都有自己独特的地方,这里就不一一说了。

helloworld.net 的技术选型

偷偷告诉大家啊,我其实不是做后端的,只是以前接触过PHP,嗯,就是世界上最好的语言,没有之一的。 项目是在2018年成立的,当时只能我来做后端了,因为他们连PHP都没有接触过,哈哈,PHP坑我。

闲话少说,说正事,最初想用java Spring那一套,于是就上网找了个SpringBoot的视频,看了一个星期,还是晕晕乎乎的,全是配置,我应该用什么配置?配置写在哪?用哪个注解?注解里面写什么?啊啊啊,头实在是大,算了,实在搞不明白,可能是我比较笨,搞不定,不搞了,放弃java了。至于PHP嘛,还是算了吧,也是因为自己不喜欢吧,所以吧,公司里面用的框架好与不好,全靠,某一个人的决定的。

1 后端技术选型

java那一套搞不定,php又不想用(我真是作啊),那只能考虑其它的了,目光锁定了go身上,听说这玩意性能好,简单又简洁,而且没有那么多的配置,于又花了一个星期的时间学go,顿时有种找到了知己的感觉,这go太好用了,连nginx都不用安装了,java那一套并发机制,各种锁,各种同步,各种原子操作,唤醒,通知等,在go里面全没有了,go用了管道的方式,让人理解上更顺其自然了,写并发更容易了,而且是语言层面上的。

goweb也很强,自带的http,用go写的http程序,部署方便,不用像java那样装JDK,装tomcat等等,go写好的程序直接打包成一个二进制文件,扔到服务器任何一个目录下执行就完成了,甚至连nginx都不用安装,这么多优点,怎么可能不用

这太爽了,这实在是太爽了,当然我们现在是用了nginx的,主要是接口服务不想对外暴露,而且也要做反向代理。但是有那能力不用和没有,是两码事

所以,最后决定用go作我们的后端语言,而且go最火的web框架gin并没有用,因为mvc的功能没有go的另一个web框架iris的好,所以最后我们选择了 iris ,这当然也是一个非常了用的框架

所以后端用go语言,web框架用 iris

2 前端技术选型

前端技术也是我定的,虽然我是写后端的,但是那个时候水手还没加入呢,所以哪个简单选哪个 当然是react, vue 中选一个了,但是vue好像入门更简单些,就选了vue

后来水手加入以后还抱怨,这谁选的vue,因为水手更喜欢react,但是没办法,总不能推倒重来吧,谁让你不早点来。哈哈,只能入坑了。 当然并不是说vue不好,只是因为我当时想选个对于我来说简单点的。

但是vuereact都是单页面程序,技术社区是要百度收录的,又是百度,人家google都支持单页面收录了,就百度不支持,没办法只能做服务端渲染了,也就是 SSR

  1. 回到60年代,服务端套模板 我负责后端啊,打死我也不想这样,不能,所以坚决pass掉了
  2. nuxt,这是vue生态的,node做服务端渲染 好像没得选了,只能选这个了

3 数据库的选型

像大多数公司一样,数据库的选择,那就是mysql,开源免费又用的人多,出了问题也好解决,听说mysql 8.0 性能比之前的5.0提高了1倍,也不知道是不是真的,反正新项目用最新的就是了

不过在选 mysql之前,是考虑过 postgresql

个人觉得这个postgresql要比mysql的性能好,一直想用这个 只是运维大哥不让用,因为他只会mysql但是给的理由是:mysql出问题了好解决,用的人多,解决方案多。哈哈。。。。好吧,听大哥的没错

4 APP的技术选型

一句话,flutter,我们可没有那么多人,那么多精力,所以找一套跨平台的框架是最适合的了。在研究了flutter之后,觉得会有点坑,但是应该能解决,影响不是太大

所以果然用flutter写了。

以上就是helloworld.net的PC网站,后端,前端,APP的技术选型,有其它的疑问的话可以加我微信 daitukeji 交流技术,也欢迎加入我们的helloworld官方技术交流微信群

在这里,helloworld技术团队谢谢大家的关心和支持,我们会继续努力,继续优化,推出更多我的功能,为我们的技术人的成长贡献一份力

最后送给大家一句话: 不忘初心,未来可期

我的微信: daitukeji

以及一张我在家的 helloworld的办公环境照片

helloworld.net的建站故事与技术选型

收藏
评论区

相关推荐

helloworld.net的建站故事与技术选型
helloworld.net的建站的故事与技术选型 大家好,我是待兔,也是 helloworld.net开发者社区的创始人之一,自从2021年1月18号,helloworld.net 正式上线当天就引来了很多的技术人的关注,其清爽的界
技术人员为什么一定要写技术博客?
技术人员为什么一定要写技术博客? 大家好,我是待兔,也是helloworld.net创始人,今天想讲讲技术人员如何提高技术以及为什么一定要写技术博客? 因为接触过很多的开发者,以及在各种技术群里,也有一些人问过我好多问题 主要有以下几个 1. 大佬你是如何提高技术的? 2. 你的全栈是怎么学的? 3. 哪来的那么多时间学习技术? 首先呢,我不是
helloworld.net 的总结以及2021年的期待
没有反思的人生不值得过!由时不时向外张望,彻底转向向内审视的一年。 2020年,公历闰年,共366天,52周零2天。二十一世纪二十年代的第1年。 大家好,我是待兔, helloworld.net也就是 helloworld开发者社区的创始人之一,由于前几天感冒了,你知道的,这个时间感冒是有点麻烦的,所以导致这篇文章来的稍晚了点,好饭不怕晚,晚点写有晚点写
PHP Cookie与Session的使用与区别
Cookie与SessionCookie和session是目前使用的两种存储机制。cookie是从一个WEB页到下一个WEB页面的数据传送方法,cookie存储在客户端;Session是让数据在页面中持续有效的一个传递方法,session存储在服务器端。掌握了cookie与session这两个技术,在WEB网站页面间信息传递的安全性是
go, iris , nuxt, 服务端渲染等技术在helloworld开发者社区中的应用与实践
大家好,helloworld.net 上线已经有近半年的时间了,转眼过的好快,在这半年的时间里,迭代了近10多个版本,优化了很多的体验,交互上的不足之处,同时也上线了我们的安卓 app, 苹果的因为还在申请开发者账号,所以暂时未上线在这半年的时间内,网友很给力,也给出了很多的建议和优化,也有不少网友说愿意为 helloworld开发者社区出一份力,在这里我感
面试字节我被String类的问题给问死了!
"+" 是怎么连接字符串的?(JDK1.7及以上)总结:使用 "+" 连接字符串时,实际上是使用临时创建的StringBuilder对象来辅助完成的。对于编译时常量,在编译后直接计算出字符串的值,而不会在运行时创建临时的StringBuilder对象来完成字符串连接。在循环中对String对象进行连接,应该直接使用StringBuilder代替 "+",这样
如何让你的代码更优雅
前言你有没有骂过“前任”的代码?你的代码有没有被吐槽过?没有注释,命名随意,没有封装,结构混乱,一个页面几千行。。。。如何写出优雅的代码,让自己不被吐槽,让人羡慕,接下来咱就一起聊聊如何写出优雅的代码,如果大家有更好的写法和经验,欢迎在评论区留言,一起学习什么样的代码是优雅的代码咱先聊聊,什么样的代码是优雅的代码,在我看来,优雅的代码包括以下方面,首先就是代
JAVA回调机制(CallBack)之小红是怎样买到房子的??
JAVA回调机制CallBack 序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按
KDE与GNOME的起源与发展
在介绍KDE和Gnome之前,我们有必要先来介绍UNIX/Linux图形环境的概念。对一个习惯Windows的用户来说,要正确理解UNIX/Linux的图形环境可能颇为困难,因为它与纯图形化Windows并没有多少共同点。Linux实际上是以UNIX为模板的,它继承了UNIX内核设计精简、高度健壮的特点,无论系统结构还是操作方式也都与UNIX无异。简单点说,
MyISAM与InnoDB的区别
[MyISAM和InnoDB的区别](https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fwww.cnblogs.com%2Fzhangchaoyang%2Farticles%2F4214237.html) ---------------------------------------------
SWAP的罪与罚
SWAP的罪与罚 ======== 发表于[2012-11-08](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fblog.huoding.com%2F2012%2F11%2F08%2F198) 说个案例:一台Apache服务器,由于其MaxClients参数设置过大,并且恰好又碰到访
(转载)rabbitmq与springboot的安装与集成
#### 原文地址:[https://segmentfault.com/a/1190000016991529](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fsegmentfault.com%2Fa%2F1190000016991529) 一、前言 ==== RabbitMQ是一个开源
DCM4CHE与DCM4CHEE的安装与使用
DCM4CHE与DCM4CHEE的安装与使用 ====================== 原创 2016年06月21日 09:40:01 * 标签: * [dicom](https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fso.csdn.net%2Fso%2Fsearch%2Fs.d
Heroku 的“得”与“失”
作者 | 孙健波(天元)  阿里巴巴技术专家 2011 年,Heroku 的联合创始人  Adam Wiggins 根据针对上百万应用托管和运维的经验,发布了著名的 “十二要素应用宣言(The Twelve-Factor App)”。不知那时候他们有没有想到,这份宣言会在今后数年时间里,成为 SaaS 应用开发的启蒙书。同时也奠定了 Heroku 在 Pa
React与Vue的相同与不同点
我们知道JavaScript是世界上最流行的语言之一,React和Vue是JS最流行的两个框架。所以要想前端的开发那么必须掌握好这两个框架。 那么这两个框架有什么不同呢? **React 和 Vue 相同之处,它们都有:** * 使用 Virtual DOM * 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件