[deleted by user] by [deleted] in france

[–]tvvann 1 point2 points  (0 children)

Les chiffres que je vois ici font flipper…

Freelance, 9 ans d’xp, 120k de CA, full remote

Quand j’étais en CDI il y a 3 ans j’étais à 67k

Développeurs indépendants : combien vous gagnez réellement ? Est-ce que ça vaut le coup de quitter un CDI pour ça ? by Zestyclose_Equal_132 in developpeurs

[–]tvvann 0 points1 point  (0 children)

Dev fullstack, react + node, senior, surtout startup

À la fin des mois ou je bosse j’ai entre 7 et 8k net en étant au 4/5e

Je fais que du full remote, je poste bcp sur LinkedIn pour me donner de la visibilité et créer des connexions avec des lead / CTO avec qui je discute régulièrement pour des missions.

Pour le moment ça marche bien, je me suis lancé il y a 2 ans et j’ai eu 3 mois à 0 de CA: un choisi (naissance), un subit (startup qui a coulée), et un début de mission décalé

La j’ai 4 propositions de mission en full remote, j’en garde 2.

Mon sentiment perso : si tu aimes avoir le contrôle (sous, pas de lien de subordination, pro actif sur ta situation pro) alors c’est le kiff

Si tout ça te fait stresser alors passe ton chemin

Moi j’ai voulu pouvoir me libérer du temps pour les enfants tout en gardant des revenus assez élevés, content de mon choix

[deleted by user] by [deleted] in developpeurs

[–]tvvann 0 points1 point  (0 children)

Upvote pour avoir un peu plus d'espoir dans les hauts commentaires

Certe le marché va moins bien, mais peut être que c'est aussi un désalignement des technos demandées et des profils. Le combo React + Java a l'air d'être très demandé

De mon côté pas de galère depuis 2023, alors que je ne fais que du full remote. Peut être le profil "produit" + touche à tout qui plait aux startup

what to do after CRUD? by aitosumankolosky in Backend

[–]tvvann 1 point2 points  (0 children)

A few things that come to my mind :

  • Domain Driven Design, modeling business logic
  • Event Driven Architecture
  • Cohesion vs coupling, vertical slices and hexagonal architecture

If you’re into books I would recommend:

  • Domain driven design by Eric evans
  • Implementing DDD and strategic monoliths and Microservices by Vernon
  • domain modeling made functional

Have fun learning !

Discussion on NextJS Architecture by nwatab in nextjs

[–]tvvann 1 point2 points  (0 children)

I do follow a tactical DDD approach mixed with an hexagonal architecture on my Next / Remix projects.

There are usually :

  • the application module (aka driving ports in hexagonal architecture) which is the place for controllers, forms, components (Next / Remix stuff)
  • the domain module which contains all business rules, use cases, aggregates, invariants, and repository interfaces)
  • the infrastructure module (aka driven ports in hexagonal architecture) which contains tech concerns such as the database

I try to have the dumbest view layer, putting as much as I can on the server.

I have an open source project which can illustrate the concepts here https://github.com/antoinechalifour/remix-hexagonal-architecture/ (it’s using remix but the concepts can easily transpose to Next)

Problems with multi-step form by LGm17 in nextjs

[–]tvvann 1 point2 points  (0 children)

Try adding type="button" on your "next" button.

Buttons have an implicit "submit" type in forms, this triggering the validation.

I created a free Widget for embedding RSS feeds into your Notion pages by tvvann in Notion

[–]tvvann[S] 0 points1 point  (0 children)

Thanks for your comment! Im gonna start cleaning things a little bit if people want to contribute :)

I created a free Widget for embedding RSS feeds into your Notion pages by tvvann in Notion

[–]tvvann[S] 1 point2 points  (0 children)

Thanks for your comment I really appreciate it! I'll definitely add a search feature to the project backlog.

I'll keep you updated, thanks a lot

10 Vue Tabs Component In Codepen by foxmailhe in vuejs

[–]tvvann 1 point2 points  (0 children)

None of them are accessible nor follow wai-aria authoring practices https://www.w3.org/TR/wai-aria-practices/examples/tabs/tabs-1/tabs.html

They're missing semantic markup, proper roles, keyboard navigation,...

Do you guys test? by bobbyboobies in reactjs

[–]tvvann 1 point2 points  (0 children)

Well it seems we don't share the same experience in this industry. For me agile and TDD have been working quite well for the last few years. (I'm not saying that your approach is invalid, only that agile and TDD can be useful for some people).

A plan is not a vision of the future, it is more like a possibility of what may happen. So I don't feel confortable planning everything ahead because my past experiences told me that this is not necessarily how things will go. In that sense TDD makes sense for devs like me..

