DEV Community

MasashiKon
MasashiKon

Posted on • Edited on

Microservices For A Macro System

There are kind like infinite amount of subjects in coding world. When you finish learning one functionality, new feature comes immediately and we may get lost again.
As I was learning JavaScript, sometimes wondering that how broad the JavaScript world is comparing to entire computer science. When I was getting started how it is related to HTML and CSS, the language suddenly says, "Hey, I am able to run on terminal but only web. browser!". What an awful word it was.
The more I learning, the more the world broaden. Well, it is great experience of course. I love to hit APIs or make sprites to move on Phaser. Also, solving a maze by breadth first is so nice thing to code.
Anyway, I found one thing from these studies. That is an importance of separation.
For instance, when you solve the maze problem, you must know the way of handling 2D arrays like nested for loops or other methods. If you have the object notation in your toolbox, you are able to add extra information to each cell of maze such like whether the cell has been visited.
Array and object are quite basic to talk about. However the way of thinking is applying more complex things.
If you want to make complex function, first of all you need to separate factors. That means, what consists the function? How should I ask the user to input something? How should I treat the input? as string or array? Where does it go after processing the input in which data type? Am I understanding that small functionality precisely?
Well, it's getting confusing. It is obvious that to separate functionalities when building it. What I want to say is rather separating, or organizing my toolbox than the function it self.
Let's go back to the maze problem. I insisted that array and object are basic thing for coding. But is it true?
Solving maze is popular problem but not one of the easiest. You may need to take time to think of strategy before actual coding.
In that time, it requires imagination skill. You need to move elements inside of 2D arrays and each has object. So you need to iterate through objects and each object has key-value pairs like isVisited. Besides, the code should have cue array for processing algorithm. A value of isVisited should be toggled to true when it pushed to cue...
It's getting tangled again! However this time, maybe the thinking has gone into a bit deeper than before.
This is because I know about array and object well. I mean, I'm not a newbie at least.
And this is what I meant: knowing what can I do by the tools?
Node.js can handle outside of browser environment. Java is good at to express relationship between real entities. Bootstrap makes designing web pages a lot easier but if you want to transform HTML elements as wish, you may better to use CSS. Labeling the tools with brief description makes it easy to choose what should I use for a situation.
Even if those descriptions are wrong, we can relabeling later. It's better than no description.
Since August last summer, we've learned lot of things. And from that, not only the practical things, I learned the way of learning. This is maybe the most valuable thing for future macro coding.

Top comments (0)