New answers tagged

0

Let me take a couple things out of the way: Different tiers can share a machine or be in different machines. However, tier is usually coupled into in such way that it cannot be split into multiple machines. "Data manipulation" means doing operations on the data. "Data management" means indexing, storing and recovering from permanent storage. Now... ...


2

The Example is poor A Modern car is complicated but highly reliable for the same reason that Lego can make complicated structures but still hold together reliably. They are both restricted to 4D interactions. There are of course a few more principles at play such as: Well defined interfaces Mass Produced Quality Assurance of components Compare that to ...


2

Let's say you have a 1% chance of any given module having a critical bug. If you have two modules that both must work in order for your system to work, you now have a 1.99% chance of your system failing. If you have three such modules, you now have a 2.97% chance of your system failing. That's basic reliability engineering. I oversimplified, but the main ...


1

With two otherwise equal programs the larger one obviously has more risk. But when do you ever have two equally well programmed programs? What you are attempting to argue is that your large program has been created smarter than the average program and lacks a proportional amount of booboos. Which is probably not a convincing argument to a manager. I ...


6

When a typical software product grows in size over years, there will be definitely more places where bugs can hide, and occasions where more complex, unforeseen interactions can happen - this is where your boss is right. On the other hand, countermeasures against degrading quality involve often even more code in form of automated tests, automated ...


0

I have simple rule of thumb : If you cannot finish whole feature within a day, put it behind a flag. This is so that the code can be merged and integrated at end of every day. And make sure that once the feature is finished and rolled out, that the feature flag is removed.


3

MVC was not designed for the web. Its use for the web was popularized by Ruby On Rails. Depending who you ask they are using the term wrong, or they redefined it... yet, it certainly is not what MVC meant in Smalltalk, although a derived concept. Why is that important? Because MVC was being used for desktop application, which did not have a big scary thing ...


0

In my experience, if the database is only connected via a single application such as a micro service api or monolithic app with one db, it does make sense to have code and db changes lock-step to avoid incomplete deployments. If you have a database in which there is no single "owner" application, separation and manual synchronization makes sense to ensure ...


3

You don't make it clear in your question, but I'm assuming you're talking about server side resources from a cloud vendor such as Azure, Amazon AWS, etc. The answer is to start as small as possible to prove your app works and so you know you're on the "I'm not spending enough" side of the performance curve. Do some load testing and ramp up the concurrent ...


Top 50 recent answers are included