묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
getServerSideProps
안녕하세요 선생님, 알려주신 것처럼,getServerSideProps를이용해서 쿠키가 있을때만 페이지를 접근 가능하게 했습니다. 근데 sub를 생성할 수 있는 버튼을 클릭하면 아래 주소로 이동 가능하게(router.push('/sub/create')) 했는데 접근이 가능하네요? 이럴땐, 해당 버튼을 클릭하면 다시 login 페이지로 가도록 라우팅 처리를 또 해줘야 하는건가요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
ubuntu 완전 삭제 후 재설치
우분투 설치 진행을 하다가 거의 다 완료한 상태에서 갑자기 오류가 발생해 삭제 후 재설치를 했는데 이 오류에서 벗어나질 못합니다...ㅠㅠ다른 분의 질문에서 남겨주셨던 WSL 제거 링크도 해보았지만 소용이 없었습니다..한 6시간정도 머리 싸매고 모든 방법을 시도해보다가 안 돼서 혹시나 예전에 방법을 찾으셨나 싶어서 지푸라기라도 붙잡는 심정으로 글 써봅니다..
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
스크롤링 success 문제
안녕하세요 제로초님인피니트 스크롤링 적용하는 부분에서 스크롤이 끝에 올 때마다 mainPosts가 10개씩 추가 되지 않고 한번에 50개(draft.hasMorePost = draft.mainPosts.length < 50;)가 추가 되는데 원래라면 스크롤을 끝까지 내릴 때마다 10개씩만 추가 되어야 하는 건가요?댓글에서 SUCCESS는 한 번만 와야 된다고 하셨는데 저는 처음 한 번만 게시글이 10개 추가(success 한 번)되고 이후에는 게시글이 50개가 될 때까지 한꺼번에 success가 들어옵니다콘솔에 inView를 찍어보니 처음 10개만 들어왔을 때는 true -> false로 값의 변화가 있는데 한번에 success 되는 부분에서의 inView의 값은 계속 true로 찍힙니다..이런 경우에는 어떻게 해결해야 되나요..??index.jsconst Home = () => { const dispatch = useDispatch(); const { me } = useSelector((state) => state.user); const { mainPosts, hasMorePost, loadPostsLoading } = useSelector((state) => state.post); const [ref, inView] = useInView(); useEffect( () => { dispatch({ type: LOAD_POSTS_REQUEST, }); }, []); useEffect( () => { if (inView && hasMorePost && !loadPostsLoading) { const lastId = mainPosts[mainPosts.length - 1]?.id; dispatch({ type: LOAD_POSTS_REQUEST, lastId, }); } }, [inView, hasMorePost, loadPostsLoading, mainPosts], ); return ( <AppLayout> {me && <PostForm />} {mainPosts.map((post) => <PostCard key={post.id} post={post} />)} <div ref={hasMorePost && !loadPostsLoading ? ref : undefined} style={{ height: 10, backgroundColor: 'red' }} /> </AppLayout> );
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
영상통화에서 나가기 누르면
널 에러 뜨는데 그냥 무시하면 되는 건가요?
-
미해결홍정모의 따라하며 배우는 C언어
[3.0 고정 너비 정수] least의 의미가 궁금합니다
질문글을 살펴보니 int_least8_t는 char과 같다고 하던데 최소 8비트면 그 이상 범위의 큰 숫자가 와도 되는 것 아닌가요? 최소 @비트의 정확한 의미가 궁금합니다.
-
미해결홍정모의 따라하며 배우는 C언어
[3.9 고정 너비 정수] %d에서 d의 의미가 궁금합니다.
d32할 때 d가 decimal의 약자라고 하셨는데 decimal의 뜻은 소수, 십진법이라고 나옵니다. 여기서 decimal이 소수를 뜻하는 것이라면, int는 정수형 자료형인데 왜 형식 지정자는 정수가 아닌 소수를 뜻하는 decimal의 약자 d를 사용하는 것인가요? %d의 decimal이 십진법을 뜻하는 것이라면, 십진법은 0~9까지의 수이기 때문에 정수로 치고 이를 decimal = 정수 이렇게 정의 내려서 정수형 자료형의 형식 지정자로 %d를 쓰게 된 것인가요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
새로고침시 404 문제
https://www.inflearn.com/questions/640711/url%EB%A1%9C-%EC%A7%81%EC%A0%91-%EC%A0%91%EA%B7%BC%EC%8B%9C-404-return-%EB%AC%B8%EC%A0%9C위에 질문드린분과 완전 동일한 증상입니다. 다른점은 https://chanyoung-dev.github.io/ 는 이미 사용중이어서 https://chanyoung-dev.github.io/vuePost/ 도메인에 배포하기 위해 vite.config.js에서 base설정한 것(base: '/vuePost/')과 history: createWebHistory('/vuePost/') 있습니다. https://chanyoung-dev.github.io/vuePost/ 에 접속하여 /posts라우트 영역에 들어가면 정상적으로 되지만 해당 페이지에서 새로고침을 한다든가 주소창에 직접 https://chanyoung-dev.github.io/vuePost/posts 로 들어가면 github 404페이지가 나타납니다. 로컬에서는 주소창에 http://localhost:5173/vuePost/posts 치면 정상적으로 접속됩니다.github pages와 github action을 통해 배포해서 https://vitejs.dev/guide/static-deploy.html#github-pages 를 참고했는데도 안되네요 ㅜㅜ 아래는 제가 설정한 부분입니다vite.config.jsimport { fileURLToPath, URL } from 'node:url'; import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, base: '/vuePost/', }); route 부분import { createRouter, createWebHistory } from 'vue-router'; import HomeView from '@/views/HomeView.vue'; import AboutView from '@/views/AboutView.vue'; import PostCreateView from '@/views/posts/PostCreateView.vue'; import PostDetailView from '@/views/posts/PostDetailView.vue'; import PostEditView from '@/views/posts/PostEditView.vue'; import PostListView from '@/views/posts/PostListView.vue'; const routes = [ { path: '/', component: HomeView, }, { path: '/about', component: AboutView, }, { path: '/posts', component: PostListView, name: 'PostList', }, { path: '/posts/create', component: PostCreateView, name: 'PostCreate', }, { path: '/posts/:id', component: PostDetailView, name: 'PostDetail', }, { path: '/posts/:id/edit', component: PostEditView, name: 'PostEdit', }, ]; const router = createRouter({ history: createWebHistory('/vuePost/'), routes: routes, }); export default router; git actionhttps://vitejs.dev/guide/static-deploy.html#github-pages 와 동일# Simple workflow for deploying static content to GitHub Pages name: Deploy static content to Pages on: # Runs on pushes targeting the default branch push: branches: ['master'] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow one concurrent deployment concurrency: group: 'pages' cancel-in-progress: true jobs: # Single deploy job since we're just deploying deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Node uses: actions/setup-node@v3 with: node-version: 18 cache: 'npm' - name: Install dependencies run: npm install - name: Build run: npm run build - name: Setup Pages uses: actions/configure-pages@v3 - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: # Upload dist repository path: './dist' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v1 git 주소: https://github.com/ChanYoung-dev/vuePost하루죙일 삽질 뒤에 질문 남깁니다 감사합니다
-
해결됨Flutter 앱 개발 기초
안드로이드 스튜디오 설치 과정에서 문제
똑같이 따라했는데 명령 구문이 올바르지 않다고 합니다.
-
해결됨스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
deleteAccount 테스트 오류
마지막 강을 들으면서 전체 테스트를 돌려보니 deleteAccount 테스트만 오류가 발생했습니다.에러 로그를 확인해보니Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint ["FKDDVHOIEDLDMC0I8PA6JUY4X69: PUBLIC.TRANSACTION_TB FOREIGN KEY(DEPOSIT_ACCOUNT_ID) REFERENCES PUBLIC.ACCOUNT_TB(ID) (CAST(1 AS BIGINT))"; SQL statement:delete from account_tb where id=? [23503-214]]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statementorg.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint ["FKDDVHOIEDLDMC0I8PA6JUY4X69: PUBLIC.TRANSACTION_TB FOREIGN KEY(DEPOSIT_ACCOUNT_ID) REFERENCES PUBLIC.ACCOUNT_TB(ID) (CAST(1 AS BIGINT))"; SQL statement:delete from account_tb where id=? [23503-214]]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statementat app//org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)account의 delete 쿼리가 실행될 때 transaction_tb의 외래키 때문에 무결성 오류가 발생한 것으로 보입니다.Transaction 엔티티에서 @ManyToOne 부분에 cascade 설정을 해줘야 할까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RequestDispatcher 시 404 에러
실습을 따라하다가 404가 에러가 나는데 원인을 모르겠습니다.http://localhost:8080/servlet-mvc/members/new-form 에 접속을 하면 404 가 납니다.혹시 오타인가 싶어 강사님 소스를 복사하여 붙여넣기를 했습니다만 동일합니다.service 메서드 안의 system.out.println 이 찍히는거보면 MvcMemberFormServlet 까지는 들어온 것 같은데요, dispatcher.forward 로 이동시킬 때 해당 jsp를 찾지를 못하는 것 같습니다. 확인해주시면 감사하겠습니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
다차월 배열의 순회
복습 중에 헷갈리는 게 있어서 질문 드립니다 :)질문-1) 코드를 반복해서 작성하는 이유가 뭔가요?(아래 비교 예시 있습니다.)String[][] seats = new String[10][15]; String[] eng = {"A","B","C", "D", "E","F","G","H","I","J"}; for (int i = 0; i < seats.length; i++) { for (int j = 0; j < seats[i].length; j++) { seats[i][j] = eng[i] + (j + 1); } } for (int i = 0; i < seats.length; i++) { for (int j = 0; j < seats[i].length; j++) { System.out.print(seats[i][j] + " "); } System.out.println(); }String[][] seats = new String[10][15]; String[] eng = {"A","B","C", "D", "E","F","G","H","I","J"}; for (int i = 0; i < seats.length; i++) { for (int j = 0; j < seats[i].length; j++) { seats[i][j] = eng[i] + (j + 1); System.out.print(seats[i][j] + " "); } System.out.println(); } 이렇게 줄여도 똑같이 출력되는 데 반복하는 이유가 궁금합니다. 배열 값 업데이트를 위해서 그렇게 한 건가요? 질문-2) 누군가 표를 구매해서 좌석 업데이트 할 때, 코드 진행 방식이 헷갈립니다. 1번에서 2차원 배열의 형태가 만들어 진 후,seats[7][8] = "___"; seats[7][9] = "___"; 여기서 업데이트 된 후에 아래에서 출력할 때 새로운 배열 값인 "___" 이게 추가된 상태로 출력되는 건가요?// 1번 String[][] seats = new String[10][15]; String[] eng = {"A","B","C", "D", "E","F","G","H","I","J"}; for (int i = 0; i < seats.length; i++) { for (int j = 0; j < seats[i].length; j++) { seats[i][j] = eng[i] + (j + 1); } } // 2번 // 누군가 H9, H10 자리에 표를 구매 seats[7][8] = "___"; seats[7][9] = "___"; for (int i = 0; i < seats.length; i++) { for (int j = 0; j < seats[i].length; j++) { System.out.print(seats[i][j] + " "); } System.out.println();
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
강의 자료 없네요.
강의 자료가 없는 강의는 인프런에서 수업들은 강의 중 처음이네요.변환 중이라고 하신것 같은데, 앞서 문의하신 분들 답변에 달린 기한은 좀 지난 것 같아서 언제쯤 올리실건지 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
npm start 안됨
다른 폴더에서 연습하다가 다시 강의할때 만든 폴더를 로컬 서버에 연결하려고 하니 안되네요npm start하면next build 하라고 나오고 그대로 하면 또 다른 에러가 떠서 에러 동굴로 들어가는 느낌이에요 다른 폴더는 또 로컬서버 3000으로는 들어가지는데 코드 변경한게 저장해도 반영이 안되고 예전 모습 그대로만 나와요 구글링 해보면 도커를 설치해서 설정 추가하라고 나오는데 이렇게 따라해볼까요?? 구글에서 하라는대로 하다가 모두 엉망진창이 될까봐 두려워요
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제풀이 해설 pdf 요청 드립니다
저도 자격증 취득을 준비하고 있고저희 팀원들도 이 강의를 수강하며 열심히 준비하고 있습니다.pdf 자료 공유 부탁 드립니다.dico7@naver.com
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
상태코드 질문
async loginUser({ email, password, context }) { const user = await this.userService.findOne({ email }); if (!user) throw new UnprocessableEntityException('이메일이 없습니다.'); const isAuth = bcrypt.compare(password, user.password); if (!isAuth) throw new UnprocessableEntityException('비밀번호가 틀렸습니다.'); await this.setRefreshToken({ user, res: context.res }); return await this.setAccessToken({ user, res: context.res }); }이렇게 아이디 비번이 다를때 오류 처리를 해주었는데 client에 넘어가는 status코든는 200이 뜨네요 왜 그럴까요?
-
미해결스프링부트 시큐리티 & JWT 강의
마지막 강의 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.toString을 사용하지 않고 asString을 사용하는 이유가 있을까요?JWT.require(Algorithm.HMAC512("cos")).build().verify(token).getClaim("username").asString();
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
문자열 출력의 경우
안녕하세요B는 data영역에 있는 문자열의 시작 주소를 저장하는데그렇다면 B를 출력하면 주소값을 출력해야 하는거 아닌가요? A의 상황도 같은 상황입니다.
-
해결됨디자이너와 협업할 때 유용한 툴, 피그마 속성 강좌
피그마 문의드려요.
피그마를 최근에 처음 접해보고 있는 엔지니어입니다.종전까지는 UI설계서를 ppt 로 작성했었는데 혹시 피그마가 UI설계서를 대체할 수 있을지 궁금합니다. 강의의 PDF 문서만 보고는 판단이 되지 않네요.validation 에 대한 내용이나 이벤트 핸들링 등 상세한 내용을 포함시키기에는 다소 부족함이 있어 보이는데 실무에서는 어떻게 사용 중이실까요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제풀이 9 19번
여서 왜 A 는 안되나요?단순 조정 정책도 특정 지표를 바탕으로 Auto Scaling 그룹을 동적으로 확장할 수 있는거 아닌가요?
-
해결됨[2024년 출제기준] 웹디자인기능사 실기시험 완벽 가이드(HTML+CSS+JQUERY)
공지사항 날짜부분이 float:right 하면 뒤죽박죽 이상해집니다ㅠㅠ
공지사항에서 날짜부분 float: right 하면 정렬이 이렇게 이상해집니다.혹시 몰라서 글자 넘칠때 쓰는 html 태그를 써보기도 했지만 고쳐지지 않았습니다..ㅠㅠhtml css 너무 길어서 댓글로 첨부드리겠습니다.