inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

MSA 와 BFF 아키텍처 설명 부분에 대한 문의

해결됨

"AI 딸깍의 시대" 원리로 돌파하는 Node.js와 CS Part1 - V8과 코어 해체기

강의 2강에 대한 노트에 대한 질문입니다. 💡 [CS 및 실무 적용 Point: MSA와 BFF 아키텍처] 현대의 마이크로서비스 아키텍처(MSA)에서 Node.js는 특히 BFF(Backend For Frontend) 패턴의 핵심 기술로 사용됩니다. 브라우저의 DOM을 다루던 언어적 특성을 살려 클라이언트(React, Vue 등)의 요청을 쉽게 파싱하고, 이식된 운영체제 제어 능력(http, fs)을 통해 백엔드의 여러 마이크로서비스(Java, Python 등)로 비동기 네트워크 요청을 뿌린 뒤, 그 결과를 모아 빠르게 클라이언트에게 반환하는 완벽한 미들웨어 역할을 수행합니다. 해당 설명에서 BFF로 NodeJs를 유용한 이유는 I/O 입출력 특출나기 때문에, BFF로 사용하면, API 요청을 받아서 마이크로 서비스에 통신 요청을 보내는 용도로 사용한다는 건가요? 한번 더 거쳐가면 더 성능이 안 좋은 거 아닌가요? 아니면 원래 SpringBoot로 개발되었던 웹 사이트를 NodeJs로 구현한다면 더 좋다는 의미일까요?

  • javascript
  • node.js
  • 컴퓨터-구조
  • frontend
  • backend
윤수혁 (나무펜) 댓글 1 좋아요 1 조회수 64

eslint.config.js 설정 질문입니다.

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

우선 이전 질문/답변을 통해서 eslint 설정 파일명이 바뀐것을 알게되었습니다. 문제는 강의의 코드와 저의 코드가 다르다는 점인데, 이정환 강사님께서 설정하신 그대로 따라간다면 rules: { "no-unused-vars": "off", "react-prop-types": "off", }, 이 코드만 추가하면되는걸까요? 강의에서는 rules 프로퍼티가 이미 있고 해당 객체 내부에 react-refresh/only-export-components ~가 있는데 제 코드에는 rules 자체가 없습니다. 26-07-01 기준 현재 vite 프로젝트의 eslint.config.js 파일 코드 export default defineConfig([ globalIgnores(["dist"]), { files: ["**/*.{js,jsx}"], extends: [ js.configs.recommended, reactHooks.configs.flat.recommended, reactRefresh.configs.vite, ], languageOptions: { globals: globals.browser, parserOptions: { ecmaFeatures: { jsx: true } }, }, }, ]);

  • javascript
  • react
  • node.js
박준형 댓글 2 좋아요 0 조회수 79

7강 흐름 제어 아키택쳐 코드 순서

해결됨

"AI 딸깍의 시대" 원리로 돌파하는 Node.js와 CS Part 2 - 스트림 아키텍처와 하드웨어 통제기

// 3. 작업 종료 알림: end 이벤트를 통해 댐 바닥 확인 streamRead.on("end", async () => { console.log("\\n✅ [종료] 댐 바닥 도착. 모든 데이터 복사 완료!"); // 메서드: 더 보낼 물이 없다고 선언하고 파이프 닫기 절차 진입 // finish 이벤트: 쓰기 파이프가 논리적으로 완벽히 닫혔음을 보장 streamWrite.on("finish", async () => { // 쓰기 파일 디스크립터(번호표) 운영체제에 반환 (메모리 누수 방지) await fileHandleWrite.close(); console.timeEnd("복사_소요_시간"); console.log( `📊 요약: 총 ${chunkCount}회 펌프질, ${pauseCount}회 비상 정지(메모리 방어 성공)`, ); // 메서드: 실험용 임시 파일 삭제 클린업 (unlink) await fs.unlink(SOURCE_FILE); await fs.unlink(DEST_FILE); }); streamWrite.end(); // 메서드: 사용이 끝난 읽기 파일 디스크립터(번호표) 운영체제에 반환 await fileHandleRead.close(); 읽기 스트림과 쓰기 스트림을 종료하는 3번 단계에서 쓰기 스트림을 end 하기 전에 .on finish를 등록을 해야 콘솔에서 요약을 볼 수 있었습니다. 클로드는 레이스 컨디션이 발생해서 그렇다고 하는데 어떤 부분에서 경합이 일어났는지 잘 모르겠습니다.

  • javascript
  • node.js
  • 컴퓨터-구조
  • frontend
  • backend
