inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

안드로이드 스플래시 및 AppIcon설정 전체 과정 및 관련 질문

해결됨

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

안드로이드 설정 과정이 전체가 약간 헷갈려있게 되어있는 것 같아서,,, 이게 맞는지 궁금해서 남깁니다 npm i react-native-splash-screen --save 을 통해서 npm을 설치한다 앱로고와 스플래시 화면을 준비해준다 아래 사이트에서 앱 로고를 만들어준다 EasyAppIcon - Create Mobile App Icon 앱 아이콘들을 android폴더에 넣어준다 android/app/src/main/res의 아래에 mipmap-hdpi~로 시작하는 파일들에 이름에 맞춰서 앱 아이콘들을 넣어준다 스플래시 화면(아마도 이미지)을 android/app/src/main/res/drawable폴더에 넣어준다 반드시 launch_screen이라는 이름으로 넣어준다 -> launch_screen.png android/setting.gradle에 가서 아래처럼 설정해준다 include ':react-native-splash-screen' project(':react-native-splash-screen').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-splash-screen/android') android/app/build.gradle (113번 줄) implementation project(':react-native-splash-screen') android/app/src/main/java/com/coin/MainActivity.kt에 7번째 줄에 import android.os.Bundle; import org.devio.rn.splashscreen.SplashScreen; android/app/src/main/java/com/coin/MainActivity.kt에 12~15번째 줄에 override fun onCreate(savedInstanceState: Bundle?) { SplashScreen.show(this) super.onCreate(null) } . . . /Main Application .kt (14번 줄)에 import org.devio.rn.splashscreen.SplashScreenReactPackage . . . /Main Application .kt (24번 줄)에 SplashScreenReactPackage() 스플래시 화면을 숨겨주기 위해 App.tsx에 아래 내용을 추가해준다 useEffect(() => { setTimeout(() => { SplashScreen.hide(); }, 500); }); // 의존성 배열 없음 - 매 렌더링마다 실행됨 values.colors.xml파일을 만들어서 아래 내용을 추가해준다 <?xml version="1.0" encoding="utf-8"?> <resources> <!-- 다른 색상들이 있다면 유지하세요 --> <color name="status_bar_color">#000000</color> <!-- 원하는 색상 코드로 변경 가능 --> </resources> 질문1. 잘 나오는 것 같기는 한데 총 과정이 이게 맞을까요? 질문2. 그리고 스플래시화면이 뜨기 전에 앱 로고가 전체적으로 뜨고(흰바탕에 설정한 앱 로고가 중앙에 작게 나옴) 스플래시 화면이 뜨는데 원래 이런거 맞나요? 질문3. 그리고 values/colors.xml파일은 왜 설정해주는 건가요?

  • javascript
  • react
  • node.js
  • react-native
  • typescript
김라영 댓글 2 좋아요 0 조회수 289

iOS에서 splash screen설정 오류

해결됨

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

iOS에서 splash screen을 RN에서 설정해보기 위해서 RN으로 작업을 해봤는데요,,, AppDelegate파일에서 import RNSplashScreen에서 pod install을 하고 진행을 했는데도 모듈을 찾을 수 없다고 뜨더라구요ㅠ podfile에는 RNSplashScreen가 있는거는 확인했습니다.. 그러므로 설치는 된 거 같은데,, 프로젝트가 모듈을 못찾는 것 같아요ㅠ 다른 프로젝트 참고해보려고 해도, 저는 AppDelegate.swift파일이고 .h파일이나 .m파일은 없어서 여기서 설정을 하지를 못하겠어요ㅠ (cf. 찾아보니까 해당 라이브러리가 옛날버전이고 지금 RN의 iOS랑 호환이 되지 않아서 발생하는 문제 같은데, 이때 브릿징 헤더를 설치해야 한다고 본거 같아요 => 이 문제가 맞을까요?) 강의가 android기준으로만 설명되서,,, 혹시 RN으로 어떻게 iOS 스플래시 화면을 설정해야 하는걸까요? 학습에 관련된 질문만 해주세요. 질문은 상세하게 무엇이 궁금한지 작성해주세요. 질문은 '마크다운'을 사용하여 할 수 있습니다. 유사한 질문이 있었는지 살펴보고 질문 해주세요. 부담갖지 말고 강의에서 궁금하신 점 전부 질문해주세요 :)

  • javascript
  • react
  • node.js
  • react-native
  • typescript
