묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
kotlin-android-extensions 지원중단오류
강의 3:09분 초에 말씀하신build.gradle(Moudle:app)에서 plugins {id 'kotlin-android-extension'}를 작성하고강의 잘 따라가다가회원가입 폼 다 작성하고 run했는데 The 'kotlin-android-extensions' Gradle plugin is no longer supported. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.android.com/topic/libraries/view-binding) and the 'kotlin-parcelize' plugin.이라는 오류가 뜨네요...문서 봐도 어떻게해야할지 의문이여서 문의드립니다.안드로이드버전은 Flamingo 2022.2.1 Patch 2입니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요 선생님 GoRouter 10 버전을 사용해보고 있는데요
기존에 4, 7 버전에서는 GoRouterState 에 location 속성이 있는데 10 버전에는 없더라구요.Uri 타입의 uri 가 새로 생겼던데location 대신 matchedLocation 을 사용해서 auth_provider.dart 를 만들어도 될까요?
-
해결됨Spring Boot JWT Tutorial
mysql 사용시 SQLSyntaxErrorException에러발생
엔티티 생성후 실행을 해보니 Caused by: java.sql.SQLSyntaxErrorException: Table 'onehour.user_authority' doesn't exist에러가 납니다이유가 궁금합니다 유저랑 authority는 생성이 잘 된 것 같은데...그리고 mysql사용시 따로 커넥션을 허용해주는 설정을 추가 안해줘도 될까요?
-
미해결
nodejs 듣고 있는데 자바 들을까요?
대학교 중퇴해서 백엔드 개발자 인강인 nodejs,nest,js 듣고 있고 자바까지 들어야 하는지 궁금해요지금 학력이 학력이라서 올해,내년 초 스타트업,중소기업 가는게 목표고,취업해서 2년동안 학비 모아서 대학교 3학년으로 편입해서 다시 취업해 대기업가는게 목표에요현재 스타트업,중소기업이 목표니까 우선은 nodejs만 들어야 할까요?자바는 대학교 졸업하고 재취업할 떄 들어야할까요?자바 하고 스프링이 한 세트니까 스프링도 자바 공부할 때 같이 공부해야 할까요?
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
애플 개발자 홈페이지 관련
파이어베이스로 애플아이디 로그인을 연동하는 과정에 있는데요.혹시 애플 개발자 멤버십을 구입해야 식별자 등록 및 KEY 생성과 같은 여러가지 리소스를 이용할 수 있는건가요?
-
미해결실전! Querydsl
select 절 서브쿼리 결과를 where 절에 조건으로 넣을 수 있나요?
Querydsl로 쿼리를 짜던 중 ExpressionUtils 과 JPAExpressions를 이용해 서브쿼리 작성 후 select 절에서 원하는 데이터를 조회 하는 것은 가능했는데요, 이 조회 된 값을 그대로 where 절에서 조건식으로 사용하고 싶은데, 혹시 해당 상황을 QueryDsl이 제공을 해주나요?찾아보니 쉬이 찾아지지 않아서 골치가 아프네요...예를들면 짜려는 쿼리는 아래와 같습니다.select a.member_name, ( select count(*) from user b where a.member_no = b.member_no) as 'cnt'from member awhere cnt > 1;혹시 방법이 있을까요? (상황상 group by 나 having 절을 사용하긴 어렵습니다..)
-
미해결처음 만난 리액트(React)
섹션 2 리액트 시작하기 (실습) 직접 리액트 연동하기
click 버튼이 나타나지 않습니다.코드는 정상적으로 오타가 없는지 여러 번 확인했습니다.function MyButton(props){ const [isClicked, setIsClicked] = React.useState(false); return React.createElement( 'button', {onClick: () => setIsClicked(true)}, isClicked ? 'Clicked!' : 'Click here!' ) } <html> <head> <title>민준의 블로그</title> <link rel="stylesheet" href="sylesj.css"> </head> <body> <h1>민준의 블로그에 오신 여러분들 환영합니다</h1> <div id="root"></div> <!--리액트 가져오기--> <script src="https://unpkg.com/react@17/umd/react.decelopment.js" crossorigin></script> <script src="https://unpkg.com/react-dom@17/umd/react.decelopment.js" crossorigin></script> <!--리액트 컴포넌트 가져오기--> <script src="MyButtonj.js"></script> </body> </html>
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
onEdit setData 없어도 되는건가요?
안녕하세요 강사님!강의를 따라가는 도중 제가 onEdit 함수에 setData를 하지 않았다는 사실을 알게 되었습니다.하지만 setData를 해주지 않고 data에 map 함수로 변경 해주는 동작만 해도 정상적으로 수행되는데 왜 그런지 알 수 있을까요?useCallback 해주기 전에도 정상 동작한 이유도 궁금하고 강사님께서 알려주신 대로 data에는 컴포넌트가 마운트 됐을때 data 상태인 빈 배열이 들어가 있어야 하는 것이 아닌가요?아래는 제가 짠 onEdit 함수 입니다const editDiary = useCallback((targetId, editedContent) => { data.map((e) => e.id === targetId ? {...e, content: editedContent} : e ) }, [])
-
해결됨파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
채팅 로비에서 유저수 노출을 위하여
LobbyMember 모델을 생성해서 index에 들어오면 해당 user를 추가하는 식으로 구성하였습니다.class LobbyMember(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)consumer에도 따로 LobbyConsumer를 생성하여 접속할 땐 생성하거나 조회하고 채팅방에 접속 시 삭제하도록 하였습니다.class LobbyConsumer(JsonWebsocketConsumer): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.group_name = "lobby" def connect(self): user = self.scope["user"] if not user.is_authenticated: self.close() else: lobby_user, _ = LobbyMember.objects.get_or_create(user=user) async_to_sync(self.channel_layer.group_add)( self.group_name, self.channel_name ) async_to_sync(self.channel_layer.group_send)( self.group_name, {"type": "lobby"}, ) self.accept() def disconnect(self, code): if self.group_name: async_to_sync(self.channel_layer.group_discard)( self.group_name, self.channel_name ) user = self.scope["user"] lobby_member, _ = LobbyMember.objects.get_or_create(user=user) lobby_member.delete() async_to_sync(self.channel_layer.group_send)( self.group_name, {"type": "lobby"}, ) def lobby(self, message_dict): count = LobbyMember.get_count() self.send_json({"type": "lobby", "count": count})정상적으로 작동하는가 싶더니 2개의 다른 브라우저에서 같은 이용자로 로그인 한 후한 곳에서 로그아웃하면 해당 유저가 삭제되어아직 로그인 되어 있는 쪽에서는 로그인 유저가 0명으로 표시되더라구요.지금처럼 LobbyMember를 생성하지 않고 기존 모델로 사용하는 방법이나 방향이 있을까요? 이렇게 하는건 아닌것 같아서 질문드립니다!
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
LSTM Decoder 모델에서 train 모델과 inference 모델 관련 질문드립니다.
# decoder 는 [h, c] 를 initial state 로 사용 decoder_inputs_ = Input(shape=(max_len_kor,), name="Decoder_Input") # decoder word embedding 은 pre-trained vector 를 사용 않음 decoder_embedding = Embedding(num_words_kor, EMBEDDING_DIM) decoder_inputs_x = decoder_embedding(decoder_inputs_)Q 1-1. training state에서는 위와 같이 decoder input이 한 문장의 seq를 모두 input으로 넣어주는데, 이는 teacher forcing을 위해 매 step 마다 seq 데이터(한 문장 데이터)를 input으로 모두 사용하기 때문인 것인가요? decoder_inputs_single = Input(shape=(1,), name='Decoder_input') x = decoder_embedding(decoder_inputs_single)Q 1-2. inference state에서는 위와 같이 input size가 1인 이유는, 매번 step마다 하나의 단어(번역할 단어=최초 <sos>, 그 후부터 이전 step의 output)만 input으로 사용하기 때문인가요? Q2. LSTM encoder의 경우 encoder output, h, c를 최종 산출물로 리턴해주는데요. h와 c가 context vector로 decoder의 input으로 입력된다고 이해하였습니다. 그렇다면, 번역 모델에서 encoder output은 어떤 값을 갖고 있으며 어떤 용도로 사용될 수 있을까요? 감사합니다!
-
해결됨부트캠프에서 알려주지 않는 것들 (리액트) 1편
test 코드 작성시 질문
vite를 사용하고 있으며 현재 촐더 구조입니다.현재 jest.setup.ts 파일내용입니다. (챗 gpt에게 물어본 결과 setupTest.ts로 바꿔야한다는 답변을 받았지만 꼭 바꿔야하는지 잘모르겠습니다.)import "@testing-library/jest-dom" import { server } from "./src/mocks/server" beforeAll(() => server.listen()) afterEach(() => server.resetHandlers()) afterAll(() => server.close()) msw를 사용 하기위해 필요한 설정을 해놓았습니다.다음은 테스팅을 위한 컴포넌트 입니다.import axios from "axios" import React, { useEffect, useState } from "react" const Direction: React.FC = () => { const [data, setData] = useState<any>({}) const [isLoading, setIsLoading] = useState(true) useEffect(() => { void (async () => setData(await (await axios("https://jsonplaceholder.typicode.com/todos/1")).data))() setIsLoading(false) }, []) return ( <> {isLoading ? ( <div>loading...</div> ) : ( <ul> <li>{data.id} / </li> <li>{data.title} /</li> <li>{data.userId} /</li> </ul> )} </> ) } export default Direction 보시는 것처럼 데이터를 불러와서 화면에 표시하는 컴포넌트 입니다. 다음은 테스트 케이스 입니다.import { render, screen } from "@testing-library/react" import Direction from "." test("Direction 컴포넌트가 정상적으로 렌더링되는지 테스트", async () => { render(<Direction />) const result = await screen.findAllByRole("listitem") expect(result).toHaveLength(3) })해당 코드를보시면 간단해서 에러없이 깔끔하게 성공합니다.하지만 프로젝트에서 swr을 사용하기로 했는데 여기서 문제가 발생합니다.import React from "react" import useSWR from "swr" const Direction: React.FC = () => { const { isLoading, data } = useSWR("https://jsonplaceholder.typicode.com/todos/1") return ( <> {isLoading ? ( <div>loading...</div> ) : ( <ul> <li>{data.id} / </li> <li>{data.title} /</li> <li>{data.userId} /</li> </ul> )} </> ) } export default Direction 컴포넌트를 swr을 사용하는 방식으로 바꾸고 테스트를 실행해보면 findAllByRole에서 listitem을 찾을수 없다는 에러가 발생합니다.swr의 특성인거같긴한데 도무지 해결방안이 떠오르지 않습니다.react-query나 swr같은 캐싱라이브러리를 사용하면서 msw를 사용하여 테스트를 하고 싶은데 따로 설정해야하는 것들이나 권장되는 코드 작성 방식이 따로 있나요?그것이아니라면 어떤부분을 수정해야 제대로 작동할까요?
-
미해결스프링 핵심 원리 - 기본편
롬복 동기화 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.롬복 코드 복붙 후에 동기화 시켜도 계속 실패가 뜨고 실패 로그는 안뜨는데 어떤 문제 인걸까요? 플러그인에 롬복은 있습니다 외부 라이브러리에는 없어요
-
미해결스프링 시큐리티
ConcurrentSessionFilter 매 요청 시 만료 여부 판단
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.ConcurrentSessionFilter는 매 요청 시 세션 만료 여부 즉 session.isExpired를 판단한다고 하셨습니다. 이 Filter를 설명해주실 때 사용자1, 2를 나눠서 설명해주셨는데 사용자1이 Logout 처리가 된 이후 사용자2가 요청을 보낼 때에도 사용자2의 세션 만료 여부를 체크하는지 궁금합니다.
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
scrape interval
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 하기]scrape interval을 15초로 설정하였는데,각 node에서 발생되는 Data를 15초 마다 수집한다고 생각하면 되는걸까요?scrape interval의 최소 수치는 얼마까지 가능한 걸까요?대량의 node를 대상으로 scrape interval을 1초로 할 경우Prometheus Server의 어떤 Resource를 얼마 만큼 증가하면 되는 건가요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 부족하여 늘려주시면 감사하겠습니다.
다른 공부로 인해 수강이 늦어져서 기간이 얼마 남지않아서 늘려주시면 감사하겠습니다.
-
미해결실전! Querydsl
entity onetomany로 가져온 데이터 delete 안되는 문제
예를 들어 Team, Member 엔티티가 있고 일대다 매핑을 했습니다.Team에는 Memberlist라는 필드를 넣어주고 onetomany어노테이션을 달아주고 지연로딩, cascadeAll을 달아줬습니다.질문은 team을 find해서 가져오고 team.getmemgerList로 멤버리스트를 가져온다음에 memger.getId를 해서 id 값을 가져온다음MemgerRepository.deleteById 메서드를 호출해서 멤버를 삭제하려 하였습니다. 그런데 이렇게 하니까 delete문이 나가지 않는 문제가 발생했습니다. 에러는 나지 않는데 말이죠.그렇게 한참 헤메다가 id 값으로 member를 find하고 그 다음 delete하니까 삭제가 되었습니다. 이 문제에 대해서 알고싶습니다 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2 - R
마지막 값 출력 때 '\n'을 빼먹고 안해서 1시간 정도 헤맸습니다... 문제에서 요구한 사항이 아닌 거 같아서 딱히 하진 않았는데 다른 문제를 풀 때에도 명시돼 있지 않더라도 혹시 모르니 하는 것이 나을까요??또한 문제에 명시돼 있진 않으나 이진트리라고 가정하고 풀긴 했는데 이런 것도 혹시 문제의 예시를 보고 추정하면 될까요??
-
미해결홍정모의 따라하며 배우는 C++
11분 코드 질문
안녕하세요 하기 코드 질문드립니다int sumTo(int sumto){ if (sumto <= 0) return 0; else if (sumto <= 1) return 1; else return sumTo(sumto - 1) + sumto; }에서 굵게 표시한if(sumto < = 1) return 1; 이 굳이 필요한 부분인가요?~return 0은 재귀함수 중단을 위해 꼭 필요한 것이란 걸 알겠습니다만~return 1은 어떤 이유에서 추가하셨는지 궁금해서 여쭤봅니다. 미리 답변 감사드립니다.
-
해결됨모던 안드로이드 - Jetpack Compose 입문
mutableStateOf에 초기값을 안 넣을 수는 없을까요?
강사님 강의 덕분에 쉽고 빠르게 Compose를 학습하고 있습니다. 강의를 레퍼런스 삼아서 Compose로만 앱을 제작하고 있는데요 ViewModel에서 State를 사용해서 여러 작업을 하는 도중초기값이 필요 없는 경우가 생겼습니다. 하지만 State에 초기값을 넣어주지 않으면 에러가 발생해 private val allItem = mutableStateOf<List<ItemEntity>?>(null) val allItem: State<List<ItemEntity>?> = allItem이렇게 null을 넣어서 사용 중인데이러다 보니 매번 null 체크를 해줘야하는 번거로움이 발생하고 코틀린의 장점을 잘 활용 못하고 있다는 생각이 들었습니다. 당연히 State에 초기값을 안 넣어주고 사용하는 법도 찾아봤는데 일단 원하는 답은 찾지 못했습니다. 혹시 어떻게 하면 좋을까요?
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Package 선택 어떻게 알아요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! ===================================프로젝트를 만들때 어떤 종류의 pub.dev package 들이 사용되는지 어떻게 알 수 있나요? 구글링인가요?