diff --git a/_posts/2018-05-15-node-js-npm.md b/_posts/2018-05-15-node-js-npm.md index e688863..24cf2eb 100644 --- a/_posts/2018-05-15-node-js-npm.md +++ b/_posts/2018-05-15-node-js-npm.md @@ -1,7 +1,6 @@ --- layout: post -title: "Meeting Node's (Package) Manager" -alt_title: "Node.js: NPM" +title: "Node.js: NPM" date: 2018-05-15 04:25:33 +0800 author: foo-dogsquared categories: node-js diff --git a/_posts/2018-05-18-git-concepts-and-mechanics.md b/_posts/2018-05-18-git-concepts-and-mechanics.md index de05ce8..11d8d53 100644 --- a/_posts/2018-05-18-git-concepts-and-mechanics.md +++ b/_posts/2018-05-18-git-concepts-and-mechanics.md @@ -1,7 +1,6 @@ --- layout: post -title: "How to Git Gud" -alt_title: "Git: Concepts and Mechanics" +title: "Git: Concepts and Mechanics" date: 2018-05-28 7:03:34 +0800 author: foo-dogsquared categories: git diff --git a/_posts/2018-05-8-node-js-basics.md b/_posts/2018-05-8-node-js-basics.md index 9e839fb..1524354 100644 --- a/_posts/2018-05-8-node-js-basics.md +++ b/_posts/2018-05-8-node-js-basics.md @@ -1,7 +1,6 @@ --- layout: post -title: "Debriefing to Node" -alt_title: "Node.js: Basics" +title: "Node.js: Basics" date: 2018-05-08 21:47:24 +0800 author: foo-dogsquared categories: node-js diff --git a/_posts/2018-06-21-a-closer-look-on-computers.md b/_posts/2018-06-21-a-closer-look-on-computers.md index 35c116f..78296e4 100644 --- a/_posts/2018-06-21-a-closer-look-on-computers.md +++ b/_posts/2018-06-21-a-closer-look-on-computers.md @@ -1,7 +1,6 @@ --- layout: post -title: "What's a Computer?" -alt_title: "A Short History on Computers" +title: "A \"Short\" History on Computers" date: 2018-06-21 9:56:34 +0800 author: foo-dogsquared categories: general diff --git a/_posts/2018-07-4-an-abc-web-dev-reference-list.md b/_posts/2018-07-4-an-abc-web-dev-reference-list.md index 241e24e..0c0d2f6 100644 --- a/_posts/2018-07-4-an-abc-web-dev-reference-list.md +++ b/_posts/2018-07-4-an-abc-web-dev-reference-list.md @@ -1,7 +1,6 @@ --- layout: post title: "An Absolute Beginners' Complete Web Development Resource List" -alt_title: "An ABC Web Dev't Resource List" date: 2018-07-2 9:56:34 +0800 author: foo-dogsquared categories: general diff --git a/_posts/2018-08-18-simplified-introduction-to-electronics-1.md b/_posts/2018-08-18-simplified-introduction-to-electronics-1.md index 8849c36..2390f44 100644 --- a/_posts/2018-08-18-simplified-introduction-to-electronics-1.md +++ b/_posts/2018-08-18-simplified-introduction-to-electronics-1.md @@ -1,7 +1,6 @@ --- layout: post -title: "[Simplified!] The Shock of Knowing Electronics" -alt_title: "Simplified! :: Introduction to Electronics I" +title: "[Simplified!] Introduction to Electronics I" date: 2018-08-18 00:52:05 +0800 author: foo-dogsquared categories: electronics diff --git a/_posts/2018-08-7-simplified-introduction-to-the-memory-and-memory-management.md b/_posts/2018-08-7-simplified-introduction-to-the-memory-and-memory-management.md index 7b73d47..a6438a2 100644 --- a/_posts/2018-08-7-simplified-introduction-to-the-memory-and-memory-management.md +++ b/_posts/2018-08-7-simplified-introduction-to-the-memory-and-memory-management.md @@ -1,7 +1,6 @@ --- layout: post -title: "[Simplified!] Thanks For The Memories" -alt_title: "Simplified! :: Introduction to the Memory and Memory Management" +title: "[Simplified!] Introduction to the Memory and Memory Management" # date: 2018-07-7 18:32:05 +0800 author: foo-dogsquared categories: computer-science diff --git a/_posts/2018-09-16-simplified-introduction-to-electronics-2.md b/_posts/2018-09-16-simplified-introduction-to-electronics-2.md index c4ff778..ac42cf0 100644 --- a/_posts/2018-09-16-simplified-introduction-to-electronics-2.md +++ b/_posts/2018-09-16-simplified-introduction-to-electronics-2.md @@ -1,7 +1,6 @@ --- layout: post -title: "[Simplified!] Plug and Play into the Practical World" -alt_title: "Simplified! :: Introduction to Electronics II" +title: "[Simplified!] Introduction to Electronics II" date: 2018-09-16 18:00:05 +0800 author: foo-dogsquared categories: electronics diff --git a/_posts/2018-09-30-monthly-resources-and-learnings-september-2018.md b/_posts/2018-09-30-monthly-resources-and-learnings-september-2018.md new file mode 100644 index 0000000..bf0ea0d --- /dev/null +++ b/_posts/2018-09-30-monthly-resources-and-learnings-september-2018.md @@ -0,0 +1,280 @@ +--- +layout: post +title: "Monthly Resources and Learnings (September 2018)" +date: 2018-09-30 14:27:21 +0800 +author: foo-dogsquared +categories: self-learning +tags: [programming-notes, monthly-learnings, learning] +--- + +OK! The first entry to the new monthly format of my learnings note. It is a working method for me to have a bit more time than usual and +more on the learning side so good for me, I guess. I also found a better naming system for this kind of post that is a thousand times better +rather than simply numbering them. Might as well change those in the weekly learnings. Totally thought of that originally, yeah... + +## What I've learned +### Abstract data types +I've learned a bit about on how data structures work in the big picture at least a little bit. Reading sections about data structures brought +me to the general definition of data structures that it is used to describe how data would work. There is also what they call the +*abstract data type* which describes what is the data and how are we going to visualize it. In short, data structures describes the how, and +abstract data type describes the what. + +Abstract data types are used to make it easier to understand the bigger picture in our application since the details of data-handling +processes are omitted, in other words, it serves as an *abstraction*. Since we can understand what data are we handling from the outside, +we can use other peoples' codes as long as we know the limitations and restrictions implemented. + +We can take the use of abstract data types by using it as a tool for organizing our thoughts and data. For example, we can create an +abstraction for coordinates, text, RGB color codes, and images. Each of the data types have operations that we can do with them, what possible +values they contain, and what processes are relevant to interact with them. + +ADTs have common abstractions that are included in most programming languages such as the primitive data types: +- numbers which operations can include applying arithmetics (addition, subtraction, division, and multiplication) +- strings which can be used to append, concatenate, or copy other strings +- boolean which can be combined (AND and OR) or inverted (NOT) + +Another abstractions commonly found is the stack which can be popped (remove the most recent item) or pushed (add an item on the top of the +stack), queues which can enqueue (add another item on the very end of the queue) or dequeue (remove the first item on the queue), and +lists which it can insert an item, remove an item, and get an item. + +Overall, abstract data types are used for abstraction, as indicated by their name. Abstracting the overall structure of the data by not +focusing on the way data are handled. Focusing on the handling process of the data means that we focus on the *data structure* of the +data. + +### More general electronics +This is a summary and most of the stuff came from +[this post]({{site.baseurl}}{% post_url 2018-08-18-simplified-introduction-to-electronics-1 %}) so this will only take a bit too short +(or a bit too long since the post has 47 minutes of average reading time). + +Anyways, introducing the world of electronics (or at least electronic engineering) without the electronic components is like introducing +mathematics without the numbers. One of the main thing in electronics is controlling electrons in your circuit in a precise manner and +with circuits, of course, you're going to encounter these electronic components. + +I've noted about some components already in the [last weekly learnings entry]({% post_url 2018-08-21-weekly-resources-and-learnings-7 %}) +so I'll mainly focus on one thing that I've had the hardest time understanding it: the transistors. + +First, to understand transistors, we need to understand a bit about semiconductors and in some way, diodes. Diodes are made up of +semiconductors, materials that are not conductors nor insulators. We can, however, change the +properties of the material through the process of *doping* where certain chemicals are injected to make the material positively charged or +*p-doped* or negatively charged or *n-doped*. When we apply voltage through the doped variants of the material, certain effects like +electrons moving through will occur. + +However, more interesting happens when we combine the variants, forming a *pn-junction* in the process. However, the atomic structure +difference between the two variants make the electrons in the border to form a barrier. We mostly refer to this as the *depletion layer* or +the *depletion zone* where there is no additional charges made, hence no potential for electricity to flow through. + +We can get through the depletion zone, however, given with enough voltage. The voltage needed for the current to flow through the depletion +layer is called either called the *forward voltage* or the *reverse voltage* depending on where the current intends to flow. Mostly, we're +dealing with the forward voltage such as in LEDs but in the future, we might deal with the case of needing to resist against the current +so we need to know the reverse voltage instead. + +Now, what does a transistor have to do with semiconductors and diodes? Well, transistors are made up of semiconductor materials and they +function like a diode, in a way, since they are made up of junctions. + +There are two types of transistors: the *bipolar junction transistors* (BJT) and the *field effect transistors* (FET). Mainly, they have +the same function but they have different ways on how they are supposed to do their duty. + +In this note, I'll discuss mostly on the common type of transistor that we encounter as a beginner which is the former type of transistors. + +Bipolar junction transistors, as indicated by their name, are made up of two junctions: a base-emitter junction and a base-collector junction. +These two junctions then are joined together, forming either the two variants of a BJT: the NPN transistor or the PNP transistor. Each of the +section in the transistor is attached to a lead and we mainly refer to those leads as the *base*, *emitter*, and the *collector*. Each +model of the transistor may have different arrangement to what each lead represents so we mostly need to search about it on the internet or +ask the manufacturer/seller, if they have one. + +The thing with the BJT is that we have two current of charges to interact with, one that will enter to the base and the other to be the +collector. The emitter represents the output depending on the input, the voltage from the base. Remember that with the transistor, we +need enough voltage for the current to be able to flow through. + +There is an analogy I found on the internet while searching for a more simplified explanation of the transistors which can be summed up as +this: the way how a transistor works can be compared to a waterhose spewing pressurized water with our thumb. The small movement of the thumb +results in big changes of movement of the water coming out of it. The way how our thumb is positioned at the end dictates how the water should +come out. In other words, it amplifies the current of the water. + +**That is what amplification really is. It's not boosting a small signal to a larger one, it's using a small signal to control a larger one.** + +### Vue.js +Vue is a frontend framework mainly used to easily create user interface for your apps. Unlike with React and Angular where they bring the full +package, Vue is minimalistic and lightweight, allowing you to bring only the stuff that you need. + +Like with similar framework and libraries, Vue is focusing on aiding you to create user interface on the webpage by making a part of the +element to be a reusable component. These components are then rendered in the page, gradually (or instantly) bringing life into your page. + +The first concept we should know is the component system which is previously mentioned. In Vue, it is encouraged to make your app into +several components. These components, when used into our JavaScript file with the Vue library, are then rendered but the functionality of +Vue does not end there. + +Vue is also *reactive*, meaning a change of the state can make the component shown in the page to be updated. This allows for modularity, +reusability, and ease of updating your components. + +To demonstrate a bit of Vue in this page, let's just create one: +```html +