묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
SingleChildScrollView 뽀개버리기에서 renderClip함수 내용에 대해 질문드립니다
SingleChildScrollView 뽀개버리기 에서 renderClip함수 구현내용중안드로이드에서는 아래와 같은 설정으로는 같은 포퍼먼스를 내지 못합니다 어떻게 해야할까요?physics: AlwaysScrollableScrollPhysics(), clipBehavior: Clip.none,
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
nginx 오늘 기준 nginx=1.18.0-0ubuntu1.3 입니다..
버전 호환에 문제가 없는진 모르겠지만요...
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
테이블 관계, 관계 메서드에 대해서 질문드리겠습니다.
DB는 처음다뤄봐서인지 이전 테이블관계 강의와 해당 강의를 몇번을 회독했는데도 이해가 가지않거나, 궁금한점이 있어서 질문드립니다. 테이블끼리 관계를 설정하고, 관계 데이터를 사용하는 이유가 무엇인가요? include만 사용하는 것과 어떤 차이가 있는지 궁금해서 질문드립니다. 강의에서 관계를 아래와 같이 설정한 뒤 User는 'Likers', Post는 'Liked'라는 별칭을 지정하셨는데, 별칭의 사용이유가 다른 관계와의 구분외에 또 있을까요? 뭔가 이 부분의 사용 이유가 정확하게 이해가 안되서 질문드립니다 ㅜㅜdb.Post.belongsToMany(db.User, { through: 'Like', as: 'Likers' }) db.User.belongsToMany(db.Post, { through: 'Like', as: 'Liked' }) 아래 식은 Likers(User)테이블에서 유저ID(req.user.id)를 찾아 해당 데이터를 Post 테이블에 추가한다는 뜻을 이해했는데 맞을까요?await post.addLikers(req.user.id); 좋아요 기능을 구현한 뒤 Post와 User의 관계에서 생성된 Like 매핑테이블을 확인해보니 다음과 같이 데이터가 추가되었던데 혹시 어느 부분에서 매핑테이블에 데이터가 추가된건가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요
RestTemplate 듣다 질문드려요http://127.0.0.1:8000/order-service/%s/orders 에서 %s의 파라미터는 userId를 넣어주는데 언제 이걸 넣어주는건가요??getUserByUserId 의 매서드 파라미터 usrId가 쏙 들어가는 형태인가요??
-
미해결
파이썬 turtle에서 함수 동시에 사용
파이썬 공부중인 학생이에요. turtle 그래픽에서 하나의 터틀을 움직이게 되면 움직이고 있던 다른 터틀이 계속 멈추게 됩니다. 어떡해야 두 거북이를 모두 움직이게 할 수 있을까요? 코드는 아래에 적을게요. import turtle as timport random as r바늘=t.Turtle()물고기1=t.Turtle()물고기2=t.Turtle()쓰레기1=t.Turtle()쓰레기2=t.Turtle()바늘.shape('arrow')물고기1.shape('turtle')물고기1.color('red','red')물고기2.color('green','green')물고기2.shape('turtle')쓰레기1.shape('circle')쓰레기2.shape('circle')바늘.speed(3)def 속도1(): s=3 바늘.speed(3)def 속도2(): s=6 바늘.speed(6)def 속도3(): s=0 바늘.speed(0)def goleft(): m,n = 바늘.pos() 바늘.goto (m-20, n)def goright(): m,n = 바늘.pos() 바늘.goto (m+20, n)def 던지기(): 바늘.pendown() keep = 1 while keep == 1 : 바늘.fd(20) m,n = 바늘.pos()## if 바늘.distance(q,w) <= '30' :## keep = 0## 물고기1킾=0## 바늘.goto(0,470) if n <= -500 : keep = 0 바늘.penup() 바늘.sety(470)def 물고기1함수() : 물고기1.showturtle() 물고기1킾 = 1 물고기1.goto(-500,r.randint(-450,100)) while 물고기1킾 == 1 : 물고기1.fd(1) q,w = 물고기1.pos() if q >= 500 : 물고기1.setx(-500) #초기 세팅 바늘.hideturtle()물고기1.hideturtle()물고기2.hideturtle()쓰레기1.hideturtle()쓰레기2.hideturtle()바늘.penup()바늘.goto(0,470) ##바꿔야됨(낚시대에서 시작, 마우스로 누른곳에 일자로 선 그으며 가서 수직낙하)바늘.rt(90)바늘.showturtle()물고기1.penup()물고기2.penup()쓰레기1.penup()쓰레기2.penup()t.setup(500,500)t.onkeypress(goleft, "Left")t.onkeypress(goright, "Right")t.onkeypress(던지기, "Return")t.onkeypress(속도1, "1")t.onkeypress(속도2, "2")t.onkeypress(속도3, "3")t.onkeypress(물고기1함수, "space")t.listen()
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
links에 "db:dbcontainer"로 수정되어야 하죠!?
links에 "db:mysqldb" 라고 되어 있어서 도커 컨테이트 내에서 ls를 했을 때 mysqldata 폴더가 생성되지 않은 것을 확인할 수 있습니다. (17:46 부분)docker-compose에서 links를 "db:dbcontainer" 로 수정하면 됩니다. service_name:container_name
-
미해결홍정모의 따라하며 배우는 C언어
size_t
sizeof 함수가 size_t를 반환한다는 소리가 무슨 말인가요?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
랜더링이 되는 이유에 대해서 궁금합니다.
안녕하세요. 드래그앤드랍에 대한 실습중 궁금증이 생겨 질문드립니다. const handleDragEnd = (result) => { console.log("result", result); if (!result.destination) { return; } const newTodoData = [...todoData]; const [reorderedData] = newTodoData.splice(result.source.index, 1); newTodoData.splice(result.destination.index,0,reorderedData); //TODO 이건 왜 렌더링을 할까 ..? // 드래그앤드랍으로 인해서 랜더링을 해서일까 todoData = newTodoData; //setTodoData(newTodoData); }위의 코드에서 setTodoData를 사용하지 않고 todoData에 직접 값을 재할당하였습니다.랜더링이 되지 않을것을 기대하고 테스트해보았는데 저렇게 해도 랜더링이 되어버리더라구요.혹시 제가 잘못 이해하고 있는것이 있나 궁금합니다.
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
사용자 집단별 추천 코드
코드 내에서 score(model)안에 model로 best_seller, cf_gender등을 사용하셨는데, best_seller와 cf_gender함수는 user_id와 movie_id를 변수로 가지는데, score함수 안에 사용할 때는 score(best_seller)로 써도 작동되는 이유가 무엇인가요? score(best_seller(user_id, movie_id))와 같이 써야 작동되는것 아닌가요?
-
미해결
안드로이드 스튜디오 attribute is not allowed here
안드로이드 스튜디오를 잘 사용하다가 어느 순간 갑자기androidmenifest에 저렇게 되었습니다. 저것들처럼 하단에도 저런 상태가 생겼으며원인을 알 수 없습니다. 구글링을 통해서 해결 방법을 통해 찾아봐서 시도한 점은안드로이드 스튜디오를 껐다가 다시켜본다.빌드를 다시 해본다. -> 다시 하니 엄청 많은 것들이 생기는 현상이 나타났습니다.File -> invalidate caches 하기File -> Sync Project with gradle files위의 방법들을 사용해봤는데도 해결되지 않았습니다.제발 도와주세요.... 제발 .. 코딩하고 싶어요..
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
504에러
밑에 질문 올렸던 수강생입니다!댓글은 확인이 어려우신거같아서 다시 질문 남깁니다ㅎㅎhttps://github.com/aocl333/community요기에 올려놧는데 뭐가 문제인지 확인해주실수있을까요ㅠ?저는 도저히 못 찾겟네요ㅠ
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
텔레메트리 미사용 시, 강의내용
안녕하세요 크리스피님제가 드론 제작중인데텔레메트리를 아예 사용하지 않는다고 하면챕터8은 통째로 건너뛰어도 되는걸까요??
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
hotReload 사용시 TypeOrmModuleOptions에서 entities Path를 넣어서 Entity를 인식시킬 수 있는 방법이 없나요?
안녕하세요 제가 강의를 다 듣고 TypeOrm 환경설정을 하는데요yarn build 후yarn nest start를 하면entities: [ __dirname + '/../**/*.entity{.ts,.js}', ],와 같이하면 Entity를 인식하는데https://docs.nestjs.com/recipes/hot-reload위에 문서에 있는 내용으로 hot-reload를 하면 entity 인식을 못하네요 이유인즉은위에 hot-reload를 하면 dist 경로에 main.js만 생성이 되더라고요. yarn build를 하면 entities 경로에 entity들이 .js 파일로 떨어지고요 그래서 여러가지 시도를 해봤는데 번번히 실패를 해서요 그래서 현재 entities를 명시적으로 쓰는 방법으로 하고 있습니다(아래와 같이) entities: [ ChannelChats, ChannelMembers, Channels, DMs, Mentions, Users, WorkspaceMembers, Workspaces, ], 혹시 entities를 경로로 설정하면서 hot-reload를 적용할 수 있는 방법이 있을까요?
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
docker desktop에서 실습 할수 있도록 관련 가이드 제공 가능 하실지요?
안녕하세요 아래 많은 커뮤니티에서도 나오는 vagrant 와 VM 의 오류로 docker desktop을 구매를 해서 강의의 실습을 하고자 합니다. (docker desktop에서 k8s 설치를 통해)관련해서 VM에서 vagrant로 master과 node 설정하는 것을 docker desktop에서 할수 있도록 가이드 제공 가능 하실지요? 아니면 관련해서 조언을 주시면 감사하겠습니다.
-
미해결FreeRTOS 프로그래밍
실습환경구축
안녕하십니까, 선생님실습환경구축 영상을 보며 STM32CubeIDE를 설치중인데요, 가장 최근 버전인 1.10.1은 install할 때 components에 ST-LINK server를 함께 설치하는 옵션이 없습니다. 상관없나요?
-
미해결Vue.js + TypeScript 완벽 가이드
권한 요청 드립니다.
권한 추가 요청 드립니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
치킨배달 시간복잡도 질문
https://www.acmicpc.net/source/share/5b5feb84a65f44c19188df5fbe697fe6위 모범답안의 소스코드 라인과 시간복잡도 계산을 대응해보고싶어 강의내용과 연결을 지어봤습니다.강의시간 02:58 에 설명한 조합 13C6 으로 나올 수 있는 경우의 수는29라인 for문의 최대 반복횟수를 결정합니다.집의 최대 갯수 100개가31라인 for문의 최대 반복횟수는 결정합니다. 궁금한 점은 ,33라인 for문도 최대 반복횟수는 6 이 될 것이고6라인 재귀함수 내부 for문에도 연산이 이뤄질 것인데시간복잡도의 연산횟수계산에는 생략이 되었습니다.위 두 라인의 연산은 크기가 작아 미미하기 때문에 무시하신 것인지 궁금합니다.
-
미해결
컴공 전공 대학생입니다! 지금 무엇을 해야할지 너무 막막해요. . .
안녕하세요 저는 컴공 전공하고 있는 대학생입니다. 대학교 2학년 복학때까지 시간이 꽤 있는데 어떤걸 먼저 해야할지 정말 고민입니다. 코딩 실력은 정말 기초적인 실력이에요.... 엑셀, ppt 같은것들을 공부해야할지 아니면 기본적인 파이썬, 자바 등을 먼저 깊이 있게 공부해야할지 잘 모르겠습니다.
-
미해결따라하며 배우는 NestJS
강의 잘 들었습니다!!
안녕하세요 강의 너무 잘 들었습니다! 강의 마지막에 언급해주신 배포 관련 문서는 어디서 다운받을 수 있는지 알려주실 수 있을까요?좋은 강의 무료로 제공해주셔서 감사드립니다~
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
context에 있는 데이터가 html로 넘어가지 않습니다.
지금 context라는 변수를 첫 번째 if문에 한번 두 번째 if문에 한번 총 두 번 선언합니다.각 if문 안에 있는 동작이 끝나는 순간 함수가 끝나기 때문에 서로 영향을 주지 않습니다.그런데, 첫 번째 context에 있는 변수들은 html 페이지에 잘 뜨는데 두 번째 context에 있는 변수들이 html로 넘어가지 않습니다.예를 들어, 두 번째 context에 있는 mape_val이 html에서 출력 되지 않습니다.데코레이터 코드는 참고용으로 넣어두었습니다. views.py 부터 봐주시면 감사하겠습니다. <views.py> @navsDecorator @viewDecorator def csv_forecast(req, context): username = req.user if req.method == 'POST' and req.FILES.get('csvfile'): uploaded_file = req.FILES.get('csvfile') p_data = pd.read_csv(uploaded_file) p_data.reset_index(drop=True, inplace=True) columns_list = list(p_data.columns) columns_list = [column.lower() for column in columns_list] p_data.columns = columns_list # 디렉토리 없는 경우 생성해주는 python 내장 모듈 os.makedirs('media/csv', exist_ok=True) p_data.to_csv(f'media/csv/{username}.csv', index=False) start_date = p_data.loc[0, 'date'] len_date = int(len(p_data)*0.8) end_date = p_data.loc[len_date, 'date'] datas = [] for i in range(1, len(columns_list)): datas.append(columns_list[i]) MODEL_LIST = ['ARIMA', 'EMA5', 'LSTM'] context = {'datas' : datas, 'd' : p_data, 'columns_list' : columns_list, 'MODEL_LIST' : MODEL_LIST, 'start_date' : start_date, 'end_date' : end_date} # req.POST.get('')과 req.POST['']의 차이는 get을 적었을때는 키값이 존재하지 않는 경우 None값을 반환함 if req.POST.get('sendModel') and req.POST.get('sendPdata') and req.POST.get('sendRdata'): # js에서 ajax로 보낸 dict의 value값 send_pdata = req.POST.get('sendPdata') send_rdata = req.POST.get('sendRdata') send_model = req.POST.get('sendModel') cleaned_pdata = re.split(r'[\[\],"]', send_pdata) cleaned_rdata = re.split(r'[\[\],"]', send_rdata) cleaned_model = re.split(r'[\[\],"]', send_model) selected_pdata = [i for i in cleaned_pdata if len(i) >= 1] selected_rdata = [i for i in cleaned_rdata if len(i) >= 1] selected_model = [i for i in cleaned_model if len(i) >= 1] csv_data = pd.read_csv(f'media/csv/{username}.csv') mape_val, y_pred, y_test, test_date = model_main(csv_data, selected_pdata,selected_rdata, selected_model) print(mape_val) # print(type(y_pred)) # print(type(y_test)) # print(type(test_date)) fs = FileSystemStorage(location=f'media/csv/') fs.delete(f'{username}.csv') context = {'mape_val': mape_val,'y_pred' : y_pred, 'y_test' : y_test, 'test_date' : test_date } return req, context<csv_forecast.html> <body> {% include "nav.html" %} <div class="container"> <!-- css 깨지고 검색안되는거 forecast_scripts 문제였음 / 그 외 materialAutoComplete 추가 / views.py name get으로 가져오는 것 수정 --> <div class="card"> <div class="card-body"> {% if datas %} <h3>데이터와 모델 선택 후 하단에 저장버튼을 클릭해주세요.</h3> {% endif %} <br> <div class="sub-section" style="overflow: hidden;"> <form method="post" enctype="multipart/form-data"> <!-- form에서 받는 모든 정보를 모두 인코딩하지는 않는다는 뜻으로 이 부분을 설정하지 않으면 form에서 filename 정도만 받아오게 된다. 이 방식은 파일이나 이미지를 서버로 전송할 때 주로 사용한다. --> {% csrf_token %} <input type="file" name="csvfile" accept=".csv"> {% if datas %} <button type="submit" class="btn btn-primary">CSV 파일 업로드 완료</button> {% else %} <button type="submit" class="btn btn-secondary">CSV 파일 업로드 </button> {% endif %} </form> <br> <h3>학습구간 : {{start_date}} ~ {{end_date}}</h3> </div> </div> </div> <div class="col"> <h3>데이터 선택</h3> </div> <div class="card" > <div style="height: 400px; overflow: overlay"> <div class="card-body"> <!-- <button type="button" class="btn btn-primary" id="select_data">선택 데이터 저장</button> --> <div class="sub-section" style="overflow: hidden;"> <div class="sub-section01"> <table class="table table-hover table-centered table-nowrap" id="table_data"> <thead class="thead-dark"> <tr> <th></th> <th>예측 데이터</th> <th>근거 데이터</th> <th>딜레이</th> </tr> </thead> <tbody> {% for data in datas %} <tr> <td>{{data}}</td> <td><input type="radio" name ="pdata_checkbox"></td> <td><input type="checkbox" name ="rdata_checkbox"></td> <td>1</td> </tr> {% endfor %} </tbody> </table> </div> <div id="checked_data"></div> </div> </div> </div> </div> <div class="col"> <h3>모델 선택</h3> </div> <div class="card" > <div class="card-body"> <div class="sub-section" style="overflow: hidden;"> <div class="sub-section01"> <table class="table table-hover table-centered table-nowrap" id="table_model"> <thead class="thead-dark"> <tr> <th>선택</th> <th>예측 모델</th> </tr> </thead> <tbody> {% for model in MODEL_LIST %} <tr> <td><input type="radio" name ="model_checkbox"></td> <td>{{model}}</td> </tr> {% endfor %} </tbody> </table> </div> {% if datas %} <button type="button" class="btn btn-primary" id="select_model">선택 데이터와 모델 저장</button> {% endif %} <div id="checked_model"></div> </div> </div> </div> <div class="col"> <h3>예측 결과</h3> </div> <div class="card"> <div class="card-body"> <div class="sub-section" style="overflow: hidden;"> <h3>{{mape_val}}</h3> </div> </div> </div> </div> <decorator.py> def viewDecorator(func): def wrapper(*args, **kwargs): req = args[0] context = {key: val for key, val in req.GET.dict().items()} kwargs['context'] = context req, context = func(*args, **kwargs) return TemplateResponse(req, f'{func.__name__}.html', context=context) return wrapper def navsDecorator(function): @functools.wraps(function) def wrapper(*args, **kwargs): template = function(*args, **kwargs) try: navs = [ # getNav('main', '퀀트평가'), # getNav('getGraphByCode', '시즈널리티'), getNav('csv_forecast', '원자재 예측'), # getNav('house', '부동산 예측'), # getNav('similarData', '유사차트'), ] template.context_data['navs'] = navs return template.render() except Exception as e: print(e) return template return wrapper