묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
커스텀훅을 언제 사용하는건지 궁금합니다.
안녕하세요~ 커스텀훅을 만들 때, 커스텀훅 안에도 스프레드 연산자를 넣어서 통합핸들러처럼 사용하면 되는걸까요? 커스텀훅을 훅 파일로 만들어 놓으면, 다른 컴포넌트에서도 비슷한 함수면 가져다 쓰는 용도라고 이해했는데 맞는걸까요? 감사합니다.
-
미해결
FETCH JOIN 상황에서 PAGING 질문
저번에도 같은 질문을 올렸다가 질문이 두서가 없다보니 여쭤보려고 한 것을 잘못 물어본거같아서 다시 질문드립니다. Spring Data JPA를 바탕으로 토이프로젝트를 개발하고있고 Pageable 인터페이스를 활용하고 있습니다. 프로젝트에서 Item(품목)의 하위 개념으로 Product(제품)을 가지고 있습니다.(1:N - 품목 하나에 대해 여러개의 제품을 등록 할 수 있음) 예를 들어 핸드폰이라는 Item(품목) 정보를 등록하고, 그 품목에 대한 Product(제품) ( 이를테면 아이폰10, 갤럭시S25, 샤오미)의 정보들을 등록합니다.이때 특정 품목(itemId)을 클릭하면 해당 품목에 대한 정보와 내가 등록한 product 리스트가 띄어지도록 하는 api 기능을 구현하려 했습니다. 처음에는 요청이 item컨트롤러로 디스패치하고, product와 itemId를 기준으로 패치조인하여 데이터를 받아오는 식으로 구현을 했는데.. product리스트를 불러오는 과정에서 페이징을 하고자 기존의 로직을 수정하니, 메인i 테이블인 item을 기준으로 페이징이 되는 문제가 발생했습니다. // page처리 시 문제가 발생하는 respository method@Query(value = "SELECT DISTINCT i FROM Item i LEFT JOIN FETCH i.productList WHERE i.id = :itemId", countQuery = "SELECT COUNT(p) FROM Product p WHERE p.item.id = :itemId")Page<Item> findWithProductsByItemId(@Param("itemId") long itemId, Pageable pageable); 그래서 제가 생각한 두가지 안이 있는데 이중에 어떤 것으로 개발해야할지 판단이 잘 서지않아 질문드립니다. 1) 응용계층에서 item에 대한 정보를 불러오는 item서비스 호출 + 위 item에 해당되는 product 리스트 정보들을 paging 하여 불러오는 페이징하여 불러오는 product서비스 호출 2) product를 메인으로 item과 n:1 패치조인하는 메소드를 productRepository에서 생성. 1번 방법이 맞는 것 같지만,, paging으로 데이터를 불러올 때마다 item쿼리를 한번씩 날려야하는게 비효율적인거 같기도하고,, 2번으로 하자니... 구현하고자 하는 기능은 item을 메인으로 product 목록을 불러오는 것인데,, 실제 동작은 Product가 메인으로(Product컨트롤러로 디스패치) 처리가 되다보니 이렇게 해도 될까 하는 의문이 들었습니다.이런 상황에서는 어떤 식으로 구현을 하는게 좋을지요. 고견을 여쭙니다 ㅠㅠ
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
npx react-native@0.72.6 init MatzipApp --version 0.72.6 오류
npx react-native@0.72.6 init MatzipApp --version 0.72.6ruby 2.7.6 -> ruby 3.1.0시작이 안되고 있어요. 도와주세요.
-
미해결비전공자도 이해할 수 있는 DB 설계 입문/실전
todo데이터 테이블 설계 강의 질문있습니다.
사용자, 임무 한명의 사용자는 여러가지의 임무를 가진다. 한가자의 임무는 여러명의 사용자를 가진다. 예를들어 양치질하기는 a사용자,b사용자,c사용자로 등록할 수 있기 때문에 상품-주문테이블처럼(아래형식처럼) 테이블 분리되어야하지 않나요? 임무 no 임무명 임무설명 데드라인 1 청소하기 청소하기 1.27 2 빨래하기 청소하기 1.27 사용자-임무 no 임무명 (외래키) 사용자(외래키) 1 1 1 1 1 2
-
미해결
Take My Class Online: Optimize Your Study Time
Take My Class Online: Optimize Your Study TimeIn today’s fast-paced world, online nurs fpx 4000 assessment 2 learning has become an essential tool for students of all ages, offering flexibility and convenience that traditional classrooms can’t match. However, with this flexibility comes a challenge: time management. Without the structure of a traditional classroom setting, online learners must take on the responsibility of managing their study time effectively. This article will explore strategies to help optimize study time for online learners, ensuring they can excel in their courses while balancing other aspects of life.Why Time Management Matters in Online LearningOne of the main benefits of online education is flexibility. You can take classes from anywhere, at any time, making it easier to balance your studies with work, family commitments, and personal hobbies. However, this freedom can also be a double-edged sword. Without the accountability that comes with attending physical classes, it can be easy to procrastinate or neglect assignments until the last minute.Effective time management is the key to optimizing study time and achieving academic success in an online environment. Students who manage their time well tend to perform better academically, reduce stress, and avoid the burnout that can come with last-minute cramming and missed deadlines. By organizing your time effectively, you can study more efficiently, retain information better, and create a work-life balance that leaves room for both your studies and your personal life.The Challenges of Online LearningWhile online education offers freedom, it also comes with unique challenges. These challenges often stem from the lack of a physical classroom environment where instructors can directly monitor your progress, and peers can motivate you. In an online setting, students must be self-disciplined and organized to avoid falling behind.Some common challenges of online learning include:Distractions: Without a traditional classroom setting, students may find it hard to focus on their studies, especially if they are learning from home, where distractions like household chores, social media, and family obligations can pull them away from their coursework.Time management: Online learners often struggle with allocating enough time to their studies. Without a rigid class schedule, it’s easy to underestimate the amount of time needed to complete assignments or study for exams.Isolation: The lack of physical interaction with instructors and classmates can make students feel isolated. This can lead to decreased motivation, which in turn affects how much time is spent on studying.Overwork: Some students may take on too many courses or fail to account for other life obligations, leading to burnout. Balancing work, school, and personal life requires careful planning.By optimizing study time, students can overcome these challenges and make the most of their online learning experience.Strategies for Optimizing Study Time in Online ClassesNow that we’ve covered why time management is so important, let’s look at some strategies that can help you optimize your study time, maximize productivity, and succeed in your online courses.Eliminate DistractionsDistractions are one of the biggest obstacles to effective online learning. Without the external structure of a classroom, students are more susceptible to distractions such as family interruptions, social media, television, and even household chores.To optimize your study time, it’s crucial to minimize distractions while studying:Create a dedicated study space. Choose a quiet area where you can focus on your coursework without interruptions. If you’re studying at home, make sure your study space is free from distractions like television, noisy family members, or clutter.Turn off notifications. Social media, text messages, and email notifications can interrupt your flow and break your concentration. Consider turning off notifications on your phone or using apps that block distracting websites while you study.Set boundaries with family or roommates. If you live with others, let them know when you need uninterrupted study time. This will help create a more focused environment for learning.By creating a distraction-free study environment, you can significantly improve the quality of your study time and retain more information in less time.Time-blocking allows you to focus on one task at a time, improving both productivity and retention. It also reduces the temptation to multitask, which can decrease the quality of your work.Use Online Tools for ProductivityThere are many online tools available that can help you stay organized and optimize your study time. These tools can help you manage your time, track assignments, and stay on top of your coursework.Some useful tools for online learners include:Trello or Asana: These project management tools can help you create task lists, set deadlines, and track your progress on assignments and projects.Google Calendar: Use Google Calendar to schedule your study time, deadlines, and reminders. Set up recurring study sessions or tasks to stay on top of your schedule.Forest or Focus Booster: These apps help you stay focused by limiting distractions. For example, Forest allows you to plant a virtual tree that grows while you focus on studying. If you leave the app, the tree dies.Evernote: A note-taking app that helps you organize study materials, lecture notes, and research. Having all your materials in one place makes it easier to review and study efficiently.By using these productivity tools, you can manage your time and coursework more effectively, ensuring you stay on track and organized throughout your online studies.Regular review sessions help prevent cramming and improve long-term retention of information. Make reviewing part of your study routine, and you’ll find that you can recall information more easily during exams.Maintain a Healthy Work-Life BalanceWhile it’s important to optimize your study time, it’s equally important to maintain a healthy work-life balance. Online learning can be demanding, but overloading yourself with work can lead to burnout and decreased productivity.Here are a few tips for maintaining balance:Schedule personal time. Ensure that you’re not sacrificing your personal life for coursework. Set aside time for hobbies, relaxation, exercise, and socializing.Practice self-care. Take care of your mental and physical health by eating well, getting enough sleep, and exercising regularly. A healthy body and mind will help you stay focused and productive.Don’t be afraid to ask for help. If you’re struggling with managing your coursework, reach out to your instructor or a tutor for assistance. It’s okay to ask for help when you need it.By maintaining a balance between your studies and personal life, you can avoid burnout and stay motivated to complete your coursework on time.ConclusionOptimizing your study nurs fpx 4055 assessment 1 time is crucial to succeeding in online education. By implementing strategies like creating a detailed study schedule, eliminating distractions, using time-blocking techniques, and reviewing regularly, you can make the most of your online learning experience. Online education offers unparalleled flexibility, but without effective time management, it can become overwhelming. By staying organized, prioritizing tasks, and maintaining a healthy work-life balance, you’ll be able to excel in your online courses while still enjoying your personal time.
-
미해결따라하며 배우는 NestJS
nestjs 기본 구조 설명에서 궁금한게 있습니다.
기본 구조 설명을 듣던 중에 eslintrc.js라는 폴더가 있다고 하시는데 nest가 11.0.2인 버전에서는 없는 것 같아서요. 분명 이 기능을 하는 파일은 있을 텐데.. 혹시 eslint.config.mjs가 아닐까 궁금합니다.
-
해결됨Flutter로 웹 서비스 개발하기 (1) - Responsive Web
seo 강의는 연기된걸까요?
커뮤니티 보니까 쭉 연기되어왔던데 , 마지막 답변에선 12월 등록예정이라 하셨는데 지금 이제 모래가 2월인데 아직 강의가 없네요..
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
이벤트 수식어 event 전달인자 관련 질문
안녕하세요~1번은 전달한 인자를 그대로 함수에서 받아서 의문이 안생기는데,2번은 인자를 전달하지 않았는데, 함수에서는 event 인자를 받네요? event 인자는 자동으로 사용가능한 개념인지요?답변 주시면 감사하겠습니다~ 1.전달 한 인자를 함수에서 그대로 받음printEventInfo('text', $event)printEventInfo(message, event) 2.인자를 전달하지 않았는데 함수에서는event를 인자로 받음@keyup="onKeyupHandler"onKeyupHandler(event) on<template> <button @click="printEventInfo('text',$event)">inline event handler</button> <input type="text" @keyup="onKeyupHandler"/> </template><script> export default{ const printEventInfo=(message, event)=>{ console.log(message) console.log(event.target) console.log(event.target.tagName) } const onKeyupHandler=(event)=>{ console.log(event.key) } } </script>
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
NotEnoughStockException 커스텀 Exception을 만든 이유가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 [질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의에서 NotEnoughStockException 을 새로 만드셨는데, IllegalArgumentException을 사용하는 것은 어색한가요? 처음엔 도메인에서 exception 처리 때문에 별도로 생성한 것이겠지하고, 넘어갔는데 주문 취소의 배송완료된 상태에서는 IllegalStateException 을 사용하셔서, 어떻게 구분하여 사용하는 것이 좋을지 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
값 타입 컬렉션에서 변경 감지는 어떻게 일어나나요?
em.flush(); em.clear(); System.out.println("============= START ============="); Member findMember = em.find(Member.class, member.getId()); // 1 // findMember.getHomeAddress().setCity("newCity"); // 2 Address oldAddress = findMember.getHomeAddress(); findMember.setHomeAddress(new Address("newCity", oldAddress.getStreet(), oldAddress.getZipcode())); // 3 findMember.getFavoriteFoods().remove("치킨"); findMember.getFavoriteFoods().add("한식");강의 코드와 동일하게, Member 엔티티는 임베디드 타입인 homeAddress와 값 타입 컬렉션인 favoriteFoods를 포함하며, 상술한 코드도 값 타입 컬렉션 강의에서 23:30 까지 설명해주신 것과 동일합니다. 1번 주석에서, 임베디드 타입인 homeAddress의 city 필드를 수정하기 위해 city의 setter를 이용하면, Member에서 참조하는 homeAddress의 참조값은 바뀌지 않기 때문에 변경 감지가 일어나지 않는다고 이해했습니다.따라서 2번 주석에서 볼 수 있듯이, 새로운 객체를 만들어 참조값을 바꿔주어야 변경 감지가 일어나 올바른 update가 될 수 있다고 이해했습니다.그러나 3번 주석에서의 값 타입 컬렉션 수정을 보면, 결국 Member 엔티티가 가리키는 참조값은 원본 favoriteFoods의 참조값과 다르지 않은데 DB에서는 update가 일어난 것을 확인했습니다. 어떠한 이유로 이런 결과가 나오게 되는지 궁금합니다.추가) 1번 주석의 코드를 실행할 경우, "newCity"로 변경이 되는 것을 확인했습니다. 참조값이 바뀌지 않는 데도 변경 감지가 일어나는 건가요? 아니면 제가 이해를 잘못하고 있는 부분이 있는 건가요..?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
자바 병렬 처리
안녕하세요 영한님 ^^ 1기 인프콘때 뵈고, 오랜만에 강의를 보게되어서 반갑습니다 ㅎㅎ 다름이 아니라, 주문 체결 시스템을 개발하여서 병렬 처리 관련해서 공부 및 개발중인데 혹시 아래 링크책을 예전에 공부하신적 있으신가요? https://product.kyobobook.co.kr/detail/S000007668255아니면 다른 책 추천해주실만한게 있으실까요 ? ㅎㅎ아니면 이 강의 다보면 제가원하는 주문 체결 시스템을 만들기위한 기본 베이스는 이해가 될 수 있을까요?설날 잘보내시고 새해 복 많이받으세요 !
-
미해결
강의 끝나면...
강의 끝날때 혹시 영상을 다시 복습할 수 있나요? 할 수 있으면 언제까지 복습가능하신가요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
강의 관련 영상 문의 드립니다.
1:33 ~ 1:35초 에 급격히 화면이 변화가 되면서 에디터 창으로 넘어가는데 동영상이 짤린 듯한 느낌이 들어서 문의 드립니다.내용이 짤린 것인지 궁금합니다.설명이 다 되지 않고 실습으로 넘어간 것으로 보여서 문의 드립니다.
-
미해결
실리콘벨리 단기연수 + 데이터/AI 부트캠프 모집! (온라인 부트캠프 최초 구글취업사례보유)
반복되는 탈락, 경력 없는 신입으로 취업이 가능하긴 할까..😥길어지는 취준 공백기에 걱정만 산더미라면?지금, 슈퍼코딩 부트캠프 신청하고 인턴십 경력까지 쌓아 보세요!웹개발자, AI 부트캠프까지!IT 업계 인턴으로 일해 볼 수 있는 기회! (올해가 지나면 기회가 없대요😭)Q. 슈퍼코딩 부트캠프, 어떤 점이 좋은가요?✅현업 프로젝트로 경쟁력 있는 포트폴리오 준비✅ 실제 기업과 연계하여 실무 경험 가능✅ 현직 최고 전문가와의 네트워킹✅ 100% 취업지원지금 신청 가능한 부트캠프 확인👉 https://supercoding.net/Seller/Index/jacob취업 그거, 슈퍼코딩과 함께라면 너도 할 수 있어💪 슈퍼코딩 Jacob 디렉터가 여러분들의 DATA/AI분야 커리어 시작을 도와드립니다.(강의등록시, Jacob 코드 입력하시면 추가할인 적용 및 담당디렉터 우선 배정을 통해 빠른 상담 진행됩니다.)Jacob디렉터 상담연결할인적용 링크연결
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
/, /new, /diary 관련 질문
home으로 들어가서 보이는 화면에는 Home이라고 잘 보이는데주소뒤에 /new나 /diary를 붙여서 검색해봐도 계속 Home으로 고정되어있습니다코드는 밑에와 같은 방식으로 작성하였습니다. import { createRoot } from 'react-dom/client' import './index.css' import App from './App.jsx' import { BrowserRouter } from 'react-router-dom'; createRoot(document.getElementById('root')).render( <BrowserRouter> <App /> </BrowserRouter> ) const Diary=()=>{ return <div>Diary</div>; }; export default Diary; import './App.css' import {Routes,Route} from "react-router-dom"; import Home from './pages/Home'; import Diary from './pages/Home'; import New from './pages/Home'; // 1. "/" : 모든 일기를 조회하는 Home 페이지 // 2. "/new" : 새로운 일기를 작성하는 New 페이지 // 3. "/diary" : 일기를 상세히 조회하는 Diary 페이지 function App() { return <Routes> <Route path="/" element={<Home />} /> <Route path="/new" element={<New />} /> <Route path="/diary" element={<Diary />} /> </Routes>; } export default App
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
2-6 get_linked_list_sum 형변환으로 풀었는데
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 2-6어떤 알고리즘을 학습하고 계신가요? linked_list여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? 막힌건아니구..코드의 어떤 로직이 이해가 안 되시나요? 이해도되는데어떤 개념이 헷갈리시나요? 내 풀이는 정석이 아닌가싶어서 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요? 생각을 많이함에러가 발생했다면 어떤 에러인가요? 에러 아님현재 작성하신 코드를 공유해주세요def get_linked_list_sum(linked_list_1, linked_list_2): concat_value_1 = "" concat_value_2 = "" cur_1 = linked_list_1.head cur_2 = linked_list_2.head while cur_1 is not None: concat_value_1 += str(cur_1.data) cur_1 = cur_1.next while cur_2 is not None: concat_value_2 += str(cur_2.data) cur_2 = cur_2.next return int(concat_value_1) + int(concat_value_2)강사님처럼 10을 곱해주는게아니라str로 형변환해서 그냥 붙힌다음에다시 int로 파싱해서 리턴했는데...이건 너무 야매풀이일까요..ㅠ 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
미해결따라하며 배우는 리액트 네이티브 기초
마지막 9번째 Redux 관련 자료가 없어요
다른 학습들은 도표에 docs 가 연결되어있는데 마지막 redux 프로젝트는 빠져있어요.
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
로드밸런서를 넣은 이유가 있을까요?
지금 제가 하고 있는 프로젝트에서는 로드밸런서 없이 그냥 ec2에 서버만 띄웠는데일반적으로 로드밸런서가 필수적인가요?
-
미해결
프로젝트 생성에서 main 실행이 되지 않습니다.
main에서 실행을 할려고 하는데 실행이 되지 않습니다. 자바는 17로 설정을 했는데 무슨 문제인지 질문합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
기존 강의 자료 관련 주소, 새 강의 쿠폰
graphql 연습 관련 주소가 더 이상 유지되고 있지 않는 것 같습니다. 일단은 새 강의 쿠폰 관련 문의 드렸는데, 이전 강의에 해당하는 주소들은 이제 유지하지 않는 건가요?