Skip to main content
Search type Search syntax
Tags [tag]
Exact "words here"
Author user:1234
user:me (yours)
Score score:3 (3+)
score:0 (none)
Answers answers:3 (3+)
answers:0 (none)
isaccepted:yes
hasaccepted:no
inquestion:1234
Views views:250
Code code:"if (foo != bar)"
Sections title:apples
body:"apples oranges"
URL url:"*.example.com"
Saves in:saves
Status closed:yes
duplicate:no
migrated:no
wiki:no
Types is:question
is:answer
Exclude -[tag]
-apples
For more details on advanced search visit our help page
Results tagged with
Search options not deleted user 235743

Questions about problem solving and planning for a solution through software design.

8 votes

Would it be possible to abstract multi-threading ability for programs not originaly designed...

For programs written in an imperative/procedural style, this is next to impossible because the separate threads may access shared data, and correct semantics for larger-grained parallelism can't be ea …
Hans-Martin Mosner's user avatar
7 votes

Developing your application as microservices or as a monolithic app - which is cheaper when ...

There's no "normally". Whichever of two options is cheaper to deploy, operate and scale depends on many factors. Often the deployment of a monolith is cheaper, but for example if you need changes in y …
Hans-Martin Mosner's user avatar
7 votes

How do you push Design changes in TDD in late development stage

values are part of the specification (as is often the case with network protocols) then perhaps using them in the implementation is a good idea, but if not, it looks like you don't have TDD but DDT, design
Hans-Martin Mosner's user avatar
6 votes

API Race conditions

That's what database transactions were invented for. All modifications during a transaction are either written to the database at once on commit, or none are written in case they would conflict with a …
Hans-Martin Mosner's user avatar
6 votes

Boneheaded exceptions should not be caught. Then how to provide fault tolerance and reliabil...

Your examples are both in the area of interfaces to systems that are not under your control, which is different from the interfaces between components that you control and where you can ensure that th …
Hans-Martin Mosner's user avatar
6 votes

Sufficient conditions for refactoring

A significant factor is tooling used by the team and the proficiency with which developers use the tools. The concept of refactoring was originally developed in the Smalltalk context, and there were a …
Hans-Martin Mosner's user avatar
4 votes

To what extent should you program by "sketching"?

"Sketching" and "Upfront Design" don't necessarily contradict but complement each other. They are somewhat related to bottom-up and top-down approaches. …
Hans-Martin Mosner's user avatar
4 votes

Use the type returned by a function as information

In strongly/statically typed languages, this is generally discouraged, as the static type information is used to determine the legal operations on the results, with opportunities to do type inference …
Hans-Martin Mosner's user avatar
4 votes

Prevent users cheating a view count

Some people will cheat when the reward is high enough in comparison to the effort and the risk/consequences of getting caught. You've described some ways of cheating, now think like your users and try …
Hans-Martin Mosner's user avatar
4 votes
Accepted

How to design a class holding information about a relationship between two interchangable ob...

You just define hash() and equals() for Match such that it is independent of the ordering of thingA and thingB. This can be done like so (pseudo-python): class Match: def hash(self, other): …
Hans-Martin Mosner's user avatar
4 votes
Accepted

Designing low fault software rest API calls to achieve data synchronization between two diff...

You need some form of memory on system-A about which records were changed but not yet synchronized, there's no way around it. Proposed solution: Let the triggers for database changes insert entries in …
Hans-Martin Mosner's user avatar
4 votes
Accepted

REST API noun vs verb and client vs server responsibility

I would favor a PUT verb on the transaction endpoint to manually set the transaction category, as @keelerjr12 suggests.. However, you need to have a clear understanding about the transaction categoriz …
Hans-Martin Mosner's user avatar
4 votes
Accepted

How to refactor parallel inheritance tree?

This sounds like a better approach would be to implement a list of business rules with validity date limits, section applicability, ordering key. Then for every section, you execute the applicable rul …
Hans-Martin Mosner's user avatar
4 votes

A desktop app which incorporates a REST API?

You'd need to design the API such that it supports the management functions that you need on the Raspi, perhaps with additional authorization requirements. …
Hans-Martin Mosner's user avatar
3 votes

How to manage 2 libraries that do mostly the same things in a project?

You already listed two solutions - removing luxon, and removing date-fns - which are unacceptable to you. The simplest remaining option, as ugly as it is, would be to use both libraries side by side a …
Hans-Martin Mosner's user avatar

15 30 50 per page