inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

[18-05 게시글 이미지와 함께 등록] 타입 지정 질문드립니다

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

안녕하세요!! 강의 너무나도 잘 듣고 있습니다. 18-05 게시글 이미지와 함께 등록 23:25분에서 file에 대한 타입을 지정을 할 때 알려주신 방법 외에도 ! 를 이용해서 해결을 의도치 않게 했는데, 구글 및 스택오버플로우에도 Argument of type ' file | undefined' is not assignable to parameter of type 'File'. Type 'undefined' is not assignable to type 'File'.ts(2345) 해당 오류를 검색해보았지만 알려주신 방법들 외에는 느낌표를 사용하는 방법은 찾지 못했습니다. 이게 왜 되는건지... 도통 알수가 없네요... 이건 어떤 원리인가요?? 항상 감사드립니다.

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
이승엽 댓글 2 좋아요 0 조회수 97

'왜 Next.js 가 필요할까?(기술적인 등장 배경)' 에서 언급하는 영상들이 무엇일까요?

미해결

Next.js 까보기: "쓸 줄 아는 개발자"에서 "알고 쓰는 개발자"로

1강 '왜 Next.js 가 필요할까?(기술적인 등장 배경)' 에서 언급하신 영상들이 무엇인지 궁금해서 질문드립니다. 04:40 "이 비동기에 대한 의미는 한 번 설명드린 적이 있어요." 10:00 "서버 사이드 렌더링 시간에 저희가 이미 공부했으니까요." 두 지점에서 언급하신 Youtube 영상이 각각 무엇인지 URL을 알려주실 수 있으실까요?

  • react
  • typescript
  • next.js
류지환 댓글 2 좋아요 0 조회수 166

다시 정리하여 질문드립니다

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

질문1) 한 트랜잭션 안에서 최초 getReference() 를 통해 가져온 애는 쭉 프록시 객체 로, find() 를 통해 가져온 애는 쭉 일반 객체 로 영속성 컨텍스트에 남는다고 보면 되나요? (두 경우 모두 별도로 영속성 컨텍스트를 비우는 등의 작업을 하지 않는다고 가정) 질문2) 링크1 의 답변에 의하면 영속성 컨텍스트 안에 프록시 객체를 담는 Map 과 진짜 객체를 담는 1차 캐시 가 있는 것으로 이해했습니다. 그럼 find() ( getReference() )는 아래와 같은 흐름으로 동작하는 게 맞나요? 프록시를 담는 Map 을 먼저 조회 (1차 캐시를 먼저 조회) 있으면 프록시 객체를 가져오고 없으면 1차 캐시에서 조회 (있으면 진짜 객체 가져오고 없으면 프록시 담는 Map 에서 조회) 1차 캐시에 있으면 그대로 가져오고 없으면 DB에서 조회 ( Map 에 있으면 그대로 가져오고 없으면 프록시 객체 생성) 질문3) 링크2 의 답변을 통해 프록시 객체는 영속 대상이 아니라고 말씀해주셨습니다. 그렇다면 em.detach(프록시객체); 는 어떻게 이해하면 되나요? detach() 라는 것이 영속 상태인 것을 준영속 상태로 바꿔주는 것인데 프록시 객체는 애초에 영속 대상이 아니라고 말씀해주셔서 헷갈리네요 전에 올렸던 다른 질문들인데요 AI 답변만 달려서 그런데 한번 확인부탁드립니다 https://inf.run/EcpuQ https://inf.run/75Xi1

  • java
  • jpa
조태준 댓글 2 좋아요 0 조회수 145

앱 재시작 후 회원가입

미해결

스프링과 JPA 기반 웹 애플리케이션 개발

안녕하세요. 정말 도움을 많이 받고 있습니다. 감사합니다. 항상 앱을 재시작하고 같은 아이디(whiteship)로 회원가입을 하시는데 계속 성공하시는 것 같아서 질문드립니다. 혹시 앱을 재시작하면 회원 목록이 초기화되는 코드가 있으신가요? 제가 놓친 것 같지만 부득이하게 질문드립니다. 감사합니다.

  • java
  • spring
  • spring-boot
  • jpa
  • thymeleaf
jinw0909 댓글 1 좋아요 0 조회수 129

swich1에서 coupon이 변수 초기화가 안됐다는데

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 뭐가 문제일까요 똑같이 타이핑 한 것 같은데 변수 초기화 오류 뜨네요

  • java
  • 객체지향
