강의

멘토링

커뮤니티

BEST
Programming

/

Full-stack

Image Management Full Stack (feat. Node.js, React, MongoDB, AWS)

‘Where and how should I store files that look like images? Should I store them in a database? Or on a server hard drive? How can I reduce server load? How can I quickly load many images without stuttering? AWS S3? CDN?! I just want to store and load images, so why are there so many elements? What role do each of these elements play, and how should they be combined?’ I will teach you all the necessary elements related to image files, from start to finish, as a full stack :)

(4.5) 50 reviews

655 learners

  • sihoon
Lambda
Node.js
React
MongoDB
AWS

Reviews from Early Learners

What you will gain after the course

  • AWS S3, CloudFront, presignedUrl

  • Image resizing & AWS Lambda

  • Infinite Scroll using IntersectionObserver

  • Session-based Authentication & Authorization

  • Node.js, Express

  • React, React Hooks

  • MongoDB

Image management know-how in my hands! 💾
Join us for a fun full-stack example.

node.js(노드), mongodb(몽고db), react(리액트), amazon web services(아마존 웹 서비스)


Image management
Does it affect the completeness of the service?

What if the image loading speed is too slow?

It would harm the usability of the service and be fatal to the user experience.

The many concerns surrounding image management 🤔

  • How can I send and receive images?
  • What difference does it make if I store the images separately on the server/backend/cloud?
  • Is there any way to show a file preview or loading status when uploading an image?
  • I also need to implement pagination and infinite scrolling...

Speed and scalability
You can't miss them both.

When developing a web or application, there are two main things developers want.

First, it has to be fast.

According to data released by Amazon about 10 years ago, for every 100ms increase in loading speed, there was a 1% loss in sales. For a large company like Amazon, 1% is a huge loss.

Second, it must be scalable.

It would be pointless if the loading speed slowed down just because the number of service users increased, right? Everyone wants to create a service that a lot of people use.


Here, files such as images can have a huge impact on speed and scalability. As we saw above, you may have been frustrated because the page itself was loaded, but the images were not loaded quickly and were sluggish. If you can't handle files such as images effectively, it will be noticeable right from the beginning compared to other backend/frontend elements. And if you do it wrong, it can put an unnecessary large load on the main backend server.

Let's think about the root cause. Image files are very large. Normally, when the front end calls the back end, the amount of data received is in kilobytes (KB), but files like images can be up to tens of megabytes (MB). When loading such large images, the service is bound to be slow.

Therefore, we can see that handling and managing image files well is a very important factor in service development .


I felt it through my own experience
I'll tell you the know-how.

I experienced this problem when I was developing e-commerce in the past. There was a time when the page loading time was very long and it was a problem. After investigating, I found that not only the detailed images uploaded by designers, but also the images uploaded by customers in their reviews took up a lot of space.

No matter how much I optimized the DB and backend, it was meaningless. Image loading became a bottleneck. I solved this problem in the best way while building a new company mall.

But surprisingly, there were many people around me who didn't know this solution completely. Many people have partially built solutions, but many people don't know about Resizing using AWS Lambda , and especially the AWS S3 presignedUrl function. You just need to build the infrastructure properly once, but the problem is that there are many annoying processes, and if you do it wrong, you can become vulnerable to cloud security. Even if you try to find information, it's scattered here and there, so it's not easy to understand at first. I decided to make a lecture because I wanted to see this fragmented information as one refined data.

So this lecture was produced as a full-stack lecture, including the cloud as well as the backend/frontend. However, it is not a lecture that focuses on the full-stack itself. In order to properly manage images, there are parts that need to be taken care of in the frontend - backend - infrastructure (cloud), so it was produced as a full-stack lecture in order to properly understand the structure. 😊 Please keep in mind that the focus is image management !


Only for this lecture
Let me tell you the features.

Backend + Frontend + Infra = Fullstack

Image management
Covering everything
Full stack lecture!

Fit for real life
Problem solving skills
I will raise you.

