Check out what classmates have to say!
Using multiple infrastructure elements
2 Class Projects
It takes about 4 to 5 hours hour(s) to complete each project.
Continuous automated deployment system
Reliable and fast back-end system
Skills You’ll Learn
Have you ever seen back-end developer job postings from large IT companies?
📍 I've structured the curriculum so that you can learn the parts underlined above.
It seems difficult at first glance, but after all, after learning, I can say that I will be a person who can work in such a place, right?
Only one job posting was brought as the representative, but the content included in the curriculum is common to job postings for IT developers in large companies. That means they use it a lot in practice.
If you take this class, it will be an opportunity to get one step closer to being a backend developer working for large companies and unicorn startups.
In practice, how do you configure the backend?
I, too, had a lot of questions about that when I started development.
📍These are questions I was curious about before I did my job.
- How do you use Git in practice? I only know how to do commit and push, but...
- The code has changed, so I need to upload this to a new server, but I can't get requests while the server is running. What should I do about this?
- I implemented a search using LIKE in the DB, but it became too slow due to the accumulation of data. Is there a repository other than DB that is suitable for searching?
- How can I test how much traffic my application can receive by putting it on the server?
- I want to upload my services to cloud services such as AWS or GCP. How should I configure them?
If you have any of these questions, be sure to take this class. I'm sure you won't regret it.
I'm Kakao developer Fu, who will be working with me as a beginner in backend practice.
📍Currently, Kakao is working on spam and abuse analysis and response system development.
Before I joined Kakao, when I first created a web service when I was an undergraduate student, I was really curious about”How do large IT companies like Kakao and Naver configure their backends?” It was.
It's no wonder why you're curious, right? Kakao and Naver are companies with a lot of users, but what's the secret Trouble-free serviceI was wondering if it would continue to operate.
And if you have any other questions, “If multiple people are developing a project with Git, how do you prevent conflicts (conflicts) from occurring when merging?” It was.
I still have a long way to go, but I think I've come to understand some of the questions I was curious about at the time through a lot of trial and error.
This class deals with answers to questions I had when I was an undergraduate and other things about system configurations used in most back-end environments.
If you're just starting development, we've prepared a practical class that can definitely help you if you're full of questions and concerns about the backend.
What do I need to know to do a good job in backend practice?
📍 Let's learn only 4 things neatly without any clutter.
- How to test and improve application performance
- How to distribute servers and withstand high traffic
- How to use Git when you want to collaborate well at work
- How to configure a system to handle large amounts of traffic
1) How to test and improve application performance
📍 The beginning of performance tuning is testing the current performance, right?
For the first time, we'll check the performance of the application we've created, and then proceed with the process of improving it. It's the best way to watch applications get better and feel that your skills are improving.
2) How to distribute servers and withstand a lot of traffic
📍 I'll build a good server with Nginx & Jenkins.
The term may seem difficult, but if you think about it easily Servers must be distributed to withstand a lot of trafficIt's a story.
What is the beginning of a system that can distribute new versions without interruption and receive a lot of traffic Nginx load balancing (*) and Scale out (**) It's. It starts by distributing user requests across multiple servers.
herewith Automating Jenkins deploymentsLet's try it up to. Your back-end work will become more resilient.
[📚 Wait! Explanation of terms!]
(*) Load balancing (load balancing) : Distributing the load received by a server across multiple servers
(**) Scale out (scale out) : If scaling up (scaling up) increases the performance of the connected servers themselves, scaling up horizontally by increasing the number of connected servers is scaling out!
3) How to use Git when you want to collaborate well in work
📍 How should a project involving many people be managed?
I've tried branching and committing to Git and pushing to Github. What should I do in a collaborative environment where multiple people develop the same project?
Learn about branching strategies in collaborative environments and frequently used Git features. If this is your first time using Git, don't worry. We'll explain the basics quickly and easily.
4) How to configure a system that can handle large-scale traffic
📍 Know-how to handle much more traffic!
If you load balance with Nginx, incoming requests are stored in RabbitMQ and processed as much as the resource allows.
This makes it possible to handle much more traffic than if the server and DB were simply connected 1:1. Also, the principle is that if you use the search engine Elasticsearch (ES), you can even search faster.
If you know how to configure a system to handle this kind of large-scale traffic, it will be an opportunity to get one step closer to being a backend developer for large enterprises and unicorn startups.
The end goal of the backend work class is clear.
📍 Building a system suitable for the service by selecting various infrastructure elements!
RabbitMQ, which I included in the class, can be replaced by other message queue implementations such as Kafka or Pulsar.
However, Among them There aren't many technologies where one has an absolute advantage. If one had an absolute advantage, the other technologies would have already been culled. In other words, there are options when it comes to dealing with technology.
Here are 2 things you'll get from this class:
- Which technology should be applied to what part of the service?
- Among the many options that have implemented this technology, which is the right choice for our service?
I hope you get the strength to think about the above two things.
There are precautions when taking the course.
Each of the various techniques I deal with in the class has extensive documentation, and has many more diverse functions in addition to the features I've introduced.
So the features I'm introducing are really related technologies Only a small portionIt's. Because of that, I took classes, Be careful not to have the following thoughts:
- I've mastered Nginx!
- If I only needed two databases and Elasticsearch, I would be able to cover all the storage I needed, right?
- If I send a message to RabbitMQ, I don't have to worry about 'never' losing the message, right?
The most basic and ready-to-use content is covered in the class, so after learning this, I recommend that you apply it to practice, and then study more deeply to build up your skills.
Class lab environment
📍A Windows environment is required, and other additional programs are as follows.
- Windows 10 x64 (There will be more Windows users among those taking this course. However, even if you use macOS, you won't have any trouble following the course. I'm just putting it on the server and working on it anyway.)
- IntelliJ IDEA Community (Produced as a community version, which is a free version.)
- JDK8 (I thought this was the most commonly used Java version by current standards. However, it doesn't matter if you practice in a language other than Java.)
- Google Cloud Platform
- Docker desktop
- Jenkins
- Nginx
- Git, Github, SourceTree
- database
- RabbitMQ
- Elasticsearch
A shortcut to real backend practice!
I'll see you in class:)
👨🏻💻 1:1 coaching directly from Pooh (2 sessions)
📍 1:1 coaching for backend working masters!
- You can ask 2 questions per coaching ticket.
- As an answer to the question, we will send you a reply of around 200 to 300 characters.
- Coaching tickets can be answered and there are things that cannot be answered, so please refer to them and use them carefully.
🔍 Something I can answer
- Lecture-related content
- Learning and career direction as a web developer
- Review of resumes and portfolios
- Our company/my jobㆍThings that are not indirectly related
📍Notice
- For questions related to other classes, we will wholeheartedly coach you within the limits of your answers.
- Coaching is answered sequentially by the borrower based on the date the questions were received. This may take at least 3 to 10 days. (I'll definitely review it and send it to you. ^^)
- The coaching ticket can be used for 20 weeks from the date of purchase.
- If not used within the period, no refund will be given.
📩 The package is subject to some changes, and we will be fully informed if there are any changes.
Curriculum
Creator
Foo
Nice to meet you, Kakao developer Fu.
📚Creator Foo's history
- 2017 Gyeonggi University, Department of Convergence Security
- After serving in the military as ROTC Communications Officer in the South Korean Army in 2019
- Vulnerability report related to the 2019 Company N session
- 2019 ~ Development related Youtube channel operation
- 2019 ~ Kakao Enterprise Spam Abusing Content Collection/Monitoring/Processing System Development
📍 I'm conveying a variety of knowledge under the nickname Foorogrammer.
Since I first created a web service before I got a job “How can large-scale services get so much traffic?” I had a question like that.
I think all of you who want to take this course will have similar concerns as me. Of course, I don't know all the elements required for the service, and even if I did, I wouldn't be able to include them all in the course.
However, if you learn only the content included in the back-end practical course, you will be able to have the ability to construct a stable infrastructure suitable for the service!
A shortcut to real backend practice!
I'll see you in class:)
GitHub