묻고 답해요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
docker-compose.yml up 중 host error(1130)
docker-compose -f docker-compose.yml up --build 를 시도하니 django.db.utils.OperationalError: (1130, "Host '172.29.0.3' is not allowed to connect to this MySQL server")이러한 error가 뜹니다. 검색해보니 host 접속권한(?)이 없는 것이라 해서 mysql root계정에 모든 host 접속을 허용해주었습니다... version: '3' services: db: container_name: db image: mysql:5.7 restart: always environment: MYSQL_ROOT_HOST: '%' MYSQL_ROOT_PASSWORD: mysql expose: - 3306 ports: - "3307:3306" env_file: - .env volumes: - dbdata:/var/lib/mysql web: container_name: web build: . command: sh -c "python manage.py migrate && python manage.py runserver 0.0.0.0:8000" environment: MYSQL_ROOT_PASSWORD: mysql DATABASE_NAME: mysql DATABASE_USER: 'root' DATABASE_PASSWORD: mysql DATABASE_PORT: 3306 DATABASE_HOST: db DJANGO_SETTINGS_MODULE: dislodged_project.settings.dev restart: always ports: - "8000:8000" volumes: - .:/app depends_on: - db volumes: app: dbdata: 무엇보다 지금까지 문제없이 잘 됐는데 갑자기 저 host 접속이 안된다고 떠서..이유를 모르겠습니다...아니면 mysql을 재설치하면 해결될까요..?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
private lateinit var vinding : ActivityMainBinding에서 오류가 뜹니다
ActivityMainBinding에 빨간색으로 표시가 되어있는데 alt+enter를 눌러도 해결되지 않습니다.
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
SetupGASInputComponent 호출 부분 질문입니다.
PossessedBy 함수가 서버에서만 호출되기 때문에 인풋에 관련된 함수를 다시 호출해 주는 것은 이해했는데요, SetupPlayerInputComponent 가 아닌 SetupGASInputComponent를 호출하는 이유가 뭔가요? GAS에 관련된 인풋 함수만 중복 호출 하는 이유가 궁금합니다.
-
해결됨김영한의 실전 자바 - 기본편
[6. 접근제어자][문제와풀이2] 쇼핑카트 질문 (p.19)
안녕하세요 저는 선생님께서 작성해주신 코드와 다르게 하기 처럼작성하였습니다.자체적으로 총 합계를 구해서 displayitems에 같이 도출했는데 하기 처럼 작성해도 무관할까요?값을 동일하게 도출됩니다.public class ShoppingCart { //배열 private Item[] items = new Item[10]; private int itemCount; public void addItem(Item item) { //item에 데이터 넣어야 함.. 순환할 필욘 없는 듯 if (itemCount >= 10) { System.out.println("장바구니가 가득 찼습니다."); return; } items[itemCount] = item; itemCount++; } public void displayItems() { System.out.println("장바구니 상품 출력"); int sum = 0; for (int i = 0; i < itemCount ; i++) { System.out.println("상품명 : " + items[i].itemName() + ", 합계 : " + items[i].itemTotalPrice()); sum += items[i].itemTotalPrice(); } System.out.println("전체 가격 합 : " + sum); } }
-
해결됨데이터 분석 SQL Fundamentals
상관쿼리와 비상관쿼리의 쓰임새가 헷깔립니다.
결국 둘 다 where 절에 쓰여서 메인 쿼리에 어떤 조건을 충족하는 값들이 있는지 필터링을 하는 것 같은데 차이점이 와닿지가 않네요. 게다가 in과 exists도 어느정도 서로 대신해서 쓸 수 있다니까 더 헷깔리는 것 같습니다.
-
미해결Next + React Query로 SNS 서비스 만들기
서버 컴포넌트에서 데이터를 가져오는게 좋은 상황
몇주간 계속 공부하면서 고민을 해봤는데... 결과적으로 서버 컴포넌트에서 데이터를 가져왔을때 좋은 상황이 어떤 경우인지 모르겠습니다. 서버 컴포넌트에서 데이터를 가져왔을때, 그 데이터는 SEO에 반영이 되나요? NEXTJS의 공식문서에서는 서버 컴포넌트가 유리한 상황이 'data fetch' 라고 되어 있습니다. 하지만 지난번에 질문했을때 클라이언트 컴포넌트에서 데이터를 가져오는게 보통 더 좋다는 답변을 받았었습니다. 클라이언트에서 데이터를 가져오는게 좋은 상황과, 서버에서 데이터를 가져오는게 좋은 상황을 구분을 못하겠어서 조언을 구하고자 질문 드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradle 버전 관련 문의
초기 환경설정 중에 자꾸 아래와 같은 오류가 발생합니다.프로젝트 sdk와 gradle jvm 모두 1.7로 설정했습니다. IntelliJ IDEA doesn't support Gradle execution on Gradle JVM versions older than 8Possible solution:- Use Java 1.8 as Gradle JVM: Open Gradle settings
-
해결됨Next + React Query로 SNS 서비스 만들기
로그인을 할 시에 useSession에서 me data를 받아오지를 못하는 것 같습니다
관련된 질문이 있나 찾아보고 혼자 코드 비교해보며 고군분투했지만 이유를 알 수가 없어 질문을 남깁니다! 질문(afterLogin) > _component > LogoutButton.tsx 파일에서 useSession() 훅을 통하여 받아오는 data가 없어if(!me?.user) 문에서 return 처리가 되어 로그아웃 버튼이 렌더링 되지 않습니다 -> 로그인이 제대로 되지 않는 것 같습니다 관련되서 추적을 해보니 터미널 창에 아래와 같은 에러가 뜹니다네트워크 탭에서 session의 경우 response가 null로 넘어옵니다application의 cookie또한 담기지 않습니다 아래는 관련된 파일들의 코드입니다.. mocks > handlers.tsauth.tsmiddleware.ts[...nextauth] > route.tspackage.json 혹시나 다른분들도 저 같은 경우가 있으신 분들은 답변 한번 부탁드리겠습니다
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(24년 Update)
전환 이벤트에 제가 원하는 이벤트를 추적하고 싶어요!
안녕하세요 선생님 전환에서 제가 원하는 이벤트를 설정하고 싶어서 찾아보다가 질문이 있어서 여쭤봅니다.1. 설정하고 싶은 전환 이벤트: 랜딩페이지에서 어떤 양식을 제출했을 때를 전환으로 설정하고 싶어서 우선 태그까지 완료했습니다.(태그 설정 완료 - form submitted)2. 찾아보니 data display - custom definitions에서 원하는 이벤트를 설정하라고 나와서 들어갔는데 여기에서 어떻게 입력하는지는 잘 모르겠어요
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
Replica Placement 질문입니다.
4분 50초 경" rack 전체가 뻗는것 보다 노드 하나 뻗는 확률이 더 올라간다? "라고 해주셨는데 잘 이해가 가지 않아서 질문드립니다.제가 이해한 바로는결국 신뢰성과 가용성 둘중 하나는 포기를 해야하고 그 둘 사이의 타협적 결정을 잘 해야 한다.가용성을 위해 단일 노드에 모든 복제본을 둘 경우 속도는 빠르지만 신뢰성 보장이 어렵고 장애 대응이 불가능 하다.신뢰성을 위해 복제본을 모든 데이터 센터 혹은 많은 가상 노드에 복제해둘 경우 신뢰성은 극한으로 올라가지만 데이터를 가져오는데 시간이 너무 오래결려 가용성이 떨어진다.그래서 그 둘 사이의 타협점을 구한 것이 Replica Placement다.위처럼 이해하면 될까요??
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
ResponseBody 강의에서 클래스 생성 관련 질문드립니다.
리턴을 new 키워드를 통해 인스턴스를 생성해서 하는데 클래스에 static키워드를 붙이는 이유가 있는지 궁금합니다.
-
미해결[플러터플로우]코딩 없이 한 달 만에 앱 만들기
스키마 내부의 list 가져오기
안녕하세요 강의 잘 듣고 있습니다! 리스트 가져오는 부분에서 질문이 있어 글 남기게 되었습니다. 강의에서는 comment 라는 서브 schema를 정의하시고, 그것을 from variable 을 사용해서 component Parameter 로 다른데서 받은 postToComment 를 사용하는데요, 저는 조금 다르게 구성을 해보았는데, 잘 되지 않아 질문 드립니다. 저는 유저 schema 가 있고 포스트 schema 가 있는데, 포스트 schema 에서는 participants 라는 인자에 list ref 로 유저 schema 를 가지고 있습니다. 이때, 포스트 상세 페이지를 누르면, 강의와 비슷하게, component parameter(roomSpecification이라는 이름) 로 해당 포스트의 상세 페이지로 이동하게 되는데요, 이 페이지에서 참가자들의 정보를 강의의 코멘트들 나열하듯이 나열하고 싶습니다.(즉, roomSpecification 안의 participants 리스트(user ref)로 listView 를 만들고 싶습니다) 그래서 ListView 에서 query type: query collection > collection: users 를 하고, from variable 로 component parameter 로 넘긴 roomSpecification 을 사용해서 participants 를 불러오려고 했는데요, 잘 되지 않습니다.다른방법으로 listView 에 query type: query collection > collection: users 를 하고, filter 로 uid 가 component parameter 로 넘긴 roomSpecification 의 participants 안에 있으면 해당 유저들만 나열하도록 하려고 했는데도 실패합니다.혹시 이런경우 어떻게 해야하는지 조언해주실 수 있으실까요??
-
해결됨독하게 시작하는 C 프로그래밍
size_t 자료형 관련 질문
안녕하십니까? 강사님!fread함수의 반환자료형이 size_t로 되어 있는데fread함수의 반환값을 받는 변수의 자료형을 size_t 변수명;이런식으로 변수를 정의해도 문제가 없는지 궁금합니다.그리고 int 나 long 등의 변수명을 (size_t)변수명; 으로 강제형변환 해도 문제가 없는지 궁금합니다.수고하십시오
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Parameter 0 of constructor in springIntroduction.springIntroduction.SpringConfig required a single bean, but 2 were found:
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]질문의 제목과 같은 에러가 발생했는데 이를 해결하는 과정에서 JpaMemberRepository에 붙어있는 어노테이션인 @Repository를 제거하니 해결이 됐습니다.이 이유가 SpringDataJpaMemberRepository에서 자동으로 구현체를 생성하게 되면 이게 빈으로 등록이 되기 때문에 저 어노테이션을 제거해서 해결을 하는 것이 정확한 이유가 되나요?
-
해결됨Next + React Query로 SNS 서비스 만들기
강의 2:45에서 코드 붙여 넣는 기능이 궁금합니다.
영상 중 해당 위치에서 left와 right를 둘이 같이 그대로 다른 곳에 쓰여진 코드를 가져오는 기능이 있는 듯이 보이는데요.혹시 vscode에서도 해당 기능 사용할 수 있나요? 커서 올려두면 하나씩은 보이는데 저렇게 한번에 붙이는 기능이 있으면 좋겠네요.강의 내용과 크게 상관없는 내용인데... 편리해보이는데 찾아볼 때 바로 원하는게 안나와서요.
-
미해결Next + React Query로 SNS 서비스 만들기
Search 페이지의 Tab컴포넌트 useSearchParams 부분 질문 있습니다.
search 페이지의 Tab 컴포넌트에서 질문이 있습니다.searchParams에 hot과 new가 전달되는 부분이 어딘지 모르겠어서 질문드립니다..제 생각으로는 Tab 컴포넌트에서 인기, 최신 div를 클릭해서 값을 전달해야 할 것 같은데 해당 부분에서는 current useState만 변경하고 다른 변경은 없는 것 같습니다.어느 부분에서 searchParams에 값을 전달해서, searchParams.get('q')로 값을 받아올수있는지 궁금합니다..아래 코드 첨부드립니다!"use client"; import style from "../search.module.css"; import { useState } from "react"; import { useRouter, useSearchParams } from "next/navigation"; export default function Tab() { const [current, setCurrent] = useState("hot"); const router = useRouter(); const searchParams = useSearchParams(); const onClickHot = () => { setCurrent("hot"); router.replace(`/search?q=${searchParams.get("q")}`); }; const onClickNew = () => { setCurrent("new"); router.replace(`/search?${searchParams.toString()}&f=live`); }; return ( <div className={style.homeFixed}> <div className={style.homeTab}> <div onClick={onClickHot}> 인기 <div className={style.tabIndicator} hidden={current === "new"}></div> </div> <div onClick={onClickNew}> 최신 <div className={style.tabIndicator} hidden={current === "hot"}></div> </div> </div> </div> ); }
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의 업데이트 시기를 알 수 있을까요?
제목이 보채는것 같이보여 죄송합니다.최대한 소심? 하게 물어보고 싶은데 단어가 안떠오르네요. 아무튼 저번 업데이트된 1편 너무 잘 봤습니다.혹시 2편 강의 내용 업데이트 날자를 대충이라도(6월 전 이렇게...) 알 수 있을까요..?
-
미해결Vue 3 시작하기
Vue 개발자 도구가 변경사항이 있나요?
vue3 event emit 부분에서 동일한 코드로 작성했는데갱신버튼을 눌러도 Vue 개발자도구에서 event가 발생됐다는 refresh log가 뜨질 않습니다. 실행자체는 되는 걸 확인했는데 log가 보이지 않는 이유가 뭔가요?아래는 전체 코드입니다. <!--HTML--> <div id="app"> <app-contents></app-contents> </div> <!--JavaScript--> <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script> <script> var appContents= { template: ` <p> <button v-on:click="sendEvent">갱신</button> </p> `, methods :{ sendEvent(){ this.$emit('refresh') } } } Vue.createApp({ components: { //'컴포넌트 이름' : 컴포넌트 내용 'app-contents': appContents } }).mount('#app'); </script>
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의 자료에 있는 스프링 부트 Welcome 페이지 지원 공식 문서 링크가 변경된 것 같습니다. + 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]6. 스프링 MVC - 기본 기능.pdf(v20231202)5페이지에 https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-spring-mvc-welcome-page 이 링크가 있는데 들어가 보면 Welcome 페이지에 대한 설명처럼 느껴지진 않는데 혹시 링크 주소가 변경된 걸까요? 찾아 보니 아래 두 링크가 Welcome Page 설명이랑 비슷하게 느껴졌습니다. 1.1.5. Static Contenthttps://docs.spring.io/spring-boot/docs/current/reference/html/web.html#web.servlet.spring-mvc.static-content 1.1.6. Welcome Pagehttps://docs.spring.io/spring-boot/docs/current/reference/html/web.html#web.servlet.spring-mvc.welcome-page 그리고 index.html에 대해 궁금한 점이 있습니다.index.html의 위치를 변경시키면서 localhost:8080을 호출했을 때 제대로 Welcome Page가 나타나는지 확인해 봤는데 /static/public/resources(resources 하위에 또 resources를 생성)/META-INF/resources이 위치에 index.html을 두었을 땐 Welcome Page가 제대로 나타나는 걸 확인했습니다. 그런데 /templates 하위에 index.html을 두어도 localhost:8080으로 Welcome Page가 호출이 되는 것 같습니다.컨트롤러를 통해 접근할 파일들을 /templates 하위에 두는 걸로 이해하고 있었는데, 이렇게 /templates 하위에 index.html을 두고 localhost:8080으로 접근하는 경우가 필요할 때가 있나요?
-
해결됨실습으로 배우는 선착순 이벤트 시스템
kafka를 왜 사용하는지가 잘 이해가 안가서 질문 남깁니다!
안녕하세요! 강의 잘 듣고 있습니다. 감사합니다. https://www.inflearn.com/course/lecture?courseSlug=%EC%84%A0%EC%B0%A9%EC%88%9C-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%8B%A4%EC%8A%B5&unitId=156125&category=questionDetail&tab=community&q=1029856해당 질문과 답변을 보고 추가 질문 드리려고 합니다. 제가 kafka나 redis, 분산서버 등에 대해 이해도가 낮은 점 양해 부탁드립니다! 1.Kafka 미사용시 주문생성/회원가입요청의 타임아웃 및 10분뒤 실행에 대한 해결책으로 Kafka 를 선택한 이유는 배압조절(back pressure) 때문입니다.이렇게 말씀을 해주셨는데요,답변에서 말씀하신 예시에서 처럼 10000개 요청이 있고,카프카를 사용한다면,요청 100개가 쌓일때마다 db에 insert를 하고, 다시 요청 100개가 쌓일때까지 기다렸다가 insert 하기를 반복한다는 것으로 이해하면 될까요?2. 그게 맞다면, 강의에서 구현한 apply 메서드에서 100개의 요청이 왔는지 확인하지 않고, kafka를 사용해서 다른곳에 전달하여 처리하는 이유는 무엇인가요?예시로 apply 메서드 안에서 redis의 incr 값을 체크하면 요청이 몇개가 쌓였는지 알 수 있을테고, 데이터를 임시저장하다가 100개마다 처리할 수 있을거란 생각이 들었습니다. kafka로 다른 모듈로 전달하는 것과의 차이점이 무엇인가 궁금합니다.3.실제로 consumer에서 100개의 작업이 완료되었는지는 일반적으로 어떻게 확인하는 걸까요? db에 저장하기 전에 100개의 데이터는 어디에 임시저장을 하나요?