Core focus!
Only the essentials
Compactly.

This course focuses on image management.

This course is a full-stack course covering backend, frontend, and infrastructure (cloud). The technologies used in the course will try to explain the concepts, but please keep in mind that the focus is on 'image management' .

The lecture uses various technologies such as Node.js, MongoDB, and React. I think it is good for those who are new to service development to see the overall full-stack flow 🙂

Solve problems from small to big.

A great developer who acts as a problem solver should be able to properly identify the cause of the problem and create the best solution for it within the given time (resources). Therefore, simply learning the solution by memorizing it is meaningless.

A typical example would be the Microservice Architecture (MSA). If you vaguely introduce it to a service you are starting after hearing good things about it here and there, it could be a disaster... You won't even understand why it is needed. It could even have the opposite effect.

So in this lecture, I won't teach you the perfect solution from the beginning. I'll start with a small problem that you can relate to. Then, I'll gradually increase the difficulty level and show you the ultimate problem-solving method .

Contains the essence of image management.

This lecture covers only the essential techniques for image management. For example, if you use a CSS framework or style it yourself, you can create a pretty website. However, since it has nothing to do with learning image management, I applied only the bare minimum styling, even though the design is crude. Follow the lecture and learn the essential know-how!


To these people
I recommend it.

Using images
Web or mobile app
Anyone who wants to develop

Full stack development
Lightly once
Anyone who wants to taste it

AWS(Amazon Web Services)
The cloud
Anyone who wants to use it

Images etc.
Manage high capacity files
For those who want to do it right


As a fun example
Follow along and learn.

We'll create a simple photo album page that uses a lot of photos and distribute it to the cloud.
Follow along from start to finish to create a web app that can easily load a lot of images!

Follow the lecture and learn!

✅ The most basic way to save images using Multer
✅ Development of session-based authentication authorization and photo album functions
✅ The charm of MongoDB that you experience for the first time!
✅ Pagination, which affects performance
And the implementation of Infinite Scroll to complement this
✅ How to manage files in the cloud with AWS S3 file storage, not a server or database
✅ Reduce image size using AWS Lambda

The photo album service we will create in this lecture is structured as follows.


Expected Questions Q&A

Q. Can I listen even if I am using a different technology stack?

If you have even a little bit of experience with web development itself, I think you can follow along even if you are a Java, PHP, or Python developer who doesn't even know Javascript well. Rather, I think it's a good opportunity to experience Node.js, MongoDB, and React lightly. If you try to study each one in depth from the beginning, it can be very burdensome to get started. And I think front-end developers who are not familiar with React can also take the course. And I think that photo management itself has a lot in common regardless of the language/framework. So I think you can learn the big picture through this course and modify it to fit the technology stack you are using :)

Q. Do you also handle files like PDF and video?

This lecture focuses on images. However, file uploads such as PDFs and videos are managed very similarly to image uploads. In other words, there are many commonalities. I think the biggest difference is the way they are loaded and displayed. You can simply download PDFs and videos. In the case of videos, there are also ways to run them on the screen, like Inflearn. The reason for focusing on images is that they can have a big negative impact on UIUX even in the early stages of a service that is relatively frequently used and has low traffic.

Q. Are there any AWS costs?

When you actually launch a service and traffic occurs, costs will naturally occur depending on the amount used. Of course, costs may also occur when using it for classes. However, even if they occur, they will be very small. We will also cover costs in the lecture. And above all, when you first sign up for AWS, you will be given credits. These credits are more than enough to take the lecture. However, please note that you must delete all AWS resources you were using after taking the lecture! This will be covered at the end of the lecture.


Knowledge sharer's
Are you curious about other lectures?

MongoDB Basics
To practice (feat. Node.js)

DB correctly
Design and use it!

Recommended for
these people

Who is this course right for?

  • If you want to develop a web or mobile app that uses images

  • If you want to try full-stack development lightly

  • Anyone who wants to try out AWS Cloud

  • If you want to properly manage image-like files

