묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberForm을 사용하는 이유가 무엇인가요?
@GetMapping("/members/new") public String createForm(Model model){ model.addAttribute("memberForm", new MemberForm()); return "members/createMemberForm"; }model.addAttribute를 사용하지 않고 일단 createMemberForm.html로 간 뒤에 form post로 데이터를 넘기면@PostMapping("/members/new") 컨트롤러가 비즈니스로직을 수행하면 되는 것 아닌가요? createMemberForm이라는 html에 new MemberForm()으로 객체를 넘길 수 있는 내부적인 원리가 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
assert 에서 _currentIndex 와 _elemtSize 를 비교하는게 이해가 잘 안되네요
사소한 부분이라 넘어가도 됐을 것 같은데.. currentIndex 를 잘못 이해하고 있는건가 싶어서 여쭤 봅니다.ConstantBuffer::PushData 맴버 함수에서assert(_currentIndex < _elementSize);currentIndex 와 elementSize를 비교하는데, elementCount랑 비교하는 게 맞는 것 아닌가요?감사합니다.P.S 설명을 엄청 잘해주셔서 계속 잘 보고 있습니다. 혹시 Part 5랑 6은 언제 나오는건지..?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
자료 강의 다운로드
안녕하세요 선생님! 압축된 강의 자료를 다운받았는데 압축이 안풀려서요..ㅎㅎ 혹시 된다면 이메일로 강의 자료를 보내주실 수 있으신가요? 이메일은 hjw6207@naver.com 입니다!
-
미해결타입스크립트 입문 - 기초부터 실전까지
toString이 없다는 오류
안녕하세요, 함수 호출할 때 타입 지정할 수 있도록 바꾸었는데toString이 없다는 오류가 나는데 어떻게 해야할까요?커뮤니티에있는 다른글들 보면 다른분들도 똑같이 한거같은데.. 어찌해야할지 모르겠네요 ㅜ ㅜ
-
미해결FreeRTOS 프로그래밍
죄송하지만, 포팅 부탁드려도 될까요?
[죄송하지만, 포팅 부탁드립니다.]-------------------------------------------------- 사용하고 싶은 ST 보드명: stm32746g-discovery- 사용하시는 컴파일러(stm32cubeide) 버젼 1.10.1-------------------------------------------------
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
ref OnMounted 사용시 자동 import하는 설정이 따로있나요?
ref OnMounted 사용시 자동 import하는 설정이 따로있나요?
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
윈도우 QueryString 사용법 : http GET [URI] param1==1 param==2
윈도우 QueryString 사용법 : http GET URI param1==1 param==2입니다
-
미해결카프카 완벽 가이드 - 코어편
virtual box 네트워크 설정 영상이 없어요.
네트워크 설정 영상이 빠진 것 같습니다. 확인 부탁 드려요.
-
미해결[Python 실전] 웹크롤링과 데이터분석 : 전세계 축구 선수 몸값 분석
9:57 데이터 변경 .astype()
astype으로 데이터 변경이 안된다고 에러가뜨네요 구글링으로 pd.to_numeric() ,numpy 를 import 해서 라이브러리로 처리 하려고 해도 변경이 안되요 ㅠㅠ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
혹시 해당강의에 사용되는
리액트, 리엑트, 라우터 리덕스 버전 등이 어떻게 될까요?해당 프로젝트에서 사용되는 라이브러리들의 버전을 확인하고 싶습니다부가적으로 해당 프로젝트를 클론해서 직접 보면서 하고 싶은데 어디서 확인해볼 수 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Cascade와 saveAll 성능 비교
좋은 강의 항상 감사합니다.Cascade.ALL 혹은 PERSIST를 통해 OneToMany로 연관된 List를 조회하는 것과, SaveALL을 사용하는 것이 성능상 차이가 없는지 궁금합니다.직접 테스트를 돌려본 결과 반복문 + Save 가 가장 느렸고, Cascade.ALL, 이후 SaveAll 순이었으나, 거의 차이가 발생하지 않아 질문드립니다.제 생각으로는 CasecadeAll의 경우 루트 엔티티가 save될 때, 루트 엔티티와 동일한 Transaction을 사용하여, saveAll과 비슷한 형태로 작동할 것이라 생각하나, 확실치 않아 질문드립니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
case문 우선순위
안녕하세요다른 분께 남겨주신 if-else문과 case문의 차이에 대한 답변을 봤는데, case문은 우선순위가 없다는 말에 대해 혼란이 생겨 질문 남깁니다.기존에 verilog를 학습했을때, verilog의 case문은 C의 switch case문과는 다르게 각각의 조건에 break가 있는 것과 같다. 그래서 맨 위 조건부터 우선순위가 있다고 알고있었는데요.예를 들어 아래의 모듈의 시뮬레이션 결과로 sel=4'b0011인 경우에 out=a가 나옵니다. 따라서, case문에서 맨 위 조건부터 우선순위가 있다고 생각했습니다.module priorityencoder( input [2:0] a, input [2:0] b, input [2:0] c, input [2:0] d, input [3:0] sel, output reg [2:0] out ); always@(*) begin case(1'b1) sel[0] : out = a; sel[1] : out = b; sel[2] : out = c; sel[3] : out = d; default : out = 3'b0; endcase end endcase end endmodule그런데, 남겨주신 답변에 case문에는 우선순위가 없다고 하셔서 조금 혼란이 생겼는데..말씀하신 'case문에 우선순위가 없다'는 말은, 코드상의(=function상의 ) 우선순위를 말하는 것이 아닌합성에서 생기는 우선순위(?)가 없다는 말로 생각하면 될까요?(위의 예시 모듈을 합성하면 아래 그림처럼, if-else로 적으면 mux chain형태로 합성되고 case로 적으면 하나의 mux로 합성됨을 확인하긴했습니다..)그러면 이렇게 case문이 합성된 회로(위 그림의 아래의 회로)는 그럼.. function적으로는 우선순위가 있는데 형태는 우선순위가 없는(??)것.. 인건가요?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
한개의 컴퍼넌트 안에 v-bind 와 v-on 설정이 가능하나요?
제목그대로 한개의 컴퍼넌트 안에 v-bind 와 v-on 설정이 가능하나요?한개의 컴퍼넌트 안에서 데이터를 부모에게 주고 부모데이터를 해당 컴퍼넌트로 전달이 가능한가요?
-
미해결웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩
인증서 설치하고 다 설정 제대로 되있는데 무한정 대기걸립니다.
강사님과 같이 파이어폭스에 폭스프록시 설치해서 동일하게 세팅하고 네이버 접속했는데 무한정 대기가 걸립니다. 인증서도 다운받아 신뢰가능한루트저장소에 설치된거도 확인했는데 무한정 대기가 안풀리네요ㅠㅠ 빠른 답변 주시면 감사하겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
hibernate.hbm2ddl.auto = create 했지만 FK 때문에 DROP에 실패
안녕하세요,hibernate.hbm2ddl.auto의 값을 create로 두고 실습을 진행하고 있는데첫 번째 질문은 1. create로 설정하고 수업을 따라하는 게 맞는지?두 번 째 질문은 처음 프로그램이 실행할 때 다음과 같은 에러메시지를 보여주면서 테이블 drop에 계속 해서 실패하는데 이게 기대하는 결과가 맞는지, 아니라면 어떻게 해결할 수 있는지 입니다. 에러메시지 : WARN: GenerationTarget encountered exception accepting command : Error executing DDL " drop table Category if exists" via JDBC Statement org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " drop table Category if exists" via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlString(SchemaDropperImpl.java:375) at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlStrings(SchemaDropperImpl.java:359) at org.hibernate.tool.schema.internal.SchemaDropperImpl.dropFromMetadata(SchemaDropperImpl.java:241) at org.hibernate.tool.schema.internal.SchemaDropperImpl.performDrop(SchemaDropperImpl.java:154) at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop(SchemaDropperImpl.java:126) at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop(SchemaDropperImpl.java:112) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:144) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:310) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:467) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:939) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:56) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) at jpabook.jpashop.JpaMain.main(JpaMain.java:16) Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Cannot drop "CATEGORY" because "FKJIP0OR3VEMIXCCL6VX0KLUJ03" depends on it; SQL statement:새로운 Entity를 추가하거나 Entity에 필드를 추가하는 실습을 할 때마다 일일히 직접 h2 콘솔에서 테이블을 몽땅 drop 해주지 않으면변경 사항을 확인할 수가 없는 상황입니다.감사합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
axios 통신에서 문제가 생기는 것 같은데 정확히 파악하질 못하고 있습니다.
강의 잘 듣고 있습니다.그런데 계속 이렇게 axios 통신을 못하고 있더라구요...backend/server.js 파일은 강의를 보면서 그대로 진행했고올려주신 깃허브 코드와도 비교를 했습니다.근데 왜 안되는건지 모르겠네요...backend/server.js// 필요한 모듈들을 가져오기 const express = require("express"); const bodyParser = require('body-parser'); const db = require('./db'); // Express 서버를 생성 const app = express(); // json 형태로 오는 요청의 본문을 해석해줄 수 있게 등록 app.use(express.urlencoded({ extended: true })); // 테이블 생성하기 db.pool.query(`CREATE TABLE lists ( id INTEGER AUTO_INCREMENT, value TEXT, PRIMARY KEY (id) )`, (err, results, fileds) => { console.log('results', results) }) //DB lists 테이블에 있는 모든 데이터를 프론트 서베에 보내주기 app.get('/api/values', function (req, res) { //데이테베이스에서 모든 정보 가져오기 db.pool.query('SELECT * FROM lists;', (err, results, fileds) => { if (err) return res.status(500).send(err) else return res.json(results) }) }) // 클라이언트에서 입력한 값을 데이터베이스 lists 테이블에 넣어주기 app.post('/api/value', function(req, res, next) { // 데이터베이스에 값 넣어주기 db.pool.query(`INSERT INTO lists (value) VALUES("${req.body.value}")`, (err, results, fileds) => { if(err) return res.status(500).send(err); else return res.json({ success: true, value: req.body.value }); }) }) app.listen(5000, () => { console.log('애플리케이션이 5000번 포트에서 시작되었습니다.') })backend/db.jsconst mysql = require("mysql"); const pool = mysql.createPool({ connectionLimit: 10, host: 'mysql', user: 'root', password: 'johnahn', database: 'myapp' }); exports.pool = pool;frontend/src/App.jsimport React, { useState, useEffect } from 'react'; import logo from './logo.svg'; import './App.css'; import axios from 'axios'; function App() { useEffect(() => { // 여기서 데이터베이스에 있는 값을 가져온다. axios.get('/api/values') .then(response => { console.log('test') console.log('response', response) setLists(response.data) }) }, []) const [lists, setLists] = useState([]) const [value, setValue] = useState("") const changeHandler = (event) => { setValue(event.currentTarget.value) } const submitHandler = (event) => { event.preventDefault(); axios.post('/api/value', { value: value }) .then(response => { if(response.data.success) { console.log('response', response) setLists([...lists, response.data]) setValue(""); } else { alert('값을 DB에 넣는 데에 실패했습니다.') } }) } return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <div className="container"> {lists && lists.map((list, index) => ( <li key={index}>{list.value}</li> ))} <form className="example" onSubmit={submitHandler}> <input type="text" placeholder="입력해주셔요~~~" onChange={changeHandler} value={value} /> <button type="submit">확인</button> </form> </div> </header> </div> ); } export default App;각각의 소스 파일은 이런 상태인데혹시나 어떤 부분이 문제인지 확인해 주시면 좋을거 같습니다
-
미해결
안드로이드 스튜디오 오류
기존에 존재하던 안드로이드 스튜디오를 삭제하고 최신버전 안스를 설치해 프로그램을 열었는데 에러가 두개 뜨더라구요. 구글링해서 방법이란 방법은 찾아봤지만... 참 어렵네요전문가님들 도와주세요!
-
미해결스프링 핵심 원리 - 기본편
[스프링핵심원리-기본편] 주문과 할인 도메인 테스트 관련해서 질문드립니다.
강의: 스프링 핵심 원리 - 기본편 (김영한님)질문내용: 테스트코드 중 서로다른 객체 참조로 인한 null값 오류<멤버레포지토리구현체 클래스>public class MemoryMemberRepository implements MemberRepository{ private Map<Long, Member> memberRepository = new HashMap<>(); @Override public void save(Member member) { memberRepository.put(member.getId(), member); } @Override public Member findById(Long id) { return memberRepository.get(id); } @Override public List<Member> findAll() { return new ArrayList<>(memberRepository.values()); } }<멤버서비스구현체 클래스>public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findOne(Long id) { return memberRepository.findById(id); } @Override public List<Member> findMembers() { return memberRepository.findAll(); } }<주문서비스구현체 클래스>public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository = new MemoryMemberRepository(); private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); @Override public Order createOrder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); System.out.println(memberId); System.out.println(member); int discountPrice = discountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); } }<테스트코드>public class OrderApp { public static void main(String[] args) { MemberService memberService = new MemberServiceImpl(); //일단 회원가입 해야하니 필요 OrderService orderService = new OrderServiceImpl(); Long memberId = 1L; Member member = new Member(memberId, "Spring강의", Grade.VIP); memberService.join(member); Order order = orderService.createOrder(memberId, "iteamA", 10000); System.out.println("order = " + order); } }테스트코드 프로세스:1) 멤버서비스객체: 회원가입 (join메소드)2) 주문서비스객체: 회원조회하여 할인정책 적용하여 리턴질문은 다음과 같습니다!테스트케이스를 실행시,다음과 같은 NullPointerException이 발생하는데요,위의 멤버서비스와 주문서비스 클래스를 보시면 서로 다른 MemoryMemberRepository 객체를 생성하는 즉, 서로 다른 객체를 참조하고 있기 때문에 당연한 에러라고 생각합니다.(멤버서비스에서 회원가입을 진행한 레포지토리와, 주문서비스에서 조회하는 레포지토리가 다르기 때문)하지만, 강의에선 에러 없이 정상작동하는데... 놓친 부분이 없을텐데 무엇이 문제인 것인지지 여쭙고싶습니다 ㅠ(추가)다음과 같이 테스트케이스 메인메소드에서 동일한 객체를 참조하도록 멤버레포지토리 의존성주입을 하여 에러는 해결했습니다만, 강의에선 생성자주입없는 상태에서도 에러가 발생하지 않았는데 이유를 모르겠습니다 ㅠ의존성 주입의 이유중 하나로 다음과 같이 "동일한 객체를 참조하기 위함"도 있는 것인지 여쭙고싶습니다.public class OrderApp { public static void main(String[] args) { MemberRepository memoryRepository = new MemoryMemberRepository(); MemberService memberService = new MemberServiceImpl(memoryRepository); //일단 회원가입 해야하니 필요 OrderService orderService = new OrderServiceImpl(memoryRepository); Long memberId = 1L; Member member = new Member(memberId, "Spring강의", Grade.VIP); memberService.join(member); Order order = orderService.createOrder(memberId, "iteamA", 10000); System.out.println("order = " + order); } }
-
해결됨Flutter 앱 개발 기초
터미널 shared_preferences 문제 질문드립니다 ㅜㅜ
터미널에서 flutter pub add shared_preferences 입력 시 Expected to find project root in current working directory. 이런문구가 뜨면서 적용이 되질 않습니다.. 구글로 찾아보고 시도해봤는데도 안되네요
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
Authorization 질문드립니다.
22.08.26일 기준으로 강의를 듣고있습니다.index.js에서 Authorization: store.state.token, 과 같이 입력하였을경우 network에서의 token값이 test1234 혹으 빈값이 아닌 콘솔로 찍었던 token값이 그대로 출력됩니다. 강의에서는 안된다고 설명해주셨는데요 무엇이 맞는건가요..? (강의 코딩 외 추가 코딩은 하지 않았습니다)