What I learned this week:
Git and Github
- Reviewed the concept of git that I learned before
- Basic git commands: git clone, commit, commit pull request, request close
- How to use git on the command line (in terminal) and GitHub desktop
- Push code to GitHub using security enhanced SSH protocol by issuing public and private key pair and GitHub token
Zsh and Terminal
- Set up new terminals iterm2, oh my zsh and pk10 with for command correction and better ZSH shell customization
- my current plugins installed and setting for z shell
- .zshrc plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
- Natural text editing preset for moving between words with the option key
- D2Coding ligature font for ASCII characters and MesloLGS NF font for Non-ASCII characters such as pk10 icons
- Changed settings for VSCode
Python
- Currently working on making Web scraper with Python, BeautifulSoup4, requests, and flask
- Object-Oriented Programming
- Class, Instance, Object, Inheritance, Method, Constructor, Attribute
- Created Number guessing game, Baskin-Robbins 31 (derivatives from nim game), Simple turn-based RPG game
How functions modify variables outside in python; Mutable and Immutable Data Types
I am currently meeting with individuals at GatherTown every day at the same time to learn code together. Codes and questions are shared by members of the study team.
Someone in the other study group came up to me and said he really liked the code I demonstrated a few days ago. Then asked if I knew the answer to his question of what he tried to figure out why, but forgave himself.
The problem was, he tried to utilize both extend and append in the function (where I used the extend) after changing a little bit of my code. Then his two outcomes were entirely different. Looking at it, I put the object in the list and appended it, but he appended the list and extended the string converted into a list within a function.
I didn't know the exact concept behind this problem at the time, but I thought it was an issue with the global variables or their types, not the 'extend' or 'append' method itself. So I tried a variety of data types and also printed within the function or received values as returns.
Based on the result that came out, I assumed that the reason would be whether the data type is "mutable" or not in the end. It is because immutable data types such as strings did not change their values outside the function unless they were returned or printed within the function, whereas changes made to mutable data types such as lists and dictionaries that took place within the function were also applied outside.
And, as I predicted, it was correct as I discovered this blog for the basis of my argument. It says:
a mutable data type such as a global list or dictionary can be changed even when it’s used inside of a function.
Immutable data types, according to this post, do not actually alter the value but rather relocate the pointer from one value to another. However, when dealing with mutable data types, the existing variables are immediately updated as opposed to the previous situation.
Then, I also learned how to preserve global and changeable data types unaltered: utilizing a built-in Python function called .copy(). I believe I will be able to comprehend thoroughly and retain more as I have encountered many questions and persisted in attempting to answer them.
- Basic of HTML and CSS
- Started project cloning one of the social network services
JavaScript
- Learned why I can declare a variable with let; but get a syntax error when declaring a variable with const.
- JavaScript’s variable naming convention is camelCase and it is different from Python’s snake case.
- In JavaScript, 'automatic semicolon insertion' works well when the code is simple. It worked without semicolons like Python in the case of a simple script. However, I sought further since the syntax guide I'd read stated that using a semicolon was required rather than optional.
from dev community user bob.ts
- While many people say so, some people seem to believe that if individuals comprehend the ASI's behavior and follow a coding style accordingly, they don't have to pay much attention to a semi-colon.
- Started creating a Chrome app similar to momentum using Vanilla JS, AJAX, JSON, and the OpenWeather API
Next week
- Finish creating Web scraper
- Continue developing the chrome app
- Learn more advanced Git concepts, such as branch, merge, and rebase
- Guidelines for a great git commit message
- Blog setup to keep track of my ‘today I learned (TIL)’ with GitHub repo
- Read the fundamentals of JavaScript and JQuery (for the following project)
- (Optional) Develop the rest of the social network service app
- Learn no-SQL database concepts and how to use Mondo DB
- Read one or two from lectures The Missing Semester of Your CS Education
For Weekend:
- Learn DNS Basic Operation
- Introduction to Computer Science (Harvard CS50x)
- Introduction to Algorithms (MIT 6.006)
- (Optional) Mathematics for Computer Science (MIT 6.042J)
I believe the most important skill is to be able to learn continuously.
Thank you so much for reading my blog. I hope you will enjoy reading this blog. It is very interesting to me that I can update my progress with everyone. Please feel free to comment or ask questions in the comments section!