简体   繁体   English

适合我的下一个“副”项目的技术堆栈

[英]Suitable tech stack for my next "side" project

I am about to start working on my next new "big thing" side project which does have a lot of potential for growing.我即将开始我的下一个新的“大事”副项目,该项目确实有很大的发展潜力。 The only issue I have is to select a proper tech stack for it.我唯一的问题是为它选择合适的技术堆栈。 I am considering between RoR and node.js stacks.我正在考虑 RoR 和 node.js 堆栈之间的关系。 Since I am a full-time RoR developer (I am a decent JS developer, but do not have any node.js experience) it would make sense to go for RoR, but the app I am about to start developing must have quite a few real-time features as well as reporting, some small image processing, pdf generation.由于我是一名全职 RoR 开发人员(我是一个不错的 JS 开发人员,但没有任何 node.js 经验)所以选择 RoR 是有意义的,但是我即将开始开发的应用程序必须有很多实时功能以及报告、一些小图像处理、pdf 生成。 Therefore I need your advice which tech stack would be more suitable in my situation.因此,我需要您的建议,哪种技术堆栈更适合我的情况。 The key things to help me choosing:帮助我选择的关键事项:

  • There is no deadline / timeframe for this project, meaning I do have time to learn node if needed.这个项目没有截止日期/时间表,这意味着如果需要,我确实有时间学习 node。
  • I am experienced RoR developer, but never developed big real-time parts for RoR apps.我是经验丰富的 RoR 开发人员,但从未为 RoR 应用程序开发大型实时部件。
  • Hosting expenses is important since this project is not meant to generate money (for at least 2 years after launch - assuming I will launch it someday).托管费用很重要,因为这个项目并不意味着赚钱(在启动后至少 2 年 - 假设我有一天会启动它)。
  • Project functionality includes 40% of real-time functions (eg UI notifications of new objects matching user's filtering criteria, chat boxes, etc.)项目功能包括 40% 的实时功能(例如匹配用户过滤条件的新对象的 UI 通知、聊天框等)
  • Ability to support delayed / background jobs.能够支持延迟/后台作业。
  • I am more than happy to learn node.js if it suits needs of this project more than RoR.如果 node.js 比 RoR 更适合这个项目的需求,我非常乐意学习它。

Please note that I am not interested in starting language / tech flame war.请注意,我对开始语言/技术火焰战争不感兴趣。 I am asking for help to choose the right tool for the job as I am biased, because of RoR being my golden hammer for a few years now, so every new problem looks like a nail to me.我正在寻求帮助来为工作选择合适的工具,因为我有偏见,因为几年来,RoR 一直是我的金锤,所以每个新问题对我来说都像是一颗钉子。

查看当前的热门话题,微服务架构,这将使您的应用程序技术/语言依赖免费,因此您可以使用 RoR 构建应用程序的微服务,另一个使用 Node.js,第三个使用 PHP,等等,您可以稍后轻松更改微服务技术/语言。

Here's what I would do - I would really focus on what is your goal in all of this:这就是我要做的——我真的会专注于你在这一切中的目标:

  • is it to launch this as a true side hustle?是将其作为真正的副业推出吗?
  • or is it to learn something new?还是学习新东西?

Pick one of those.选择其中之一。 If it's to get this thing launched then focus on that.如果要启动这件事,那就专注于此。 If it's to learn a new language, etc. then focus on that.如果是学习一门新语言等,那就专注于此。 Don't do both.不要两者都做。

You also mention another red flag - no deadline.你还提到了另一个危险信号——没有截止日期。 If you don't have a deadline you will never finish this thing and launch it, I can almost guarantee it.如果你没有截止日期,你永远不会完成这件事并启动它,我几乎可以保证。 I've done it.我已经做到了。 I've seen many, many others do it.我见过很多很多其他人这样做。 Even if you set a deadline of 6 weeks, stick to it.即使你设定了 6 周的最后期限,也要坚持下去。 If it's slipping then pull features until you can ship something at 6 weeks.如果它正在下滑,则拉动功能,直到您可以在 6 周内发货。 Commit to this publicly in some way, shape, or form.以某种方式、形式或形式公开承诺这一点。 Facebook, Twitter, whatever, just commit to launching something. Facebook、Twitter 等等,只是承诺推出一些东西。

Work on this project every single day, even if it's just for 30 minutes.每天都在这个项目上工作,即使只有 30 分钟。 Yes, you can get something done in 30 minutes that is valuable, I do it every single day on my own side projects.是的,你可以在 30 分钟内完成一些有价值的事情,我每天都在自己的业余项目中做这件事。 Push that ball forward.把那个球向前推。 Schedule that block.安排那个块。 Do the work.干活。

Finally document your progress every single day, keep track of what you've done and where you're going.最后记录你每一天的进步,跟踪你做了什么以及你要去哪里。

Some of this I have distilled into a flowchart to help people pick a side project.我已经将其中的一些提炼成流程图,以帮助人们选择一个副项目。 Other sections are actually part of a course I teach called 30 Minute Project .其他部分实际上是我教授的课程的一部分,称为30 分钟项目

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM