묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
질문있습니다.
질문1. commentForm.js에서 댓글을 작성하고 버튼을 누르면 밑의 코드가 실행됩니다. const onSubmitComment = useCallback(() => { dispatch({ type: ADD_COMMENT_REQUEST, data: { content: commentText, postId: post.id, userId: id }, }); }, [commentText, id]); 여기서 인자로 userId를 보내주었는데 리듀서와 사가를 거쳐 백엔드에서 router.post('/:postId/comment', isLoggedIn, async (req, res, next) => { // POST /post/1/comment 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), UserId: req.user.id, }) const fullComment = await Comment.findOne({ where: { id: comment.id }, include: [{ model: User, attributes: ['id', 'nickname'], }], }) // console.log("fullComment::::",JSON.stringify(fullComment),"enddddd"); res.status(201).json(fullComment); } catch (error) { console.error(error); next(error); } }); 위의 라우터가 실행되잖아요? 그런데 여기서 인자로 보내준 userId는 안쓰이고 req.user.id즉 세션에 저장되어 있는것을 쓰셨는데 그렇다면 위에서 userId를 인자로 넘겨준 이유가 무엇인지 궁금합니다. 질문2. FollowButton.js입니다 팔로우 버튼을 누르면 const FollowButton = ({ post }) => { const dispatch = useDispatch(); const { me, followLoading, unfollowLoading } = useSelector((state) => state.user); const isFollowing = me?.Followings.find((v) => v.id === post.User.id); console.log(isFollowing); const onClickButton = useCallback(() => { if (isFollowing) { dispatch({ type: UNFOLLOW_REQUEST, data: post.User.id, }); } else { dispatch({ type: FOLLOW_REQUEST, data: post.User.id, }); } }, [isFollowing]); if (post.User.id === me.id) { return null; } return ( <Button loading={followLoading || unfollowLoading} onClick={onClickButton}> {isFollowing ? '언팔로우' : '팔로우'} </Button> ); }; 위의 코드가 실행되잖아요? 그런데 이때 console.log(isFollowing);으로 로그를 찍어 보았습니다. 그런데 팔로우 버튼을 누르면 console에서 {id: 9} id: 9 __proto__: Object 이렇게 아이디만 뜨고 다시 새로고침을 해주어야 {id: 9, Follow: {…}} Follow: {createdAt: "2020-12-28T13:26:05.000Z", updatedAt: "2020-12-28T13:26:05.000Z", FollowingId: 9, FollowerId: 7} id: 9 __proto__: Object 아이디와 아이디에 속해있는 Follow 객체를 불러오는데요... 왜 팔로우 버튼을 누른 후에는 (새로고침 하기전에는 ) id만 받아 오는것인지 궁금합니다!
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
Burp Suite외에 다른 인증서나 도구로도 가능할까요?
안녕하세요! 완강 후 SSL Pinning 학습 중에 궁금한 점이 생겼습니다. Burp Suite외에 다른 인증서나 다른 도구를 이용하여 해당 SSL Pinning 우회가 가능할까요? 가능하다면 혹시 대표적인 사례가 어떤 것이 있는지 궁금합니다.
-
해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
출력값이 항상 no로 나옵니다
#include <stdio.h> #include <string.h> int main() { char a[30]; int i,n,cnt=0; n=strlen(a); scanf("%s", &a); for(i=0;i<n;i++){ if(a[i]=='(') cnt++; else if(a[i]==')') cnt--; if(cnt<0) break; } if(cnt==0) printf("YES\n"); else printf("NO\n"); return 0; } 이렇게하면 왜 출력값이 항상 no로 나오는지 모르겠습니다
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
강사님 안녕하세요 !
돈이 아깝지 않을만큼 너무 명강의라 감동 먹으면서 배우고 있습니다 !! 어떻게 이렇게 짧게 알짜배기만 잘 알려주시는지!! 다름이 아니라 전 svn은 사용해봤지만 깃은 처음이라 그러는데요 ! 현업에서도 이런 명령어로 커밋하고 롤백하고 그러나요 ?? 아니면 어떤 툴을 이용하나요 ?? 제가 사용하던 svn은 이클립스에 svn탭에서 그냥 커밋할거 안할거 체크해서 올리기만 해봐서 git은 감이 잘 안오네요 ㅎㅎ
-
미해결정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)
Runtime error(nullpointerexception) 문의 드립니다.
안녕하세요 강의 잘 듣고 있습니다~ 지난번 Binary Tree Level Order 문제와 마찬가지로, 릿코드에서 솔루션 제출 시에 Runtime error(nullpointerexception) 오류가 나오는데 왜 이러는 걸까요..?ㅜㅜ 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Transactional 질문
@Transactional에 대한 질문입니다. 이전에 스프링 통합 테스트 강의에서 @Transactional에 대해서 처음 소개해주셨습니다. 이때 @AfterEach 대신 사용하는 느낌으로, 각 테스트 케이스를 실행하기 전에 트랜잭션을 걸고 테스트가 완료되면 롤백하여 무효화한다. 라고 설명해주셨는데요. 이번 강의에서는 MemberService에 @Transactional 을 다시면서 회원가입할때만 필요하니까 join에 달아도 상관없다고 말씀하셨습니다. 이 부분이 이해가 안 되는 게.. @Transactional은 기능을 수행한 후 롤백을 한다고 하셨는데.. 그렇다면 테스트가 아닌 실제 Service쪽 코드에 @Transactional을 달면 안 되는 것 아닌가요? 테스트가 아닌 실전에선 롤백을 해야할 이유가 없지 않은지..? 15:30 부분에서 "JPA는 join()이 들어올 떄 모든 데이터 변경이 전부 트랜잭션 안에서 실행되어야한다." 라고 하신 말씀이 이 질문에 대한 해답 같기는 한데.. 스스로는 이해를 못하겠어서 질문을 남깁니다. 감사합니다!
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
5번 문제 코드 질문
안녕하세요? 5번문제 강의 수강 및 코드 실행 중 런타임 에러 간혹 나타납니다. 확인해주시면 감사하겠습니다. 주민등록번호 뒷자리 2로 시작하는 부분에서 에러가 나는듯 합니다. #include <iostream> #include <string> using namespace std; int main(int argc, char** argv) { int age; char sex, idCopy[14]; string id; cin >> id; id.copy(idCopy, 14, 0); age = idCopy[7] - '0'; if(age%2==0) sex = 'W'; else sex = 'M'; if((idCopy[7]-'0')<3) age = 1900 + ((idCopy[0]-48) * 10) + (idCopy[1]-48); else age = 2000 + ((idCopy[0]-48) * 10) + (idCopy[1]-48); cout << 2019 - age + 1 << " " << sex; return 0; } 바쁘시겠지만 한번만 봐주시면 감사하겠습니다.
-
초보를 위한 쿠버네티스 안내서
대시보드 사용은 어떻게하나요??
삭제된 글입니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
EntityManager @Autowired 질문
안녕하세요, 강의를 듣다 궁금증이 생겨 질문을 남깁니다. EntityManager를 스프링이 알아서 생성해준다고 하셨는데.. 생성된 em 객체를 받기 위해선 생성자에 @Autowired를 해줘야 하는 것이 아니었나요? 똑같이 생성자를 통해 DI를 하는 경우인데 어떤 때는 @Autowired를 하고 어떤 때는 하지 않는 것 같더라구요. 무슨 차이에서 @Autowired 붙이는 여부가 결정되는 것인지를 모르겠습니다. 감사합니다!
-
미해결윤재성의 Kotlin 기반 안드로이드 앱 개발 Part1 - UI Programming
자동완성 파라미터 질문
안녕하세요. 자동완성 파라미터에 대해 문의드립니다. 강사님의 onCheckedChanged 자동완성시 아래와 같고 저는 아래와 같습니다. 왜 파라미터 이름이 저는 p0, p1 이런식으로 배정될 까요?? 안드로이드 스튜디오 버전은 4.1.1 입니다. 감사합니다.
-
미해결홍정모의 따라하며 배우는 C++
signed 와 unsigned 질문
33:47에 1001 1110을 unsigned 라고 가정해야하는거 아닌가요?
-
미해결정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)
Runtime error 문의드립니다.
안녕하세요 강의 잘 듣고 있습니다. 그런데 릿코드에서 디버깅해보니 정답처리는 되는데 제출하려고 하니 Runtime error가 나옵니다. Nullpointerexception으로 나오는데, 이건 null값을 갖는 객체에 접근할 때 나오는 에러인 것 같은데 왜 이러한 에러가 뜨는지 잘 모르겠습니다.. 감사합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
동그라미가 안 뜨고 물음표로 나옵니다
'\u25CF' 나 '\u25cf' 를 못알아듣고 물음표로만 출력되는데, 어떡해야 할까요?
-
미해결Flutter 초급 - Http통신, 상태관리
Provider + StateLess 에서 ScrollController Dispose() 사용 문제 질문
Provider 를 사용하게 되면 StateLessWidget을 사용하는데 탭뷰를 다녀오면 리스트가 초기화되어서 이전에 보던 스크롤 위치를 고정시키려고 합니다. 이걸 하려고 보니 ScrollController를 사용해야 하던데 StateLess는 Dispose가 없어서 controller dispose를 하지 못합니다. Provider 를 사용하는데 StateFull 을 사용해야 하는 것인가요? TabView 로 다른 탭 갔다 오면 리스트 오프셋이 게속 0이네요 ㅠㅠ
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
1분 41초 가량 질문
저는 Hello Thread!먼저 뜨는데 뭐가 문제인가요??
-
미해결[기초-응용] 다양한 환경을 앤서블(Ansible)로 관리하기 with 베이그런트(Vagrant)
ansible 까지 설치가 되지 않습니다....
안녕하세요. 질문이 있어 글 남깁니다. 알려주신 방식대로 진행을 하였으나 설치되는 과정에서의 로그도 다르고 VM에 centos 는 설치가 되는데 ansible이 설치 되지 않습니다. bootstrap.sh가 실행되지 않는 듯 합니다. 아래 저의 실행 로그를 함께 드립니다. 무엇이 문제인지 알고 싶습니다...그럼 답변 기다리겠습니다. 감사합니다.
-
미해결Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
라디오버튼
한 항목에 라디오 버튼을 2개를 만들고 그 중 하나만 선택할 수 있게 하려면 인터렉션 설정을 어떻게 하나요?
-
미해결뉴욕 프로덕트 디자이너가 알려주는, 입문자를 위한 UX디자인 개론
안녕하세요.
강의 중에 eternation(?) 반복이라고 하셨는데 인터넷에 검색해봐도 그런 단어는 없다고 해서요. 정확한 단어 알려주실 수 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JOINED전략 시 GLOBAL TEMPORARY TABLE HT_ 생성 문의
안녕하세요. 강사님 수업 잘 듣고 있습니다. JOINED전략을 사용하여 ITEM, ALBUM 등을 실습하고 있습니다. H2 dialect 옵션: <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle12cDialect"/> 그런데 의도한 테이블 이외에 로그 및 H2를 살펴보니 HT_ 접두사를 가진 글로벌 임시 테이블들이 생성됩니다. 로그내용: create global temporary table HT_이름들 어떤 용도로 생성되는건지 문의 드립니다. 필요없으면 혹시 OFF 할 수도 있나요?
-
미해결PyGame 어드벤쳐 : 위니브 월드를 수복하라!
시간바와 스코어바 테두리를 없애고 싶어요.
그냥 이미지만 띄웠을 때는 이미지 테두리가 없었는데, 이번 시간에 한 것 적용하고 나니깐 이미지 테두리가 까맣게 두껍게 생겼던데 없앨 수 있는 방법이 있나요?