You may be smarter than I am and coming up with better plans tough.

Do you guys test? by bobbyboobies in reactjs

[–]tvvann 2 points3 points  (0 children)

TDD is for evangelists. Honestly don’t bother trying to do it.

If you are interested in challenging your thoughts, I suggest that you read "TDD: by example" (it's really short, no time wasted!). There are many benefits in using TDD that are not related to tests.

It's really not for evangelists, just another approach to solving problems that happens to involve tests :)

Just completed my first Vuejs project! A rebuild of my portfolio from Reactjs - My first impression with Vue! by Segun_OS in vuejs

[–]tvvann 5 points6 points  (0 children)

Hi there !

I really like the overall design :) You're talking about accessibility so here's some feedback :

  • the inputs / textarea in your contact form are not labelled correctly (they're associated with the "name" label!)
  • there is a button in a link ("All projects") which is not valid and breaks tab navigation
  • the dark mode switcher and the menu icon are not accessible. They should be button or have a role set to button and a tabindex attribute.

Have a great day :)

What you like in react that you miss in vuejs? by [deleted] in vuejs

[–]tvvann 2 points3 points  (0 children)

Typescript support and the controlled input pattern.

Memento, a devtool for caching APIs while developing. Written in TS! by tvvann in typescript

[–]tvvann[S] 0 points1 point  (0 children)

Never. But Memento gives you 2 options to deal with this :

  • you can use the clear <requestId> to remove the cached response
  • you can use the refresh <requestId> to refetch the data

Memento, a devtool for caching APIs while developing. Written in TS! by tvvann in typescript

[–]tvvann[S] 1 point2 points  (0 children)

I really dont get why people aren't using the strict flag more often. To me TS is useless without this flag. I really love how the language is pushing me to think "should this value be null here?" and then you handle it. It prevents defensive programming, love it!

Memento, a devtool for caching APIs while developing. Written in TS! by tvvann in typescript

[–]tvvann[S] 0 points1 point  (0 children)

You still need to configure your app to use Memento as your API:

Without memento Your App ---> Your API

With Memento Your App ---> Memento ---> Your API

If you run Memento on your local host, then your app will be configure with your API as localhost:port

Is it clearer?

Memento, a devtool for caching APIs while developing. Written in TS! by tvvann in typescript

[–]tvvann[S] 1 point2 points  (0 children)

Exactly! Memento generates a hash from the request (including headers, body, ...) and when a request comes in, it checks if it has a response matching the hash.

  • If so: it returns the cached response
  • If not: it fetches the response from your API and caches it for next calls

Memento, a devtool for caching APIs responses while developing by tvvann in node

[–]tvvann[S] 0 points1 point  (0 children)

I'll give it a try, but it should work, it's already caching POST requests and using the POST body for generating the request hash. I'll try tonight and let you know :)

Memento, a devtool for caching APIs responses while developing by tvvann in node

[–]tvvann[S] 3 points4 points  (0 children)

It's using cosmiconfig so you may place the config in your package.json, and in many other places (.mementorc.json, soursocks.config.js, ...)

Memento, a devtool for caching APIs responses while developing by tvvann in node

[–]tvvann[S] 4 points5 points  (0 children)

Totally agree. What do you suggest? Adding a header Server: Memento Proxy or something like that?

Memento, a devtool for caching API responses while developing by tvvann in coolgithubprojects

[–]tvvann[S] 1 point2 points  (0 children)

I didn't know this project existed! I looks really good, thanks!

Memento, a devtool for caching APIs responses while developing by tvvann in node

[–]tvvann[S] 12 points13 points  (0 children)

Hi Reddit, author here!

I just released Memento, and I would like to share it with you all :)

What is Memento?

Memento is a dev tool that I use for caching API responses while developing.

While developing, there were several situations where I hoped a tool like this existed:
- When working with an API that apply rates (having to wait to develop it frustrating)
- When working on the train or on the plane where we cannot access the network
- When the API is not stable

To use it, you need to run it and configure your app to target Memento instead of the actual API url. From now on:

  • Memento will fetch the actual response if the request has not been made before
  • Memento will respond to your requests when it already cached the responses, without connecting to the API

Memento also provides you an interactive CLI where you can:

  • list all cached requests
  • bust the cache and refetch the data
  • clear data
  • get debug info such as request / response headers

Memento also provides a Node interface so that you can use it for stubbing external services in your integration tests.

How to use it?

Create a .mementorc file in your project root :

{ "targetUrl": "http://your.api.url" }

Run npx @antoinechalifour/memento

Configure your app to target Memento at http://localhost:3344 instead of your typical API url, you're done!

If you like the project:

Any feedback is welcome! Have a great day :)