김라영 댓글 2 좋아요 0 조회수 227

문자열 포인터 출력(16:49)

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

포인터에 의한 문자열 출력 경우들을 몇가지 정리해봤는데 정확히 이해하고 있는 건지 모르겠습니다. 선생님 한번 봐주세요 #include <stdio.h> int main() { char *s="Hello world!";//포인트 변수 s 선언, 문자열 Hello world! 저장 printf("%s\n", s); // 포인트 변수 s호출, 문자열의 첫번째 주소를 가져온다. %s에 의해 '문자열'로 취급되서, 전체 출력한다. //printf("%c\n", s);//이건 에러가 나는데 문자열을 문자로 출력하려고 해서?? 잘 모르겠습니다. printf("%c\n", *s); // 포인트 변수 s호출, 문자열의 첫번째 주소가 갖는 값을 가져온다. %c에의해 '문자'로 취급되서, H를 출력한다. printf("%c\n", *s+1); //포인트 변수 s호출, 문자열의 첫번째 주소가 갖는 값을 가져온다. 우선 H가 호출되고 1을 더한 I가 출력 printf("%c\n", *(s+1)); // 포인트 변수 s에 1이 더해진 문자열의 두번째 주소가 갖는 값을 가져온다. e를 출력한다. return 0; }

  • python
  • java
  • c
  • 정보처리기사
이준우 댓글 2 좋아요 0 조회수 119

자문자답) 수강 시작 전에 아나콘다 버전을 강의와 맞추면 즐강

해결됨

[개정판] 파이썬 머신러닝 완벽 가이드

안녕하세요 선생님. 선생님의 강의 덕분에 많은 것들을 배웁니다. 감사합니다. 많은 사람들이 강의 수강에 앞서 프로그램 환경설정에서 공통된 질문이 많은데, 선생님께서 계속 같은 질문에 답변을 반복하시는 모습에.. 다음 분들을 위해 가이드로 공유하고자 합니다. 참고로 버전이 업그레이드되면 API는 수시로 바뀝니다. 사용 방식이 조금씩 바뀌거나, 아예 달라지기도 합니다. 부디 해당 강의와 같은 버전으로 진행하시길 강력히 권장합니다. 현시점 아나콘다 공식 홈페이지의 다운로드 링크는 최신 버전만 다운로드할 수 있게 웹 브라우저를 보여줍니다. 따라서 아나콘다 공식 아카이브로 접근하여 원하는 버전을 다운로드합니다. 아나콘다 아카이브 저장소 접근( link ) 아나콘다 아카이브에 접근하면 원하는 버전의 아나콘다를 다운로드 받을 수 있습니다. 여기서 주의해야 할 사항은 Python 3.9 기반의 아나콘다를 다운로드 받으셔야 합니다. 2022년도 아나콘다 쓰세요. 2023년도 아나콘다부터는 Python 3.10이더군요. Python 3.9을 기반으로 하는 2022년 아나콘다 다운로드 2022년도 5월과 10월 버전이 있는데, 이 둘의 차이는 아나콘다 release 노트에서 확인할 수 있습니다. 참고로 많은 분들이 남기신 scikit-learn 버전도 2022.05 아나콘다부터 1.0.2가 기본 버전입니다. 2022년도 아나콘다로 진행하시면 lightgbm 이고 뭐고 다 강의와 동일하게 진행하실 수 있습니다. 아나콘다 버전만 잘 설치하시면, 나머지는 강의 따라가면 됩니다. 즐강하십쇼. p.s. 이미 아나콘다 최신 버전을 설치해 버리셨다면.. 다시 설치하시길 바랍니다. 윈도우 기준, C:\Users\{user}\anaconda3 경로에 Uninstall-Anaconda3.exe 라는 파일을 실행시켜 지울 수 있습니다....

  • python
  • 머신러닝
  • 통계
