As mentioned in my previous article, we have a special channel at Nodalview where software engineers share little bits of knowledge from here and there which we believe will lighten up the day of the other team members. Knowledge is like food: there is a right amount of intake but there is always room for a small unplanned snack !
This channel is named "engineering-til", it stands for "Today I Learned", as a reference for the subreddit where some of us have spent way more time than we'd like to admit.
The rules are simple : one message per discovery, keep it small, share awareness but don't make it a book.
This is our monthly harvest for June, we hope you will enjoy it !
- Extensive article on multi tenancy architecture. Very complete?https://medium.com/@sudheer.sandu/multi-tenant-application-68c11cc68929
- https://developer.limneos.net iOS?runtime?headers,?you?can?instantiate?the?corresponding?classes?in?your?apps?after?manually?loading?the?bundle in?which?they?are?declared?in?(/System/Library/PrivateFrameworks/…) Check?out?Springboard?related?ones
- When performing a reverse-search in terminal (bck-i-search) which is done via ctrl+R, you may miss the command that you’re looking and you want to do instead a forward search to get back to it. Usually this is done via ctrl+S, but by default on Mac have another binding (dunno what ˉ\_(ツ)_/ˉ) on ctrl+S, therefore it’s not working. To enable forward search on ctrl+S, run?stty -ixon?in the terminal. To disable it again, run?stty ixon.
- ?Interesting article about code sharing in microservices.??https://link.medium.com/RvNjBomtvqb
- Removing?tmp/localstack?once in a while can avoid this problem:?https://github.com/localstack/localstack/issues/3855 Don’t forget to launch the scripts to re-create buckets and queues
- Quite interesting article on how we could handle statistics into the app.?https://evilmartians.com/chronicles/time-series-data-using-timescaledb-with-ruby-on-rails
- TIL that in Rails migration, index: true only works when you create a new table (create_table)?or add a reference (add_reference) but not when you add a column to an existing table (add_column(... , index: true) )
- Basic tutorial about using AlpineJS with Rails :?https://www.bootrails.com/blog/ruby-on-rails-alpinejs-tutorial/?AlpineJS seems to be a viable alternative to StimulusJS. The article also mentions?ViteJS?and the gem vite_rails , a tool that removes the need for jsbundling, Webpacker, importmaps and/or Sprockets.
- Extensive list articles on the use of GraphQL with Rails, a nd as a cherry the cake, a nice article about n+1
- No null (why?)
- No code in constructors (why?)
- No getters and setters (why?)
- No mutable objects (why?)
- No readers, parsers, controllers, sorters, and so on (why?)
- No static methods, not even private ones (why?)
- No instanceof, type casting, or reflection (why?)
- No public methods without a contract (interface) (why?)
- No statements in test methods except assertThat (why?)
- No ORM or ActiveRecord (why??and?why?)
- No implementation inheritance (why??and?why?)
The author even created his?own programming language?that strictly follows these principles. You probably won't agree with all of them, but I find it interesting?to hear a very passionate person telling hot takes
See you next month for the next episode !