Need to know before starting?

  • (Recommended) Basic Javascript Syntax

Hello
This is

2,708

Learners

186

Reviews

261

Answers

4.7

Rating

3

Courses

현재 공동창업한 작은 스타트업 Ninjalerts에서 CTO역할로 일하고 있습니다. Ninjalerts는 이더리움 블록체인 데이터를 기반으로 NFT 거래 정보들을 실시간으로 알려주는 서비스에요!

전에 만나씨이에이에서 개발 팀장으로 있었어요. 시작은 기획자였는데 개발자가 부족한 탓에 외주를 맡기려다가 직접 개발할 기회가 생기면서 운 좋게 개발자로 전향했어요. 이후 자사몰을 자체 개발하면서 이커머스 개발팀장을 맡았어요.

온라인에 나온 다양한 좋은 자료들 덕분에 빠르게 성장할 수 있었어요. 제 노하우가 여러분들에게도 도움이 되길 바랍니다 :) Linkedin 프로필

Curriculum

All

93 lectures ∙ (14hr 12min)

Published: 
Last updated: 

Reviews

All

50 reviews

4.5

50 reviews

  • bi9choi4514님의 프로필 이미지
    bi9choi4514

    Reviews 3

    Average Rating 5.0

    5

    100% enrolled

    良い講義はよく聞きました。講義聞きながら不便な点もありましたが、それにもかかわらず多くのことを学びます。 モンゴディビ、nodejs選手知識がないにもかかわらず、講義を聞くのに大きな乗り心地はありませんでした。 ソースコードが提供されれば、誤字や他の問題を探すのに少しは役に立たないかと思います。 講師様の他の講義も期待しています。講師のモンゴルdb講義の購入に行きましょう^_^ 今回の講義を通じて学んだ知識を活用して作るプロジェクトを考えると、すでにエキサイティングですね。

    • sihoon
      Instructor

      わあ、bi9choiさん、そう言っていただき本当にありがとうございます!!反省することも多くて悔しい思いをしましたが、今後はより良い講義ができるよう頑張ります!

  • k989908108480님의 프로필 이미지
    k989908108480

    Reviews 4

    Average Rating 5.0

    5

    100% enrolled

    リアクト+ノード+モンゴルdbの組み合わせでプロジェクトを作ってみたかったのに多くのお役に立ちました。 パート別に分けるから理解もしやすかったし、各セクション序盤に紹介映像はそのセクションの全体を理解するのに良かったです!質問も残ったらすぐに答えてくれてエラーを解決できてよかったです。

    • seungwoo님의 프로필 이미지
      seungwoo

      Reviews 6

      Average Rating 5.0

      5

      92% enrolled

      まだ1/3しか聞こえなかったけど、 良い内容がたくさんあります。 画像のアップロード、ログインなど全般的な内容を一度試してみることができます。 もちろん基礎知識がある程度あれば講義の内容に従うことに問題がないようですね! AWS Lambdanaの後半の講義までもっと聞くと良い経験になりそうです

      • mydufao9962님의 프로필 이미지
        mydufao9962

        Reviews 6

        Average Rating 5.0

        5

        44% enrolled

        モンゴディビ講義も聞きましたが、一つ一つ構築していく過程をわかりやすくしてくれて、今回の講義もリアクト部分まで概念をつかみながら学んでいます。アプローチする方法論や深さがとても良いです。ありがとうございます。 ただしセクション2、useState講義の6:41分から5秒程度は編集してもいいと思います。

        • sihoon
          Instructor

          若者の石こんにちは:)良いフィードバックありがとうございます!該当映像確認後に対処させていただきます!

      • holali님의 프로필 이미지
        holali

        Reviews 16

        Average Rating 4.8

        Edited

        3

        100% enrolled

        よく聞いています! 講義をjsで進められていますが、tsに変更するなどの様々な試みをしながらたくさん学んでいます!

        $59.40

        sihoon's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!