logt 댓글 1 좋아요 6 조회수 351

댓글 수정 함수 바인딩이 안되는 것 같습니다.

해결됨

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

import BoardCommentWriteUI from "./boardCommentWrite.presenter"; import { ChangeEvent, useState } from "react"; import { useMutation } from "@apollo/client"; import { CREATE_BOARD_COMMENT, UPDATE_BOARD_COMMENT, } from "./boardCommentWrite.queries"; import { useRouter } from "next/router"; import { FETCH_BOARD_COMMENTS } from "../list/boardCommentList.queries"; import { IMutation, IMutationCreateBoardCommentArgs, IMutationUpdateBoardCommentArgs, } from "../../../../commons/types/generated/types"; import { IBoardCommentWriteProps } from "./boardCommentWrite.types"; export default function BoardComment(props: IBoardCommentWriteProps) { const [createBoardComment] = useMutation< Pick<IMutation, "createBoardComment">, IMutationCreateBoardCommentArgs >(CREATE_BOARD_COMMENT); const [updateBoardComment] = useMutation< Pick<IMutation, "updateBoardComment">, IMutationUpdateBoardCommentArgs >(UPDATE_BOARD_COMMENT); const [writer, setWriter] = useState(""); const [password, setPassword] = useState(""); const [comment, setComment] = useState(""); const [star, setStar] = useState(0); const router = useRouter(); const handleChangeWriter = (event: ChangeEvent<HTMLInputElement>) => { setWriter(event.target.value); }; const handleChangePassword = (event: ChangeEvent<HTMLInputElement>) => { setPassword(event.target.value); }; const handleChangeComment = (event: ChangeEvent<HTMLTextAreaElement>) => { setComment(event.target.value); }; const updateComment = () => { alert("수정하기 입니다."); }; const onClickSubmitComment = async () => { try { if (typeof router.query.boardId !== "string") { alert("시스템에 문제가 있습니다."); return; } const result = await createBoardComment({ variables: { createBoardCommentInput: { writer, password, contents: comment, rating: star, }, boardId: router.query.boardId, }, refetchQueries: [ { query: FETCH_BOARD_COMMENTS, variables: { boardId: router.query.boardId }, }, ], }); } catch (error) { if (error instanceof Error) { alert(error.message); } } setWriter(""); setComment(""); setPassword(""); setStar(0); }; return ( <BoardCommentWriteUI handleChangeWriter={handleChangeWriter} handleChangePassword={handleChangePassword} handleChangeComment={handleChangeComment} onClickSubmitComment={onClickSubmitComment} updateComment={updateComment} setStar={setStar} writer={writer} comment={comment} password={password} el={props.el} /> ); } boardCommentWriter.container.tsx 에서 updateComment 바인딩이 안된것인지 함수가 작동을 안하는 것인지 updateComment의 "수정하기 입니다. " 알림창이 안뜹니다. 수정/삭제 버튼 onClick 내부에서 해봐도 태그 바깥에서 삼항연산자를 써보아도 적용이.. 안됩니다. onClickSubmitComment 함수는 제대로 작동하는데 말이죠 ㅠㅠ 도저히 왜 안되는지 모르겠어요 import * as S from "../../board/commons/style/style"; import * as Own from "./boardCommentWrite.styles"; import { IBoardCommentWriteProps } from "./boardCommentWrite.types"; export default function BoardCommentWriteUI(props: IBoardCommentWriteProps) { console.log(props.el); return ( <S.BoardWrapper> <S.Row> <Own.Writer placeholder="작성자" onChange={props.handleChangeWriter} value={props.editComment ? props.el?.writer : props.writer} readOnly={props.editComment} /> <Own.Password placeholder="비밀번호" onChange={props.handleChangePassword} value={props.password} /> <Own.RankWrapper> <Own.RateComment value={props.editComment && props.el.rating} onChange={props.setStar} /> </Own.RankWrapper> </S.Row> <Own.Comment onChange={props.handleChangeComment} placeholder="댓글을 입력해주세요." value={props.editComment ? props.el.contents : props.comment} /> <Own.BottomComments> <S.Row> <p>0</p> <div>/</div> <p>100</p> </S.Row> {/* <Own.SubmitButton onClick={ props.editComment ? props.updateComment : props.onClickSubmitComment } > {props.editComment ? "수정하기" : "등록하기"} </Own.SubmitButton> */} {props.editComment ? ( <Own.SubmitButton onClick={props.updateComment}> 수정하기 </Own.SubmitButton> ) : ( <Own.SubmitButton onClick={props.onClickSubmitComment}> 등록하기 </Own.SubmitButton> )} </Own.BottomComments> </S.BoardWrapper> ); }

  • react
  • node.js
  • seo
  • graphql
  • next.js
홍주미 댓글 1 좋아요 0 조회수 103

컨테이너 사진 추가

미해결

비전공자도 따라하는 워드프레스 홈페이지 제작

강의에서 컨테이너에서 사진 추가하고 하면 사진이 화면 가득 찬다고했는데 저는 가득 차지않아서요 full 부분도 했습니다. 레이아웃으로 수동으로 키워야하는 수준입니다.

  • wordpress
  • 도메인
  • no-code
eodnr293 댓글 1 좋아요 0 조회수 111

1강 관련하여 의견을 여쭙고 싶은 게 있습니다.

해결됨

React Three fiber(R3F)로 배우는 인터렉티브 3D 웹 개발

안녕하세요 선생님. 무료보기 시청 후 바로 결제해서 달리고 있습니다. 하루 1강씩 뚫어보려고 합니다 😋 다름이아니라 DOM, SVG, Canvas를 비교해서 설명해주신 부분에서 의견을 여쭙고 싶은 내용이 있었습니다. Canvas의 2D Context보다 3D Context(WebGL)가 더 빠른 이유 이전에 2D Context를 공부하면서, 3D Context는 하드웨어 가속이 가능하기 때문에 더 빠르다는 글을 읽은 적이 있었습니다. 그런데 렌더링 자체는 Canvas 2D도 하드웨어 가속으로 처리되는 걸로 알고 있어서요. (간단한 작업은 CPU에서 처리한다는 글도 읽은 적 있었는데 어느 쪽이 맞는 말인지 사실 잘 모르겠습니다...) 아래 두 가지 중 어느 쪽이 WebGL Context가 2D Context보다 더 빠른 이유에 더 적합할까요? 2D Context는 일부 CPU에서 렌더링하기도 하지만, WebGL은 전부 GPU에서 렌더링한다. WebGL은 셰이더를 GPU에서 실행시키기 때문에 2D Context보다 CPU 처리량이 적다. 수많은 개체를 애니메이션 할 때 더 적합한 쪽 : WebGL API vs DOM(or SVG) + transform 속성 DOM 계산은 기본적으로 비용이 많이 발생하니, 수많은 개체를 '렌더링' 할 때에는 WebGL이 훨씬 유리할 것 같았는데, 위치를 옮긴다던가, 크기를 변경하는 애니메이션을 적용할 때에는 강사님께서는 WebGL과 transform 속성 중 어느 쪽을 더 선호하시나요? WebGL도 transform 속성도 레이아웃 재계산을 발생시키지 않지만, 전자는 JS로 조작해야하고, 후자는 조작은 css로 하지만 브라우저 레이어를 활용하는 것으로 알고 있어서요. 어느 쪽이 더 효율적일까요...? 강의 중 보여주신 아래 그림에서, SVG의 사각형과 텍스트만 테두리가 좀 흐리게 보이고 있는데 이런 현상이 왜 발생하는걸까요? 이론 적으로는 SVG가 가장 깔끔해야할 것 같은데 픽셀이 깨질 정도로 확대하지 않는 이상은 SVG 쪽이 더 흐릿하게 보이는 것 같아 여쭤봅니다. 사실 강의도 강의지만, 평소에 고민하던 것을 여쭤본 것이기도 해서 가볍게 답변해주시더라도 너무 감사할 것 같습니다. 힘내서 완강해보겠습니다..! 감사합니다.

  • javascript
  • react
  • typescript
  • 인터랙티브-웹
  • three.js
  • webgl
  • react-three-fiber
