176만명의 커뮤니티!! 함께 토론해봐요.
미해결
[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
계정 여러개 생성하여 서로 매칭을 시켜 알람까지 갔는데 MY MATCHING LIST를 눌러도 아무 반응이 없네요 어디가 문제인지 봐주실 수 있을까요? 전체코드 깃허브 주소 - https://github.com/alsxm4625/sogating4/commit/e1307ce30381e77d678b715b3227f2e1a00d9a09
서기
2023-11-20T15:31:06.961Z
댓글 1
좋아요 0
조회수 259
미해결
[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
11:43 에서 사용하는 new state machine 이 검색이 안됩니다. context sensitive도 체크 해제해서 검색 해봐도 안보이고 혹시 이름이 바뀌었나 해서 언리얼 문서도 확인했는데 이상이 없네요 그리고 영상에서는 fwd를 연결하면 계속 반복실행이 되는데 제 상황에서는 따로 설정한 것이 없는데 1번 실행되고 반복실행이 안됩니다. 이 같은 경우는 어떻게 해결하나요?
unreal-engine ue-blueprint
rl12694
2023-11-20T15:05:59.803Z
댓글 1
좋아요 0
조회수 430
미해결
예제로 배우는 스프링부트 입문
'org.springframework.boot' version '3.1.5'으로 실행하면 에러가 나는데요. 버전에 차이가 많이 있는 건가요?
hanbong
2023-11-20T15:03:45.039Z
댓글 1
좋아요 0
조회수 392
미해결
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
코드는 전혀 문제가 없는 것 같은데, 결제창으로 넘어가지를 않습니다. 코드를 보면 만약 resp 일때 OrderDoneScreen으로 넘어가도록 되어있는데, 그 resp 는 await ref.read (orderProvider.notifier).postOrder(); 이라고 했습니다. 그렇다면 이 resp가 이 상태가 아니라는 건데, 이걸 어떻게 확인을 하면 좋을까요? 에러의 이유로는 'type 'Null' is not a subtype of type 'String' in type cast' 라고 나옵니다. 저번에는 재설치 하면 넘어갔었는데, 이번에는 아무리 모든 코드를 검사해봐도 이유를 모르겠습니다 ㅠ SizedBox( width: double.infinity, child: ElevatedButton( onPressed: () async { final resp = await ref.read(orderProvider.notifier).postOrder(); if (resp) { context.goNamed(OrderDoneScreen.routeName); } else { ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text( '결제 실패!', ), ), ); }
김지현
2023-11-20T14:37:09.730Z
댓글 2
좋아요 0
조회수 384
미해결
실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
덕분에 테스트에 대해 흥미를 가지고 공부중에 있습니다. 테스트 공부하면서 한가지 궁금한 점이 있습니다. 혹시, Mock, Stub, Fake 등 상황에 따라 구분해서 사용하고 계신가요?
tdd spring-boot pojo 소프트웨어-테스트 api
백린이
2023-11-20T14:11:11.473Z
댓글 1
좋아요 0
조회수 438
해결됨
[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
window.kakao에 underfined로 나와요...
react node.js seo graphql next.js
esm211
2023-11-20T13:45:22.237Z
댓글 2
좋아요 0
조회수 720
미해결
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요. 선생님 멀어 보였던 DFS를 이해하고 코딩하고 있다는게 놀라운 수강생입니다. 종화는 방구쟁이야 문제 관련되서 궁금한게 있어 질문드립니다. 저 같은 경우에 visited를 빼고 하나의 함수로 구현하였습니다. 이렇게 구현해도 괜찮을까요? 제 풀이가 맞을지 걱정되서 질문 남깁니다. 감사합니다. http://boj.kr/6dccc9b963c543a0bd537144b48beb0a
박승한
2023-11-20T13:39:52.418Z
댓글 1
좋아요 2
조회수 379
미해결
[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
안녕하세요. 강의 잘 듣고 있습니다! 컨슈머 랙 모니터링 부분 강의를 듣고 있는데 의문이 생겨서 질문 드립니다. 컨슈머 랙을 모니터링하다가 사용량이 많아지게 되면 데이터 처리를 위해 컨슈머 개수와 파티션 개수를 늘려 병렬 처리량을 늘리는 방법이 좋다라고 말씀 하셨는데요. 이전 강의에서는 파티션 수를 늘리면 다시 줄일 수 없기 때문에 처음에 잘 선정해야 한다라고 들어서 이 부분이 약간 헷갈리는 거 같습니다. 많은 데이터량을 처리하려면 파티션 수를 늘리는 방법말고는 없을 거 같은데 설날같이 일시적인 트래픽이 증가하는 날을 위해 평소에도 과도한 파티션 수로 운영하는게 더 좋을까라는 의문도 같이 생기네요. 혹시 현업에서는 어떠한 방식으로 처리하고 있으신가요? 좋은 강의 감사합니다.
황영빈
2023-11-20T13:37:54.873Z
댓글 3
좋아요 0
조회수 444
해결됨
이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
안녕하세요 교수님. CPP에 대한 이해가 아직 많이 부족해서 수업을 듣던 중 질문이 생겼습니다. 조금 이상한 질문일 수도 있을것같은데, FString 멤버 변수의 Getter Setter 멤버 함수는 FORCEINLINE FString& GetName() { return Name; } FORCEINLINE void SetName(const FString& InName) { Name = InName; } 이렇게 인라인 함수 선언과 참조자 반환으로 성능을 중시한 반면, ECardType 열거형 멤버 변수의 Getter Setter의 경우에는 ECardType GetCardType() const { return CardType; } void SetCardType(ECardType InCardType) { CardType = InCardType; } 이렇게 선언하여 안정성을 추구한 것처럼 보이는데, 이런 설계 이유나 판단 기준이 무엇인가요? 객체의 크기와 특성에 따라 적절한 설계 방법이 조금씩 다르기 때문일까요?
unreal-engine 언리얼-c++ getter setter fstring enum const
남호은
2023-11-20T13:25:41.152Z
댓글 2
좋아요 0
조회수 773
미해결
[리뉴얼] React로 NodeBird SNS 만들기
다름이 아니라 리트윗빼고는 문제가 없습니다. 하지만 리트윗을 하게 되면 데이터베이스에 userid가 null로 들어가면서 게시글을 불러올때 userid가 없기때문에 오류가 나는 것으로 보입니다... 해결해보려고 노력하는 중입니다만 어디가 문제인지 잘 모르겠습니다. const express = require("express"); const multer = require("multer"); const path = require("path"); const fs = require("fs"); const { Post, Image, Comment, User, Hashtag } = require("../models"); const { isLoggedIn } = require("./middlewares"); const router = express.Router(); try { fs.accessSync("uploads"); } catch (error) { console.log("uploads폴더가 없으므로 생성합니다."); fs.mkdirSync("uploads"); } const upload = multer({ storage: multer.diskStorage({ //어디에 저장할지 diskStorage => 하드디스크에 저장 destination(req, file, done) { done(null, "uploads"); }, filename(req, file, done) { // 제로초.png const ext = path.extname(file.originalname); // 확장자 추출(.png) const basename = path.basename(file.originalname, ext); // 제로초 done(null, basename + "_" + new Date().getTime() + ext); // 제로초15184712891.png }, }), limits: { fileSize: 20 * 1024 * 1024 }, // 20MB }); router.post("/", isLoggedIn, upload.none(), async (req, res, next) => { // 보기에는 "/"로 되어있지만 실제로는 "/post"로 되어있다. try { const hashtags = req.body.content.match(/#[^\s#]+/g); //hashtag 정규식 const post = await Post.create({ content: req.body.content, UserId: req.user.id, }); if (hashtags) { const result = await Promise.all( hashtags.map( (tag) => Hashtag.findOrCreate({ //있으면 가져오고 없으면 추가해라 where: { name: tag.slice(1).toLowerCase() }, }) //[[노드, true], [리액트, true]] 이런식으로 나옴 //slice는 글자만 떼기 위해 ex ) #react인 경우 react만 꺼냄 ) ); await post.addHashtags(result.map((v) => v[0])); //위에 같은 형식이기 때문에 0번째만 꺼내야함 } if (req.body.image) { if (Array.isArray(req.body.image)) { //여러개의 이미지를 올린 경우 const images = await Promise.all( req.body.image.map((image) => Image.create({ src: image })) ); await post.addImages(images); } else { const image = await Image.create({ src: req.body.image }); await post.addImages(image); } } const fullPost = await Post.findOne({ where: { id: post.id }, include: [ { model: Image, }, { model: Comment, include: [ { model: User, //댓글 작성자 attributes: ["id", "nickname"], }, ], }, { model: User, //게시글 작성자 attributes: ["id", "nickname"], }, { model: User, //좋아요 누른 사람 as: "Likers", attributes: ["id"], }, ], }); res.status(201).json(fullPost); //다시 프론트로 돌려주기 } catch (error) { console.error(error); next(error); } }); router.post("/:postId/comment", isLoggedIn, async (req, res, next) => { //:postId는 동적으로 바뀐다. //POST /post/comment // 보기에는 "/"로 되어있지만 실제로는 "/post"로 되어있다. try { const post = await Post.findOne({ //이 게시물이 진짜 있는지. where: { id: req.params.postId }, }); if (!post) { return res.status(403).send("존재하지 않는 게시글입니다."); } const comment = await Comment.create({ content: req.body.content, PostId: parseInt(req.params.postId, 10), //문자열로 넘어가기 때문에 int형으로 바꿔줘야한다. UserId: req.user.id, }); const fullComment = await Comment.findOne({ where: { id: comment.id }, include: [ { model: User, attributes: ["id", "nickname"], }, ], }); res.status(201).json(fullComment); } catch (error) { console.error(error); next(error); } }); router.patch("/:postId/like", isLoggedIn, async (req, res, next) => { //PATCH /post/1/like\ try { const post = await Post.findOne({ where: { id: req.params.postId } }); if (!post) { return res.status(403).send("게시글이 존재하지 않습니다."); } await post.addLikers(req.user.id); res.json({ PostId: post.id, UserId: req.user.id }); } catch (error) { console.error(error); next(error); } }); router.delete("/:postId/like", isLoggedIn, async (req, res, next) => { //DELETE /post/1/like try { const post = await Post.findOne({ where: { id: req.params.postId } }); if (!post) { return res.status(403).send("게시글이 존재하지 않습니다."); } await post.removeLikers(req.user.id); res.json({ PostId: post.id, UserId: req.user.id }); } catch (error) { console.error(error); next(error); } }); router.delete("/:postId", isLoggedIn, async (req, res, next) => { // DELETE /post/10 try { await Post.destroy({ where: { id: req.params.postId, UserId: req.user.id, }, }); res.status(200).json({ PostId: parseInt(req.params.postId, 10) }); } catch (error) { console.error(error); next(error); } }); router.post( "/images", isLoggedIn, upload.array("image"), //PostForm.js에서input에 올린 이미지가 배열로 들어감 (이미지를 여러장 올릴 수 있게 하기 위해서) async (req, res, next) => { // POST /post/images/ //이곳은 이미지 업로드 후 실행되는 부분, 업로드는 위에 upload에서 이미 다 올라감 console.log(req.files); res.json(req.files.map((v) => v.filename)); //프론트로 보내줌 } ); router.post("/:postId/retweet", isLoggedIn, async (req, res, next) => { // POST /post/1/retweet try { const post = await Post.findOne({ where: { id: req.params.postId }, include: [ { model: Post, as: "Retweet", }, ], }); if (!post) { return res.status(403).send("존재하지 않는 게시글입니다."); } if ( req.user.id === post.UserId || (post.Retweet && post.Retweet.UserId === req.user.id) ) { return res.status(403).send("자신의 글은 리트윗할 수 없습니다."); } const retweetTargetId = post.RetweetId || post.id; const exPost = await Post.findOne({ where: { UserId: req.user.id, RetweetId: retweetTargetId, }, }); if (exPost) { return res.status(403).send("이미 리트윗했습니다."); } const retweet = await Post.create({ UserId: req.user.id, RetweetId: retweetTargetId, content: "retweet", }); const retweetWithPrevPost = await Post.findOne({ where: { id: retweet.id }, include: [ { model: Post, as: "Retweet", include: [ { model: User, attributes: ["id", "nickname"], }, { model: Image, }, ], }, { model: User, attributes: ["id", "nickname"], }, { model: Image, }, { model: Comment, include: [ { model: User, attributes: ["id", "nickname"], }, ], }, ], }); res.status(201).json(retweetWithPrevPost); } catch (error) { console.error(error); next(error); } }); module.exports = router; //node에서는 import와 export defau lt를 사용하지 않고 require를 사용한다. //리트윗 case RETWEET_REQUEST: draft.retweetDone = false; draft.retweetLoading = true; draft.retweetError = null; break; case RETWEET_SUCCESS: draft.retweetLoading = false; draft.retweetDone = true; draft.mainPosts.unshift(action.data); break; case RETWEET_FAILURE: draft.retweetLoading = false; draft.retweetError = action.error; break; default: break; } }); export default reducer; //리트윗 function retweetAPI(data) { return axios.post(`/post/${data}/retweet`); //data는 formdata다 } function* retweet(action) { try { const result = yield call(retweetAPI, action.data); yield put({ type: RETWEET_SUCCESS, data: result.data, }); } catch (err) { console.error(err); yield put({ type: RETWEET_FAILURE, error: err.response.data }); } }
react redux node.js express next.js
윤채현
2023-11-20T12:57:47.628Z
댓글 1
좋아요 0
조회수 292
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
import pandas as pd df = pd.DataFrame({ '남자': {'합격': 100, '불합격': 200}, '여자': {'합격': 130, '불합격': 170}}) from scipy.stats import chi2_contingency chi2_contingency(df) Chi2ContingencyResult(statistic=5.929494712103407, pvalue=0.01488951060599475, dof=1, expected_freq=array([[115., 115.], [185., 185.]])) 위 코드를 실행하면 expected_freq 값이 행별로 동일하게 나오는데.. 혹시 이유가 있을까요?
python 머신러닝 빅데이터 pandas 빅데이터분석기사
몽하
2023-11-20T12:53:03.445Z
댓글 1
좋아요 0
조회수 299
미해결
나도코딩의 자바 기본편 - 풀코스 (20시간)
섹션 12 예외처리 사용자 정의 예외에서 AgeLessThan19Exception가 선생님 화면에는 에러없이 잘 넘어가지만, 실제로는 클래스를 따로 분리하거나 static class AgeLessThan19Exception를 사용해야하는거 아닌가요? 전 에러때문에 코드 실행이 아예 안됩니다.
물가의새
2023-11-20T12:37:20.328Z
댓글 1
좋아요 1
조회수 262
미해결
안녕하세요 김영한 선생님의 스프링 한번에 구매시 블프25%할인이 들어가는데 묶음 구매시 추가20%쿠폰은 추가할인은 안되는건가요?? 추가 할인은 어려운지 확인 부탁드리겠습니다
stargood37
2023-11-20T12:13:01.194Z
댓글 1
좋아요 0
조회수 784
미해결
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
List<GoRoute> 를 go_router.dart가 아닌 auth_provider.dart에 넣은 이유가 있을까요? 작동은 잘 되지만 코드가 헷갈릴 때가 있어 질문드립니다. 라우터 관련 코드들은 go_router에 넣으면 가독성이 더 편해질 것 같은데 auth_provider에 넣은 이유가 있을까요??
김상호
2023-11-20T12:04:46.852Z
댓글 1
좋아요 0
조회수 486
해결됨
Golang을 통한 백엔드 개발 및 환경 구축하기
2023/11/20 20:44:01 http: panic serving [::1]:8034: runtime error: invalid memory address or nil pointer dereference goroutine 51 [running]: net/http.(*conn).serve.func1() C:/Program Files/Go/src/net/http/server.go:1854 +0xbf panic({0xec01a0, 0x126f410}) C:/Program Files/Go/src/runtime/panic.go:890 +0x263 github.com/dev-yakuza/study-golang/gin/start/repository.(*UserRepository).Delete(0xc0000a4030, {0x12466f8, 0x1}) C:/go_gin/src/CURS_SERVICE/repository/user.go:42 +0x36a github.com/dev-yakuza/study-golang/gin/start/service.(*User).Delete(...) C:/go_gin/src/CURS_SERVICE/service/user.go:27 github.com/dev-yakuza/study-golang/gin/start/network.(*userRouter).delete(0xc000444530, 0xc000456100) C:/go_gin/src/CURS_SERVICE/network/user.go:104 +0x1ca github.com/gin-gonic/gin.(*Context).Next(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174 github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc0005841a0, 0xc000456100) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620 +0x66b github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc0005841a0, {0xfeda80?, 0xc00045e0e0}, 0xc000456200) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576 +0x1dd net/http.serverHandler.ServeHTTP({0xfecb10?}, {0xfeda80, 0xc00045e0e0}, 0xc000456200) C:/Program Files/Go/src/net/http/server.go:2936 +0x316 net/http.(*conn).serve(0xc0004fa090, {0xfee018, 0xc0000a27e0}) C:/Program Files/Go/src/net/http/server.go:1995 +0x612 created by net/http.(*Server).Serve C:/Program Files/Go/src/net/http/server.go:3089 +0x5ed 관련된 에러가 나고 있습니다. for index, user := range u.userMap { if user.Name == userName { u.userMap = append(u.userMap[:index], u.userMap[index+1:]...) isExisted = true continue } } 해당코드에서 user가 nil일 경우에도 for문이 실행이 되고 있습니다. 혹시 이게 u.userMap이 자동적으로 뒤에 nil이 있는 것으로 확인이 됩니다. 혹시 다른 설정하신게 있으실까요? 아니면 append가 패치된 상황일까요? 일단은 for index, user := range u.userMap { if user != nil { if user.Name == userName { u.userMap = append(u.userMap[:index], u.userMap[index+1:]...) isExisted = true continue } } } 이렇게 해결 했습니다.
JUNI
2023-11-20T12:01:56.537Z
댓글 1
좋아요 0
조회수 398
미해결
스프링 부트 - 핵심 원리와 활용
강의를 듣던 중 프로젝트 설정이 사진처럼 바뀌면서 실행이 되지 않습니다 이 문제는 어떻게 해결할 수 있을까요?
spring spring-boot prometheus grafana
2023-11-20T11:42:57.934Z
댓글 1
좋아요 0
조회수 409
미해결
스프링 DB 2편 - 데이터 접근 활용 기술
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Mybatis 강의에서 수업을 쭉 따라가다보면 -의존성 추가 -@Mapper 인터페이스 생성 -xml 파일 생성; 이후에 바로 테스트를 실행하시는데 이 과정에는 H2 DB의 url, id, pw를 넣어주는 설정 작업이 없는것 같은데 dataSource랑 connection은 어떻게 얻어오고 mybatis는 어떻게 db와 연결이 되는건가요???
spring mvc jpa querydsl spring-data-mybatis spring-jpa
cn1056
2023-11-20T10:54:34.109Z
댓글 1
좋아요 0
조회수 356
미해결
이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
friend 키워드는 인자가 클래스일때 private , protected 변수에 접근이 자유롭게 가능하다로 알고있는데요 여기서 들어오는 인자는 FStruct 구조체이므로 모든 변수는 public 이기 떄문에 딱히 의미가 없는부분일까요 ?..
steven1994
2023-11-20T10:54:20.341Z
댓글 1
좋아요 0
조회수 324
해결됨
디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
시험장 제공 증거 usb에 이미지 파일이 있는 경우, 별도의 이미지 생성과정 없이 쓰기방지 설정하지 않고 해당 이미지 파일을 이용 autopsy나 ftk 이미저로 바로 분석을 하면되는 것인가요?
수석반장
2023-11-20T09:46:32.413Z
댓글 4
좋아요 0
조회수 760
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 분명 CSV 파일 예시는 pred 0 0 1 0 이렇게 되어있는데, pred[:,1]로 하면 확률로 표시되는데... 그래도 가능할까요?
python 머신러닝 빅데이터 pandas 빅데이터분석기사
빅분기
2023-11-20T09:41:57.740Z
댓글 1
좋아요 0
조회수 406