[LINUX] TECH CAMP 5th week

The Chat-space implementation has settled down, and we've learned to deploy it. And the task is completed. It's finally time to create an application on your own.

【content of study】 ・ Basic knowledge of server ・ AWS ・ Personal application production

Actually, my previous job was working at a factory. About 12 years on the actual product manufacturing line, about 1 year as a manager, and 3 years as a manager there after being seconded to another factory. At the factory I was seconded to, I was mainly engaged in section manager positions, TCD (Total cost down), and QCC (Quality control circle) education, and I have been coordinating cost reduction activities, quality improvement activities, and training employees. I often hear the word "productivity", but in factories, numerical exchanges are quite severe. Even the number of seconds an employee walks during work is measured with a stopwatch, and we strive to reduce that time by even one second. And the accumulation will lead to great profits for the company, for example, overtime hours of 30 hours / month will be reduced to 0 hours / month. It does not "hurry up" but improves in terms of mechanics and procedures. So, when I hear the word "productivity", various numbers run around my head, and I'm excited to look for ideas (laughs). We appreciate.

** ・ Basic knowledge of server ** First, learn the necessity and role of the server. Then you will learn the basics of IP address, WAN and LAN, domain and DNS, port, web server, and HTTP. Next, you will learn about Linux, which is a popular operating system for servers. The features of Linux are as follows. (1) It is open source and anyone can use it freely and free of charge. ② Many high quality software can be used (3) High reliability because it is widely used as a server in the world. (4) A mechanism for automating operations is provided, making it easy to operate the server.

And then learn about SSH. SSH is a protocol for securely communicating with remote computers using cryptographic and authentication technologies. The advantages of using it are as follows. ① You can operate safely while avoiding the risk of eavesdropping on communications. (2) You can operate files and edit configuration files on the server. (3) When you want to back up data, you can compress (ZIP) it on the server and download all the files at once, so you can shorten the time for uploading and downloading a large number of files.

The actual work was done in the AWS curriculum that followed.

** ・ AWS ** It's finally time to deploy Chat-space. Proceed in the following order. ① Learn basic knowledge about the cloud ② Create an AWS account ③ EC2 instance generation ④ Linux server construction ⑤ MySQL settings ⑥ Start Rails ⑦ Access Rails via Nginx ⑧ Automation of deployment work by Capistrano ⑨ C3 introduction

First, understand why you can use web applications, the flow of deployment, and the merits of using the cloud. Then I created an AWS account, created an EC2 instance, which is one of the servers, and installed various tools for building the environment. Next, set up MySQL and check its operation. Finally, we will deploy it and release it to the world! During this time, I sometimes stumbled due to a description error, but I managed to complete it. But it's not over yet. Introduce Nginx, a web server. Nginx is a type of web server that retrieves static content from user requests and asks the application server to generate dynamic content. It is read as Engine X. Then, we will use a tool called Capistran to automatically perform the deployment work that has been done manually so far. This makes the command operation at the time of deployment much easier. Finally, we will introduce a storage service called S3 on AWS. Set the images posted in Chat-space to be saved there.

Actually check the function in the production environment. Then I asked the mentor to confirm using the issue on Github, and I got LGTM safely. No, I was happy.

** ・ Personal application production ** Now, from here, we will utilize the knowledge we have gained so far and further develop it to create personal apps. As a general outline of the process ① Concept / planning ② Design ③ Development ④ Test ⑤ Deploy So, I am thinking of completing ③ by the presentation on May 19th so that I can show it off.

① and ② have been completed this week. In (1), we first made a plan, identified the necessary tasks, and set a delivery date for each one. Task management uses Trello. And it is the design of ②. Designed each page and database. The design is handwritten on the notebook. Create the database while paying attention to the relationships between the tables. Currently, we are proceeding with the development of ③. I need 6 views in total, so I wonder if I can speed up the front desk, which I'm not good at. By the way, haml is introduced.

The content of the personal app is a kindergarten attendance book app. We will create an application that serves as a notification of parents' absences and a teacher's attendance record. My sister is a kindergarten teacher, but when I heard it, she said that she was doing it by phone and handwriting on the paper attendance book (even though it is a good private kindergarten ... Some kindergartens manage emails and apps. There seems to be some places).

I think that "increasing productivity" is to eliminate waste and unevenness by utilizing such apps. It's not about getting the job done (laughs)

Recommended Posts

TECH CAMP 5th week