묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
섹션25
이건 무슨 오류 일까요?
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요 always 관련해서 질문 있습니다
안녕하세요 맛비님강의 잘 듣고 있는 도중에 always 블럭으로 combination logic을 기술하는 경우 제가 명확하게 알고 있는지 궁금합니다. always로 코드를 작성 할 때, 그 안에 내부 변수는 reg로 사용하고, 이 reg변수는 register,latch(보통의 경우 의도하지 않은), combination logic을 만들 때 사용되는 것으로 알고 있습니다. 저는 always 블럭을 사용할 때, 의도하지 않은 latch가 발생하는 것을 완전히 피하고 싶습니다.그래서 코드 작성 스타일을 이렇게 하면 좋을지 궁금합니다. /*output combination 2*/ reg done; //this is not a register, it is just combination logic circuit reg running; //this is not a register, Do not confuse reg idle; //this is not a register, you must not make latch always@(*)begin done = 0; running = 0; idle = 0; case(c_state) S_IDLE : idle = 1; S_RUN : running = 1; S_DONE : done = 1 default : begin done = 0; running = 0; idle = 0; end endcase end default에 그 외적인 정의되지 않은 동작에 대해 처리하도록 작성하거나case문을 시작하기 전에 각각 초기값을 작성해두면 되는 것으로 알고 있습니다. 하지만 이놈의...chatGPT는 초기값도 작성하고 default문을 둘 다 작성 안하면 latch가 발생할 가능성이 있다고 해서... 이 점이 궁금합니다. 사실 위의 코드처럼 작성하면 정말로 latch가 생길 여지가 없어 보입니다만...아시다시피 번거로움이라는 이슈로... 아 그리고 질문이 하나 더 있습니다.fsm_counter부분에서 state로 동작을 제어한다는 개념을 반복해서 공부하고 있습니다. assign o_done = done; assign o_running = running; assign o_idle = idle; reg [31:0] r_cnt_num; //this is register to capture input value always @(posedge clk or negedge reset_n) begin if(!reset_n)begin r_cnt_num <= 0; end else if(i_run) begin r_cnt_num <= i_cnt_num; end else if(o_running) begin r_cnt_num <= r_cnt_num; end else if(o_done) begin r_cnt_num <= 0; end end reg [31:0] r_cnt_core; assign is_done = o_running&&(r_cnt_core == r_cnt_num -1); /*counter core part*/ always@(posedge clk or negedge reset_n) begin if(!reset_n)begin r_cnt_core <=0; end else if(o_idle)begin r_cnt_core<=0; end else if(o_running)begin r_cnt_core <= r_cnt_core + 1; end else if(is_done)begin r_cnt_core <=0; end end 이 부분은 위에 질문 코드 바로 뒤에 이어지는 코드입니다.바로 위의 블럭에서 첫번째 capture register를 기술하는 부분에서run state일 때도 register가 어떻게 동작해야하는지 꼭 기술해야할까요?이 부분은 맛비님 코드에서 작성되어있지는 않던데, 제가 생각하기에는...run state일 때 register의 동작이 어떻게 될지 예상이 안가서 직접 작성해주는게 좋아보이는데..어떻게 생각하시나요? 두번째 always블럭 또한 같은 맥락으로 idle상태일 때 core 내부에 있는 register의 동작도 기술해주는 것이 필수적일까요? 위의 코드는 수업에 다루신 코드를 제가 schematic을 보고 다시 작성한 코드입니다. 저의 질문은 여기까지입니다. 감사합니다.
-
해결됨실전! 스프링 데이터 JPA
섹션 3 지연 로딩 설정 후 MemberTest 실행 후 쿼리 문
이전 강의를 수강 하면서 엔티티 조회 시 지연 로딩 설정 시 즉시 조회가 되는 게 아닌 프록시 객체가 데이터의 위치를 가지고 사용할 때에 프록시 객체가 초기화 되며 데이터베이스에 쿼리를 요청하고 데이터를 받아 온다 라고 배웠습니다. 그렇다면 테스트 메서드를 실행하게 된다면Team, Member 객체를 persist -> 영속성 컨텍스트에 Member와 Team 존재flush() -> 영속성 컨텍스트에 들어있던 엔티티를 데이터베이스에 반영 -> insert 쿼리가 실행데이터베이스에 반영되었으나 아직 영속성 컨텍스트에는 값이 존재하는 상태clear() -> 영속성 컨텍스트에 들어 있는 데이터를 초기화createQuery로 Member 엔티티를 데이터베이스에서 조회 -> Member에 대한 select 쿼리 실행영속성 컨텍스트가 초기화 되었고 team이 지연 로딩으로 설정되어 프록시 객체가 생성루프를 돌며 getTeam() 호출 시점 team_id를 기반으로 데이터베이스에 team을 조회 -> Team에 대한 select 쿼리 실행memberA 조회 후 teamA에 대한 조회 쿼리가 발생하고 memberC 조회 후 teamB 조회 쿼리가 발생이러한 과정으로 이뤄진다고 배웠는데 테스트 코드를 돌려보니 member에 대한 조회 쿼리 후 team에 대한 조회 쿼리가 발생하지 않습니다.그래서 팀의 프록시 객체가 초기화 되었는지 체크하기 위해 Hibernate.isInitialized를 사용해 찍어봤는데 제일 처음 false 로 초기화 되지 않았다고 나오나 team을 조회하는 쿼리가 발생하지 않았습니다.찾다 보니 Hibernate에 쿼리 최적화 기능으로 영속성 컨텍스트는 초기화 되었지만 메모리가 초기화 된 것은 아니므로 해당 객체가 메모리에 존재한다면 Hibernate가 쿼리를 생략하고 해당 객체를 반환한다라는 게 있던데 그것 때문에 쿼리가 나가지 않는 건지 궁금합니다. 2차 캐시가 설정되어 있지는 않습니다. 스프링 부트 3.3.4, 자바 17, Hiberante 6.5.3 입니다!* 해결 *spring.jpa.properties.hibernate.show_sql=true하이버네이트 show_sql이 주석처리 format_sql만 출력되는 상황이었습니다.정상 출력 확인했습니다!package springPJ.dataJpa.domain; import jakarta.persistence.EntityManager; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.hibernate.Hibernate; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @SpringBootTest @Transactional @RequiredArgsConstructor @Slf4j class MemberTest { @Autowired EntityManager em; @Test void testEntity() { Team teamA = Team.builder().name("teamA").build(); Team teamB = Team.builder().name("teamB").build(); em.persist(teamA); em.persist(teamB); Member memberA = Member.builder().name("memberA").age(10).team(teamA).build(); Member memberB = Member.builder().name("memberB").age(20).team(teamA).build(); Member memberC = Member.builder().name("memberC").age(30).team(teamB).build(); Member memberD = Member.builder().name("memberD").age(40).team(teamB).build(); em.persist(memberA); em.persist(memberB); em.persist(memberC); em.persist(memberD); em.flush(); em.clear(); List<Member> members = em.createQuery("select m from Member m", Member.class).getResultList(); for (Member member : members) { log.info("team.isInitialized = {}", Hibernate.isInitialized(member.getTeam())); log.info("member = {}", member); log.info("member.team = {}", member.getTeam()); } } } select m1_0.member_id, m1_0.age, m1_0.name, m1_0.team_id from member m1_0 2024-09-21T19:36:05.194+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : team.isInitialized = false 2024-09-21T19:36:05.194+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : member = Member(id=1, name=memberA, age=10) 2024-09-21T19:36:05.197+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : member.team = Team(id=1, name=teamA) 2024-09-21T19:36:05.219+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : team.isInitialized = true 2024-09-21T19:36:05.219+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : member = Member(id=2, name=memberB, age=20) 2024-09-21T19:36:05.219+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : member.team = Team(id=1, name=teamA) 2024-09-21T19:36:05.219+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : team.isInitialized = false 2024-09-21T19:36:05.219+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : member = Member(id=3, name=memberC, age=30) 2024-09-21T19:36:05.219+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : member.team = Team(id=2, name=teamB) 2024-09-21T19:36:05.219+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : team.isInitialized = true 2024-09-21T19:36:05.220+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : member = Member(id=4, name=memberD, age=40) 2024-09-21T19:36:05.220+09:00 INFO 7696 --- [dataJpa] [ Test worker] springPJ.dataJpa.domain.MemberTest : member.team = Team(id=2, name=teamB)
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
switch-case문 3:54초 문제
case 5 만족해서 len-= 1; 로직을 통해len 값이 4로 된거까지는 이해했는데case 6 부터는 조건값이 만족하지않는데도 로직 내용대로 사칙연산이 적용되어서 최종값이 7이 되는게 맞나요?아래 케이스로 내려가는건 맞는데 조건값이 일치해야 안에 내용이 실행 되지않나 싶어서요.
-
미해결제발 도커 씁시다!
mongodb 명령어 바뀜 docker exec -it 2f mogosh
mongodb 명령어 바뀜 docker exec -it 2f mogo 에서 docker exec -it 2f mogosh 이렇게 ㅇㅇ
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
DP 네트워크 선 자르기 질문 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 강의 잘 듣고있습니다 감사합니다. 다름이 아니라 DP 강좌 네트워크 선 자르기 12분 부분에서 설명하신 대로면 dy[4]는 3짜리를 자르는 방법에 1 짜리를 자르는 방법 추가하고, 마지막 토막이 2짜리면 앞 부분도 2짜리니까 dy[4] = dy[3] + dy[1] + dy[2] + dy[2] 이렇게 되어야 하는거 아닌가요? 왜 dy[4]= dy[3] + dy[2]인지 잘 이해가 가지 않습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-H compSize 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.문제 풀이는 잘 이해가 갔습니다.그래서 손코딩 해보고 코드를 제출했는데 틀렸다고 나오길래 찾아보니깐..제가 compsize[1004]로 해서 틀린 거 였습니다. 수정해서 맞기 했는데.. 1004도 넉넉하다고 생각했는데 제가 잘 못 생각한 걸까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
원본 클래스 인스턴스와 프록시 인스턴스 모두 힙 영역에 저장되는걸까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]스프링에서 @Transactional을 사용하게 되면 원본 클래스자체의 인스턴스와 클래스의 프록시 객체의 인스턴스 모두 힙 영역에 생성되는데, 프록시 객체만 스프링 컨테이너에 등록되고, 프록시 객체가 클래스 원본 인스턴스 참조를 가진다 라고 이해하면 될까요?
-
미해결이커머스 데이터로 시작하는 스토리형 SQL – BigQuery & Looker Studio 실습
대시보드 페이지 세팅 방법
섹션11에서 1강과 2강 사이에 강의가 혹시 생략된게 있나요?2강 들어보면 저번 시간에 테마까지 변경해봤다고 말씀하시는데 1강 보면 그 부분 강의가 없어서요.구글 클라우드 사이트에서 대시보드 작성하는 부분을 어떻게 들어가는지, 어떻게 2강 화면처럼 세팅해놓는지 갑자기 뛰어넘어진 것 같아 여쭤봅니다.
-
미해결김영한의 실전 자바 - 중급 1편
인텔리제이 오류 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 인텔리제이 창 닫기에 대해서 질문이 있어서 질문을 남깁니다. 강의를 들으면서 공부를 하다 보면, 클래스 창이 많아져서 close other tabs을 하려고 누르면, 작동도 안되고, 마우스로 x를 눌려도 창이 안 닫힐 때가 있습니다.그때 마다 인테리제이를 종료하고, 다시 켰는데요.오늘은 좀 짜증이 나더라고요.근본적인 해결 방법이 없을까요?답변 부탁 드립니다.
-
미해결Flutter로 SNS 앱 만들기
섹션10에서 게시물화면_좋아요 결과를 화면에 반영 캐러셀 컨트롤러에러가 발생했습니다
섹션10에서 게시물화면_좋아요 결과를 화면에 반영캐러셀 컨트롤러에러가 발생했습니다.feed_card_widget에서 에러입니다.안드로이드 스튜디오와 플러터sdk를 업데이트를 했는데 이렇게 나오네요.. 작업파일은 메일로 보내겠습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Read Write Lock 구현 Release 모드
Release로 실행 시 자꾸 -1만 출력되고 얼마 안 가 바로 종료가 되어서 로컬 windows 디버거로 돌려보니 위 사진과 같은 오류가 뜨는 것을 확인했습니다.영상에서는 Debug로 두고 실행한 것을 확인하고 Debug로 변경 후 실행해 보니 문제 없이 돌아가는 것을 확인 할 수 있었습니다.왜 이런 차이가 생기는 것인가요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
MyBatis 적용2 실행 실패
테스트는 성공을 했는데 ItemServiceApplication을 실행했는데 실행이 되질 않습니다...제가 처음에 스프링부트는 3.x.x 버전을 사용하고 있는줄 알고 MyBatis 버전을 3.0.3으로 설정하고 "테스트 실행 도중" 오류가 생겼습니다.그래서 막 build.gradle에서 이것저것 건드리다가 강사님께서 올려주신 코드를 그대로 실행한걸 깨닫고 MyBatis 버전을 2.2.0으로 낮추고 다시 build.gradle을 원래대로 돌리니 테스트 코드가 정상 실행됐는데 이제는 애플리케이션 실행이 되질 않습니다 ㅠㅠ 뭐가 문제인걸까요..오류 코드는 아래와 같이 뜹니다..org.h2.jdbc.JdbcSQLNonTransientConnectionException: Connection is broken: "java.net.ConnectException: Connection refused: localhost" [90067-200]제가 작성한 코드는 아래에 구글 드라이브 링크로 첨부하겠습니다.https://drive.google.com/file/d/1w5ys_ZxhtNr5-vgNq9-B_j1Y2CEkiktR/view?usp=sharing그리고 에러 메시지는 전부 붙여넣기 하려고 했는데 본문 글자수가 초과되서 실을수가 없어요...ㅠㅠ어떤게 문제인지 알려주시면 감사하겠습니다 ㅠㅠㅠMyBatis에서 갑자기 문제가 생겼어요....
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
word |= 가 이해가 안 됩니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.words[i] |= (1 << (str - 'a')); 이 코드 부분이 이해가 안 됩니다. abcabc 라는 문자열을 숫자로 표현하고 싶다는 건 알겠는데.. abcabc가 7인게 이해가 안 됩니다.a(1)b(2)c(4)a(1)b(2)c(4) => 14 아닌가요..? 왜 7인건지..
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
문서에 없는 내용을 사용자가 질문할때
문서에 없는 내용을 질문하면 prompt에서 답변을 알 수 없다면 모른다고 답변해주세요 라고 하셨는데요 그런 경우에 위키피티아등에서 검색하게 하고 싶은데 가능할까요?
-
해결됨김영한의 실전 자바 - 중급 1편
복습 포함해서 삼회전하는 게 좋을지 수강 관련 질문드립니다.
.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 강의를 지금 두번째 보고 있는데 세번째도 봐야 할까요?처음 봤을 때는 부지런하게 타자를 치며 따라 가지만 이해가 안되어서 두번째로 강의를 보면 아 이런거였구나 하고 이해는 가는데 연습문제를 풀기엔 턱없이 부족한 실력이라 한번 더 복습해야 하는지 고민입니다.갈길이 먼데 한번 더 복습을 해야할지 고민이 됩니다.직장인이라 아무래도 시간도 없고 제가 이해도가 낮은건 아닌지 고민인지라 여기에 적어봅니다.만들고 싶은 어플이 있어서 공부를 시작했는데 앞날이 까마득한데 복습을 한번 더 하는게 시간을 잡아먹는게 아닌지 고민이 됩니다. 무시하고 복습 한번하고 그냥 진도를 나가는게 나을까요? 아니면 그래도 한번더 복습을 하는게 나을까요? 제가 이해도가 낮은 편이긴 한거같은데 공부를 안한다는 선택지는 없어서요아무리 생각을 해봐도 모르겠어서 질문을 남겨봅니다.
-
해결됨[초급] QML 프로그래밍 1편
"ProgressBar"의 'indeterminate" 및 "value" 관계 문의드려요.
안녕하세요."ProgressBar"에서 "indeterminate"를 "true"로 하니 짧은 막대바 4개가 움직이면서 작동합니다.다만, "value"가 0.7이니 막대바의 모션이 70% 위치까지 이동하는 줄 알았으나, 해당 "value"값을 0.1~0.9까지 변동시켜보아도 전체 바에서 막대바의 모션 범위는 변화없이 바의 중앙을 기준으로 좌우로 분포하는 형태입니다."indeterminate"가 "true"일 경우에, "value"는 아무 역할도 하지 않는 것일까요?
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
SecurityContextPersistenceFilter & UsernamePasswordAuthenticationFilter
SecurityContextPersistenceFilter를 사용하고 폼 로그인 처리 방식을 사용한다고 하면 UsernamePasswordAuthenticationFilter를 사용할텐데 해당 필터는 스프링 시큐리티가 인증에 성공시 자동으로 세션에 시큐리티 컨텍스트를 저장한다고 했는데SecurityContextPersistenceFilter 또한 finally에서 세션에 또 저장을 하니까 2번 저장하게 될까요?
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
SecurityContextPersistenceFilter
안녕하세요 강의 재미있게 듣고 있습니다!SecurityContextPersistenceFilter를 사용하고 폼 로그인 처리 방식을 사용한다고 하면 UsernamePasswordAuthenticationFilter를 사용할 텐데 해당 필터는 스프링 시큐리티가 인증에 성공 시 자동으로 세션에 시큐리티 컨텍스트를 저장한다고 했는데SecurityContextPersistenceFilter 또한 finally에서 세션에 또 저장을 하니까 2번 저장하게 될까요?
-
미해결Java TPC 실전프로젝트 (Java API 활용)
Gson
알려주신 페이지에서 gson jar 파일을 다운받았는데 lib폴더는 어디있는건가요? github에 다운받은 파일에 있는걸까요?