What are the tech problems and solutions that you think are worth mentioning?

We encounter problems every day, and we solve them every day. There must be something that more people should know about in them.

For example, I was troubled by how to handle distributed transactions for a long time. Until today, I discovered sage, that’s cool, and my problem is solved. (before that, I didn’t know that the problem make me confused is called “distributed transactions”, and I didn’t know sage is a good solution.)

There must be many more problems and solutions like above one, but I don’t even know them.

Maybe, we can talk about:

  • the problems you have encountered recently (no need to be detailed, just mention some terms)
  • how did you solve them? By using which library, or handcrafted solution?

In the name of widening our knowledge. :wink:

1 Like

The problem that I always have is that knowing the libraries/tools open possible solutions and not the other way around.

Lets take as an example: communication between services. Now there are a lot of ways to achieve this starting from erlang internode communication and ending with rabbitmq, if you don’t understand the strengths and weaknesses of each tool you might end with a suboptimal solution.

I haven’t come across anything very ergonomic for XML

To be fair I haven’t looked in a while though

1 Like

You can use the ecto sandbox for e2e tests, even if your frontend is a separate app/repo, like a react app or vue or something like that.

All you need to do is use

https://hexdocs.pm/phoenix_ecto/Phoenix.Ecto.SQL.Sandbox.html

It’s a plug. It exposes endpoints to check out and check in a sandbox process and then joins all requests into that process if you add a header to them.

Effectively, you are able to use a frontend testing suite such as cypress to

  • checkout a sandbox connection
  • do any data setup
  • run the test
  • check it in

And your e2e test is running in isolation, every time with a fresh state, as it would if it were written in ConnCase, or if it ran using Hound or Wallaby.

Potentially extremely powerful, but I have yet to see it used by anyone in an active project.

1 Like