When GitHub announced Actions few months ago, I was really excited. One of the interesting feature was the ability to create a scheduled workflow using cron syntax. Of course, cronjob is not a new technology, but the ability to run cron without having to manage server while at the same time integrates nicely with GitHub API is pretty amazing. One thing immediately caught my mind:
Today marks my 5th year in Traveloka as a software engineer. 5 years ago, I didn't think I will stay this long in one company. Sure, maybe 2 or 3 years working on something, but not half a decade! Millennials are supposed to change jobs often, right?
I didn't even consider working in software engineering until after the last year of college. That's the reason that I have a degree in electrical engineering, not computer science.
Over the past few weeks, I've been writing code for the new Traveloka web framework. Even though I was the one writing most of the code, this is a team effort because there's a lot of discussions happen beforehand. We learned a lot from previous framework and tried our best not to repeat the same mistakes.
When Now v2 was released, I didn't immediately jump ship and refactor my blog to leverage the new infra. Sure, the monorepo integration looks cool and easy, but it requires an entirely different mindset. Even now, there still things that I don't like, but I've grown accustomed to it.
Last April, I finally decided to do the big refactor. 5 months after the official announcement.
This weekend I was working on my side project to list and display all my future tech talks. This is an overengineered web app built using CRA and Spectacle, with a little bit of React Router (I'll write about it in another post). I want to be able to display talk information in both inside app and in GitHub (where I host the repository), so I decided to put talk title and description in
README.md inside talk directory to prevent duplication.
In early days of web, I use flash state a lot to send message after redirection. It's easy to do it using server side code, because we can use session & cookie. Now that we use SPA everywhere, navigation happen in client-side using browser history API.
If you're using React Router (v4), you might know they have component to do a redirection. So, how do we implement flash state with React Router?