Software Engineering In Practice (EN/RU)
47 subscribers
1 photo
1 file
31 links
This channel covers a wide amount of topics related to software engineering including but not limited to: architecture, algorithms, DevOps, clean code and much more. The channel is led by a software architect with years of commercial experience.
Download Telegram
Here’s a nice tool to expose your local server under a publicly accessible hostname. The usecase I faced is testing my local backend running in IntelliJ from a mobile application that is connected via cellular connectivity.
🌐
https://ngrok.com/
Consider static-site approach (a.k.a. JAMstack) for your next endeavour. It’s an especially great path when it comes to simple sites like blogs, portfolios, etc. Gatsby, a React-based framework for creating static JAMstack websites, just took the 8th place in Github’s yearly report. There are more of them if you want to check Gatsby’s alternatives.
Ever heard of “Shlemiel the painter’s algorithm”?

He’s the guy in this joke:

Shlemiel gets a job as a street painter, painting the dotted lines down the middle of the road. On the first day he takes a can of paint out to the road and finishes 300 yards of the road. “That’s pretty good!” says his boss, “you’re a fast worker!” and pays him a kopeck.
The next day Shlemiel only gets 150 yards done. “Well, that’s not nearly as good as yesterday, but you’re still a fast worker. 150 yards is respectable,” and pays him a kopeck.
The next day Shlemiel paints 30 yards of the road. “Only 30!” shouts his boss. “That’s unacceptable! On the first day you did ten times that much work! What’s going on?”
“I can’t help it,” says Shlemiel. “Every day I get farther and farther away from the paint can!”

It’s never bad to check up basics! Here’s a nice fully ripe article on importance of algorithms.
Be careful using “IN” queries with Hibernate (who knows, maybe other ORMs have this problem too)! You can easily disrupt the query caching mechanism and face hard-to-debug OutOfMemory errors if the number of query parameters varies.

I’ve just faced this case and spent a few painful hours while I finally found a root cause.

See this article for details.
In light of news about the new vulnerability aka “Ghostcat” in Tomcat, dont forget to check your application. Here’s a CLI tool that can ease this process (actually, it can do much more that that, just don’t forget to take into account potential legal consequences 😉)
Martin Fowler has recently released an extensive article on source code branching patterns. We come across this problem on every project. The article is a good place to revisit our knowledge and learn something new 😉
The “classic” paper that covers fundamentals of distributed system: https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
Basics expained simply & quickly: https://wizardzines.com
From my interviewing practice, I find it surprising that many people couldn't answer questions on database indexes that slightly deviate from a straightforward definition or space/time complexity. It is way simpler to address any "non-standard" question if you think in terms of data structures those indexes are built upon, instead of relying on memorization. The most popular data structure used for indexing is B-Tree, and I find this talk to be a pretty good introduction into the "data-structure" way of thinking: https://www.youtube.com/watch?v=HubezKbFL7E