Minju Kim 댓글 1 좋아요 1 조회수 56

수업자료 어디서 찾아볼 수 있나요?

미해결

프론트엔드 입문: ToDoList 만들기

안녕하세요. 강사님. 강사님의 자바 스크립트 기초 강의를 끝내고, 이 강의를 들으려고 했는데, 강의를 듣다보니 어디선가 인용하는 수업자료가 있으신데, 어디서 찾아야 하는지 알수가 없네요. 알려주시면 감사하겠습니다!

  • javascript
  • 웹앱
  • vanilla-javascript
Jang Jaehoon 댓글 2 좋아요 0 조회수 50

함수 강의의 정답.. 어떤가요?

미해결

프론트엔드 입문: JavaScript 가장 쉽게 이해하기

function getGrade(score){ let grade; if(score >= 95){ grade = "A"; }else if(score >= 85){ grade = "B"; }else{ grade = "F"; } return grade; } let studentScores = [95, 93, 40, 99, 85]; for(let i = 0; i < studentScores.length; i++){ const studentGrade = getGrade(studentScores[i]); console.log( The grade of ${i + 1} th student is + studentGrade); }

  • javascript
  • vanilla-javascript
  • vanillajs
Jang Jaehoon 댓글 1 좋아요 0 조회수 45

깃권한요청드립니다

미해결

Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex

인프런 아이디:@sghkq33336686 인프런 이메일: sghkq3333@naver.com 깃헙 아이디: yujeongkimm 깃헙 username: yujeongkimm

  • javascript
  • vue.js
  • es6
  • vuex
김유정 댓글 1 좋아요 0 조회수 43

<div id="banner">배너 이미지</div> 관련 질문

해결됨

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

강의에서 알려주신 코드를 바탕으로 그대로 작성을 했지만 '배너 이미지'와 '판매되는 상품들' 문구가 나오지 않습니다. 코드에서 어떤 게 문제일까요?

  • HTML/CSS
  • javascript
  • react
  • node.js
  • react-native
  • 머신러닝
  • express
  • tensorflow
한울하눌 댓글 1 좋아요 0 조회수 42

강의자료

해결됨

프론트엔드 마스터클래스

1강에 강의자료 링크가있다는데 못찾았습니다.. 혹시 1.1강에 몇분쯤에 나오는지 알수있을까요

  • javascript
  • react
  • 함수형-프로그래밍
  • 객체지향
  • next.js
dajia 댓글 1 좋아요 0 조회수 46

윈도우에서 Node js를 설치하고 싶어요

미해결

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

윈도우 말고는 익숙치 않아 윈도우에서 node js를 설치하고 싶어요 그런데 윈도우에서 원활하게 사용하고 싶으면 먼저 Powershell 에서 WSL2를 먼저 설치하고 node js를 사용하라는데 이렇게 하면 우분트나 맥처럼 원활하게 사용 가능한가요?

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
주현 댓글 0 좋아요 0 조회수 43

addToFile function에서 path를 사용해 새로운 파일을 생성

해결됨

"AI 딸깍의 시대" 원리로 돌파하는 Node.js와 CS Part1 - V8과 코어 해체기

