inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Header css justify-content 질문

해결됨

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

.Header .header_center { justify-content: center; } .Header .header_left { justify-content: flex-start; } .Header .header_right { justify-content: flex-end; } .Header { justify-content: space-between; } 이렇게 해도 같은 결과가 나오는데 두 코드 차이점이 있을까요?

  • javascript
  • react
  • node.js
현대적인유교보이 댓글 1 좋아요 0 조회수 272

언리얼5 입문하려면 컴퓨터 사양을 어느 정도로 맞춰야 할까요?

해결됨

[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문

맘만 급해서 일단 강의 결제는 해둔 상태에서 이제야 스터디 해보려 하는데요. 현 PC 사양은 CPU : 라이젠 3600 GPU : GTX2070 super RAM : 32g 정도의 PC를 사용하고 있습니다. 시작에 앞서 언리얼 같은 경우엔 높은 사양이 필요하다는 말을 많이 들어서 적당하게 새로운 PC 구입하려고 알아보니 인터넷에선 너무 터무니없게 높은 스펙으로 400~500만원 가량의 견적을 내고 있더라구요. 그리고 게임 개발에선 다다익램이라는 말이 있던데.. 64기가 이상의 램이 필요할까요? 2D , 3D 전부 게임서버와 클라 연동해서 상용화까진 아니더라도 온라인으로 돌려보고 싶은데 어느정도 사양으로 맞춰야 할지 대략적인 조언좀 부탁드릴 수 있을까요?

  • unreal-engine
시바레오 댓글 2 좋아요 0 조회수 14031

메모리공간에 대한 문의

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 메서드 호출과 값 전달 2 강의 중 질문사항이 있어 문의 드립니다. 지역 변수 선언 시 다른 영역인 점은 이해를 했습니다. 1. 강의 3:32초 부분에서 이름이 동일한 지역변수에 대해 완전히 다른 메모리 공간이 생긴다고 하셨는데, JVM 메모리에 변수 저장 시 각 지역변수마다 늘 공간이 따로 생기는 건가요? 아니면 하나의 stack,heap 공간에 같이 사용 하는 건가요? 감사합니다. 수강자 올림.

  • java
심유석 댓글 1 좋아요 0 조회수 217

yolov5(yolov8) val.py 결과 저장 질문

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요. 강사님. yolov5(yolov8) val.py 결과 저장 질문드립니다. 아래와 같이 val.py 를 수행한 결과를 엑셀에 저장하려면 어떻게 해야 하나요? results = model.val()로 val을 수행하고, print(results.class_result(class_index))로 클래스의 precision, recall, map50, map50-95값을 확인할 수 있었습니다. 하지만 Images, Instances 값은 어디서 가져와야 하는지를 모르겠습니다... 그리고, conf_matrix = results.confusion_matrix.matrix로 cm을 가져왔는데, yolo val 에서 제공하는 box precision, box recall 값과 cm 을 통해 계산한 precision, recall 값에 차이가 있는데, 왜 그런지 모르겠습니다. yolo 문서 상으로는 box precision, recall은 IoU 만 중요시하고, class의 정답 유무는 중요시하지 않다고 하는데, 보고서나 발표자료에는 yolo의 box precision, reall을 평가지표로 삼아야 하는지, 계산한 precision recall 값을 지표로 삼아야하는지 모르겠습니다. 답변 부탁드립니다. 감사합니다.

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • 컴퓨터-비전
  • validation
  • yolo
이휘성 댓글 2 좋아요 0 조회수 812

이벤트로 연결할 함수들은 무조건 PointerEventData를 추가해주어야하나요?

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

지금 구조 상 UI_EventHandler에서 클릭이벤트를 처리하는 함수가 매개변수로 PointerEventData타입을 받게 되어있는데 질문 1. 그렇다면 UI_Popup에 정의한 ClosePopupUI()함수도 닫기버튼을 눌렀을때 닫으려면 아래와 같이 수정해서 사용하면 되는걸까요? using System.Collections; using System.Collections.Generic; using Managers; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.PlayerLoop; namespace UI.Popup { public class UI_Popup : UI_Base { protected enum Buttons { CloseButton } public override void Init() { Manager.UI.SetCanvas(gameObject, true); } public virtual void ClosePopupUI(PointerEventData pointerEventData) { Manager.UI.ClosePopupUI(this); } } } 질문 2. 매개변수로 PointerEventData가 아닌 다른 것도 함께 매개변수로 넘기고 싶은 경우에는 이렇게 그에 맞는 ActoinHandler를 일일이 추가하는 방법말고 다른 방법은 없을까요? public class UI_EventHandler : MonoBehaviour, IPointerClickHandler, IDragHandler, IBeginDragHandler, IEndDragHandler { public Action<PointerEventData> OnClickHandler = null; public Action<PointerEventData> OnRightMouseBtnClickHandler = null; public Action<PointerEventData> OnBeginDragHandler = null; public Action<PointerEventData> OnDragHandler = null; public Action<PointerEventData,UI_InvenItemSlot> OnInvenHandler = null; public Action<PointerEventData> OnEndDragHandler = null; public void OnDrag(PointerEventData eventData) //오브젝트를 드래그 중일때 매프레임 호출 { OnDragHandler?.Invoke(eventData); } public void OnDrag(PointerEventData data, UI_InvenItemSlot slot) { OnInvenHandler?.Invoke(data, slot); }

  • C#
  • unity
황주은 댓글 2 좋아요 0 조회수 305

css gap 속성 질문

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

view 컴포넌트에서만 gap이 사용가능하길래 찾아봤더니 원래 react-native에서는 gap을 사용할 수 없던데 혹시 왜 view에서는 사용가능한지 알 수 있을까요?

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
김지원 댓글 1 좋아요 1 조회수 211

수강기간 연장 부탁드리겠습니다.

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

타 자격증 시험일정하고 겹쳐서 결제해놓고 수강을 거의 못했는데 연장 부탁드리겠습니다ㅠ

  • 네트워크
  • aws
김혜미 댓글 1 좋아요 0 조회수 157

인터셉팅 라우트에서 메타데이터를 적용할수 없는가요?

미해결

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

안녕하세요 선생님 유저정보를 모달창으로 보여주게 하기위해 아래와같이 user를 사용해서 적용했었습니다. 처음 만들었을때 메타데이터도 유저정보에 맞게 변경시켜줘야하는데 인터셉팅 라우터를 사용하면 메타데이터를 적용하지 못한다는 걸 어디서 본거같아서 테스트해보고 적용했었습니다. (user 폴더) 그리고나서 테스트를 하던중에 ux가 어색한거같아서 다시 검색해보니 인터셉팅라우트에서 메타데이터 적용하는 부분을 했다는 사람도 있는것 같더라구요 그래서 (.)tester 폴더를 만들어서 실험해봤는데 메타데이터가 적용 안되서 혹시 선생님은 인터셉트 라우트에서 메타데이터를 적용하는 방법을 아실까해서 여쭤봅니다! 📦@modal ┣ 📂(.)promise ┃ ┗ 📂form ┃ ┃ ┗ 📜page.tsx ┣ 📂(.)tester ┃ ┣ 📂[userId] ┃ ┃ ┣ 📂_component ┃ ┃ ┃ ┣ 📜UserDetailContent.tsx ┃ ┃ ┃ ┣ 📜UserDetailPromise.tsx ┃ ┃ ┃ ┣ 📜UserDetailTop.tsx ┃ ┃ ┃ ┣ 📜UserInfo.tsx ┃ ┃ ┃ ┗ 📜UsrCarousel.tsx ┃ ┃ ┣ 📂_lib ┃ ┃ ┃ ┣ 📜getSingleUser.ts ┃ ┃ ┃ ┗ 📜getUserPromise.ts ┃ ┃ ┣ 📜layout.tsx ┃ ┃ ┗ 📜page.tsx ┃ ┗ 📜default.tsx ┣ 📂user ┃ ┗ 📂[userId] ┃ ┃ ┣ 📂_component ┃ ┃ ┃ ┣ 📜UserDetailContent.tsx ┃ ┃ ┃ ┣ 📜UserDetailPromise.tsx ┃ ┃ ┃ ┣ 📜UserDetailTop.tsx ┃ ┃ ┃ ┣ 📜UserInfo.tsx ┃ ┃ ┃ ┗ 📜UsrCarousel.tsx ┃ ┃ ┣ 📂_lib ┃ ┃ ┃ ┣ 📜getSingleUser.ts ┃ ┃ ┃ ┗ 📜getUserPromise.ts ┃ ┃ ┗ 📜page.tsx ┗ 📜default.tsx 시도했던 방법은 1. page.tsx에서 직접 generateMetadata를 사용. layout.tsx를 만들고 거기에 generateMetadata를 사용후 page.tsx를 children으로 받기 여유되실때 확인해주시면 정말 감사하겠습니다!

  • react
  • next.js
  • react-query
  • next-auth
  • msw
챠챠_ 댓글 1 좋아요 0 조회수 210

행운테스트 동전이용!!

미해결

실전 연습으로 익히는 고급 타입스크립트 기술

행운테스트 이후 동전을 클릭하였는데, 서버 오류라고 나와용,,,

  • typescript
고재형 댓글 2 좋아요 0 조회수 234

섹션3 HelloController, DemoAppication

미해결

토비의 스프링 부트 - 이해와 원리

둘다 Mapping이 "/hello"인데실행을 하면 DemoApplication에서 정의한 hello가 매핑되는건 왜인가요?? (HelloController는 안타는 이유가 뭘까요?)

  • spring
  • spring-boot
  • spring-jdbc
댓글 1 좋아요 0 조회수 241

getter가 정의되어 있지 않아 오류가 발생합니다.

해결됨

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

안녕하세요 강사님 중급강의 스토어 모듈화까지 마치고 정상작동을 확인 한 후 터미널에서 프로젝트를 재실행 하였지만 오류로 인해 TodoList, TodoInput 등 작동 되지 않습니다. 오류는 다음과 같고 main.js와 store.js, todoApp.js 모두 import가 올바른 경로로 되어있습니다. main.js import Vue from 'vue' import App from './App.vue' import { store } from './store/store.js' new Vue({ el: '#app', store : store, render: h => h(App), }) store.js import Vue from 'vue' import Vuex from 'vuex' import todoApp from './modules/todoApp.js' Vue.use(Vuex); export const store = new Vuex.Store({ modules : { todoApp } }); todoApp.js const storage = { fetch(){ const arr = []; console.log('created') if(localStorage.length > 0 ){ for(let i = 0; i < localStorage.length; i ++){ if (localStorage.key(i) !== 'loglevel:webpack-dev-server'){ arr.push(JSON.parse(localStorage.getItem(localStorage.key(i)))); } } } return arr; } } const state= { todoItems: storage.fetch() }; const getters = { getTodoItems(state) { return state.todoItems; } }; const mutations= { addOneItem(state, todoItem) { const obj = {completed: false, item: todoItem} localStorage.setItem(todoItem, JSON.stringify(obj)); state.todoItems.push(obj); }, removeOneItem(state, payload){ localStorage.removeItem(payload.todoItem.item); state.todoItems.splice(payload.index,1); }, toggleOneItem(state, payload){ state.todoItems[payload.index].completed = !state.todoItems[payload.index].completed; localStorage.removeItem(payload.todoItem.item); localStorage.setItem(payload.todoItem.item, JSON.stringify(payload.todoItem)); }, clearAllItems(state){ localStorage.clear(); state.todoItems=[]; } }; export default{ state, getters, mutations }

  • javascript
  • vue.js
  • es6
  • vuex
brownjoon 댓글 1 좋아요 1 조회수 296

path기반의 라우팅 테스트 실패이유가 궁금합니다

해결됨

AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법

라우팅 부분이 제대로안되는 것 같아 경로기반 라우팅 테스트후에 타겟그룹을 연결하려고 하는데요 라우팅 테스트를 실패하지만 원인을 모르겠어서 질문드립니다. public subnet에 로드밸런스를 생성한뒤 80번 포트로 2가지 룰을 만들었습니다. 첫번째는 기본값으로 default response를 반환 2번째는 /mp4* 경로로 들어오는 모든 값에대해 mp4 reponse라는 텍스트를 반환하도록 설정했는데 alb도메인/mp4 입력시, alb도메인 입력시 모두 "default response"가 반환되는데 어떤부분을 제가 이해못해서 안되는지 잘 모르겠는데 혹시 짐작가는 부분이 있다면 알려주시면 감사하겠습니다

  • aws
  • docker
  • msa
  • container
  • ecs
  • fargate
Seunghyeon Lee 댓글 2 좋아요 1 조회수 209

13강 DB연결 관련 질문드립니다.

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하세요. 우선 좋은 강의 만들어 주셔서 감사합니다. 13강을 수강하던 중 오류가 발생하여 질문드립니다. 검색해보니 테이블 명이 user로 생성을 하면 안되는 것 같아 user_table 이라는 명칭으로 테이블을 생성했습니다. CLI로 확인해본 결과 테이블 자체는 정상적으로 생성이 되었습니다. 그런데 컨트롤러와 yml 파일 설정 후 화면에서 데이터를 저장하려고 하니 오류가 발생합니다. spring: database: url: "jdbc:mysql://localhost/library" username: "root" password: "" drive-class-name: com.mysql.cj.jdbc.Driver package com.group.libraryapp.controller.User; import com.group.libraryapp.domain.user.User; import com.group.libraryapp.dto.User.request.UserCreateRequest; import com.group.libraryapp.dto.User.response.UserResponse; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; @RestController public class UserController { private final JdbcTemplate jdbcTemplate; public UserController(JdbcTemplate jdbcTemplate){ this.jdbcTemplate = jdbcTemplate; } private final List<User> users = new ArrayList<>(); @PostMapping("/user") public void saveUser(@RequestBody UserCreateRequest request){ String sql = "INSERT INTO user_table (name, age) VALUES (?,?)"; jdbcTemplate.update(sql, request.getName(), request.getAge()); } @GetMapping("/user") public List<UserResponse> getUsers() { String sql = "SELECT * FROM user_table"; //람다로 변경 알트+엔터 return jdbcTemplate.query(sql, (rs, rowNum) -> { long id = rs.getLong("id"); String name = rs.getString("name"); int age = rs.getInt("age"); return new UserResponse(id, name, age); }); } } INSERT INTO user_table (name, age) VALUES (?,?) [42104-214]] with root cause org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USER_TABLE" not found (this database is empty); SQL statement: INSERT INTO user_table (name, age) VALUES (?,?) [42104-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:502) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get(DbException.java:223) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get(DbException.java:199) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.getTableOrViewNotFoundDbException(Parser.java:8385) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.getTableOrViewNotFoundDbException(Parser.java:8369) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.readTableOrView(Parser.java:8358) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.readTableOrView(Parser.java:8328) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parseInsert(Parser.java:1632) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parsePrepared(Parser.java:814) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parse(Parser.java:689) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parse(Parser.java:661) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.prepareCommand(Parser.java:569) ~[h2-2.1.214.jar:2.1.214] 위와 같이 데이터베이스가 비었다고 하고 테이블을 찾지 못하는데 제가 어느 부분을 확인해야 하는지 궁금해 질문드립니다.

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
지영 댓글 2 좋아요 1 조회수 241

Shallow Freeze 관련 질문드립니다!

미해결

따라하며 배우는 자바스크립트 A-Z

// 얕은 동결 (shallow freeze) const obj1 = { a: 1, b: 2, c: { d: 3, e: 4 } }; Object.freeze(obj1); // 얕은 동결 obj1.a = 10; console.log(obj1); // {a: 1, b: 2, c: {d: 3, e: 4}} obj1.c.d = 30; console.log(obj1); // {a: 1, b: 2, c: {d: 30, e: 4}} 이렇게 작성했을 때 당연히 오른쪽 코멘트처럼 출력이 나올 것이라고 생각했었는데, 출력이 이렇게 나옵니다. d가 첫 콘솔 로그에도 30으로 출력되는데, 이런 현상 관련해서 구글링을 해봐도 답을 찾기가 어려워 게시판에 질문 드립니다. 혹시 왜 이런지 알 수 있을까요?

  • javascript
여노 댓글 1 좋아요 0 조회수 231

8강 예제2 아무리 생각해도 이해가 안됩니다...

해결됨

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

다른 풀이 해주신거도 읽어봤습니다만. 포문에서 if문 한 덩이 안에 첫 조건식의 갯수가 2의배수 (1012)+3의배수 (674)-중복숫자(337) 1349가 앞의 항 참인 경우이고, 뒷항의 조건식은 !가 붙어서 5의배수 (404)+6의배수 (337)-중복숫자 30의 배수(67) 해서 뒷 항의 참인경우는 674 하지만 !가 붙어서 안의 항의 연상결과가 거짓인경우가 되어야 카운팅이 되기 때문에 2024-674 = 1350 ..? 이런식으로 푸는거 아닌가요??? 어렵네요 ......

  • python
  • java
  • c
  • 정보처리기사
pmg4289 댓글 2 좋아요 0 조회수 406

강의 내용 블로그 게시가 가능한지 궁금합니다.

미해결

코틀린 고급편

안녕하세요! 강의 잘듣고 있습니다 다름아니라 내용을 정리해서 출처와 함께 제 개인 블로그에 올려도 되는지 궁금합니다 감사합니다 (_ _)

  • 교육내용
jin.bak 댓글 1 좋아요 0 조회수 226

OMDb API Url

해결됨

파이썬 Streamlit 활용한 웹 자동화 업무, 데이터 검색 및 시각화

OMDb API url 주소 작성방법 알려주세요. API key를 발급 받았는데 유효한 key가 아니라고 합니다.

  • python
  • mongodb
  • streamlit
Coding Basic 댓글 1 좋아요 0 조회수 229

연산자와 기출문제 Java 23년 2회문제

해결됨

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

동전갯수 문제인데요 조건에 최소한의 코드로 답안을 작성하라 해서요~ 제가 m / 1000 (m % 1000) / 500 (m % 500) / 100 (m % 100) / 10 이렇게 풀었는데 혹~~시 () 이거 괄호 적으면 오답처리하나요..?

  • python
  • java
  • c
  • 정보처리기사
신승주 댓글 1 좋아요 0 조회수 254

swiper-slide 적용관련 친절한 설명 감사드립니다. 근대 첫장만 되고 다음장부터

미해결

쉽고 빠르게 만드는 다양한 이미지 이펙트!

ggang_effect.js function ggangImgEffect() { var obj = $(".ggang_effect"); var makeHtml = ""; var row = 4; var columns = 8; var rowHeight = 100 / row + "%"; var columnsWidth = 100 / columns + "%"; var imgWidth = 100 * columns + "%"; var imgHeight = 100 * row + "%"; for (var i = 0; i < row; i++) { // console.log('-행-:'+i); for (var j = 0; j < columns; j++) { var delaySpeed = (columns - j - i * 0.5) * 0.25; var left = -j * 100 + "%"; var top = -i * 100 + "%"; makeHtml += '<div class="img_box" style="width:' + columnsWidth + "; height:" + rowHeight + "; transition-delay:" + delaySpeed + 's; ">'; makeHtml += '<div class="img_position" style="width:' + imgWidth + "; height:" + imgHeight + "; left:" + left + "; top:" + top + ';"></div>'; makeHtml += "</div>"; // console.log('열:'+j); } } $(obj).append(makeHtml); setTimeout(function () { $(obj).find(".img_box").addClass("active"); }, 200); } $(function () { ggangImgEffect(); }); const mySwiper = new Swiper(".swiper-container", { effect: "fade", loop: true, speed: 1500, autoplay: { delay: 5000, disableOnInteraction: false, }, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, on: { slideChange: function () { var thisSlide = $(".swiper-container").find(".swiper-slide").eq(this.activeIndex); ggangImgEffect(thisSlide, this.activeIndex); }, }, });

  • HTML/CSS
  • javascript
  • jquery
  • 인터랙티브-웹
foxball 댓글 2 좋아요 0 조회수 306

컨포넌트의 파일 간 이동

해결됨

[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기

(상황) 현재 강의 별로 파일을 만들어 수업 한 내용을 페이지에 정리했습니다. (질문) *실무 경험이 없어 이런 질문을 남기게 된 점 양해부탁드립니다. 파일을 관리할 때, 지금처럼 주제 별 (네비게이션, 피드백 등)로 파일을 만드는 게 좋은지 아니면 한 파일에 모든 컨포넌트를 넣어놓는 게 좋은지 궁금합니다. 각 파일별로 분산 된 컨포넌트를 한 곳에 모을 때, 제가 발견한 방법은 '해당 컨포넌트 잘라내기 - 붙여넣기'입니다. 혹시 좀 더 효율적인 방법이 있을까요? 항상 감사드립니다.

  • 웹-디자인
  • figma
  • figma-tokens
  • 디자인-시스템
  • 아토믹-디자인
  • figma-variable
김보준 댓글 1 좋아요 0 조회수 550

인기 태그

인프런 TOP Writers

주간 인기글