Getting to know the Open Source world
This is a brief summary of everything I learned during the 10th week at Encora.
This week was interesting because I had to search for issues in different Open Source Projects, so I could contribute to them.
By the start of the week I had already chosen an issue to contribute to.
My first contribution
A user from the react-bootstrap library asked to the contributors to add a way for the Dropdown component to disable the behavior of pressing the Escape key when this component was activated.
After asking for some info and receiving it from the contributors, I decided to start coding this. I learned how the component is structured within the library and I quickly realized how disabling this behavior worked, and where to implement it.
I also coded a test case for this new feature! It was challenging at first, because before this phase I tried, with no luck, to do something similar for a project within Encora my mentor is working on.
However, what the contributors had in mind was not the implementation of this feature within the library, but the technical use of an existing feature to fulfill what the user wanted.
And, basically, my contribution got denied. Nevertheless, a learning that comes with this takeaway is the following: Always make sure that what you are doing is what they are asking.
My current contribution
I found another cool framework I could contribute to: Catch2. Here, the maintainer himself asked for the implementation of generic range matchers which, basically, are checkers that a given statement is fulfilled.
And, as my mentors recommended me to:
Run it locally and use it.
I am now working to get this done and I have learned a lot of C++ reading the Catch2’s code.
But the latter are not every single takeaway I got from this week:
Pair programming sessions
From pair programming sessions with my mentors I learned several things, from several topics.
I learned the names from some PHP frameworks, which are Laravel, Zend, Codeigniter and Apigility. Yes, I am interested in learning more about PHP. My mentor also recommended me to use Laravel if I was to learn about PHP, so I think I’ll do it sometime throughout the following week.
I learned that a gateway is basically a URL which redirects the requests into the micro services. This learning came along with another one, which is that working with Docker may sometimes get difficult. I believe that the learning curve there is like the learning curve when you try to learn Vim.
I now feel very comfortable when my mentors talk about most React’s topic because, if I don’t specifically know that topic, I can now get the general idea it brings. And that makes me feel very good.
Finally, I would like to end this blog post with a really cool hack for when it comes to creating a new branch in Git and switching to it without using git branch first:
git checkout -b <BRANCH_NAME>