let previousContent = ""; const addToFile = async (path, content) => { if (previousContent === content) return; // 중복 실행 방지를 위한 거름망 if(!(await fileExist(path))) return; // file이 존재하는지 않하는 지 체크 try { await appendFile(path, content); previousContent = content; console.log(`✅ ${content} is successfully appended to ${path}`); } catch (error) { if (error.code === "ENOENT") { console.log(`⚠️ ${path} does not exist`); } console.error(`❌ 에러 발생: ${error.message}`); } }; catch error 부분에서 에러 코드로 ENOENT를 사용해서 path가 존재하지 않는 경우를 잡아내는 코드를 작성했지만, 실제로 실행했을 때 appendFile 자체가 이미 새로운 파일을 생성해내는데 성공하였기 때문에 error로 연결되지 않았습니다. 중복 콘텐츠 방지를 위한 if 밑에 또 다른 if로 fileExist를 사용해서 early return을 하는 이런 방식으로 처리를 하는 게 맞을까요? 아니면 제가 놓친 다른 catch error 가 있는 걸까요?

  • javascript
  • node.js
  • 컴퓨터-구조
  • frontend
  • backend
Minju Kim 댓글 1 좋아요 0 조회수 53

[46강] EventEmitter를 활용한 10가지 패턴 중 플러그인 아키텍처

해결됨

"AI 딸깍의 시대" 원리로 돌파하는 Node.js와 CS Part1 - V8과 코어 해체기

사례 2번 예시에서 Plugin 클래스도 EventEmitter를 상속받는 이유가 궁금합니다. Application의 인스턴스를 주입받아 해당 인스턴스를 내부에서 활용하고 있는데 Plugin 클래스 자체도 EventEmitter를 상속받는 이유가 궁금합니다.

  • javascript
  • node.js
  • 컴퓨터-구조
  • frontend
  • backend
byeong 댓글 2 좋아요 0 조회수 61

강의가 누락된것 같습니다.

해결됨

"AI 딸깍의 시대" 원리로 돌파하는 Node.js와 CS Part1 - V8과 코어 해체기

안녕하세요. 섹션2를 마치고 섹션3로 넘어왔는데 "node.js 설치와 첫코드 실행"관련 강의가 누락된것 같습니다. 확인부탁드립니다.

  • javascript
  • node.js
  • 컴퓨터-구조
  • frontend
  • backend
bridge130 댓글 2 좋아요 0 조회수 73

용어 발음법이 계속 바뀌는 것 같은데 이런 부분들 개선이 가능할까요...?

미해결

"AI 딸깍의 시대" 원리로 돌파하는 Node.js와 CS Part1 - V8과 코어 해체기

안녕하세요. 강의 잘 듣고 있습니다. libuv 발음이 '립유브이' '엘아이비유브이' '리버브' 등 발음법이 계속 바뀌네요. 다른 질문에서 답변으로 AI로 만든 강의 아니다라고 하셨고 직접 녹음한거라고 하셨는데 직접 하신거라면 조금 아쉬운 것 같습니다. 강의 내용도 흥미롭고 좋은 주제를 다루는 것 같아서 배울게 많아 정말 좋은데 이런 부분들이 조금 강의의 퀄리티를 떨어뜨리는 것 같아서 보완해주시면 좋을 것 같습니다. 강의는 정말 잘 듣고 있는 만큼 보완되었으면 하는 마음에 조심스레 글 남깁니다.

  • javascript
  • node.js
  • 컴퓨터-구조
  • frontend
  • backend
김상민 댓글 1 좋아요 0 조회수 84

counter01.html은 어디있을까요?

미해결

HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌3)

안녕하세요 01.counter함수를 듣고있는데요 자료를 다운받았는데 counter01.html은 어디있을까요? index.html밖에없어서요.

  • HTML/CSS
  • javascript
  • jquery
  • flex
  • 반응형-웹
박희정 댓글 1 좋아요 1 조회수 35