dbjoung 댓글 1 좋아요 0 조회수 160

pdf 자료들 다운이 안됩니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

강의 목록에서 pdf 해당되는 목록 클릭하면 하얀 화면만 나오고 pdf 파일 다운이 안되는데 일시적인 문제일까요?

  • python
  • java
  • c
  • 정보처리기사
곽경호 댓글 2 좋아요 0 조회수 206

첫번째 강의파일 압축파일 파이썬 코드가 없습니다.

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

첫번째 강의파일 압축파일 파이썬 코드가 없습니다. 압축을 반디집으로 풀었는데 영상과는 달리 코드에서 폴더를 열어도 파이썬 코드파일이 없습니다.

  • python
1225 댓글 3 좋아요 0 조회수 157

백엔드 api가 따로 있을 경우의 fetch 요청

미해결

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

Next.js에서 서버 컴포넌트는 서버에서 실행되기 때문에, useEffect 없이 컴포넌트 내부에서 직접 fetch 요청을 보낼 수 있는 것으로 알고 있습니다. 또한, 서버 액션은 백엔드 없이 Next.js 풀스택 환경에서 DB에 직접 접근할 때 주로 사용하는 것으로 이해하고 있습니다. 그렇다면, 별도로 백엔드가 존재하는 경우에도 서버 액션을 사용할 필요가 있나요? 그리고 실제로 현업에서도 백엔드가 따로 있을 경우에 서버액션을 사용하나요? 감사합니다!

  • react
  • next.js
  • react-query
  • next-auth
  • msw
10rlatkdtn 댓글 2 좋아요 0 조회수 167

input_channel, output_channel은 질문입니다.

미해결

[AI 기초] AI Research Engineer를 위한 CNN 이해하기

강의 CNN (2) - input_channel, output_channel은 무엇을 의미하는가 ? 이 파트 질문입니다. 3분에 8채널이 되면, 필터가 어마무시하게 많아진다고 하셨는데 아래 그림같이 엣지 필터나 블러필터 하나로 1,1열 적용하고 1,2행 적용하는거 아닌가요? [[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]])

  • python
  • pytorch
  • 컴퓨터-비전
  • cnn
zzzzz 댓글 2 좋아요 0 조회수 126

.

미해결

[AI 기초] AI Research Engineer를 위한 CNN 이해하기

.

  • python
  • pytorch
  • 컴퓨터-비전
  • cnn
zzzzz 댓글 1 좋아요 0 조회수 70

섹션 8 PostgresToSnowflake DAG 실행 중 발생한 오류

미해결

실리콘밸리 데이터 리더가 알려주는 Airflow 기초

안녕하세요 선생님, 강의를 정말 재밌게 수강하고 있습니다. 섹션 8 PostgresToSnowflake DAG를 실행해서 Snowflake에 user_session_channel 테이블과 session_timestamp 테이블에 CSV 파일 로드할 때 오류가 있는것 같아요. 간단하게 해결할 수 있는 문제인데 DAG 파이썬 파일에서 os import 구문이 빠져있는거 같아요 import os 이거 넣어서 간단하게 해결했습니다! 좋은 강의 만들어주셔서 감사하고 곧 추가될 강의도 기다리고 있겠습니다!

  • python
  • sql
  • airflow
  • snowflake
hodoldol 댓글 2 좋아요 1 조회수 154

부모 클래스의 메서드를 재정의하는 경우

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

16:47 부모 클래스의 접근 제어자가 private으로 붙은 메서드의 경우, 자식 클래스에서 재정의 할 수 없다고 하셨습니다. 그렇다면, 해당 예시 문제처럼 업캐스팅이 아닌 일반적인 경우에 대해 문의드리고 싶습니다. Parent obj = new Child(); 가 아닌 Child obj = new Child(); 로 쓴 경우를 생각해 보겠습니다. 이 경우에는 예시 문제와 마찬가지로 부모 클래스에서 접근 제어자가 private으로 설정된 메서드를 자식에서 재정의 할 수 없겠지요. 그렇다면 만약 부모 클래스에 있는 동일한 메서드가 아닌, void display(String name)과 같이 파라미터를 다르게 정의한다면, 자식 클래스에서 정의하여 사용할 수 있을까요?

  • python
  • java
  • c
  • 정보처리기사