안병욱 댓글 2 좋아요 0 조회수 102

console.log를 해도 터미널에 표시가 되지 않아요

해결됨

아바타 커뮤니티앱 만들기 (React Native Expo)

console.log 를 해도 vscode 터미널상에서 로그가 뜨지 않는데, 찾아보니 최신 ReactNative버전에선 React Native DevTools를 사용하라는 말이 있더라구요. 혹시 React Native DevTools에서 console.log를 확인하는 방법이 있을까요? 단순히 j눌러서 열고 "회원가입하기" 버튼 눌러도 로그가 안나오네요...ㅠㅠ // package.json { "name": "community", "main": "expo-router/entry", "version": "1.0.0", "scripts": { "start": "expo start", "reset-project": "node ./scripts/reset-project.js", "android": "expo start --android", "ios": "expo start --ios", "web": "expo start --web", "test": "jest --watchAll", "lint": "expo lint" }, "jest": { "preset": "jest-expo" }, "dependencies": { "@expo/vector-icons": "^14.0.2", "@react-navigation/bottom-tabs": "^7.2.0", "@react-navigation/native": "^7.0.14", "expo": "~52.0.37", "expo-blur": "~14.0.3", "expo-constants": "~17.0.7", "expo-font": "~13.0.4", "expo-haptics": "~14.0.1", "expo-linking": "~7.0.5", "expo-router": "~4.0.17", "expo-splash-screen": "~0.29.22", "expo-status-bar": "~2.0.1", "expo-symbols": "~0.2.2", "expo-system-ui": "~4.0.8", "expo-web-browser": "~14.0.2", "react": "18.3.1", "react-dom": "18.3.1", "react-native": "0.76.7", "react-native-gesture-handler": "~2.20.2", "react-native-reanimated": "~3.16.1", "react-native-safe-area-context": "4.12.0", "react-native-screens": "~4.4.0", "react-native-web": "~0.19.13", "react-native-webview": "13.12.5" }, "devDependencies": { "@babel/core": "^7.25.2", "@types/jest": "^29.5.12", "@types/react": "~18.3.12", "@types/react-test-renderer": "^18.3.0", "jest": "^29.2.1", "jest-expo": "~52.0.4", "react-test-renderer": "18.3.1", "typescript": "^5.3.3" }, "private": true }

  • javascript
  • react
  • react-native
  • typescript
  • react-query
ab kim 댓글 2 좋아요 0 조회수 530

mac에서 발생하는 문제

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

"Cannot invoke 'jdk.internal.platform.CgroupInfo.getMountPoint()' because 'anyController' is null" 다음과 같은 에러가 발생합니다. Mac Docker Desktop 환경 OpenJDK 17 slim 이미지 사용 로컬에서 진행했을 때 gpt에게 물어봤을 때와 stackoverflow를 확인해봤습니다. 이 에러는 Java 17 이상에서, JVM이 리눅스 컨테이너(CGroup) 안에서 리소스(CPU, 메모리 등) 정보를 가져오려고 할 때, Mac OS 에서는 리눅스 CGroup 시스템 이 아예 존재하지 않아서 발생 그리고 문제를 해결하기 위한 방법으로 프로메테우스를 비활성화하라는 답변을 주었는데, 해결방안을 적용해봐도 해결할 수 없었습니다. 그래서 생각한게 리눅스 컨테이너 이미지인 slim 버전에 대해서 생각하게 되었고, Dockerfile의 이미를 교체했을 때 FROM eclipse-temurin:17-jdk 정상적으로 실습을 수행할 수 있었습니다. 답변보다는 mac에서 진행할 경우 다음과 같은 문제로 머리아플 분들을 위해 작성했습니다.

  • java
  • spring
  • 에러
  • docker
Anfield 댓글 2 좋아요 1 조회수 388

강의 교재 다운로드

해결됨

Git & GitHub, 원리부터 차근차근 - 근본깃

강의 교재 다운로드에 들어가도 자료 다운 버튼이 안 생기는데 어떻게 해야할까요...

  • git
  • github
양하은 댓글 1 좋아요 0 조회수 116

오류

해결됨

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

강의대로 했는데 왜 오류가 나죠??

  • javascript
  • react
  • node.js
H Hun 댓글 2 좋아요 0 조회수 129

강의 연장관련

미해결

[React / VanillaJS] UI 요소 직접 만들기 Part 1

