My Internship's Second Week of Learning
Feb. 27, 2023 · 5 min readIn my second week of my internship with the company, I learned more about the idea of software development and the various tools and technologies that may be used to create and manage applications. Github, Docker, MySQL Workbench, Mysql Server, Laravel, HTTP, MVC, and REST vs. RESTful were among the tools covered this week. Within a period of five to eight days, I will have learned enough about each of these technologies and tools to understand how important they are to software development.
The Fifth Day
We were given the task of uploading our assignment to Github first thing in the morning. So I learned how to use CLI commands to add my assignment to the Git commands list below. These Git commands are essential for working with Git repositories and collaborating with teams or other software developers on software projects.
Git Commands
- git branch - I learned that this command shows a list based on the available branch.
- git switch - I learned that this command is used to switch between Git branches. It allows me to change the branch to the main to get some files and then back to the current working branch.
- git fetch - I learned that after copying files to the main branch and switching to the second branch, I can use this command to download changes.
- git pull - After using git fetch, I learned that the next command to use is git pull enable to retrieve or download and merge changes or used to update the local repository.
- git rebase - After completing the two commands, git fetch, git pull, and git rebase, I learned that this command is used to integrate changes from one branch into another or to update a current branch with changes from main.
- git status - This command is used to display the current status of the local repository or to show which files have been modified or added.
- git commit - I learned that this command is used to save changes to a Git repository or to create with a unique identifier that captures the name of changes.
The Sixth Day
I learned to never make someone wait for a response; instead, I simply convey my thoughts on the subject. I should listen well to the discussion so that I can catch up what is the current topic and what to do. Furthermore, whenever I receive a message, I always acknowledge that I received the message. In the afternoon, I learned about Laravel concepts, the meaning of MVC architecture, and the difference between REST and RESTful.
Laravel Concepts
-
Laravel - is a PHP framework that uses the MVC architecture, where the framework refers to a collection of methods, classes, or files that can be used, and architecture refers to a specific design pattern that the framework applies or uses in relation with the MVC architecture.
-
MVC architecture - I learned that M stands for model, which the data and business logic from the application are represented by it, V stands for view, which is everything we see on the application or representation, and C stands for controller, which is a middleman who handles the model and view. Furthermore, when a user requests a specific page from the server, the controller will handle the request flow, and the model will handle the logic data that interacts with the database. The controller will then come up to the next level, which is the view, which handles presentation.
-
REST vs RESTful - I learned that REST is a representational state transfer application programming interface that is used when there is a representational transfer of resources that can be made on the internet by the user, such as an HTTP Protocol type that has a URL browser sending a request resources to the server and responding with a format representation or image format while RESTful service is one that follows the REST design pattern.
The Seventh Day
On this day, we were assigned the task of installing some applications, and in the afternoon, I learned how to create a database, delete a database, create a table, delete a table, insert data, delete data, a foreign key.
A list of tools was installed via command line interface (CLI), and the commands for homebrew are listed below.
- Docker -
brew install --cask docker
- MySQL Workbench -
brew install --cask mysqlworkbench
- MySQL Docker Image -
docker pull mysql
The Eighth Day
On this particular day, we were running the MySQL server and MySQL workbench, and we were experimenting with the latter by creating a table. I learned how to use MySQL Workbench to create three tables, each with a foreign key that connects every table with different data information on the user. I also learned how to analyze the three table in a function of Left and Right knowing all the output of data that each table has relates to each other.
Finally, I learned a lot about software development tools and technologies this week. Even though it is difficult to catch up, I try to understand more about this concept so that I can improve my software development skills. These are the steps for creating and managing some applications. Aside from the topic discussion, our mentor encourages me and my co-intern to have a better mindset and to not limit ourselves in order to become better software engineers.