존재하지 않는 일기 url입력 시 alert이 두 번 떠요

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요 아래와 같이 코드를 작성하고 실행했는데 존재하지 않는 id 로 이동 (예: /edit/111)하면 alert이 한번 뜨게되고 [확인]을누르면 url 은 홈으로 이동되고 동일한 alert이 또 한번 더 뜨게됩니다. import Header from '../components/Header'; import Editor from '../components/Editor'; import Button from '../components/Button'; import { useParams, useNavigate } from 'react-router-dom'; import { useContext, useEffect, useState } from 'react'; import { DiaryStateContext, DiaryDispatchContext } from '../App'; const Edit = () => { const params = useParams(); const nav = useNavigate(); const { onDelete, onUpdate } = useContext(DiaryDispatchContext); const data = useContext(DiaryStateContext); const [curDiaryItem, setCurDiaryItem] = useState(); /* const getCurrentDiaryItem = () => { const currentDiaryItem = data.find((item) => String(item.id) === String(params.id)); if(!currentDiaryItem){ window.alert("존재하지 않는 일기입니다."); // 마운트 되기 전에 동작하기 때문에 제대로 동작을 안함. nav("/", { replace: true }); } return currentDiaryItem; } */ // 따라서 useEffect로 설정해줘야함 useEffect(()=>{ const currentDiaryItem = data.find((item) => String(item.id) === String(params.id)); if(!currentDiaryItem){ window.alert("존재하지 않는 일기입니다."); nav("/", { replace: true }); } setCurDiaryItem(currentDiaryItem); }, [params.id]) const onSubmit = (input) => { onUpdate(params.id, input.createdDate.getTime(), input.emotionId, input.content); nav("/", { replace: true }); }; const onClickDelete = () =>{ if(window.confirm("일기를 삭제할까요? 다시 복구되지 않아요!")){ onDelete(params.id); // 이벤트 함수 안에 있기 때문에 마운트 이후 수행됨. nav("/", { replace: true }); } } return ( <div> <Header title={"일기 수정하기"} leftChild={<Button text={"< 뒤로가기"} onClick={() => nav(-1)} />} rightChild={<Button text={"삭제하기"} type={"NEGATIVE"} onClick={onClickDelete}/>} /> <Editor initData={curDiaryItem} onSubmit={(input) => { onSubmit(input); }} /> </div> ) } export default Edit;

  • javascript
  • react
  • node.js
멍이 댓글 1 좋아요 0 조회수 62

useState 직접 구현 부분에서 질문이 있습니다.

해결됨

치킨값으로 배우는 JS 고급

setCount가 전역변수에 없으면 setCount is not defined; 오류가 발생합니다. Codex가 Counter()는 문자열을 반환하고 setCount는 Counter의 지역변수라서 브라우저가 setCount를 전역에서 찾기 때문에 나타나는 오류라고 합니다. <--이부분이 어렵습니다. 아래처럼 변경하거나 addEventListener의 콜백으로 구현하라고 하네요. const states = []; let cursor = 0; let setCount; function useState(initialValue) { const index = cursor; cursor++; if (states[index] === undefined) { states[index] = initialValue; } const setState = (newValue) => { states[index] = newValue; cursor = 0; render(); }; return [states[index], setState]; } function Counter() { const [count, _setCount] = useState(0); setCount = _setCount; return `<button onClick="setCount(${count + 1})">${count}</button>`; } function render() { const root = document.querySelector("#root"); cursor = 0; root.innerHTML = Counter(); } render();

  • javascript
  • 웹앱
  • 함수형-프로그래밍
  • es6
  • 객체지향
  • react.js
  • vanilla-javascript
taluee 댓글 1 좋아요 1 조회수 54

학습을 하고 블로그에 정리를 해도 괜찮을까요?

해결됨

치킨값으로 배우는 JS 고급

블로그에 공부한것들을 간단하게 정리를 해도 괜찮을까요?

  • javascript
  • 웹앱
  • 함수형-프로그래밍
  • es6
  • 객체지향
  • react.js
  • vanilla-javascript
taluee 댓글 1 좋아요 1 조회수 54

교재(3쇄)와 강의 내용 문의

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요. 2025년 1월 발행된 3쇄 교재를 갖고 있는데, 현재 강의내용과 좀 다른 부분들이 있더라고요. 마지막 감정 일기장 프로젝트도 코드가 교재와 강의가 바뀐 부분이 있던데, 이 경우 강의 내용을 기준 삼아 학습하는 것이 좋을까요?

  • javascript
  • react
  • node.js
@V 댓글 2 좋아요 0 조회수 61

섹션2번 부분 강의 화면이 잘 못된것 같아서 문의합니다.

미해결

아무도 알려주지 않는 WebRTC를 사용한 P2P통신

섹션2부분 webRTC 웹페이지만 나오고 있네요. 강의하시는 자료가 화면에 안나오고 있는것 같아서 확인부탁드립니다.

  • javascript
  • go
  • socket.io
  • webrtc
  • p2p
yws0409 댓글 1 좋아요 0 조회수 43

call stack 표현이 잘못표현된것이 아닌가요?

해결됨

"AI 딸깍의 시대" 원리로 돌파하는 Node.js와 CS Part1 - V8과 코어 해체기

5. [실전 훈련] 사고 실험: 상태 누적 시각화 추적하기 예시에서 [Step 2] setTimeout과 Promise 등록 등을 보면 Call Stack이 비어있음 이라고 표현하셨는데, main 호출후 -> 동기코드 완료될때까지. Call Stack은 엄밀히 비어있는 상태가 아니지 않나요? 즉 console.log("D") 가 출력되기 전까지는 콜 스택이 비워지는 상태가 발생할수 없지 않나요? 혹시 제가 잘못 알고 있을수도 있으니 조심히 여쭙습니다.

  • javascript
  • node.js
  • 컴퓨터-구조
  • frontend
  • backend
hanumoka 댓글 2 좋아요 0 조회수 108

인기 태그

인프런 TOP Writers

주간 인기글