TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: If you were to build a new webapp today, how would you pick your techs?

6 点作者 babebridou将近 12 年前
The needs are pretty generic, users post content that gets hashed into a url and stored. Other users can now follow that link and see that content on their browser&#x2F;device&#x2F;application.<p>Assuming the client side is done already. I&#x27;m now pondering what technology to use for the backend.<p>I&#x27;m technology agnostic and would love to kill two birds in one stone with this project: make it work and learn something new. For the &quot;make it work&quot; part I can do it quickly with my legacy skills since I already have significant experience with those in production systems (mostly java-based), but I&#x27;m not sure I&#x27;m going to learn much here from a technical point of view and part of me would love to add a new technical line to the resume.<p>How would you go about it? Would you try something new to you, something new to the &quot;scene&quot;? Any tech in particular? (passion) Or would you get it done first (reason), deferring the learning part to the challenges at scale later down the way, which may or may not happen at all?<p>Bonus: how often do you ask yourself this very question?

3 条评论

boothead将近 12 年前
I would almost certainly build the back end from the ground up based on the concept of a stream of events. Current state is then expressed as left fold over a base empty state and all of the event types you&#x27;re interested in.<p>Benefits that I can see:<p>* Purity. You can test the hell out of this with no side effects.<p>* Transaction log built in.<p>* The ability to look back in time, by only applying the events up until the point you&#x27;re interested in and disregarding the rest.<p>* Very flexible and scalable.<p>* You can retrospectively answer questions that you might not have known how to ask, by creating new operations over your states.<p>* Plays well with monitoring, and analysis. E.g. just stream all of your events into logstash and elastic search.
评论 #6184696 未加载
评论 #6189645 未加载
memracom将近 12 年前
Event-based technology stack. You could try using Erlang but it can be harder to find developers. Easier to use something like Mongrel2 as the webserver with Python multiprocessing backend to leverage the UNIX&#x2F;Linux process model. Or to use something like Akka on the JVM along with spray.io. Or use Clojure, again on the JVM.<p>But remember, one of the benefits of using event-based design is that you can write your event processors in different languages if it makes sense. Don&#x27;t block off that possibility; in other words look at how you can use messaging technologies like ZeroMQ and AMQP rather than something like JMS which locks you in.
geektips将近 12 年前
I Will be using a Lemp (Linux engine-x Mangodb Php) Stack instead of Lamp Stack , I will be using memcache for cacheing
评论 #6184713 未加载