주무세요 댓글 1 좋아요 0 조회수 126

상품등록시 이미지 사이즈문의

미해결

워드프레스 기초부터 쇼핑몰까지

워드프레스 쇼핑몰 상품등록시 상품이미지를 등록하면 상품마다 이미지가 꽉채워져서 나오는 것도 있고 다 안채워져서 나오는 것도 있어요. 왜 그런걸까요? 엘리멘터로 편집들어가서 상품이미지를 추가했는데 꽉 채워지지가 않네요 다른제품은 꽉채워지는데 설정은 똑같은 것같은데 뭐가 문제일까요?

  • wordpress
  • WooCommerce
박보름 댓글 2 좋아요 0 조회수 128

정적 메서드가 자식 클래스에만 있는 경우

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

예시 코드에서 static void print()가 부모 클래스에 없고 자식 클래스에만 있다면, 하이딩이 일어나지 않고 자식 클래스에 있는 static void print()를 출력하나요?

  • python
  • java
  • c
  • 정보처리기사
주무세요 댓글 3 좋아요 0 조회수 195

안녕하세요 대학생 질문드립니다

해결됨

Airflow 마스터 클래스

강의를 들으면서 데이터 엔지니어를 준비하고 있는 학부생입니다. 취업사이트에 데이터 엔지니어를 찾아보면 대게 경력 위주로 채용을 진행하고 있는데 데이터 엔지니어가 신입으로 일을 할 수 있는 방법이 있는 지 ? 아니면 신입으로서 바로 데이터 엔지니어로 일하기는 조금 어려운게 현실인지 궁금하여 글 작성합니다. 괜찮으시다면 데이터엔지니어 직무 입사자가 이런 경험이 있으면 채용하겠다는 부분이 있는 지 알려주시면 감사하겠습니다.

  • python
  • 데이터-엔지니어링
  • airflow
kosa.share05 댓글 2 좋아요 0 조회수 144

static 메서드 기출문제 질문

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요. Java의 정적 변수, 정적 메서드(static)강의 중 9분에 나오는 빈칸 채우기 기출 문제에서 질문이 있어서 남깁니다. Test라는 클래스에서 void타입을 리턴하는 static 메서드 main()에서 Test.check(1);을 출력하게 되는데, 이 때 Test는 클래스명이므로, 클래스에서 직접 접근 가능한 메서드이기 때문에 check는 int형 파라미터를 받는 static 메서드인 것으로 보입니다. 혹시, 여기서 앞에 public, private, protected 등을 붙일 경우 오답처리가 되나요?? 아니면, 이런 경우는 명확하게 정답의 글자 수를 알려준다는 등의 방법으로 답이 static이 될 수 밖에 없는 방식으로 문제가 출제되나요? 우선 강의를 다 들은 후에 기출문제를 풀어보려 하니 아직 문제가 나오는 형식을 잘 몰라서 질문을 남깁니다! 추가적으로, 9분 14초 정도에 나오는 기출문제에서, 인스턴스 변수인 name에 접근하기 위해서는 (파라미터를 받는 Person 생성자에서, 인스턴스 메서드인 print()에서) this 키워드를 통해 해당 생성자나 메서드 등을 호출한 주체를 찾아야 한다고 배웠었는데, 왜 여기서는 this.name으로 접근하는 것이 아닌 name으로 접근해도 에러가 발생하지 않는 것인가요??

  • python
  • java
  • c
  • 정보처리기사
김민규 댓글 2 좋아요 0 조회수 161

피그마 링크

해결됨

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

안녕하세요 ~ 수업 듣기 시작하고 싸이월드 만들기 1탄에서 피그마가 나오는데 예제자료를 보면서 할수 있는 피그마 링크가 어디에 있는지요 ?

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
Lia 댓글 2 좋아요 1 조회수 82

인기 태그

인프런 TOP Writers

주간 인기글