Skip to content
Collection of what I've done during 100daysofcode
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Collection of what I've done during 100daysofcode

Goal is to build 2 CRUD projects (Spring + Android) for my portfolio with Java and get a developer job.

  • Projects 0: some things from the Programming challenges 3.0 list
  • Project 1: songs database stored on the server with a website client. Like a smaller version of Spotify, where I will start with setting up a server, database and making it possible for a client to manipulate that database. Then I can try to add functionality like storing music files and playing them.
  • Project 2: Android app
  • Project 3: create a Japanese hiragana learning game (like flashcards) using unicode

Topics to review, that I cannot say I fully understand: interfaces; upcasting, downcasting (, polymorphism


Days log

Day 77 (19/07/2019)

  • reviewed job offers what is required for Java Developer positions
  • done some research about what kind of project should I do for job search and updated the beginning of this document (songs database stored on the server with a website client)

Day 76 (18/07/2019)

  • Using Iterators
  • Implementing Iterable
  • What is Spring?
  • Udemy: the switch statement and some exercises around it

Day 75 (15/07/2019)


Day 74 (12/07/2019)

Natural Ordering part 2

Day 73 (10/07/2019)

  • Sorting Lists
  • Natural Ordering part 1 (11 min)
  • Udemy coding exrcises: Seconds and minutes project (Method Overloading), Area Calculator (Method Overloading), Minutes to years and days(modulo, String concatenation), Equality Printer (check whether all parameters are equal or all are different), Playing Cat (nested control flow statements)

Day 72 (09/07/2019) Unlike when I was progressing in JavaScript, the more Java I get to try, the more I like it.

  • HashMap: Retrieving Objects via a Key
  • Sorted Maps
  • Sets
  • Using Custom Objects in Sets and as Keys in Maps
  • Ten Tips for Improving Your Coding
  • Udemy: Method overloading
  • Udemy coding exercises: MegaBytes Converter (modulo); Dog Barks (nested control flow statements), Leap Year Calculator (nested control flow statements and modulo), Decimal Comparator (comparing double to three decimal places), Equal Sum Checker (simple method), TeenNumberChecker (checking whether some value is in range)

Day 71 (06/07/2019)

Linked Lists

Day 70 (05/07/2019)

ArrayList: Arrays the Easy Way

Day 69 (04/07/2019) You could say it's unrelated to coding, but I feel it is related to technical stuff overall. What's more, things that I put off for quite some time and now I saved myself a lot of work outside coding and got to use some things I mostly knew only from their name. Here it goes:

  • set up Virtual Box with another OS since I wanted to use software that was only available on it
  • set up VPN since I wanted to access something otherwise I couldn't
  • set up software to automatically create flashcards based on movies and subtitles (for Japanese)
  • set up addon to remove flashcards with the words I've already learned in other cards and it allows scanning and doing the same for the new cards automatically created from the things I watch ;) Also schedules cards with i+1 priority (one new word per card). Hope I can spend even more time on coding then from now on.

Day 68 (03/07/2019)

  • helped out some other learners by answering their questions on Udemy challenge about their code not working. Pretty fun!

Day 67 (02/07/2019)

  • Serializing Arrays
  • The Transient Keyword and More Serialization
  • Java Design Patterns and Architecture: Introduction
  • Java Design Patterns and Architecture: A Brief History of Software Design
  • A dozen of videos on Udemy, skipping what I already know
  • DiffMerge software for comparing Java code of different projects.
  • some simple coding challenge on Udemy

Day 66 (01/07/2019)

Serialization: Saving Objects to Files

Day 65 (30/06/2019)

Recursion: A Useful Trick Up Your Sleeve,

Day 64 (29/06/2019)

Enum Types: Basic and Advanced Usage

Day 63 (28/06/2019)

  • Try with resources
  • Creating and writing text files
  • The equals() method
  • Inner Classes

Day 62 (27/06/2019)

Reading Files With File Reader

25/06/2019 I passed all the exams, finished all the essays, and had a great trip to England. I consider it also a place to look for the development job. Back to dev.

10/06/2019 -> 24/06/2019 8th till 15th July was a crazy busy time, I was finishing 4 essays for the university and getting ready for exams. The next week was a trip to England.

Totally busy with graduate school :D

Day 61 (10/06/2019):

Abstract Classes

Day 60 (09/06/2019):

Handling exceptions, multiple exceptions, Runtime vs. Checked Exceptions

Day 59 (08/06/2019):

Reading files using Scanner

Day 58 (07/06/2019):

Generics, Wildcards, Anonymous Classes

Day 57 (05/06/2019):

  • Upcasting, Downcasting. This took some time and I'm not sure whether I fully understand it even now.
  • Having some fun with creating new branch on GitHub I will be super busy with graduate school essays till 15th, but I will try to keep doing the daily updates.

Day 56 (04/06/2019):

  • I've switched to using the videos from the caveofprogramming website instead of the YouTube ones. There is more content there.
  • Cave of programming videos 24 - 28 + 2 more: packages, public/protected/private, polymorphism, ecapsulation, API Docs, castin numerical values, Java job market, overall about how Java works
  • Udemy Java course videos 18 - 20 (based on Java 11)

Day 55 (03/06/2019):

  • another few videos from Udemy Java course
  • Cave of Programming videos 21 to 23 (toString(), Object class, inheritance, method override, protected keyword, interfaces)

Day 54 (02/06/2019):

Cave of Programming videos 15 to 20 (getters, setters, constructors, static and final, StringBuilder, String formatting)

Day 53 (01/06/2019):

Cave of Programming videos 13 to 14

Day 52 (31/05/2019):

Cave of Programming videos 10 to 12

Day 51 (30/05/2019):

  • I wrote a new blog post "Change of mind and progress"
  • Cave of Programming videos 6 to 9

Day 50 (29/05/2019):

Cave of Programming Java tutorials continued! Will be for some time

Day 49 (28/05/2019):

going through the Java tutorials on Cave of Programming

I have been abroad on holidays from 23rd till 27th.

Day 48 (20/05/2019):

after last few days of playing with React (and all the other days working with JavaScript), doing research and talking with people who currently work in positions related to development I came to the conclusion that I prefer to become a backend developer instead

  • I installed JDK on Ubuntu and IntelliJ IDE, configured it all in the evening.

Day 47 (19/05/2019):

  • states in React
  • refactoring the React app code

Day 46 (14/05/2019):

  • back to React, setting it up again, some basics
  • creating components
  • learning about package.json and React project file structure
  • building React app using simple API

Day 45 (26/04/2019):

  • creating form on a new wordpress page at work, getting it all to work
  • more google analytics research

Day 44 (23/04/2019):

  • went through backend basics
  • playing with Google Analytics at work. Both website performance information and all the useful statistics about the website usage! I will try to set it up on my blog too.

Day 43 (16/04/2019):

continued working with React

Day 42 (11/04/2019):

creating the first React app

Day 41 (10/04/2019):

installing and using packages introduction to React

Day 40 (09/04/2019):

  • spend some time at work editing a form on the company website
  • more on git, github, terminal
  • open source projects, first two pull requests
  • npm, installed node on Ubuntu

Day 39 (08/04/2019):

  • for in (enumeration on objects), for of (iteration on arrays, strings)
  • debugging JavaScript code
  • modules, webpacks

Day 38 (07/04/2019): All with some exercises

  • classes, this, reference vs value
  • shallow cloning: Object.assign() and = {...obj} - creating new objects with the same value, but not reference
  • cloning with JSON
  • type coercion
  • ES7, includes, power
  • ES8, padStart/padEnd, Object.values, Object.entries

Day 37 (05/04/2019):

  • ES5 and ES6
  • arrow functions, let, currying, closures, compose, functional purity (functions not affecting things outside of it's scope)
  • more on arrays: map, filter, reduce

Day 36 (03/04/2019):

  • scopes
  • control flows

Day 35 (02/04/2019):

  • done more lectures on DOM on Udemy
  • learned about the role and shortcomings of jQuery and why it's not used that much today

Day 34 (27/03/2019):

done a dozen of lectures and an exercises on DOM on Udemy

sick for a few days, then a long break

Day 33 (13/03/2019):

  • watched Design for Non-Designers. Great lecture! Definitely I will refer back to my notes and the lecture itself for some basic, practical design principles! I will be sure to learn something about the UX later on.
  • continued with JavaScript video and exercises on Udemy :)

Day 32 (12/03/2019):

  • redone from scratch yesterday's Grid website
  • continued with JavaScript video and exercises

Day 31 (11/03/2019):

  • Two lectures at University and a work-related meeting after work, not much time left
  • I followed the solution for the Grid website I've tried making yesterday. I forgot about semantics, made too many divs, made it harder than it looks. I will redo it tomorrow from scratch myself. I will redo it until I can get it right :)
  • moving forward to some more JavaScript
  • watched a bunch of videos about web development career

Day 30 (10/03/2019):

  • watched a few videos from The Good Parts of JavaScript and the Web, stopped since I couldn't understand the content anymore due to lack of experience with JavaScript so far
  • went through another tens of videos of udemy course, spend a few hours with bootstrap (I still am totally bad at it) and then building a layout of a website with Grid and Flexbox. Lots of fun!
  • had a conflict between my local and github file, did a merge and push.

Day 29 (09/03/2019):

  • went through 1/4 of The Good Parts of JavaScript and the Web by Douglas Crockford
  • went through first 50 lessons of The Complete Web Developer in 2019: Zero to Mastery, mostly skipped through what I already know, looking to add some more knowledge and do some practice exercises

Day 28 (07/03/2019):

Day 27 (06/03/2019):

Day 26 (05/03/2019):

  • went through DOM section at w3schools
  • read about ES6, ES7, ES8 and ES9 features on (changes in JS over the last 4 years)
  • went through git tutorial video here
  • I pushed this using git in the terminal
  • made a github page from todolist project
  • timeline from yesterday: I tweaked it a bit, turns out to be my own project that I can add more functionality to over time. I added possibility to strike-through list items on click. I will want later to be able to save the state.

Day 25 (04/03/2019):

Day 24 (03/03/2019):

Day 23 (02/03/2019):

Day 22 (27/02/2019):

  • finished my practice with Grid and Flexbox for now, creating random things
  • went through half of w3schools part about HTML DOM
  • taking notes on what is important. I know I will be grateful myself later on for that

Day 21 (26/02/2019):

  • redone Flexbox exercises at, while taking notes in Feynman style for both flexbox and grid.
  • I've been having fun with Grid and Flexbox in Visual Studio Code, building different kind of designs

Day 20 (22/02/2019):

just finished cssgridgarden exercises and made effort to understand all the concepts. The next time I will do my own design with grid. A break tomorrow.

Day 19 (21/02/2019):

Day 18 (20/02/2019):

Day 17 (19/02/2019):

halfway through practical JavaScript, building a todolist app

Day 16 (18/02/2019):

doing practical JavaScript on, much better to get going into action than doing exercises freeCodeCamp

Day 15 (17/02/2019):

  • finished the HTML and CSS Tutorials by mmtuts
  • (finally finished 1st semestr of graduate school)

Day 14 (16/02/2019):

  • finished whole computer networking playlist from thenewboston
  • finished a dozen of videos from HTML and CSS Tutorials by mmtuts

Day 13 (14/02/2019):

  • I finally understood the difference between statically and dynamically typed languages. Talked with a colleague (a developer) at work about it too.
  • still busy with stuff for graduate school. Till weekend.

08/02 - 14/02/2019:

Pretty much no work done on web development. I got busy with writting two reports for graduate school outside of my work hours.

Day 12 (07/02/2019):

  • finished Harvard CS50 2017 Lectures. Really enjoyable and valuable resource! Lecture 11, 12 - JavaScript, anonynomous functions, AJAX, APIs: "why, how, what".
  • half of Thenewboston: computer networking playlist.

Day 11 (06/02/2019):

  • Harvard CS50 2017 lectures 9 and 10:
  • web development in Flask continued
  • SQL, phpLiteAdmin. Lecture covers in less than 2 hours everything that took tens of hours at university classes. Loved it
  • the Harvard lecture.

Day 10 (05/02/2019):

  • watched lectures 7, 8 and half of 9 from Harvard CS550 2017:
  • dynamic programming is a whole new world. Smart ways to deal with complicated problems
  • comparing Python and C programs
  • intro to web dev by a Harvard professor.
  • read about what can be done with JavaScript. Much more than just websites ;)

Day 9 (04/02/2019):

  • watched lecture 5 and 6 from Harvard CS550 2017. Fantastic resource with a good pace! Learned about how does the web work and about data structures.
  • I watched lectures 1-4 already in 2018 and did Scratch, C assignments in them up to encryption. I'm just focusing on lectures, skipping tasks.

Day 8 (03/02/2019):

Day 7:

another 3 videos from Crash Course Computer Science

Day 6:

Day 5:

  • completed basic JavaScript on freeCodeCamp.
  • learned about some concepts in ES6, including arrow functions, var vs let and more.

Day 4:

JSON, manipulating data in JavaScript. About 3 hours.

Day 3:

I might have broken some rules. I did no coding. Busy studying for the exams that take place on the weekend.

Day 2:

  • some more OOP with JavaScript on freeCodeCamp.
  • nested arrays and complex objects in JavaScript

Day 1 (30/01/2019):

more progress on JavaScript through freeCodeCamp

Day 0 (after comitting to learning web dev, but before joining 100daysofcode):

  • I've finished the Responsive Web Design Certification part on freeCodeCamp excluding 3 projects at the end so far. I will do them too of course :)
  • created a blog (
You can’t perform that action at this time.