묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨웹 게임을 만들며 배우는 React
Click Redo 에서 set State 실행 부분 (비동기 관련)
안녕하세요. 강사님.강사님의 높은 퀄리티의 강의를 듣고 열심히 공부중입니다. 감사합니다. 질문 사항은 다음과 같습니다.아래는 로또번호를 다시 추첨하는 '한번 더' 버튼을 누를 때의 함수인데요.보시면 winNumbers와 winBalls 의 setState가 같이 변경이 되고 있습니다.제가 생각할 때에는, winNumbers의 당첨 번호가 모두 다 만들어 진 후에 winBalls의 배열이 [] 으로 되어, runTimeouts() 가 실행되어야 할 것 같은데요.실제로 set State 가 비동기로 실헹되기 때문에, 만약 로직상 번호를 다 만들고 timeouts를 실행해야 한다면, 동기적으로 처리를 하는 것이 맞지 않을까 라는 생각이 들어서 입니다. 혹시 강사님의 생각은 어떠신가요..? 질문 읽어주셔서 감사합니다!
-
미해결Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
지도위에 마커 클러스터링 기능을 사용하고 싶어요~
단순히 구글이나 네이버 지도를 가져오는 법에 대해서 잘 배웠습니다. 여기서 더 나아가 구글이나 네이버맵에서 커스텀마커와 클리스터아이템을 적용하고 싶습니다. 간단하게 코딩작업이 필요한 것처럼 보이는데 혹시 Axure에는 적용가능한지 알고 싶습니다.
-
미해결Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
지도위에 마커 클러스터링 기능을 사용하고 싶어요~
단순히 구글이나 네이버 지도를 가져오는 법에 대해서 잘 배웠습니다. 여기서 더 나아가 구글이나 네이버맵에서 커스텀마커와 클리스터아이템을 적용하고 싶습니다. 간단하게 코딩작업이 필요한 것처럼 보이는데 혹시 Axure에는 적용가능한지 알고 싶습니다.
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
테스트 코드에서의 생성자 의존관계 주입 관련하여 질문 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요. 강의 복습 중 해결되지 않는 의문점이 있어서 질문 드립니다. 테스트 코드에서 @TestCOnfiguration을 통해 해당 테스트 클래스에서 사용할 빈들을 등록을 하고, 의존성 주입을 할 때필드 주입은 정상 동작하지만, 생성자 주입은 정상 작동하지 않는지 의문이 생겨 질문 드립니다. 영한님께서는 필드 주입을 하셨고, 저는 복습 중에 생성자 주입으로 한 번 해볼까 하여 시도를 해봤는데 정상 동작하지 않았습니다. 아래는 생성자 주입을 시도해본 코드입니다./** * JDBC - 트랜잭션매니저를 통한 트랜잭션 + 트랜잭션 AOP(@Transactional) */ @SpringBootTest @RequiredArgsConstructor class MemberServiceV3_3Test { private static final String MEMBER_A = "memberA"; private static final String MEMBER_B = "memberB"; private static final String MEMBER_EX = "ex"; private final MemberServiceV3_3 memberService; private final MemberRepositoryV3 memberRepository; @TestConfiguration static class TestConfig { @Bean DataSource dataSource() { HikariDataSource dataSource = new HikariDataSource(); dataSource.setJdbcUrl(URL); dataSource.setUsername(USERNAME); dataSource.setPassword(PASSWORD); return dataSource; } @Bean PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } @Bean MemberRepositoryV3 memberRepositoryV3() { return new MemberRepositoryV3(dataSource()); } @Bean MemberServiceV3_3 memberServiceV3_3() { return new MemberServiceV3_3(memberRepositoryV3()); } } @AfterEach void after() throws SQLException { memberRepository.delete(MEMBER_A); memberRepository.delete(MEMBER_B); memberRepository.delete(MEMBER_EX); } @Test @DisplayName("정상 이체") void accountTransfer() throws SQLException { memberRepository.save(new Member(MEMBER_A, 10000)); memberRepository.save(new Member(MEMBER_B, 10000)); // 커밋 memberService.accountTransfer(MEMBER_A, MEMBER_B, 2000); Member fromMember = memberRepository.findById(MEMBER_A); Member toMember = memberRepository.findById(MEMBER_B); assertThat(fromMember.getMoney()).isEqualTo(8000); assertThat(toMember.getMoney()).isEqualTo(12000); } @Test @DisplayName("이제 중 예외 발생") void accountTransferEx() throws SQLException { memberRepository.save(new Member(MEMBER_A, 10000)); memberRepository.save(new Member(MEMBER_EX, 10000)); // 예외 발생 // 롤백 assertThatThrownBy(() -> memberService.accountTransfer(MEMBER_A, MEMBER_EX, 2000)) .isInstanceOf(IllegalStateException.class); Member fromMember = memberRepository.findById(MEMBER_A); Member toMember = memberRepository.findById(MEMBER_EX); // 정상 이체 X // 롤백을 통해 돈은 트랜잭션 시작 전으로 복구된다. assertThat(fromMember.getMoney()).isEqualTo(10000); assertThat(toMember.getMoney()).isEqualTo(10000); } } (추가 질문)혹시나 해서 final 키워드를 제거하고 시도해보니 생성자 주입도 정상 동작하는 것을 발견했습니다. 테스트 코드를 실행할 때 어떤 과정 때문에 이러한 현상이 발생하는 지 궁금합니다.. 아래는 final 키워드를 제거한 코드입니다./** * JDBC - 트랜잭션매니저를 통한 트랜잭션 + 트랜잭션 AOP(@Transactional) */ @SpringBootTest class MemberServiceV3_3Test { private static final String MEMBER_A = "memberA"; private static final String MEMBER_B = "memberB"; private static final String MEMBER_EX = "ex"; private MemberServiceV3_3 memberService; private MemberRepositoryV3 memberRepository; @Autowired public MemberServiceV3_3Test(MemberServiceV3_3 memberService, MemberRepositoryV3 memberRepository) { this.memberService = memberService; this.memberRepository = memberRepository; } @TestConfiguration static class TestConfig { @Bean DataSource dataSource() { HikariDataSource dataSource = new HikariDataSource(); dataSource.setJdbcUrl(URL); dataSource.setUsername(USERNAME); dataSource.setPassword(PASSWORD); return dataSource; } @Bean PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } @Bean MemberRepositoryV3 memberRepositoryV3() { return new MemberRepositoryV3(dataSource()); } @Bean MemberServiceV3_3 memberServiceV3_3() { return new MemberServiceV3_3(memberRepositoryV3()); } } ..... }
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
업로드 후 홈화면에서 이미지가 보이지 않습니다
데이터 베이스에도 기록이 잘 들어가고 사이트 홈화면에도 잘 뜨는데 화면의 이미지가 안뜹니다.uploads파일에도 이미지 다 잘 들어갑니다.인강과 데이터베이스를 비교해봤을 때 경로문제인것같긴한데 어떻게 수정을 해야할까요?근데 DB경로의 역슬래시를 슬래시로 바꾸어도 안뜨고 uploads에는 사진도 잘 들어가고 사진의 경로를 봤을때도 동일해서... 왜 안뜨는걸까요?단순히 한사진의 오류라고생각했었는데 등록한 것 모두 이렇게 되어서...어딜 어떻게 수정해야할지모르겠어서... 일단은 깃허브링크 함께올려봅니다... 홈사이트 화면개발자 툴 상품넣고 난뒤DB데이터 베이스물건 등록 후 vscode에 뜨는것 깃허브 링크: https://github.com/Dalrae03/webstudy/commit/7a5981dafabdbf009b40c0c5814e7e7c6f3ea9dehttps://github.com/Dalrae03/webstudy/commit/c9106654b1d6badba9ae64ce744a11da46b719a5
-
미해결홍정모의 따라하며 배우는 C++
메모리 주소에 관한 질분
int x;x = 123;이 상황에서 &x를 출력하면 16진수로 이루어진 x의 주소를 알 수 있습니다.그런데 선생님께서 프로그래머가 123 숫자에 대한 주소를 갖고 오기가 어렵다고 하셨는데 x에 123을 대입했으니, x의 주소가 곧 123의 주소 아닌가요? 선생님께서 가져오기 어렵다고 하신 123의 주소가 뭔지 잘 모르겠습니다ㅠ
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
표준 헤더와 임의 헤더
안녕하세요 좋은 강의 잘 듣고 있습니다. 표준 헤더라는 것은 브라우저가 자동으로 넣어주는 것인가요? 예를 들어 백앤드에서 만든 api의 response의 헤더에는 사실 java/spring 기준으로. 'return new ResponseEntity(response, HttpStatus.OK)' 만 내보내줌에도 불구하고, 개발에 배포한 후 브라우저에서 f12로 개발자 도구로 확인하면 제가 넣지 않은 여러 헤더들(Origin, Host 등 다양한 값) 이 들어있더라구요. 표준헤더의 기준(몇 가지는 꼭 브라우저가 넣어준다 등) 은 어떻게 정하는 걸까요? 브라우저마다 다른가요? 미리 감사드립니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
POST 등록 후 Location 헤더
안녕하세요좋은 강의 항상 잘 듣고 있습니다. 다름이 아니라, post에서 등록한 후 201, CREATE(또는 200, OK) response 에서 Location헤더 필더에 해당 리소스의 생성된 위치를 보여준다고 했는데요(ex /members/100) 꼭 실무적으로 그렇지 않고 개념, 이론적으로 그렇다는 것 맞을까요? 개발자가 직접 해당 소스의 위치 값을 response Header 의 Location 필드값에 넣어주는 것이요. 반드시 post api에서 자동적으로 내려주는 것은 아니라서 여쭤봅니다. 감사합니다.
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
안녕하세요. 강의 자료 부탁드립니다!
안녕하세요. 강의 자료 부탁드립니다.메일은 mng@o2opayment.co.kr입니다!
-
해결됨스프링 핵심 원리 - 기본편
12분경 memberRepository예측 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]선생님께서 12분쯤에 memberRepository가 3번 호출될 것이라 예상하셨었는데 저는 memberService에서 왜 memberRepository가 2번 호출되는지 잘 이해가 안갑니다. memberService에서 MemberServiceImpl의 매개변수를 통해 memberRepository로 건너가기 때문에 memberRepository가 한번만 호출된 뒤 orderService가 호출되어야하는 것 아닌가요?쉽게 얘기해서 선생님은 memberServicememberRepositorymemberRepositoryorderServicememberRepository위의 순서를 예상하셨는데저는memberServicememberRepositoryorderServicememberRepositorymemberRepository이런 순서가 될 것으로 예측했습니다. 제가 착각한 부분이 있다면 알려주시길 바랍니다.감사합니다.
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
static 메소드와 instance 메소드의 접근?
안녕하세요 ㅎㅎ 다름이 아니라 나도코딩 자바편에서 메소드를 공부하면서 궁금증이 생겨, 이렇게 또 다시 질문을 남깁니다...ㅎ 나도코딩 자바편을 보는 것과 동시에, 제 스스로 나름 예제들도 풀면서 개념을 익히고 있는데요...ㅎ 방금 전에 제가 문자열(String)배열과 charAt()을 이용하여, 전치행렬을 만드는데 성공했습니다...ㅎ 결과도 잘 출력했구요 ㅎㅎ 이 예제를 푸는 데는 String, String[], length(), charAt()에 대한 선생님의 도움과 답변이 없었으면 풀지 못했을 건데, 선생님의 자세한 답변 덕분에 문제를 빠르게 잘 풀 수 있었습니다. 감사합니다 ㅎㅎ아래가 제가 쓴 코드고, 출력한 결과입니다:여기서부터가 제 질문인데요...ㅎ static 메소드(public static void main(String[] args) {...})에서 일반 메소드를 접근하려면, 에러 메시지로 'non-static variable/method cannot be referenced fromstatic context.'라고 나오는데, 이럴 경우에 에러를 없애고, 결과를 잘 출력하려면:pubilc static void main 메소드 앞에 첫 번째 방법으로 void transpose 메소드를 static void tranpose라고 바꾸거나, 아니면 2번째 방법으로 static 메소드 안에서 이렇게 Question_03 making = new Question_03(); 즉, (클래스 이름) (객체 이름) = new (클래스 이름)(); 이런 식으로 객체화를 해서 메소드를 접근해야 하나요?
-
미해결왕초보 아이패드 수채화를 기초부터 탄탄하게 배우기
아이패드에서 예제 다운이안돼요ㅜㅜ
어떤경로로 다운받아야될까요!?
-
미해결퍼블리셔 취업하는 훌륭한 이력서 작성 가이드
프로젝트 결과물에
안녕하세요 선생님~다름이 아니라 프로젝트 결과물 ppt로 제작 중인데클론코딩부분도 결과물로 만들어도 되는걸까요?
-
해결됨GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]
refetch 로 인해, 아이템 추가시 자동갱신 불가능
강의에서 기본적인 기능들이 정상적으로 작동한다고 하셨는데,이것저것 테스트하다가 발견한건데, 확인해보니,refetch 로 인하여, 아이템 메뉴를 새로 추가했을 때, 목록이 자동으로 갱신되어 나오지 않았습니다. 새로고침을 해줘야 나오더라구요.물론 강의 말미에 이 기능은 안쓰신다고 지우시긴하셔서 크게 문제가 되지 않았고,이후 이어지는 캐시 강의에서 문제없이 진행되었지만.이해가 안가는 부분이었어서, 질문드립니다.
-
미해결캐글 Advanced 머신러닝 실전 박치기
n_iter 횟수 넘음 질문
안녕하세요,n_iter = 25 로 설정하면 25 에서 끝나야 하는 것 아닌가요? 현재 29까지 갔는데도 반복이 끝나지 않아서 질문 드립니다..
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
60강 테스트가 왜 안되는지 모르겠습니다.
import 다 맞추고 mysql도 다 맞추고 했는데 hikari에서 env가 연동이 안되어서 에러가 뜨네요 왜 그런지 이해가 안됩니다. 벌써 몇일째 60강에서 넘어가지지가 않네요 도와주세요
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
jenkins "Send build artifacts over SSH" - "exec command " 에러시 로그
jenkins "Send build artifacts over SSH" - "exec command " 에러시 디테일한 에러를 보고싶은데요.방법이 없을까요?
-
미해결C# 입문부터 Xamarin Forms(자마린 폼즈) + Maui(마우이) 안드로이드, 윈도우 앱(UWP) 동시에 만들기
예제 파일 다운 관련
예제 파일은 어디서 다운 받나요?
-
해결됨비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
일정시간마다 자동으로 데이터를 생성하는 코드를 짜려고 합니다.
외부 api 에서 ajax를 통해 데이터를 받아오고, 받아온 데이터를 카피해서 mysql 에 삽입하고자 합니다.일정시간마다 반복하는 것은 setInterval 을 활용하면 되는것까지는 구글링을 통해 알아냈는데본 강의에서는 데이터 생성을 postman 을 사용해 수동으로 데이터를 입력하고 전송하셔서 코드 상으로는 어떻게 구현해야 할지 궁금해서 여쭤봅니다! 1줄요약!postman을 통해 했던 데이터 삽입을 코드로 하는 방법이 궁금합니다!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
H2 최신 버전 사용 시 server mode 사용에 따른 application.yml 파일 설정(테이블은 생성됐는데 data.sql INSERT 안될 시 참고)
Spring Boot 3.XX 대 버전으로 최신 버전 사용 시 H2를 이전 버전으로 사용 불가합니다.따라서 H2를 따로 켜서 실행해준 후, catalog-service에서 Server mode로 연결하던지 따로 켜 둔 H2를 연결하던지 선택해야합니다. 이 때, Server Mode로 프로젝트와 H2를 연결시키면 강의 내용의 설정만으로는 data.sql의 INSERT 쿼리문이 동작하지 않습니다. 그렇기 때문에 관련 설정을 application.yml에 추가해주어야 하는데요. 아래와 같이 설정하면 됩니다. stackoverflow와 강사님의 2021년 답변을 참고하여 해결하였습니다. server: port: 0 spring: application: name: catalog-service h2: console: enabled: true settings: web-allow-others: true path: /h2-console datasource: driver-class-name: org.h2.Driver url: jdbc:h2:tcp://localhost/mem:testdb username: sa jpa: hibernate: ddl-auto: create-drop show-sql: true generate-ddl: true defer-datasource-initialization: true sql: init: mode: always eureka: instance: instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}} client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka logging: level: com.example.catalogservice: DEBUG 추가한 내용은 spring.jpa.defer-datasource-initialization과 spring.sql.init.mode 설정입니다.