묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
' 생략 여부 관련 질문
<span th:text="10 + 2"></span> <span th:text="10 % 2 == 0"></span>'(작은따옴표) 생략 여부 관련해서 여쭤보고 싶습니다.첫 번째 줄에서, 10+2 덧셈 연산이 이뤄진 후에 <span th:text="12"></span>이 되는데, 여기에서 사실은 '12'로 ''가 생략된 것인가요? 12가 숫자가 아닌 문자열로 인식되는 것이 맞나요?마찬가지로 두 번째 줄에서, <span th:text="true"></span>가 되는데, 사실은 'true'로 ''가 생략된 것인가요? true가 boolean형이 아닌 문자열로 인식되는 것이 맞나요?
-
미해결블록체인 이더리움 부동산 댑(Dapp) 만들기 - 기본편
truffle develop 명령 오류
안녕하세요 강의를 듣는 중 오류가 해결되지 않아 질문드립니다!트러플&컨트랙 배포1(구조 설명, 배포) 강의 6분즈음에 명령어 truffle develop를 입력하면powershell창에This version of µWS is not compatible with your Node.js build:Error: node-loader:Error: The specified module could not be found.C:\Users\user/AppData\Roaming\npm\node_modules\truffle\node_modules\ganache\dist\node/YPW/8Dht.nodeFalling back to a NodeJS implementation; performance may be degraded.Could not find suitable configuration file.Truffle v5.7.3 (core: 5.7.3)Node v18.13.0이러한 오류가 뜨고 진행되지 않습니다. Nodejs 문제인가싶어 버전바꾸어 다시 설치하고,truffle 버전 문제인가싶어 truffle역시 삭제 후 재설치해보았지만 해결하지 못하였습니다.현재 프로그램이 찾지 못하고있는 모듈과 파일이 어떤 문제로 찾지 못하는 것일까요..?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
문자리터럴 ' 처리 관련 질문
<li>'hello world!' = <span th:text="'hello world!'"></span></li> <li>리터럴 대체 |hello ${data}| = <span th:text="|hello ${data}|"></span></li>문자리터럴에서 '(작은따옴표) 처리 관련해서 여쭤보고 싶은데요.첫 번째 줄의 경우, text="" 안에 있는 'hello world!'가 <span> 사이에 들어가는데, ''는 어떤 식으로 제거되는 것인가요...?두 번째 줄에서 ${data}가 'Spring!'으로 대체되는데, ''는 어떤 식으로 제거된 것인가요...?화면에는 ' 없이 출력되는데, '는 도대체 어떻게 처리되는 것인가요?
-
미해결
안녕하세요, 자바스크립트 처음 배우는데 아직 너무 어려워요.. 강의 하나만 추천해주실 수 있을까요?
처음으로 자바스크립트를 배우는데 너무 어려워서요.. 이해가 잘 될 수 있는 강의 하나만 추천해주실 수 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연결 에러, 파일에러 안되는 사람 보소
Connection is broken: "java.net.SocketTimeoutException: connect timed out: localhost" [90067-214] 90067/90067이 파일 다 실행시키면서 해도 안되길래 보니까 어떤cmd 혼자가 에러메세지 숨겨놓고 있드라 포트 바꾸라고-> 포트번호 8082 기존에 쓰던거 죽여서 해결함cmd에서 포트번호 죽이는 방법 검색 ㄱ 파일관련 에러(jdbc:h2:~/test 해도 안됨 localhost~~도 안됨)-> 파일 직접 만들어서 해결 화가 나서 컴퓨터 모니터 구멍 낼뻔했다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
영속성 전이 관련해서 질문드립니다.
안녕하세요 강의 수강 후 활용해서 프로젝트를 진행중인데, 영속성 전이 관련해서 질문이 있습니다.강의 내용처럼 Order에 있는 member에 다음과 같은 설정을 하면@ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name="member_id") private Member memberId;object references an unsaved transient instance - save the transient instance before flushing에러가 발생합니다.그래서 다음과 같이 영속성 전이 설정을 하면 에러는 안뜨지만 같은 멤버가 두번씩 저장되는 문제가 발생합니다.@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST) @JoinColumn(name="member_id") private Member memberId;해당 Order가 Create되면서 Member테이블에 member가 저장되는데 이미 해당 멤버는 db에 저장되어있는 상황. (회원가입하면서 멤버가 저장되어있었음)ㄴ test05가 두번 저장되어있음강의 코드는 Order에 영속성 전이 코드를 넣지 않아도 되던데 해당 에러를 발생시키지 않으려면 어떻게 해야할까요?Member 엔티티와 Order 엔티티 코드 입니다.@Entity @Table(name = "ORDERS") @NoArgsConstructor @Getter public class Order { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "order_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name="member_id") private Member memberId; @Column(name = "post_id") private Long postId; @Embedded private Point price; @Column(name="order_at") private Timestamp orderAt; public static Order of(Member member, Long postId, Point price){ Order order = new Order(); order.setMember(member); order.postId = postId; order.price = price; return order; } public void setMember(Member member){ this.memberId = member; member.getOrders().add(this); }@Entity @Table(name = "member") @Getter @Setter @NoArgsConstructor @SQLDelete(sql = "UPDATE member SET deleted_at = NOW() where id = ?") @Where(clause = "deleted_at is NULL") public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "member_id") private String memberId; private String password; @Column(name = "member_name") private String memberName; private String email; @Column(name = "role") @Enumerated(EnumType.STRING) private MemberRole role = MemberRole.USER; @OneToMany(mappedBy = "memberId") private List<Order> orders = new ArrayList<Order>(); public static Member of(String memberId, String password, String memberName, String email){ Member member = new Member(); member.setMemberId(memberId); member.setPassword(password); member.setMemberName(memberName); member.setEmail(email); return member; } public static Member of(MemberDto dto){ Member member = new Member(); member.setMemberId(dto.getMemberId()); member.setPassword(dto.getPassword()); member.setMemberName(dto.getMemberName()); member.setEmail(dto.getEmail()); member.setRole(dto.getRole()); return member; }
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
WSL상에서 FPGA에 bitstream upload 하는 법 (usbpid 이용)
https://github.com/dorssel/usbipd-win/releases 들어가서usbipd-win_[버전].msi를 설치한다. 제대로 설치 안됐을 수도 있어 파워셀상에서 한번 더 설치한다.winget install --interactive --exact dorssel.usbipd-win[출처: https://learn.microsoft.com/ko-kr/windows/wsl/connect-usb] 그리고 WSL상에서sudo apt install linux-tools-virtual hwdata sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20[출처: https://choiseokwon.tistory.com/354] 전부 설치 완료되면 WSL은 일단 나가고 파워셀을 나갔다 다시 들어간다. 파워셀상에서usbipd list 하면이게 뜬다 맨 왼쪽 BUSID를 주목한다. 3-1에 Serial이라고 써져있는거 보니 이거를 WSL에 연결하면 될 것 같다. usbipd bind --force -b 3-13-1을 윈도우상에서 사용 중이면 연결이 안되기 때문에 bind명령을 통해 usbipd가 usb 장치를 먼저 점유하도록 한다. usbipd wsl attach -b 3-1attach 명령으로 3-1을 WSL에 연결한다. 제대로 연결 되었는지 확인하기 위해usbipd list맨 오른쪽에 STATE를 주목한다 Attached라고 써져있는 것을 보니 제대로 연결되었다 WSL에 다시 들어간다.lsusbBus 001 Device 002에 제대로 잡힌 것을 볼 수 있다. Vivado상에서 USB가 잡히는지 테스트 해본 결과Hardware manager에서 [사용자 계정]에서는 USB가 안 잡히고 루트계정에서만 USB가 잡힌다.그러므로 루트계정의 .bashrc도 수정해서 루트계정상에서 Vivado를 실행할 수 있도록 한다. su vi ~/.bashrcvi 에디터에 들어가서source /home/[사용자 계정]/tools/xilinx/Vivado/2022.2/settings64.sh 를 맨 밑에 추가해준다vivado실행하고 FPGA 1장의 예제로 테스트 해보았다.Vivado에서 제대로 잘 잡히는지 Zybo에 업로드가 잘 되는지도 확인해본다.잘 된다. 잘못된 정보 있으면 피드백 부탁드립니다. 감사합니다!
-
미해결홍정모의 따라하며 배우는 C언어
글자 자동완성...
vs code에서는 엔터 키로 글자 자동완성 기능 사용할 수 있었는데 vs에서 엔터 키로는 자동완성 기능 사용할 수 없더라구요... vs에서 탭 키 말고 엔터 키로 자동완성 할 수 있게 만드는 방법이 있을까요..??
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
시간복잡도 O(2^N)인거는 상관없나요?
문제보면 배열 원소 크기 제한이 백만개 이하던데O(2^N)로는 너무 오래 걸리는 풀이 같아요.일단 지금은 DFS를 연습하는 정도로만 받아들이면 될까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Deferred Rendering 에서 조명에 Culling이 일어나는 것 같습니다.
안녕하세요. Deferred Rendering 강의를 듣고 따라서 프로젝트를 만들어 테스트중이였습니다.그런데 조명 가까이 가면 몇가지 조명들이 꺼지는(?) 현상들이 발생했습니다.제가 수업에 놓친 부분이 있을까, 수업 자료로 다운받은 프로젝트를 실행해보아도 같은 현상이 발생했습니다.수업 때 말씀하신 조명에 culling 현상이 일어난 것일까 유추되지만, Light 제작 시 culling 세팅 시 문제가 없었습니다.혹시 어떤 현상때문에 가까이가면 조명이 꺼지게 되는 것일까요?(아래 사진은 수업자료로 받은 프로젝트로 실행한 화면 결과입니다.)
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
반응형으로 만드는 방법
열심히 수업을 들으면서 포트폴리오도 따라서 해보는 중인 수강생입니다.게시판 포트폴리오에서 반응형으로 바꾸는 건 수업에 없나요?(강사님이 올려주시는 포트폴리오 예시(?) 답지(?)를 적용해도 반응형은 아니더라구요)@media 쿼리로 적용하는 방법 ( emotion으로 반응형 만드는 방법)을 구글링 해보아도적용하는 방법을 모르겠습니다ㅠ뒤에 수업에 있는 건가요? 아니면 제가 따로 해야하는건가요?구글링해도 쉽지가 않아서 질문 남기는거라... 자세한 답변 부탁드리겠습니다.
-
미해결스프링 배치
Flow 생성 시, flowBuilder에 end()와 build()를 각각 호출하는 이유
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요, FlowJob 관련하여서 궁금한 점이 있어 문의드립니다.강의 중에 아래와 같이 작성된 코드가 있었는데요. @Bean public Flow flow() { FlowBuilder<Flow> flowBuilder = new FlowBuilder<>("flow"); flowBuilder.start(step1()) .next(step2()) .end(); return flowBuilder.build(); }FlowBuilder 내 end() 메소드를 살펴보면, end() 메소드 내에서 this.build()를 호출하는 것으로 보이는데요. public final Q end() { return this.build(); } 하기와 같이 작성하지 않고 위처럼 end()와 build()를 각각 쓰는 사유가 있는지 궁금합니다.@Bean public Flow flow() { FlowBuilder<Flow> flowBuilder = new FlowBuilder<>("flow"); return flowBuilder.start(step1()) .next(step2()) .end(); } 새해 복 많이 받으세요 :)
-
미해결홍정모의 따라하며 배우는 C언어
7.8강 단어 세기 예제에서 flag의 논리값
7.8강 단어세기 예제에서 교수님께서 제시한 코드입니다.(word 개수 체크는 구현하지 않은 지점까지)두번째 if문에서 공백이 아니고 line_flag값이 true가 아니라면, n_lines의 값을 증가시키고 line_flag 값을 true로 바꿔주고 있고세번째 if문에서 개행문자라면 line_flag 값을 false로 바꿔주고 있습니다.다만 line_flag의 값이 true가 아닌 상황에서 n_lines의 값을 증가시킨다는 흐름이 직관적으로 와닿지 않아 다음과 같이 코드를 바꿔보았습니다.#include <stdio.h> #include <stdbool.h> #include <ctype.h> #define STOP '.' int main() { unsigned int n_char = 0, n_word = 0, n_line = 1; char ch; bool line_flag = false, word_flag = false; while ((ch = getchar()) != STOP) { if (!isspace(ch)) n_char++; if (!isspace(ch) && line_flag) { n_line++; line_flag = false; } if (ch == '\n') line_flag = true; } printf("c=%u, w=%u, l=%u\n", n_char, n_word, n_line); return 0; }flag에 해당하는 논리값을 반대로 뒤집은 코드입니다.line_flag 값이 true일 때 n_lines의 값을 증가시키는 것이 더 직관적이라고 생각했습니다.마찬가지로 개행문자를 만났을 때 line_flag 값을 true로 바꿔주는 것이 더 직관적으로 와닿는다고 생각했습니다.대신 n_lines는 1로 초기화했습니다. 일단 텍스트를 입력받는 순간 1줄이 될테니까요.(바로 .을 입력하여 종료시키는 경우는 예외처리를 추가적으로 구현할 필요가 있어보입니다.) +마찬가지 생각의 흐름으로 word 개수 카운팅하는 부분도 교수님께서 제시하는 word_flag의 논리값을 반대로 적용했습니다. 다만, 텍스트를 입력하는 순간 word가 시작된다고 가정하여 word_flag는 true로 초기화했다는 것이 line_flag와의 차이점입니다.#include <stdio.h> #include <stdbool.h> #include <ctype.h> #define STOP '.' int main() { unsigned int n_char = 0, n_word = 0, n_line = 1; char ch; bool line_flag = false, word_flag = true; while ((ch = getchar()) != STOP) { if (!isspace(ch)) n_char++; if (!isspace(ch) && line_flag) { n_line++; line_flag = false; } if (ch == '\n') line_flag = true; if (!isspace(ch) && word_flag) { n_word++; word_flag = false; } if (isspace(ch)) word_flag = true; } printf("c=%u, w=%u, l=%u\n", n_char, n_word, n_line); return 0; }제가 생각한 코드의 흐름에 대한 의견이나 비판 부탁드립니다.
-
해결됨스프링 프레임워크는 내 손에 [스프2탄]
/board/get?idx=${vo.idx} 질문
상세보기 구현하는 과정에 있어서 궁금한점이 있어서 질문드립니다.get이라는 컨트롤러를 만들고 /board/get?idx=${vo.idx}에서 선택한 idx에 따라서 링크가 이동되는것은 강의에서 잘 풀어주셔서 이해가 잘가는것 같습니다.질문을 드리자면 단순하게 get?idx <--- 여기서 물음표를 넣으셨는데 이건 정해진건지 궁금하고 어떤 이유에서 ?가 적힌건지 궁금합니다. get!!idx 이런식으로 적으니까 안되더라구요 ㅠㅠ...연휴 잘보내시길 바라면서 질 좋은 강의에 감사 드립니다!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
bean 인식이 안됩니다.
jpa 라이브러리 추가했고 application 설정도 다 하고 @Configuration 애노테이션도 넣었는데 EntityManager가 빈으로 등록되어 있지 않다고 나옵니다. 왜 이러는걸까요? 프로젝트 링크: https://drive.google.com/file/d/1x_OeOhEBOKSNTiuzUqxY-zSyQmsmon5n/view?usp=share_link
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
java.sql 패키지 suggestion 인식 안됨
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]실습 중 Connection의 auto suggestion이 안되는 것 같습니다..(jdk 버전 17, 11 모두 안되는 것을 확인했습니다.)import java.sql.*; 를 수동으로 넣어줬을때는 빨간줄 없이 잘 되기는 합니다. 하지만 auto completion이 안되니까 너무 불편하더라구요.(java.sql이 아닌 다른 라이브러리는 auto completion 잘 됩니다.)혹시 저와 같은 오류를 겪어보시거나 이런 경우의 해결방법이 있을까요.? intellij의 community version 사용 중입니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-M 질문
if(stk.size()&&stk.top()==a)부분이 이해가 안가는데cin에 ABBABBAA를 입력하면 범위기반 for문을 통해 a가 ABBABBAA가 되어야한다고 생각하고stk.top()도 가장 마지막걸 참조하는거니까 제일 나중에 입력된 A가 참조되어야 한다고 생각하는데왜 cout으로 찍어봤을때 B가 나오는지 이해를 못하겠습니다..if(stk.size()&&stk.top()==a)이게 스택의 사이즈가 존재하면서 가장 마지막 스택이 a와 일치한다 라는건 알겠는데막상 찍어보면 왜 저런 결과가 나오는지도 모르겠습니다..강의도 돌려보고 교안도 계속보면서 cout 위치 바꿔가면서 찍어보는데 모르겠습니다.. 수정) for문이 끝나는게 아니고 중괄호로 if랑 이어져서알파벳 하나씩 독립적으로 적용해야 하는 사실을 깨달았습니다.그러면 차근차근 쌓이면서 붕괴된다는것을 이해했습니다.그러면 로직의 가장 처음에 A가 먼저 쌓일테니까 stk.top()이 A이고a는 ABBABBAA에서 가장 처음에 A를 데려오니까 붕괴된다라고 이해하기엔또 cout으로 B가 제일 먼저 찍히는데 진짜 이해를 못하겠습니다그냥 단순하게 B가 있는 상황에서 B가 들어오면 붕괴되는거 이해했는데이걸 코드로 바꾸면 왜 stk.top()==a인지 잘 모르겠어요..그걸 코드로 바꿨을때 a의 입장이 어떻게 변하는지 모르겠습니다a의 입장에서 로직이 어떻게 진행되는지 알려주세요 ㅠㅠ 수정) 처음에 size가 0이니까 A가 1층에 push되고A가 top인 상황에서 B가 입력되는데 A랑 B랑 다르니까 그 다음 B가 push되고이제 B가 top인 상태에서 B가 들어오려고 하는데 여기서 top==a가 되면서소거 되는게 맞나요?
-
미해결언리얼 엔진4 입문 (C++ 기반)
캐릭터를 추가적으로 스폰하고 싶습니다
캐릭터를 추가로 스폰하고 싶은데, SpawnActor()말고 NewObject()로 캐릭터 생성 후 월드에 따로 올릴 수는 없나요? SpawnActor()로 캐릭터를 생성하면 값을 잘못 주고 있는지 nullptr이 반환됩니다..
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
section02 Quiz 중 REST-API 요청과 비동기 처리 문제
너무 잘 설명 해주셔서 열심히 따라하고 있습니다!!과제내용 대로 받은 데이터를 콘솔에 출력하기까지 잘 되어서 수업내용을 따라해보려고 받은 데이터의 내용 중에서 배열안의 name만을 확인하고 싶어서console.log(result.data.name)을 쳐서 보니 undefined가 나오더라고요.수업 내용 중 받아온 데이터 중 title를 보고 출력했을때, console.log(result.data.title) 로 했어서 그대로 따라해 봤는데 왜 이것은 결과가 name의 값이 아니고 undefined일까요? 답변 부탁드립니다. 감사합니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
예제 4번 질문 (프린트 구문의 위치와 변수 조건의 위치 질문)
선생님 강의 잘 듣고 있습니다. 질문이 생겨서 남깁니다. 1)while i <= 10: print('i :', i) if i == 6: break i = i + 1 # == 'i += 1'이 문장과while i <= 10: i = i + 1 # == 'i += 1' if i == 6: break print('i :', i)이 문장은 어떻게 다른 건가요? 2)while n > 0: n = n-1 # == n -= 1 if n == 2: break print(n)이 문장에서 if 구문에서 n이 2가 될 때 true 가 되어 4, 3 만 출력된다고 이해했는데while i <= 10: print('i :', i) if i == 6: break i = i + 1 # == 'i += 1'이 문장에서는 i가 6이 될때 true가 되는데 6이 출력되는 것이 이해되지 않습니다