Articles on leovictorsr's Bloghttps://blogs.python-gsoc.orgUpdates on different articles published on leovictorsr's BlogenThu, 22 Aug 2019 02:38:53 +0000It's the final countdown - 6th blog posthttps://blogs.python-gsoc.org/en/leovictorsrs-blog/it-s-the-final-countdown-6th-blog-post/<p>Hello everyone!</p> <p> </p> <p>This week started with an extra dosage of anxiety for me. The deadline is coming, and I know I have a lot to work yet.</p> <p>Even though the look was too much to do for so little time, that actually got me motivated, and I started to not let the anxiety get to me.</p> <p>I coded a lot this week. And I enjoyed it like I didn't for a couple weeks. Not only I had to create a new part of the setup for the CLI, I had to test and document it. Julio said that I should've split in lesser PRs, but honestly, even though I iterated on my code, I only thought in reviewing every part alone and writing more, until it was finished. Every little method I wrote, I reviewed it in the next day, until I knew I was satisfied with what I wrote. The feeling of having thought of every case, every part of your code is really compensating, and that's what I was looking for in GSoC.</p> <p>So, yes, I am happy that is coming to an end; not because it's ending, but because I learned a lot and even though I doubted myself many times, I was able to go through it and that's something that no one can evaluate for me.</p> <p>I look forward to contributing even more to the open source community. I was always afraid of the feedback and the interaction with so many diverse people. But, to be honest, it seems to be where I can learn the most, and learning is what I like the most to do. So that's also thanks to the GSoC program.</p> <p>I'm thankful for my mentors as well; they were with me in this journey, and I look forward to working with them in the Python community. I am also decided to go to Python Brazil in October, and enjoy it for the community as well.</p> <p> </p> <p>Leonardo Rodrigues.</p>leovictorsr@gmail.com (leovictorsr)Thu, 22 Aug 2019 02:38:53 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/it-s-the-final-countdown-6th-blog-post/6th weekly check-inhttps://blogs.python-gsoc.org/en/leovictorsrs-blog/6th-weekly-check-in/<p>Hello everyone!</p> <p>This weekly check-in is related to the scheduled for August 12.</p> <p>1. What did you do this week?</p> <p>- Documentation</p> <p>- Tests writing</p> <p>- New user input validation for monitors setup</p> <p>- Item validation setup tests writing</p> <p>- Item validation setup code writing</p> <p>- Item pipelines enabling by the command-line interface</p> <p> </p> <p>2. What is coming up next week?</p> <p>- Item validation code finished</p> <p>- Item validation code review</p> <p>- Monitor setup merge to the project's repository</p> <p> </p> <p>3. Did you get stuck anywhere?</p> <p>- Modelling a valid and efficient way for validating user inputs from the CLI</p> <p>- How to write good documentation</p> <p> </p> <p>Can't believe we're getting to the end. These months went through so fast. I'm happy with my development in this project, and I am happy with everything I learned. I'm excited to see code I created going into the project's code.</p>leovictorsr@gmail.com (leovictorsr)Tue, 13 Aug 2019 12:06:01 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/6th-weekly-check-in/Time is running out - 5th blog posthttps://blogs.python-gsoc.org/en/leovictorsrs-blog/time-is-running-out-5th-blog-post/<p>Hello everyone.</p> <p> </p> <p>The time is finally getting into me. I feel I am really late on everything I planned, and I know I am the one to blame.</p> <p>This week we finally merged my code for the command setup, and with it we had tests, documentation and the fix of the first issues.</p> <p>What mostly got into me was the lack of knowledge about how to fulfill a full project. I underestimated the tasks, and didn't pay attention to all the details it was necessary for my project to be 100%. This serves as learning, as now I am way more confident about planning, coding and delivering a full-realized project.</p> <p>Delays are expected; that's why I left a 3-weeks time for writing and polishing before the end of the period. What I didn't expect was that I had so much to learn and my motivation dropping together with my university exams week. Today I feel more motivated, as one step of the project was fulfilled, and I know I still have a chance to do better until the end of the program. That's where my focus will be.</p> <p>Writing code is not only about knowing the tools, but creativity and time commitment. Thinking is crucial for a good code, but also is having a good pace on how you're writing. Keeping communication with my mentors was hard to me, but within the period of 2 weeks of good communication I finally got back on track.</p> <p>I expect to be way more positive in my next blog post :-)</p> <p>And with more PRs merged!</p> <p> </p> <p>Leonardo Rodrigues.</p>leovictorsr@gmail.com (leovictorsr)Mon, 05 Aug 2019 15:42:41 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/time-is-running-out-5th-blog-post/5th weekly checkinhttps://blogs.python-gsoc.org/en/leovictorsrs-blog/5th-weekly-checkin/<div class="lead"> <div class="lead cms-plugin cms-plugin-aldryn_newsblog-article-lead_in-314 cms-render-model"> <div class="lead cms-plugin cms-plugin-aldryn_newsblog-article-lead_in-218 cms-render-model"> <div class="lead"> <p>Hello everyone!</p> <p>This weekly check-in is related to the scheduled for July 29.</p> <p>1. What did you do this week?</p> <p>This week I got my PR merged. I finished the tests for command setup and am now editing the documentation.</p> <p>2. What is coming up next?</p> After the documentation is accepted, I will work on enable the validation command. <p>3. Did you get stuck anywhere?</p> <p>I got stuck in thinking some unit tests and had to travel to my family's home so got less time to work with on Thursday.</p> <p> </p> <p>Leonardo Rodrigues.</p> </div> </div> </div> </div>leovictorsr@gmail.com (leovictorsr)Mon, 29 Jul 2019 13:09:13 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/5th-weekly-checkin/4th weekly check-inhttps://blogs.python-gsoc.org/en/leovictorsrs-blog/4th-weekly-check-in/<div class="lead"> <div class="lead cms-plugin cms-plugin-aldryn_newsblog-article-lead_in-218 cms-render-model"> <div class="lead"> <p>Hello everyone!</p> <p>This weekly check-in is related to the scheduled for July 15.</p> <p>1. What did you do this week?</p> <p>Reviewed the code for the `spidermon setup` command so far. Merged setup with enable command and wrote tests for the new modules I wrote.</p> <p>2. What is coming up next?</p> Finishing tests and documentation. <p>3. Did you get stuck anywhere?</p> <p>Besides my final exams, I really stuck on writing tests. I had no idea how to use pytest fixtures and how they would help my testing. Now I'm getting used to the library and its features and I'm writing relevant tests for my new utils modules.</p> <p> </p> <p>Leonardo Rodrigues.</p> </div> </div> </div>leovictorsr@gmail.com (leovictorsr)Thu, 18 Jul 2019 00:16:33 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/4th-weekly-check-in/My path this far - 3rd blog posthttps://blogs.python-gsoc.org/en/leovictorsrs-blog/my-path-this-far-3rd-blog-post/<p>Hello guys!</p> <p> </p> <p>This seems to be the post that goes by my 3rd blog post (July 8). I genuinely misunderstood the blog post assignment and I'm sorry I'm late with them.</p> <p>I had motivation issues the last 2 weeks due to the fact I was really focused with the semester ending in my university. Not only I had exams every week, I had to finish some studies I had late the past weeks, and that contributed negatively to my focus to the project.</p> <p>Even though I had a good start, I delayed a lot my unit tests and feedback reviewing, which delayed all my cronogram and showed me I was really optimistic with my timings.</p> <p>My schedule was really good, and I had my feature implemented by the end of the 3rd week; but feature per feature isn't enough, and I was reminded I am contributing to a open source project after all. It's not only about the thing being done, but done right, with tests, clear and maintainable. More than once I was reminded of PEP20, and my efforts were more towards making my code usable by the project than anything else.</p> <p>For the future, I'll need more steps planned so I can make good schedules of my tasks. It's not only about the code, but the community. It's not only about the features, but all the processes involved in making the feature something good for the project.</p> <p>I'm really grateful I can experience this and be in contact with so much talented people.</p> <p> </p> <p>Leonardo Rodrigues.</p>leovictorsr@gmail.com (leovictorsr)Thu, 18 Jul 2019 00:12:25 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/my-path-this-far-3rd-blog-post/Remote is hard - 2nd blog posthttps://blogs.python-gsoc.org/en/leovictorsrs-blog/remote-is-hard-2nd-blog-post/<p>Hello everyone!</p> <p>These past 2 weeks were the most difficult weeks for me in GSoC, as I had final semester exams on university.</p> <p>Fulfilling my deadlines as well as handling the exams made me really anxious, and has been exhausting, but I survived :)</p> <p>Working remote feels even harder, as it is really easy to lose focus and lack the discipline needed, one start to think they have all the time of the world and after some time are lost with so much to do.</p> <p>I dedicated my past 2 weeks to just one task, that was having my code better and improving based on my mentors feedback. I look forward the next weeks when I will have vacation so I can have all my focus in the final half of the program.</p> <p> </p> <p>See you next time,</p> <p>Leonardo Rodrigues.</p>leovictorsr@gmail.com (leovictorsr)Sun, 07 Jul 2019 07:40:04 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/remote-is-hard-2nd-blog-post/Weekly check-in - 17/06 to 21/06https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-17-06-to-21-06/<div class="lead"> <div class="lead"> <p>Hello everyone!</p> <p>Time for that weekly check-in on the Spidermon project.</p> <p>1. What did you do this week?</p> <p>I couldn't work as much on my project because of university exams week. I mainly corrected points of my code and polished the structure.</p> <p>2. What is coming up next?</p> We're finishing the setup command implementation and documentation so we can have the deliverable ready for the weeks 5-6. <p>3. Did you get stuck anywhere?</p> <p>What stuck me were mostly my time commitment because of University.</p> <p>That's it for the week! See you next time.</p> </div> </div>leovictorsr@gmail.com (leovictorsr)Sat, 29 Jun 2019 00:26:57 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-17-06-to-21-06/Weekly check-in - 10/06 to 14/06https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-10-06-to-14-06/<div class="lead"> <p>Hello everyone!</p> <p>Time for that weekly check-in on the Spidermon project.</p> <p>1. What did you do this week?</p> <p>I mainly reviewed and polished CLI code. Also created new utils modules so I can have everything more granulated and with clean shape.</p> <p>2. What is coming up next?</p> This week is one of my planned weeks for less workload because of university exams. I intend to review what's left of the setup and enable commands, finish the tests so I can have a deliverable. <p>3. Did you get stuck anywhere?</p> <p>I got stuck mainly with creating tests.</p> <p>That's it for the week! See you next time.</p> </div>leovictorsr@gmail.com (leovictorsr)Wed, 19 Jun 2019 11:10:05 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-10-06-to-14-06/Never rush your commit - 03/06 to 07/06https://blogs.python-gsoc.org/en/leovictorsrs-blog/never-rush-your-commit-03-06-to-07-06/<p>Hello everyone!</p> <p>This week was a little shorter for me. We had a Python event happening on a nearby city and I planned to go with my mentors.</p> <p>Also with the University exams coming soon, my anxiety rose up this week.</p> <p>I tried to wrap things faster for the week and while the code was fine, I forsake our gitflow for a couple commits, and I am not proud of it.</p> <p>As a learning process, I need to stay focused and calm, after all SW development is a analytical and thinking process. We don't need to do stuff rushed otherwise we are bound to make mistakes.</p> <p> </p> <p>That's it for the week.</p> <p>Leonardo Rodrigues.</p>leovictorsr@gmail.com (leovictorsr)Tue, 11 Jun 2019 12:19:33 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/never-rush-your-commit-03-06-to-07-06/Weekly check-in - 03/06 to 07/06https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-03-06-to-07-06/<p>Hello everyone!</p> <p>Time for that weekly check-in on the Spidermon project.</p> <p>1. What did you do this week?</p> <p>I developed the</p> <code>spidermon setup</code> <p>command. Had to handle with files and folders with my code.</p> <p>2. What is coming up next?</p> <p>This week I need to polish the code for the</p> <code>spidermon setup</code> <p>command.</p> <p>3. Did you get stuck anywhere?</p> <p>I got stuck with the tests for file creation and file handling.</p> <p>That's it for the week! See you next time.</p>leovictorsr@gmail.com (leovictorsr)Tue, 11 Jun 2019 12:00:42 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-03-06-to-07-06/Shapes - 27/05 to 31/05https://blogs.python-gsoc.org/en/leovictorsrs-blog/shapes-27-05-to-31-05/<p>Hello everyone!</p> <p>This week I started to shape what my CLI will be inside the spidermon project. All the work from the previous week were started with implementing the basic structure for the commands. I also started writing tests for the commands so this way we'll have my code tested and ready to deploy if needed.</p> <p>A lot of my time this week I spent reading stuff and writing classes that will be used in the future. i feel I can speed up my coding process, that way I won't be short of time at the end of the cronogram.</p> <p> </p> <p>That's it for the week! See you next time.</p> <p>Leonardo Rodrigues.</p>leovictorsr@gmail.com (leovictorsr)Tue, 04 Jun 2019 07:03:16 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/shapes-27-05-to-31-05/Weekly check-in - 27/05 to 31/05https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-27-05-to-31-05/<p>Hello everyone!</p> <p>Time for that weekly check-in on the Spidermon project.</p> <p>1. What did you do this week?</p> <p>This I week I started by including our library, Click, to develop de CLI. I also developed the first command, `spidermon version`, and thought on a test structure for the CLI using the Click.testing module.</p> <p>2. What is coming up next?</p> <p>Next week I will be developing the setupmonitors command. I will also have to implement a Monitor Suite inside Spidermon.</p> <p>3. Did you get stuck anywhere?</p> <p>I didn't get stuck anywhere. I just had to read more stuff about the libraries and guidelines for the code.</p> <p>That's it for the week! See you next time.</p>leovictorsr@gmail.com (leovictorsr)Tue, 04 Jun 2019 06:58:50 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-27-05-to-31-05/Heat up! - 20/05 to 24/05https://blogs.python-gsoc.org/en/leovictorsrs-blog/heat-up-20-05-to-24-05/<p>Hello everyone!</p> <p>This week was awesome. I got to learn TDD and I got to code into more detailed Spidermon's code.</p> <p>I learnt TDD from an online book that is actually a good physical book using unittest and Django <a href="https://www.obeythetestinggoat.com/book/praise.harry.html">(link here)</a>. All of this knowledge is transferable to other libraries in Python and to other languages I may come to use in the future, so this added a lot for my developer skillset.</p> <p>On Spidermon's, I got to read, understand a more complex issue, pre-plan my approach to code and apply my thoughts on a commit and submit a new pull request. This part not only taught me some stuff but made me aware of the coding process with an open source project. Getting to talk with my mentors about the issue and plan stuff makes me feel fulfilled and motivated to do a good work.</p> <p>I didn't have any big struggles though. My main struggle was my schedule because I had UNICAMP duties this week but they didn't affect my overall productivity.</p> <p>During PR I had to decide to change a previous design for the testing part of a monitor and I still am insecure with my decision-making. I know I can appreciate and qualify different solutions, but I am also want to my decision to be the best, and that affects my perception of my choices. That's something I'll definitely work with and get better during GSoC, because I know this is just me being in something new, I don't want to mess up other people works.</p> <p> </p> <p>That's it for the week! See you in the next :)</p> <p>Leonardo Rodrigues.</p>leovictorsr@gmail.com (leovictorsr)Tue, 28 May 2019 05:20:09 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/heat-up-20-05-to-24-05/Weekly check-in - 20/05 to 24/05https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-20-05-to-24-05/<p>Hello everyone!</p> <p>Time for that weekly check-in on the Spidermon project.</p> <p>1. What did you do this week?</p> <p>This week me and my mentors decided I had 2 things to be ready for the start of coding period: TDD learning, and to learn how to code on Spidermon; and that's what I did. I took the free course called <a href="https://www.obeythetestinggoat.com/book/praise.harry.html">Obey the Testing Goat</a>, and commit code for an issue on Spidermon's GH page. It's still on WIP because we have to decide details on implementation, but you can see the PR <a href="https://github.com/scrapinghub/spidermon/pull/162#partial-pull-merging">here</a>.</p> <p>2. What is coming up next?</p> <p>Next week I will build up the foundation for the Spidermon's CLI. That means I have 4 tasks:</p> <p>1. Include Click as a dependency and make sure it is installed together with Spidermon.</p> <p>2, Add test capabilites on the CLI code (using a plugin for pytest library)</p> <p>3. Update the Spidermon setup to add spidermon to the user's binary path</p> <p>4. Write and test the first spidermon command, spidermon version, following the Scrapy library convention</p> <p>3. Did you get stuck anywhere?</p> <p>I got stuck with the PR. I had to break a single test for a percentage that globalized all fields in sub-tests for each field, and the code didn't support multiple assertions (so it just raised the first and forgot the rest). I overcome this capturing the AssertionError exception and printing it with the traceback. I'm still waiting for my mentors feedback.</p> <p>That's it for the week! See you next time.</p>leovictorsr@gmail.com (leovictorsr)Tue, 28 May 2019 05:09:04 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-20-05-to-24-05/Baby steps - 13/05 to 17/05https://blogs.python-gsoc.org/en/leovictorsrs-blog/baby-steps-13-05-to-17-05/<p> Hello everyone!</p> <p>This week I had the first taste of the GSoC experience. After the first call with my mentors, I had a lot to think on and that's a good thing to me.</p> <p>I started by studying the library we'll work on, called Click, and even though I had researched about it before, getting to know the details under the library and having ideas to implement on my project was awesome. One of the requirements we had for the CLi is to have it as scalable and modularized as possible (as good code should be), and we proceed to have some checkpoints to fill so we could ensure our CLI was according to the design. One of the points we discussed were the use of a dict so we could have new commands for the CLI without the need of writing much code and new prompts, and I discovered a way of conciliating this dict with the implementation using Click.</p> <p>Then I proceed to study the Spidermon code. At first, I thought it would be a good idea to have another PR, this time a little bit more advanced, but I understood that I needed more knowledge of the overall Spidermon code, so I decided upon reading code for the parts I am not comfortable with, and I'm still in this process right now. The PR will then be my objective for this week.</p> <p>One thing that I really want to and my mentors agreed with is the good writing of tests, or simply using TDD for our CLI. I'm familiar with writing tests but I definitely want to have it improved for our project, so I know I'll have to study TDD before the conclusion of the Community Bonding period. I intend to do that this week and the next one, because I got some books recommended to me and I want to read them.</p> <p> </p> <p>That's it for the week, until the next one :)</p> <p>Leonardo Rodrigues.</p>leovictorsr@gmail.com (leovictorsr)Mon, 20 May 2019 17:56:14 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/baby-steps-13-05-to-17-05/Weekly check-in - 13/05 to 17/05https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-13-05-to-17-05/<p>Hey everyone, this is my first weekly report for the GSoC project I'm in, Spidermon under the PSF.</p> <p>1. What did you do this week?</p> <p>This week I had a call with my mentors, and we decided upon details about our CLI implementation. We also aligned that I should study CLI, TDD, and get more used to the Spidermon code, and that's what I did. I studied the CLI library that we'll be using (Click), with a couple of videos that explained how to create good CLIs with it, and I also got help from a experienced friend that has CLI expertise. I read more Spidermon code, and I'm planning to have PR ready for this week</p> <p>2. What is coming up next?</p> <p>My next step is to have a PR ready for Spidermon. This is a way for me to get  used to code within the Spidermon project and have my code polished for the future code within the GSoC scope.</p> <p>3. Did you get stuck anywhere?</p> <p>I got stuck understanding specifics about the Click library, but the material I had and the mock code I did with it were enough to overcome this.</p> <p> </p> <p>That's it for the week, after this post I'll have another one detailing my experience this week.</p> <p>Leonardo Rodrigues</p>leovictorsr@gmail.com (leovictorsr)Mon, 20 May 2019 17:42:51 +0000https://blogs.python-gsoc.org/en/leovictorsrs-blog/weekly-check-in-13-05-to-17-05/