Skip to main content
97 votes
Accepted

Does splitting a potentially monolithic application into several smaller ones help prevent bugs?

Yes. Generally two smaller less complex applications are much easier to maintain than a single large one. However, you get a new type of bug when the applications all work together to achieve a goal. ...
Ewan's user avatar
  • 84.4k
85 votes
Accepted

How do app developers protect their app when a user decompiles it?

I used to be a full-time binary reverse engineer, and I still spend about 80% of my time reverse-engineering software (legally). There are some good answers here already, but I wanted to add a few ...
the_endian's user avatar
  • 1,152
52 votes

Does splitting a potentially monolithic application into several smaller ones help prevent bugs?

Does splitting a potentially monolithic application into several smaller ones help prevent bugs Things are seldom that simple in reality. Splitting up does definitely not help to prevent those bugs ...
Doc Brown's user avatar
  • 220k
50 votes
Accepted

When developing a system by myself, should I use microservices?

Microservices are generally undesirable because they turn your software into a distributed system – and distributed systems make everything a lot more difficult. But a service-oriented architecture ...
amon's user avatar
  • 136k
41 votes

Using three different database engines in the same application

best practice to use ES, Neo4j, and PostgreSQL in the same system like this? No. Only incur the cost of adopting yet another technology if you're sure the benefits are worth it. Here, there seems ...
J_H's user avatar
  • 7,891
40 votes

Does splitting a potentially monolithic application into several smaller ones help prevent bugs?

I'll have to disagree with the majority on this one. Splitting up an application into two separate ones does not in itself make the code any easier to maintain or reason about. Separating code into ...
Voo's user avatar
  • 763
32 votes

How do app developers protect their app when a user decompiles it?

Once someone has a copy of your app, they can do anything with it. Your security model has to assume that nothing in your app is secret, and that actions that look like they have been made by your app ...
amon's user avatar
  • 136k
29 votes

How do I efficiently search for all the landmarks within a range of a certain landmark?

Use a database with support for GIS (geographic information systems) queries. Most databases support this outright or have extensions, but the details will be database-specific (in their answer, ...
amon's user avatar
  • 136k
15 votes

Does splitting a potentially monolithic application into several smaller ones help prevent bugs?

Easier to maintain once you've finished splitting them, yes. But splitting them is not always easy. Trying to split off a piece of a program into a reusable library reveals where the original ...
StackOverthrow's user avatar
14 votes

Does splitting a potentially monolithic application into several smaller ones help prevent bugs?

It's important to remember that correlation is not causation. Building a large monolith and then splitting it up into several small parts may or may not lead to a good design. (It can improve the ...
Daniel Pryden's user avatar
14 votes

How do app developers protect their app when a user decompiles it?

Never trust the client. Make sure that anything you need to keep private is stored on the server and requires user-specific credentials to access.
Solomon Ucko's user avatar
12 votes

One Database for Multiple Applications?

In short I have worked in both kinds of environments. I was an unconditional promoter of the shared-db approach. It took me some time to see its limitations and to reconsider: Envisage it only for ...
Christophe's user avatar
  • 82.2k
11 votes

How do I efficiently search for all the landmarks within a range of a certain landmark?

Yes, there's a better way. You need to use a spatial index. These indexes organize metadata about geometries to filter out far away geometries very rapidly, saving a lot of CPU cycles by avoiding the ...
jpmc26's user avatar
  • 5,578
11 votes

Using three different database engines in the same application

Justified complexity is usually not the target of seemingly anti-complexity guidelines. The overall goal of these guidelines is to cut out unnecessary complexity, which can be countered by properly ...
Flater's user avatar
  • 59.5k
10 votes
Accepted

How do I efficiently search for all the landmarks within a range of a certain landmark?

Since SQL Server 2008, there is a geography data type which stores locations (lat/lon pairs) and makes it easy for you to write location-related queries. There is an existing StackOverflow answer ...
Flater's user avatar
  • 59.5k
10 votes

Application/Database design where two tables have both 1-to-many and 1-to-1 relationships

Think longer term - eventually... there will be a MegaCar 2.0 Or there will be another new car company with only the one model. Or one model companies all go out of business. Keep it the way you ...
ivanivan's user avatar
  • 317
9 votes

One Database for Multiple Applications?

Yes I have worked in a similar environment. The difference between a schema and a database isn't a huge one from an application perspective. After all, all the databases on a server run on the same ...
Ewan's user avatar
  • 84.4k
9 votes

In app development is it common to first write your app in a high level language, then rewrite it in a low level language?

If an application needs to be optimized for performance, you don't rewrite the whole thing in a different programming language. Instead, you profile the application, find its "hot spots" (the code ...
Robert Harvey's user avatar
6 votes

Does splitting a potentially monolithic application into several smaller ones help prevent bugs?

This is not a question with a yes or no answer. The question is not just ease of maintenance, it is also a question efficient use of skills. Generally, a well-written monolithic application is ...
MarvW's user avatar
  • 89
6 votes
Accepted

Implementing A "Draft" Mode For Posts

The simplest alternative would be the is_draft property approach, since you would benefit of all the existing code, and a simpler maintenance, the day you would want to add new fields or behaviors to ...
Christophe's user avatar
  • 82.2k
6 votes

How do app developers protect their app when a user decompiles it?

Is this something to really worry about? This is very dependent on the product. A lot of the time, someone doing it will "cost" you $30 a month—who cares if four or five (or most likely ...
Artelius's user avatar
  • 368
5 votes

Does splitting a potentially monolithic application into several smaller ones help prevent bugs?

No. it does not make it easier to maintain. If anything welcome to more problems. Why? The programs are not orthogonal they need to preserve each others work in so far as is reasonable, which implies ...
Kain0_0's user avatar
  • 16.6k
5 votes
Accepted

Application/Database design where two tables have both 1-to-many and 1-to-1 relationships

My problem is that one of the manufacturers is to be treated as a car model. There will be only one car model under this manufacturer. Ok. When you click on the MegaCar manufacturer, it should ...
Laiv's user avatar
  • 15k
5 votes
Accepted

Need advice on reporting with big amounts of data

If the purpose is to display on a page the first step is to limit the amount of data returned. No one can process 3 million rows at once, find ways to limit the data returned. Requiring search ...
Ryathal's user avatar
  • 13.5k
5 votes

When Is it worth writing your own CRUD generator for project?

It's typically not a good idea to build a framework/generator. Common issues with such an approach include: Debugging is more difficult than with straightforward code. Leaky abstractions: your ...
amon's user avatar
  • 136k
4 votes
Accepted

Should data model logic live in database schema?

Yes! Why? Because unique constraints are in everyone's best interest. Now sure some could argue that the application can do that and might even have use cases where the unique constraint needs to be ...
candied_orange's user avatar
4 votes

Does splitting a potentially monolithic application into several smaller ones help prevent bugs?

There were a lot of good answers but since there is almost a dead split I'll throw my hat into the ring too. In my experience as a software engineer, I have found this to not be a simple problem. It ...
CL40's user avatar
  • 149
4 votes

How do app developers protect their app when a user decompiles it?

As Jörg W Mittag mentioned there is the legal aspect of what you are talking about, and then the technical. As long as the app embeds critical logic and database access inside of it, someone with ...
Berin Loritsch's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible