묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Next + React Query로 SNS 서비스 만들기
post와 postarticle 질문있습니다.
안녕하세요.강의에서 Post 서버컴포넌트에서 PostArticle을 분리하시면서 article 하나 바꾸자고 서버컴포넌트를 클라이언트 컴포넌트로 바꾸기 아깝다고 하시면서 PostArticle 컴포넌트로 따로 분리하셨는데요, 왜 아까운건지 이유를 자세히 알고싶습니다.GPT에도 물어봤는데 이해가 잘 안가서.. 이렇게 질문드립니다ㅠㅠ 자세히 설명해주시면 정말 감사할것같습니다.
-
미해결IT입문자를 위한 전반적인 개념 정리
수료증 관련
수강완료시 수료증은 없나요?
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
예제와 보여지는게 다릅니다.
위 사진은 제가 07\07\material_fin\src\ex02.js 를 실행시킨 것이고이 사진은 강의도중 보이는 화면인데 빛의 밝기가 왜 다른걸까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RMSLE 관련 로그 함수관련 문의
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요? 제가 LOG 함수관련해서 조작법이 서툴러서요. RMSLE관련해서 공식을 찾아보니 아래오 같더라구요근데, 강의자료에 작성된 코딩을 보면 11sqrt(np.mean(np.power(np.log1p(y_test) - np.log1p(y_pred), 2))) 와 같습니다. 여기서 np. log1p(t_test) 이 코딩과 위에 공식이 같은건가요. +1이 여긴 반영되어 있는건지 모르겠습니다. 로그관련 설명을 좀 부탁드리겠습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
피그마 코드가 안보여서 실습하기가 너무힘들어요
개발자도구도 안켜지고 입문자용 강의인데 눈대중으로 만들어보라는것도 좀.. 노션에라도 따로 어떤식으로 진행해야한다고 적어주셨으면 하네요 그래도 돈을 몇십만원 주고 진행하는 강의인데..
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
트랜잭션 서비스 계층에서의 문제
트랜잭션을 리포지토리 말고 서비스 계층에 달면 문제가 생기네요ㅠㅠorg.springframework.dao.InvalidDataAccessApiUsageException: No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call; nested exception is javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call 서비스 계층서 클래스레벨에 트랜잭션 달고 실행시 이렇게 ..나오는데 레포지토리에달면 잘 동작하는데.. 서비스 계층에 달면 왜그런걸까요..
-
미해결스프링 배치
reader 에서 반복 제어를 하고 싶은데 도움 부탁드립니다.
안녕하세요. 강의보면서 따라해보고 있는데 응용이 잘되지 않아 질문드립니다. JdbcPagingItemReader, ItemProcessor, JdbcBatchItemWriter 를 사용하여 스텝을 구성하고 여러 스텝으로 잡 하나를 만들어서 배치를 돌리려고 합니다.그런데 read 하는 테이블의 데이터가 실시간으로 계속 쌓인다면 read 가 끝나지 않으므로 배치가 멈추지 않고 계속 돌게 됩니다.read 할 데이터 개수가 고정일 때는 배치가 반복되는게 어차피 read 가 끝나면 멈춰서 문제가 안됐었는데, 실시간으로 쌓이는 상황을 생각하니 모니터링 등을 고민하다가 특정 시간대에 돌리고 멈췄다가 다시 돌리는 식으로 방향을 잡았습니다.그래서 repeatTemplate 를 사용해서 특정 개수만큼만 돌리고 잡을 완료시키고 싶습니다.그리고 나머지는 이후에 다른 잡에서 하려고 합니다. 보여주신 예제는 processor 에서 반복 제어를 하였는데 저는 read 에서 무한 반복을 막고 싶은 것이라서 reader 에 넣어봤습니다. 그런데 테스트해봤을 때 반복 제어가 되지 않고 데이터 있는 개수만큼 다 돌고 끝나게 됩니다. (현재 로컬 환경에서는 실시간으로 쌓이진 않지만 중간에 repeateTemplate 조건에 맞게 끊길 수 있는 개수로 테스트했습니다.)repeatTemplate 설정을 했는데 설정이 안먹고 제대로 설정도 안된 느낌입니다.. @Configuration 파일에서 일부 코드입니다.jdbcPagingItemReader() 에 코드를 추가했습니다. @Configuration @RequiredArgsConstructor public class ReportConfig { private final DataSource dataSource; private static final int CHUNK_SIZE = 2; /** * READ TARGET */ @Bean public JdbcPagingItemReader<RequestReportTargetDto> jdbcPagingItemReader() throws Exception { // 여기서부터 RepeatTemplate repeatTemplate = new RepeatTemplate(); repeatTemplate.setCompletionPolicy(new SimpleCompletionPolicy(3)); repeatTemplate.iterate(new RepeatCallback() { @Override public RepeatStatus doInIteration(RepeatContext context) throws Exception { System.out.println("ReportConfig.doInIteration"); return RepeatStatus.CONTINUABLE; } }); // 여기까지 추가했습니다. HashMap<String, Object> parameters = new HashMap<>(); parameters.put("reqReportYn", "N"); return new JdbcPagingItemReaderBuilder<RequestReportTargetDto>() .name("jdbcPagingItemReader") .dataSource(dataSource) .fetchSize(CHUNK_SIZE) .rowMapper(new BeanPropertyRowMapper<>(RequestReportTargetDto.class)) .pageSize(CHUNK_SIZE) .queryProvider(createQueryProvider()) .parameterValues(parameters) .build(); } @Bean public PagingQueryProvider createQueryProvider() throws Exception { SqlPagingQueryProviderFactoryBean qp = new SqlPagingQueryProviderFactoryBean(); qp.setDataSource(dataSource); qp.setSelectClause("M_ID, ...."); qp.setFromClause("from TARGET_TEST"); qp.setWhereClause("where REQ_REPORT_YN = :reqReportYn"); Map<String, Order> sortKeys = new HashMap<>(); sortKeys.put("M_ID", Order.ASCENDING); qp.setSortKeys(sortKeys); return qp.getObject(); } @Bean public Step step(JobRepository jobRepository, PlatformTransactionManager transactionManager, JdbcPagingItemReader<RequestReportTargetDto> reader) { return new StepBuilder("jdbcPagingStep", jobRepository) .<RequestReportTargetDto, List<RequestReportDto>> chunk(CHUNK_SIZE, transactionManager) .reader(reader) .processor(reportProcessor) .writer(jdbcBatchListItemWriter()) .transactionManager(transactionManager) .allowStartIfComplete(true) // 테스트 위해서 .build(); } @Bean public Step step2(JobRepository jobRepository, PlatformTransactionManager transactionManager, JdbcPagingItemReader<RequestReportTargetDto> reader) { return new StepBuilder("jdbcPagingStep2", jobRepository) .<RequestReportTargetDto, List<RequestReportDto>> chunk(CHUNK_SIZE, transactionManager) .reader(reader) .processor(orgReportProcessor) .writer(jdbcBatchListItemWriter2()) .transactionManager(transactionManager) .allowStartIfComplete(true)// 테스트 위해서 .build(); } @Bean public Job job(JobRepository jobRepository, Step step, Step step2) { return new JobBuilder("reportJob", jobRepository) .start(step) .next(step2) .build(); } } reader 를 설정파일 말고 따로 클래스로 빼서 ItemWriter implements 해서 구현체로 만들어야 하나 싶은데 그러면 JdbcPagingItemReader 를 쓰기가 어려워집니다. 검색 많이 해봤는데 생각보다 참고할 수 있는 자료가 적어서 응용이 어렵습니다ㅠ참고할만한 예제가 혹시 있을까요? 아니면 어떤 식으로 하면 좋을지 알려주시면 또 찾아보고 해보겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 2번 케이스를 해야하는 이유를 제가 잘 이해한게 맞을까요?
쌤, 강의 시간 3:36 초에서 [50만][50만] 배열을 생성하면 공간복잡도가 커서 안된다는 말씀을 듣고 그 예시를 코드로 작성해 보았습니다! (Case 2 를 해야하는 이유를 이해하기 위해서)http://boj.kr/3b3efff1b680482380e9e4a513b6ce12max 를 500으로 하면 돌긴하는데 당연히 틀리고, 50만으로 하니 컴파일 에러가 떠서 안되더라구요.. 이차원 배열 행을 "각 턴"으로 생각하였고, 열을 "위치"로 생각하여 풀었습니다.영상에서는 "수빈의 범위", "동생의 범위"라고 알려주시긴 하셨는데 같은 내용으로 이해한 것이 맞는지 궁금하였습니다!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
이제야 양방향 연관관계를 왜 쓰는지 알겠네요..
질문은 아니고여 ㅋㅋㅋ 복습겸 다시 듣고 있는데뭐하나 알아가서 기분 좋아 올립니다.. Domain model 패턴으로 다른 강의도 그렇고 엔터티에 영한쌤 비지니스 로직이나 양방향 메서드나 생성메서드 등 꾸겨 넣으셔서 첨엔 뭔 엔터티에 저렇게 많이 넣으시나 했는데 이제서야... 연관관계 메서드를 '진짜' 왜 쓰는지 알게 됐네요.. 외래키 주인이 아닌 쪽에서는 아무리 상대방 엔터티를 지지고 볶아도 (조회 제외) db에 값이 안들어가는 것을 보고.. 1차경악.. 영한썜이 양쪽 다 세팅 후 정상적으로 돌아가는 것을 보고 2차경악...결국은 양쪽 다 값으 ㄹ세팅해줘야 하는데 그것을 어느 한곳에서 까묵지 않기 위해서 외래키 주인인쪽에서 연관관계 메서드를 작성...... 첨 들을 때 연관관계 메서드 설명해주실 떈 그러려니 햇고 와닿지 않앗는데 이제야 유레카!를 외쳣슴돠...영한쌤은 복선의 신입니다
-
미해결홍정모의 따라하며 배우는 C언어
3.1-6분
표에 나오는 십진수 정밀도란 무엇을 뜻하나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인텔리제이에서 실행이 안돼요
===============================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]인플리제이에서 실행이 안돼요
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
2강 정수론 14252
힌트가 없다는 가정한다면,for i in range(42, 2184): 구문에다가도if i == 2183: count += 2위의 조건문을 넣어줘야겠죠?
-
미해결Verilog FPGA Program 1 (Arty A7-35T)
ifelse, 삼항연산자에 대해서 질문 있습니다.
자료를 보다 궁금한 점이 생겨 질문 남깁니다. 작성해주신 코드를 보면 삼항연산자를 많이 사용하시는 것 같습니다. 자료를 공부하면서 좋은 방법이라고 생각해서 저도 많이 사용하고 있습니다. 근데 공부하다가 삼항연산자나 ifelse구문을 많이 사용한 후 합성하게 되면 MUX로 설계되어 delay가 많아지는 문제가 생긴다는 글을 보게 되었습니다. 위의 문제가 맞다면 아래 두가지 내용이 궁금합니다. ifelse, 삼항연산자를 사용할 때 주의할 점 삼항연산자를 사용하지 않는 설계 방법
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-N 질문 있어요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/3a71a94e910e4a2da75f16b9b380ced6 위의 코드에서 5번째 줄 즉 int solve라고 하면 왜 틀리는지 알고 싶습니다. 제가 생각하기엔 return 시 다 c로 나눈 나머지가 전달되고 그러면 c(2,147,483,647)보다 작은 값 즉 int형으로 담아내기 충분한 값이 return 될텐데 왜 long long 일 때와 달리 틀렸다고 나오는지 알고 싶습니다. 5번째 줄 int solve를 long long slove로 바꾸면 맞았다고 나옵니다. 또한 강사님의 공유 코드에서 if(b % 2)ret = (ret * a)% c;라는 부분이 9줄에 있는데 이게 아니라 if(b % 2)ret = (ret * (a % c))% c; 가 되어야 하는 거 아닌지 알고 싶습니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
해시태그 검색관련 질문있습니다.
자주 질문을 드려 죄송합니다. ㅠㅠ 모르는게 많아서 ㅠㅠ그 해시태그 부분을 작업 하고 있는데 제가 해시태그를 클릭하게 되면 예를 들러 123123을 클릭을 한다 라고 하면 기존 아래에서 검색이 될시 이런식으로 해시태그가 123123만 나오고 나머지 것들은 안나오는 현상이 나오고 있습니다. 코드 같은 경우는 알려주신데로 router.get("/:hashtag", async (req, res, next) => { try { const users = req.user ? req.user.id : null; const offset = (parseInt(req.query.page) - 1) * 10 || 0 const { count, rows: post } = await Post.findAndCountAll({ offset: offset, limit: 10, // DESC 최신순 ASC 오래된순 order: [ ["createdAt", "DESC"] ], include: [ { model: Hashtag, where: { hashtag: req.params.hashtag }, attributes: ["hashtag"], through: { attributes: [] }, }, { model: Image, attributes: ["src"], },{ model: User, attributes: ["nickName"], }], attributes: [ "id", "title", "createdAt", "view", "content", // 좋아요 수 [Sequelize.literal("(SELECT COUNT(*) FROM `Like` WHERE `Like`.`postId` = `Post`.`id`)"), "count"], // 좋아요 여부 [Sequelize.literal("IF((SELECT `postId` FROM `Like` WHERE `Like`.`postId` = `Post`.`id` AND `Like`.`userId` = " + users + "), 1, 0)"), "like"], ], }) const posts = post.map((post) => { const format = post.toJSON() format.hashtag = format.Hashtags.map((tag)=>tag.hashtag) format.src = format.Images.map((img) => img.src).join("") format.nickname = format.User.nickName format.content = format.content.replace(/<[^>]+>|<img.*?>/g, ""); delete format.Images; delete format.User; delete format.Hashtags; return format; }) res.status(201).json({ count, posts }) } catch (error) { console.error(error) next(error) } })이렇게 작성을 하였는데 찾아 보니 where: { hashtag: req.params.hashtag },이렇게 작성을 하게 되면 해당 해시태그에 해당하는 게시물이 불러와 지기는 하는데 검색된 해시태그만 뽑아서 나타나지게 되니 where: { hashtag: { [Op.contains]: [`${req.params.hashtag}`] } },이런식으로 작성을 하면 된다고 해서 써봣는데 "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''asd' LEFT OUTER JOIN Images AS Images ON Post.`id` = Images.`PostId` LE' at line 1", sql: "SELECT count(`Post`.`id`) AS count FROM Posts AS Post INNER JOIN ( PostHashtag AS Hashtags->PostHashtag INNER JOIN Hashtags AS Hashtags ON Hashtags.`id` = Hashtags->PostHashtag.`HashtagId`) ON Post.`id` = Hashtags->PostHashtag.`PostId` AND Hashtags.`hashtag` <@ 'asd' LEFT OUTER JOIN Images AS Images ON Post.`id` = Images.`PostId` LEFT OUTER JOIN Users AS User ON Post.`UserId` = User.`id`;",이런 에러가 나더라구요... 왜 images에 관련된 문구가 나오는지는 모르겟지만.... 혹시 mysql에서 contains메소드가 사라진건지 아닌지 혹시 고칠수 잇는건지 궁금합니다.제 sequelize 버전은 6.35.2 입니다. ㅠㅠ
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
오류 html 페이지 응답 시 상태 코드 지정하는 방법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]개발자는 오류 html 페이지 응답으로 예외를 처리할 때 /error/4xx.html , /error/500.html 와 같은 경로에 html 페이지를 생성하기만 하면 된다고 이해하였습니다. 그러면 예외가 발생했을 경우 오류 html 페이지 응답으로 예외를 처리하고자 할 때, 발생된 예외에 대한 상태 코드를 지정해줘야 지정된 위치로 올바른 상태 코드에 대한 오류 페이지가 출력되므로, 상태 코드를 지정하는 방법은 HandlerExceptionResolver을 구현하여 오버라이딩 한 resolveException() 내부에 response.sendError()로 상태 코드를 지정하고 빈 ModelAndView 객체를 리턴하는 게 최선일까요?? 아니면 다른 상태 코드 지정 방법이 또 있을까요?? 물론 @ExceptionHandler을 통하여 @ResponseStatus로 상태 코드를 지정해서 구현할 수도 있을 것 같긴 하지만 선생님께서 @ExceptionHandler는 API 예외 처리일 때 쓰는 것이 좋다고 하셔서 질문드립니다 !
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
GetMapping에대해서 질문
엄청 기본적인건데...이전 강의노트를 찾아봐도 내용 정리가 안되서 질문합니다.@Controller @RequestMapping("/basic") public class BasicController { @GetMapping("text-basic") public String textBasic(Model model) { model.addAttribute("data", "Hello Spring!"); return "basic/text-basic"; } @GetMapping("text-unescaped") public String textUnescape(Model model) { model.addAttribute("data", "Hello <b>Spring!</b>"); return "basic/text-unescaped"; } }여기서 RequestMapping 이 basic 폴더를 매핑해주는거고GetMapping 은 /basic/ 에 있는 파일?과 매핑해주는게 맞나요?? 추가적으로 return 하는게 view 인걸로 아는데 model 값을 추가해서 전달해주기 위해 view 를 리턴하는게 맞는지 질문드립니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
영상 음성이 끊겨서 진짜 듣기 힘드네요 ㅠㅠ
여러분들은 음성이 안끊기나요??ㅠㅠ섹션25process 객체를 이용해서 환경변수 불러오기12~20초 사이 한 3번은 끊기네요 ㅜㅜ그런데 저런 일이 전체 영상의 거의 배부분 저래요 ㅜㅜ(브라우져 하드웨어가속 기능 꺼져있어요 ㅠ) 강의 내용은 참 좋은데 말이 끊기니까 진짜 듣기 힘드네요 ㅠㅠ
-
미해결버그헌팅과 시나리오 모의해킹 전문가 되기
zenmap 설치 오류
안녕하세요.zenmap 설치 진행 시 2개파일(gtk2, gobject)에서 오류가 발생하며 문의드립니다오류내용은 아래 이미지를 첨부하였습니다.이전 커뮤니티 질문글을 보니 설치된 이미지파일을 공유해주신 것으로 보이는데 현재는 접속이 불가한 상태입니다.혹시 저에게도 공유해주실 수 있는지 아니면 다른 해결방안이 있는지 문의드립니다.
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
ds18b20 address 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Live Expression 에 ds18b20 을 추가 해서 address 를 읽어 오고 있는데요, 계속 0 으로 표시 되고, 온도역시 0 인듯 합니다. 통신이 안되는 것 같은데 어디 쪽을 확인 해보면 될까요??