First 250 days of software dev - Part 15

7 min read

Day 141

First of all, I apologize if I have done anything wrong against my master today. If I seem to know too much about some things, it is my own ignorance. I realize that I know very little. It's just that I sometimes make the mistake of speaking with certainty.

Today, since there was no task at the beginning, I looked at two react-native related topics: how to check the internet connection and how to hide the keyboard when you click somewhere different. Then, when I couldn't think of anything, I read an article I saw yesterday (it was about software design and programming in general). But I didn't finish it. I hope to summarize it here when I finish it. Then you provided the source code of the mobile application. I tried to grasp the subject you wrote about, how the application works on the backend, the connections and relationships. I think I understood something superficially. I must say that I was impressed when I saw the ternary operators and clean code.

I looked at 3 of the problems (some of them according to me) that I found from the abundance today. Two of them (1-exiting the application when I click on the status in my ads, 2-overlapping the input value with a red colored warning in the input section) were completed. I didn't tell you about the second one, frankly. In case you might say "there is no need to do this". When all payment methods are pressed in the payment methods, the details of all of them appear. A state is given about opening when each one is pressed. But parent elements can be given this state (useState is used, of course it can be in useContext. But since the affected elements are siblings, useState may be more logical), the action of one can affect the others thanks to the common state.

That's how it was today. From the level in this video , it was another day of working with the hope of getting to the level of the eagles described by the software developer here (Lemi Orhan Ergin).

Day 142

Today I found a problem with the display of search results, which you fixed (at least I understood how the problem was solved). Then I looked at the registration page and there was something missing. The views needed corrections. I got something similar to what I wanted, but it's not finished yet. Obviously it didn't work as you said. So I will look again tomorrow morning.

Day 143

Today I initially tried to fix the problematic part of the form process that I couldn't fix yesterday, but I still couldn't do it. Then, when I was on the category page, if I wanted to go to a different category page, the page would not update. Naturally, the navigation did not provide navigation by saying that it did not go to a different page. The last created solution was provided with the navigation library. It was pushing the new page to the navigation stack with the parameter we gave. Our previous solution was causing new problems, but I thought it was very good. I couldn't find out where the problem was coming from, but I was walking around near it, which I can't say anything because I had to solve the problem. As I encounter new problems, I will try to be more efficient and come up with appropriate solutions.

Day 144

Today I tried to fix the errors on the help ticket detail page, and to be honest, by the end of the day it was fixed. But I didn't do it alone, it was a quicker fix. But it took a lot more time than I expected.

Apart from that, I saw a question on Stack Overflow while I was working with JavaScript and I answered it, but it was quite simple (it was about very basic array operations). I think it is very nice to contribute to the channels and people that help me learn.

"You have an egg, I have an egg. I gave you my egg, you gave me your egg. You have an egg, I have an egg. But you have knowledge, I have knowledge. I gave you my knowledge, you gave me your knowledge. I have two knowledge, you have two knowledge." as in these story, when I share knowledge, I don't lose knowledge, on the contrary, I gain access to more knowledge.

Day 145

There was a simple problem today. I noticed it, then it was understood that there was no response from the api and the problem was fixed by the backend. The fixed problems were delivered to you this week. In general, I tried to learn things I didn't know about react in my free time.

Day 146

Today I couldn't do an activity where I could improve myself a lot. I looked at react navigation again, a problem with basic JavaScript, our mobile application, I took a look at it. 7-8 places were fixed in 5 days, but you did most of it again.

What's been happening for 5 days now is that my interest and enjoyment of things I've always enjoyed doing has waned, I can't focus on the things I need to do, a constant feeling of inadequacy, that sort of thing. At first I thought it was just me, but now I don't think so. At first I was suggesting to myself that it was because I was working on new things, but that was not the answer. Almost everything I've done so far has been brand new and challenging for me. I think I am like a fish. You are very unlikely to hold a fish in the sea with your hand. Because the fish slips out of your hand. If you grasp it tighter you think you can hold it, but it still slips. A fish can simply stay in an aquarium, in the sea or in the ocean. It just needs to have its basic needs (water, food, oxygen). It fulfills its basic task: To be food for humans, to occupy a certain place in the ecosystem and play a role in the balance of nature, to swim. Finally, 335 years ago, Newton stated this in his "Mathematical Principles of Natural Philosophy": Action-Response.

Day 147

Today was good. I was able to focus quite well on what I was doing and I was able to be productive. What did I do? When I was logging in, there was a warning in the Android app. And the warning was saying that this could cause a memory leak and that I should use the use effect properly. That's halfway there for now.

Then, until 5:30 p.m., I researched what Single sign-on is. First, I started with what was written on the sites of the most well-known technology companies, then I got more and more specific and scanned many sources I came across. Let's summarize. The whole topic was about "accessing multiple applications with a single session". SSO has its advantages and disadvantages, of course, but the advantages outweighed the disadvantages in my personal opinion. There are multiple protocols that can be used for SSO and these were also learned. How it works was also read and noted. I think I understood in general terms. I learned the differences between protocols for example. I refreshed the difference between authenticaton and authorization from my point of view. I researched the libraries used. There were many different options for PHP and node.js. There were different services (Authelia, Apereo/cas, Keycloak) and there was a library for Java that was mentioned a lot but I didn't include it in the report.

A good term to come across towards the close of the day: "rational ignorance". It was a term about the idea that unnecessary information does not take place in the memory, which you often repeat. The definition is as beautiful as the term itself and full enough to practice English in terms of content:
“Rational ignorance is refraining from acquiring knowledge when the supposed cost of educating oneself on an issue exceeds the expected potential benefit that the knowledge would provide.”

Day 148

Today I looked at what MVC is in general. I looked at how it was created, but it was difficult to do it on my own. Because I still didn't understand where the needs came from and what I needed to do to solve which problems.

With your help I have seen what it is like to design the basics of an architecture from scratch (at least the initial basic phases). I will write a more detailed report when I have a better understanding of the subject.

Day 149

Honestly, I was sad that I didn't write code today, but while you were writing, I think I understood why almost every piece of code was written. Even though the last few parts were a bit confusing, I think I can understand it when I look at it again. Today, I witnessed how a software architecture is created in accordance with MVC and tried to comprehend each part in the best way. In my spare time, I looked at the code and documentation of Laravel or Symphony.

I believe that I will be able to learn this structure very well, even to the point where I will be able to replicate it at a simple level in the near future. This belief was one of my biggest achievements today.

Day 150

Today, I first looked at the code we wrote yesterday. I tried to understand what I didn't understand. In general, I think I understand what works for what. I don't think I have a problem in that respect.

Then I looked up what caching is. You had already explained it briefly, and I only knew a little bit about what web caching does. But today I saw a different cache. There is also a cache usage between CPU and main memory. While I was looking at that topic, I got a bit off axis and got into different topics. Then I went back to MVC again. I looked at our own code and Laravel's documentation again.

If you ask me how much I have progressed in 6 months, I think I have progressed enough to think that I can understand you better. Until recently, I had extreme difficulty even reading a code that you created briefly. I think I have at least understood the grammar and style of the foreign language you speak. I try to repeat the words you say, understand their meanings and try to make sentences myself. I will try. I will succeed. I don't know if I can be John Von Neumann, Harold Finch, Spiderman, The Chosen One, but at least I will try to be myself and do beautiful and clever things.

I had a wild idea today: If data or information can be transmitted and exist without the need for matter (which has volume and mass), could it be stored without matter? Could it exist on its own? Maybe it's impossible, but thinking, having new ideas and dreams, even if unsuccessful, really makes you peaceful in general.