묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨GSAP의 ScrollTrigger를 활용한 포트폴리오 제작
ScrollTrigger 플러그인이 작동되지 않는 것 같습니다
안녕하세요$(function(){ gsap.registerPlugin(ScrollTrigger); ScrollTrigger.matchMedia({ '(min-width: 1024px)': function(){ let list = gsap.utils.toArray('.work ul li'); let scrollTween = gsap.to(list, { xPercent: -100 * (list.length - 1), ease: 'none', ScrollTrigger: { trigger: '.work', pin: true, scrub:1, start: 'center center', end: '300%', markers: true, } }); } }) });현재 여기까지 작성을 하였는데 창 새로고침과 동시에 갤러리 가장 끝쪽으로 넘어가버립니다.콘솔에서는 이렇게 뜨구요,,,markers도 안 보이는 걸 보니 플러그인이 작동되지 않는 것 같은데코드를 전부 똑같이 치고 몇 번을 다시 봤는데도 전혀 안 되네요...파일 첨부를 어떻게 하는지 몰라서 제 코드 파일 다운로드 링크를 함께 올립니다.한번 확인 가능할까요?ㅜㅜhttps://bigfile.mail.naver.com/download?fid=JYbZa6JnM6mraAUjKCY9KqvdHqUmKoEmFAU/KxvqKxg/HquXFA2dFAtqaxvjF6UlazKZaztlF4U/FrpSMoUdaAMqaxI0KrtlKA+oFAb=
-
해결됨비전공자의 전공자 따라잡기 - 자료구조(with JavaScript)
스택, 큐 연결리스트로 구현 과제 완료입니다!
Stack// 숙제: Stack을 LinkedList로 구현하기(단, 시간복잡도는 O(1)) class Stack { tail = null; length = 0; // 가장 마지막에 노드 추가 push(value) { // 새로운 tail이 될 node 생성 const node = new Node(value); // 바꿔치기를 위해 현재 tail은 curr 변수에 저장 const curr = this.tail; // 새로운 tail을 추가하기 this.tail = node; this.tail.prev = curr; // stack의 길이 추가 this.length++; // 길이 리턴 return this.length; } // 가장 마지막 노드 제거 pop() { if (!this.tail) { // tail이 없는 경우 pop할 값이 없기 때문에 아무 동작도 하지 않음 } else { // pop될 node의 value를 변수에 저장 > 리턴 예정 const value = this.tail?.value; // 현 tail의 prev 값을 변수에 할당 > 새 tail이 될 예정 const prev = this.tail.prev; // 바꿔치기 this.tail = prev; // stack의 길이 줄이기 this.length--; // pop된 기존 tail의 value 리턴 return value; } } // Stack의 가장 마지막 원소 조회 top() { return this.tail?.value; } } class Node { prev = null; constructor(value) { this.value = value; } } const stack = new Stack(); console.log(stack); console.log(stack.push(3)); // 1 console.log(stack.push(1)); // 2 console.log(stack.push(5)); // 3 console.log(stack.push(2)); //4 console.log(stack.push(4)); //5 console.log(stack.pop()); // 4 > pop된 가장 마지막 값 리턴 console.log(stack.top()); // 2 console.log(stack.pop()); // 2 > pop된 가장 마지막 값 리턴 console.log(stack.pop()); // 5 > pop된 가장 마지막 값 리턴 console.log(stack.pop()); // 1 > pop된 가장 마지막 값 리턴 console.log(stack.pop()); // 3 > pop된 가장 마지막 값 리턴 console.log(stack.pop()); // undefined console.log(stack.top()); // undefined console.log("stack"); Queue// 숙제: Queue를 LinkedList로 구현하기(단, 시간복잡도는 O(1)) class Queue { head = null; tail = null; length = 0; // 가장 마지막에 노드 추가 enqueue(value) { const node = new Node(value); if (!this.head) { this.head = node; } else { let currHead = this.head; while (currHead.next) { currHead = currHead.next; } currHead.next = node; } const currTail = this.tail; this.tail = node; this.tail.prev = currTail; this.length++; return this.length; } // 가장 맨 앞 노드 제거 dequeue() { // head는 다음 값으로 변경 const value = this.head.value; this.head = this.head.next; // tail에 연결된 가장 맨 앞 값 삭제 => 가장 맨 앞에서 두번째의 prev를 null로 만든다 let currTail = this.tail; let prevTail; while (currTail?.prev) { prevTail = currTail; currTail = currTail.prev; } if (prevTail?.prev) { prevTail.prev = null; } else { this.tail = null; } this.length--; return value; } // Queue에서 가장 앞 쪽에 있는 값 조회 peek() { return this.head.value; } } class Node { prev = null; next = null; constructor(value) { this.value = value; } } const queue = new Queue(); console.log(queue.enqueue(1)); // 1 console.log(queue.enqueue(3)); // 2 console.log(queue.enqueue(5)); // 3 console.log(queue.enqueue(2)); // 4 console.log(queue.enqueue(4)); // 5 console.log(queue.peek()); // 1 console.log("dequeue"); console.log(queue.dequeue()); // 1 console.log(queue.dequeue()); // 3 console.log(queue.dequeue()); // 5 console.log(queue.dequeue()); // 2 console.log(queue.dequeue()); // 4 console.log("queue");
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
TEST
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요이렇게 나오는데 어떻게 해결해야 할까요?
-
해결됨은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
entity 객체 생성을 data class 로 하신 이유가 있을까요?
안녕하세요 강사님!강의 잘보고있습니다 아직 초반이긴한데...entity 클래스 생성하실 때 data class 로 정의하신 이유가 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
마인드맵 1과목 문의
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요1과목 마인드맵 groupby,pivot 함수 추가 업데이트 부탁드립니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
{}안에 들어가는 값으로 숫자, 문자열, 배열의 값 뿐만 아니라 태그도 쓸 수 있는 건가요?
10:04에서의 문법을 보면 div안에 {}가 들어간 것이 아니라 {}안에 div태그를 넣는데 제대로 동작하는 것을 보면 그렇다고 생각합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
캐시가능에서 PATCH는 빠졌나봅니다!
2025.04.28일 기준 위키피디아 요약표를 보니 PATCH는 캐시가능에서 빠진것 같습니다!!혹시나 해서 알려드립니다!
-
미해결웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩
CSRF 대응방안 궁금 사항 문의
결국에는 공격자가 유도하는 action.php 에 토큰값이 비어있거나, 임의로 요청해도 write.php에서 발급받은 토큰과 일치하지 않아 공격이 실패된 것으로 이해되었습니다.그렇다면 만약에 토큰을 발급받는 페이지인 write.php에서 XSS 가 발생되어 공격자가 토큰값만 알게 된다면 CSRF 취약점이 가능할 까요? 물론 페이로드를 개별 사용자 한명만을 대상으로 토큰값을 요청해야겠지만요
-
해결됨홍정모의 따라하며 배우는 C언어
13.2 명령줄 인수 관련 코드 if(argc !=2)의 의미에 관하여
안녕하세요. 13.2강 강의내용의 코드 중 ...if (argc != 2){ printf("Usage: %s filename\n",argv[0]); exit(EXIT_FAILURE);} 이 있는데, 해당 코드가 정확히 어떤 오류를 방지하기 위한 코드인지 이해가 잘 가지 않고, argc는 인수의 개수와 관련있는 값으로 알고 있는데 왜 argc<2가 아니라 argc!=2로 한건지 궁금합니다. 감사합니다.
-
해결됨커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)
PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-arm64-openssl-3.0.x". 에러
도커 컨테이너 실행 명령어를 입력했는데 아래와 같은 에러가 발생했습니다.(프리즈마 버전 강의와 동일함)PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-arm64-openssl-3.0.x". This happened because Prisma Client was generated for "darwin-arm64", but the actual deployment required "linux-arm64-openssl-3.0.x". Add "linux-arm64-openssl-3.0.x" to `binaryTargets` in the "schema.prisma" file and run `prisma generate` after saving it: generator client { provider = "prisma-client-js" binaryTargets = ["native", "linux-arm64-openssl-3.0.x"] }// schema.prisma generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") }
-
미해결카프카 완벽 가이드 - 코어편
강의 설명 및 코드 정리
안녕하세요 강의 잘 듣고 있습니다. 다름이 아니라 제 상업적 목적이 아닌 제 개인 github에 정리 하려하는데 소스코드라던지 강의의 전반적인 설명을 정리해서 기록해도 될까요? 만약 특수 목적으로 사용한다면 구직 활동에 사용할 예정이며 출처도 남길 예정입니다.
-
미해결Next + React Query로 SNS 서비스 만들기
@modal/(i) 로 생성/파일이동 후, 무한 GET 출력
강의의 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 접속시도는 사라집니다.어떻게 해서 이렇게 되는지요?
-
해결됨[유니티 게임 개발] 핵심 기술과 디자인 패턴
강의 소스 부탁 드립니다.
학습에 관련된 상세한 질문을 남겨주세요 🙂그 외에도 여러분들이 자체적으로 게임을 개발하면서 생긴 여러 오류들도 남겨주신다면 제가 아는 선에서 최대한 답변드리겠습니다 ! 😃안녕하세요 강사님좋은 강의해 주셔서 감사합니다.강의 보면서 순간순간 집중력이 떨어져 예제 소스를 완성 못할 때가 많습니다. 강의에 나오는 모든 예제 소스를 받을 수 있을까요?
-
미해결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/폴더로 리다이렉션) 를 찾는 것으로 이했습니다.여러 폴더를 모두 보여준다고 설명하신듯하여, 이해가 안되네요.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
스킬트리 저장 질문입니다
플레이어가 스킬트리로 스킬을 찍은 후 다른 씬에서 다시 로드되면 찍은 스킬이 사라지고 스킬트리가 초기화 되어서싱글톤 변수에 스킬트리 자체를 저장하고 로드할때 불러오는 방법을 사용할려고 했는데 잘 되지 않았습니다.씬이 전환되면서 플레이어가 다시 생성될때에도 스킬트리 상태와 찍은 스킬을 유지하는 방법이 있을까요..
-
미해결F6-비전공자·일반인을 위한 기업재무회계의 이해와 활용
수업 복습을 위해 강의자료 받아 볼 수 있을까요^^
안녕하세요!강의 수강 중, 수업 내용 복습을 위해 강의 자료를 요청드리려고 합니다.bjmh0127@gmail.com위 메일로 강의 자료를 받아볼 수 있을까요?양질의 강의를 해주셔서 감사드립니다
-
해결됨태블로를 향한 첫 걸음
Tableau view (텍스트테이블에서) 맨위에 한 줄이 빈칸으로 나옵니다
파이썬으로 데이터를 쌓아서 엑셀로 만들었고파이썬으로 엑셀 변환 시 글꼴 설정 영역을 폭 넓게 잡아두었습니다그래서 그럴까요?데이터만 다시 블럭해서 Tableau 넣어보면 문제 없이 됩니다 아래 처럼 나와요Tableau view (텍스트테이블에서) 맨위에 한 줄이 빈칸으로 나옵니다시트1 자산구분[요기가 빈칸으로 보여요] Abc비용 Abc자산 Abc 숫자가 있는 pill 은 0 만 나오구요의는 1:1 문의하기를 이용해주세요.
-
미해결
Tableau view (텍스트테이블에서) 맨위에 한 줄이 빈칸으로
파이썬으로 데이터를 쌓아서 엑셀로 만들었고파이썬으로 엑셀 변환 시 글꼴 설정 영역을 폭 넓게 잡아두었습니다그래서 그럴까요?데이터만 다시 블럭해서 Tableau 넣어보면 문제 없이 됩니다 아래 처럼 나와요Tableau view (텍스트테이블에서) 맨위에 한 줄이 빈칸으로 나옵니다시트1 자산구분 [요기가 빈칸으로 보여요] Abc비용 Abc자산 Abc 숫자가 있는 pill 은 0 만 나오구요
-
미해결React 비기너: 튼튼한 기본 만들기
React 비기너: 튼튼한 기본 만들기 / 섹션22. 이벤트 핸들러 강의 / Content Attribute와 IDL Attribute 사용 방식에 대한 질문드립니다
안녕하세요.항상 좋은 인사이트와 경험을 공유해주셔서 감사드립니다.최근 프론트엔드 개발을 공부하면서 "Content Attribute"와 "IDL Attribute"의 사용 방식에 대해 고민하게 되었습니다. 이를 정리해보면서 나름대로 다음과 같은 결론에 이르렀습니다.Content Attribute는 변하지 않는 어트리뷰트 값이나 리소스를 표현할 때 사용하고,그 외, 동적으로 핸들링이 필요한 경우에는 IDL Attribute를 사용하는 것이 맞다고 이해하고 있습니다.이러한 개념을 공부하면서, 현업에서 다양한 코드들을 보게 되었는데요, 특히 주니어 개발자분들이 작성한 코드에서는 Content Attribute를 많이 사용하는 반면, 시니어 개발자나 CTO급 분들의 코드에서는 Content Attribute 사용이 상대적으로 적고, 대부분 IDL Attribute를 적극적으로 사용하는 모습을 많이 볼 수 있었습니다.이런 현상을 보며 자연스럽게 궁금증이 생겼습니다.왜 경험 많은 개발자일수록 Content Attribute 사용이 줄어드는 걸까?Content Attribute 방식과 IDL Attribute 방식에 대해 어떻게 생각하시고, 어떤 기준으로 선택하시는지 궁금합니다.혹시 이 부분에 대해 간단히 의견을 들려주실 수 있다면 큰 도움이 될 것 같습니다.(물론 바쁘시다면 답변 주시지 않아도 괜찮습니다! 이렇게 질문을 정리하는 과정만으로도 많은 공부가 되고 있습니다.)읽어주셔서 감사합니다.좋은 하루 되세요.
-
미해결[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스
sunriseData 코드
2분 22초에서 return 문 앞에 const sunriseData = weatherData ? new Date(weatherData.sys.sunrise);이렇게 코드를 적었는데 이후의 코드에서는 갑자기 보이지 않아 이 코드는 어디가고이후의 return 앞에는 이 코드가 오게 되었는지 궁금합니다.const formatTime = timestamp => { const date = new Date((timestamp - 9 * 3600) * 1000); // UTC timestamp에 9시간 추가 return date.toLocaleTimeString([], {hour: '2-digit', minute: '2-digit'}); // 로컬 시간으로 포맷 }; 제가 이해할 때는 sunriseData가 wetherData의 unixtime을 현재 우리가 보는 시간으로 바꾸어 저장하는 것인데...아래의 formatTime은 sunriseData를 대체한 코드인가요?(시차도 적용한?)