만료일까지 완강을 못할거 같은데 가능하다면 수강기간을 몇일이라도 늘려주실 수 있을까요? 첫질문이 수강기간에 관한 내용이라 죄송합니다 !!

  • react
  • typescript
  • dom
  • ui
  • vanilla-js
didgusdhkd3 댓글 2 좋아요 0 조회수 213

강의 자료 요청

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의 할 때 보여주시는 화면은 문서로는 없나요?

  • java
  • spring
  • mvc
  • spring-boot
댓글 1 좋아요 0 조회수 252

splash screen 화면이 안띄워져요.

미해결

[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스

안드로이드로 실행하고 있고 앱 아이콘까지 성공하였습니다. 그런데 app. tsx에 function Section({children, title}: SectionProps): React.JSX.Element { useEffect(() => { setTimeout(() => { SplashScreen.hide(); }, 1000); }); const isDarkMode = useColorScheme() === 'dark'; 이 코드를 올리면 Cannot read property 'hide' of null 이라고 뜹니다. 그래서 시도해본 방법은 -metro 서버 연겨리도 다시해보고 -js hide 호출위치를 app()쪽에도 해보고 -mainActivity 코드에 SplashScreen.show (this); 코드가 잘 있는지 확인도 하고 -gradle.properties에 android.enableJetifier=true 추가해보고 -androidmanifest의 activity에 android:theme="@style/SplashTheme" 이 부분도 추가해보고 -styles.xml에 resource부분에 <!-- ① 스플래시 화면용 테마 --> <style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- launch_screen.xml(layout) 을 배경으로 사용 --> <item name="android:windowBackground">@layout/launch_screen</item> </style> <!-- ② 앱 전체용 기본 테마 --> <style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar"> <!-- 여기에 앱 전체 스타일 아이템들을 넣으세요 --> <!-- 예: 상태바 색상, 기본 버튼 스타일 등 --> </style> 이렇게도 넣어보아도 앱이 켜지려다가 바로 꺼져버립니다. 로그도 따로 안남고.. 혹시 이 부분에서 왜 이렇게 되고 해결방안이 있을까요??

  • javascript
  • react
  • node.js
  • react-native
  • typescript
이소연 댓글 2 좋아요 0 조회수 231

React 비기너: 튼튼한 기본 만들기 / 섹션 23. React Event / 2. 이벤트 핸들러 작성

미해결

React 비기너: 튼튼한 기본 만들기

버튼 컴포넌트 onClick={handleClick()} jsx 에서 위처럼 적으면 자바스크립트에서 엔진에서 즉시실행함수로 인식하는것 처럼 인식을 해서 렌더링이 되기도전에 함수를 먼저 실행해버리는 현상이 생기는 이유가 맞을까요? 결국 핸들러 함수의 기능도 하지못하고 1회용으로 즉시실행되고 소멸해버리는 함수가 되어버리는 것 같아보이는데 이에 대한 정확한 설명이 있을까요? 제가 생각한 이 부분에 보충적으로 필요한 설명을 혹시 해주실 수 있으실까요?

  • javascript
  • react
  • 객체지향
  • dom
댓글 1 좋아요 0 조회수 119

빕문 챕터 9 매서드) 문제와 풀이 2 질문

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] import java.util.Scanner; public class Empty { public static void main(String[] args) { Scanner sc = new Scanner( System.in ); int balance = 0, depositAmount = 0, withdrawAmonut = 0; int chooose; while (true) { title(); chooose = sc.nextInt(); switch (chooose) { case 1: balance = deposit(balance, depositAmount, sc); break; case 2: balance = withdraw(balance, withdrawAmonut, sc); break; case 3: printNowBalance(balance); break; case 4: endSystem(); return; default: System.out.println("올바른 선택이 아닙니다. 다시 선택해주세요."); } } } public static void title() { System.out.println("-----------------------------------"); System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료"); System.out.println("-----------------------------------"); System.out.print("선택: "); } public static int deposit(int balance, int depositAmount, Scanner sc) { System.out.print("입금액을 입력하세요: "); depositAmount = sc.nextInt(); balance += depositAmount; System.out.println(depositAmount + "원을 입금하였습니다. 현재 잔액: " + balance); return balance; } public static int withdraw(int balance, int withdrawAmount, Scanner sc) { System.out.print("출금액을 입력하세요: "); withdrawAmount = sc.nextInt(); if (balance >= withdrawAmount) { balance -= withdrawAmount; System.out.println(withdrawAmount + "원을 출금하였습니다. 현재 잔액: " + balance + "원"); } else { System.out.println(withdrawAmount + "원을 출금하려 했으나 잔액이 부족합니다."); System.out.println("최종 잔액: " + balance + "원"); } return balance; } public static void printNowBalance(int balance) { System.out.println("현재 잔액 : " + balance + "원입니다"); } public static void endSystem() { System.out.println("시스템을 종료합니다."); } } 문제풀이 2를 최대한 메서드를 활용하기위해 이런식으로 해보고 김영한선생님 코드와 비교해봤는데 살짝 다르더라고요 비교해서 장담점이 어떤 것인지 실무에서는 어떤 스타일을 선호하는지 궁금합니다!

  • java
  • 객체지향
정의석 댓글 1 좋아요 0 조회수 119

Tooltip-useSyncExternalStore()에 함수 넘기는 방식에 대해...

해결됨

[React / VanillaJS] UI 요소 직접 만들기 Part 1

안녕하세요! 항상 유익한 강의를 제공해 주셔서 감사드리며, 강의를 통해 UI를 다양한 방법으로 구현하는 법과 요구 사항의 디테일한 부분을 어떻게 처리해야 하는지에 대해 많은 것을 배우고 있습니다. 조심스럽게 여쭤보고 싶은 점이 있어 글을 남깁니다. 혹시 시간이 괜찮으시면 선생님의 고견을 듣고 싶습니다. - tooltip의 react 버전 viewportContext.tsx에서 useSyncExternalStore()사용부분 useSyncExternalStore를 통해 외부요소의 변화를 구독할 수 있게, 첫번째 인자로 subscribe를 넘기고 해당 상태를 컴포넌트와 동기화 할 수 있도록 두번째 인자로 getViewportRect를 넘기고 있습니다. 첫번째 인자인 subscribe는 함수의 참조를 넘기는데, 두번째 인자인 getViewportRect는 "getViewportRect()"로 값을 넘기고 있어, 이 부분에서 조금 의문이 생겨 아래와 같이 수정하면 어떨까 생각했습니다. useSyncExternalStore의 두번째 인자에도 함수의 참조를 넘기도록 수정하여 react에게 제어권을 넘기고, getViewportRect에서 리턴된 함수는 stored값을 기억할 수 있도록 즉시실행함수로 만드는 방식입니다. const getViewportRect = (() => { let stored: Rect = DefaultRect; return () => { const el = typeof document !== 'undefined' && document.scrollingElement; if (!el) return stored; const { left, top, width, height } = el.getBoundingClientRect(); const newRect = { left, top, width, height, scrollHeight: el.scrollHeight }; if (newRect && !isSameRect(stored, newRect)) stored = newRect; return stored; }; })(); //1. 즉시실행함수로 수정 const ViewportContextProvider = ({ children }: { children: ReactNode }) => { const viewportRect = useSyncExternalStore(subscribe, getViewportRect); //2.두 인자 모두 참조만 넘기도록 수정 return ( <ViewportContext.Provider value={viewportRect}> {children} </ViewportContext.Provider> ); }; 이렇게 수정하는 것이 더 나은 방법일지 여쭙고 싶습니다. useStyleView.ts에서 useLayoutEffect의 의존성배열에 참조 자료형 넣는 것 viewportRect가 객체인데, 이를 의존성배열에 그대로 넣는것이 괜찮은지 궁금합니다. const viewportRect = useViewportRect(); //객체 useLayoutEffect(() => { ... }, [viewportRect, wrapperRef, targetRef, position]); viewportRect에서 개별 값만 분리해서 넣는 방법도 고려해 보았습니다. const { top, left, width, height } = useViewportRect(); //생각해본 버전 useLayoutEffect(() => { ... }, [top, left, width, height, wrapperRef, targetRef, position]); 강의자료에 완성코드가 있다고 하는 걸 어디서 본 것도 같은데... 제가 어디있는지 찾지를 못해서... 🥲 강의 내용만 보고 작성한 코드임을 양해 부탁드립니다. 🙇‍♀

  • react
  • typescript
  • dom
  • ui
  • vanilla-js
이레 댓글 3 좋아요 0 조회수 265

이미지 리사이징 현상 막기

해결됨

(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>

선생님! AWS에 이미지 호스팅 서비스 관련해서 궁금한게 있습니다. 제가 테스트를 해봤는데 썸네일 이미지 크기(가로/세로)에 상관없이 실제 운영 환경에는 동일한 크기의 썸네일 이미지로 보여지더라구요. 그러면 이게 AWS 이미지 호스팅 할 때 이미지 크기를 리사이징해서 조절해주는 작업이 일어나는거라고 저는 추측하고 있는데요. 만약 이런 작업이 일어난다면 결국 AWS에 불필요한 작업으로 인한 비용이 발생이 되는거라서... 혹시 이미지 사이즈 크기에 대한 팁이 있을까요?

  • react
  • aws
  • Google-Analytics
  • cloudflare
  • adsense
  • 수익화
asd 댓글 1 좋아요 0 조회수 167

@modal/(i) 로 생성/파일이동 후, 무한 GET 출력

미해결

Next + React Query로 SNS 서비스 만들기

강의의 3분 정도 쯤에, (beforeLogin)/i 폴더와 파일들을 (beforeLogin)/@modal/(i) 로 복사 한 후 http://localhost:3000/i/flow/login 접속시 무한 GET 접속 시도가 터미널 창에 보입니다. 이때, <Link href ="login" className ={styles.login}>로그인</Link> 입니다. 그런데, <Link href ="/i/flow/login" className ={styles.login}>로그인</Link> 변경하면, http://localhost:3000/i/flow/login 접속시, 터미널 창에서는 무한 GET 접속시도는 사라집니다. 어떻게 해서 이렇게 되는지요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
강진모 댓글 2 좋아요 0 조회수 165

인터셉팅 라우트 설명

미해결

Next + React Query로 SNS 서비스 만들기

강의 50초 정도에, i, login, page.tsx는 {children}에서 렌더링, 여기는 (@modal 의 하위 폴더와 파일 선택) {modal}에서 되죠? 라고 설명하시는 부분이 이해가 안됩니다. 저는, app/(beforeLogin)/layout.tsx 의 {children}은 app/(beforeLogin)/page.tsx 를 가져오는 것이고, {modal}은 @modal 폴더의 page.tsx (default.tsx, i/flow/login/폴더로 리다이렉션) 를 찾는 것으로 이했습니다. 여러 폴더를 모두 보여준다고 설명하신듯하여, 이해가 안되네요.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
강진모 댓글 2 좋아요 0 조회수 101

React 비기너: 튼튼한 기본 만들기 / 섹션22. 이벤트 핸들러 강의 / Content Attribute와 IDL Attribute 사용 방식에 대한 질문드립니다

미해결

React 비기너: 튼튼한 기본 만들기

안녕하세요. 항상 좋은 인사이트와 경험을 공유해주셔서 감사드립니다. 최근 프론트엔드 개발을 공부하면서 "Content Attribute"와 "IDL Attribute"의 사용 방식에 대해 고민하게 되었습니다. 이를 정리해보면서 나름대로 다음과 같은 결론에 이르렀습니다. Content Attribute는 변하지 않는 어트리뷰트 값이나 리소스를 표현할 때 사용하고, 그 외, 동적으로 핸들링이 필요한 경우에는 IDL Attribute를 사용하는 것이 맞다고 이해하고 있습니다. 이러한 개념을 공부하면서, 현업에서 다양한 코드들을 보게 되었는데요, 특히 주니어 개발자분들이 작성한 코드에서는 Content Attribute를 많이 사용하는 반면, 시니어 개발자나 CTO급 분들의 코드에서는 Content Attribute 사용이 상대적으로 적고, 대부분 IDL Attribute를 적극적으로 사용하는 모습을 많이 볼 수 있었습니다. 이런 현상을 보며 자연스럽게 궁금증이 생겼습니다. 왜 경험 많은 개발자일수록 Content Attribute 사용이 줄어드는 걸까? Content Attribute 방식과 IDL Attribute 방식에 대해 어떻게 생각하시고, 어떤 기준으로 선택하시는지 궁금합니다. 혹시 이 부분에 대해 간단히 의견을 들려주실 수 있다면 큰 도움이 될 것 같습니다. (물론 바쁘시다면 답변 주시지 않아도 괜찮습니다! 이렇게 질문을 정리하는 과정만으로도 많은 공부가 되고 있습니다.) 읽어주셔서 감사합니다. 좋은 하루 되세요.

  • javascript
  • react
  • 객체지향
  • dom
댓글 1 좋아요 0 조회수 89

인기 태그

인프런 TOP Writers

주간 인기글