묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
배열을 json화 시키는 방법
[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.질문을 지웠는데, 선생님께서 답변해주셔서 질문을 복구하는 게 예의같아서 다시 적습니다arr[0]=[arr[1]=1arr[2]=,arr[3]=2arr[4]=]일때이 arr을 json 객체화시키는 방법을 질문드렸었습니다선생님께서 이런 특이한 배열은 문자열화 시키고 json.parse()를 쓰라고 가르쳐주셨습니다
-
미해결팀 개발을 위한 Git, GitHub 입문
수업자료 부탁드립니다!
안녕하세요:) 강의 잘 듣고 있습니다!수업자료 부탁드립니다. wldnzzz@naver.com
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
안녕하십니까. 미들웨어라는 단어를 많이 언급하셨는데요.
처음으로 산 노드 강의입니다.노드 생각보다 많이 어려운것 같습니다.제목과 같이 미들웨어라는 개념이 안잡혀있습니다.미들웨어 라는 개념이 많이 중요한가요?모르고서는 노드를 이해하는데,많은 제약이 따를까요?
-
해결됨재고시스템으로 알아보는 동시성이슈 해결방법
낙관적 락 무한루프 도는 이유 공유합니다 !
MySQL을 사용한다면 Isolation Level이 REPEATABLE READ가 기본으로 설정되어 있는데요. 이 때 트랜잭션 안에서 처음 SELECT한 값은 트랜잭션이 끝나기 전까지 몇 번을 다시 SELECT해도 동일한 값으로 읽게 됩니다. 이것 때문에 문제가 발생하는데요...트랜잭션 안에서 낙관적 락이 진행되도록 구현한 상황에서 쓰레드 100개가 동시에 재고를 감소 시키고, 업데이트에 성공하면 version을 1씩 증가시킨다고 해보겠습니다. DB에는 Stock이 100개 version이 1로 세팅되어 있다고 가정합니다.@RequiredArgsConstructor @Service public class ProductService { private final ProductRepository productRepository; @Transactional public void subtractStockOptimistic(int productId, int quantity){ int updatedCount = 0; while (updatedCount == 0){ Product product = productRepository.findById(productId); product.subtractStock(quantity); updatedCount = productRepository.updateStockOptimistic(product); if (updatedCount <= 0) { //업데이트에 실패한 경우 50ms 대기 try { Thread.sleep(50); } catch (InterruptedException e) { e.printStackTrace(); } } } } } <update id="updateStockOptimistic"> update test_product set stock = #{stock}, version = version + 1 where id = #{id} and version = #{version} </update>쓰레드 100개는 처음에 재고를 읽어서 모두 다음 값을 받아옵니다.stock : 100, version : 1제일 빠른 트랜잭션이 업데이트를 성공하고 DB는 다음과 같이 변합니다.stock: 99, version: 2이제 나머지 99개의 트랜잭션은 version이 다르므로 모두 업데이트에 실패하게 됩니다.업데이트에 실패하게 된 트랜잭션들은 재시도를 하게 됩니다.이 때 DB에서 다시 읽어드린 재고는 stock: 99, version: 2일 것 같지만 실제로는stock: 100, version: 1 를 읽게 됩니다.왜냐하면 여전히 하나의 트랜잭션 안에 들어 있고, Isolation Level이 REPEATABLE READ로 처음 읽은 값을 계속 읽게 되기 때문입니다.따라서 첫 트랜잭션을 제외한 모든 트랜잭션은 무한히 실패하게 됩니다.......따라서 한 트랜잭션 안에서 업데이트와 재시도 로직이 진행되지 않도록 @Transactional을 메소드에서 떼주시면 정상 동작하게 됩니다.혹시 정말 Isolation Level 때문인지 확인하고 싶으신 분들은 DB에 Isolation Level을 READ COMMITTED로 바꾸고 테스트를 진행해보시면 @Transactional이 붙어 있어도 정상 동작하는 것을 확인하실 수 있습니다~!
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
안녕하세요 IDE관련해서
안녕하세요!자바 스프링관련 커리큘럼을 전부다 따라가려고하는데 혹시 IDE를 인젤리제이 사용하면 나중에 안좋은점이있을까요???따라가는데 조금 힘든점이있을까요?
-
미해결
회원 리포지토리 테스트 케이스 작성
findByName에서 계속 오류가 나고 작동되지 않습니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
release version 17 not supported
다시 깔고 이것저것 해봤는데 계속 떠요 ㅠㅠ
-
미해결윈도우 악성코드(malware) 분석 입문 과정
5-5강의 수강완료가 안되는데 저만 그런가요?
1~2초 남기고 무한 로딩이네요... 해결방법이 있을까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]모든 코드를 작성하고 빨간 줄은 없는데 실행하면 다음과 같이 뜹니다..다른 분의 질문을 참고해봤는데도 동일합니다..참고한 링크입니다 (https://www.inflearn.com/questions/674179, https://www.inflearn.com/questions/674651)
-
미해결[React 1부] 만들고 비교하며 학습하는 React
[순수JS1]검색폼 3 질문
강사님, 안녕하세요엔터 키 입력 시submit 동작하는 이벤트는어디에 만들어져있는건가요..??따로 작업한 부분이 없는 것 같은데엔터 입력 시 동작하는 이유를 잘 모르겠습니다..감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
초기 실행 문제 도와주세요 ㅠㅠ
실행버튼이 나오지않아서이렇게 실행하려고 해도 실행버튼이 없습니다.자바도 11버전 설치완료했습니다.어떻게 해결해야할까요 ㅠㅠ
-
미해결스프링 시큐리티 OAuth2
강의 순서 관련
OAuth 2.0 Client - oauth2Client() 챕터의 강의 순서가 바뀐 것 같아 문의드립니다.DefaultOAuth2AuthorizedClientManager - Client Credentials 권한 부여 구현하기 강의가 DefaultOAuth2AuthorizedClientManager - Resource Owner Password 권한 부여 구현하기(1) 강의 이후에 배치되어야 하는 것 같습니다.그러고 보니 DefaultOAuth2AuthorizedClientManager - Resource Owner Password 권한 부여 구현하기(1) 강의도 2편인데 ~구현하기(1)로 표시되어 있습니다.
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
사진 업로드시 500에러..
가입후 사진업로드시 500에러가 나서 데이터이름이나 스펠링이 틀린부분이 있나 재 확인했스나 오타는 없었습니다.선생님께서는 해당오류가 안나는지 궁금합니다.
-
미해결
bitlife - Human life simulation game
In the BitLife Life Simulator, you will play a simulation game where you must make life-changing choices. For instance, you could wed the love of your life, start a family, and further your education. You can also choose options that, to be honest, will frighten your parents, but hey, maybe they'll be entertaining? You can start dating, start looking for adventure, start a prison riot, smuggle bags of drugs, or cheat on your significant other. You choose the narrative. Although there are many interactive story games available, this is the first text-based life simulator that can adequately simulate the story.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceINtegrationTest 가 Component가 아닌데 Autowired가 먹히는 이유가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]의존성 주입에 대해서Bean 에 등록된 싱글톤 클래스들 사이에서 자동으로 스프링이 의존관계를 넣어준다고 배웠는데,MemberServiceTestIntegration은 콤포넌트가 아닌데 어떻게 스프링이 의존성을 주입해 줄 수 있었는지 의아합니다. @SpringBootTest 어노테이션에 @Component가 있나 확인해봤으나 없더라구요.어째서 이러한 일이 발생한 것인 가에 대해서 의문을 가지고 있습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
MulterError: Unexpected field 에러 질문
선생님 MulterError: Unexpected field라는 에러가 발생해서routes에서 이미지 업로드 할 때 upload.single('profile')으로 하고 프론트의 해당 input의 name도 'profile'로 맞췄는데도(해당 에러를 검색해보니까 인자와 인풋 네임을 맞추라고 해서요..) 같은 에러가 발생하는 이유가 뭔가요?일단 에러 코드의 전문은MulterError: Unexpected field at wrappedFileFilter (C:\Users\내컴\Desktop\passionary\back\node_modules\multer\index.js:40:19) at Multipart.<anonymous> (C:\Users\내컴\Desktop\passionary\back\node_modules\multer\lib\make-middleware.js:107:7) at Multipart.emit (node:events:390:28) at HeaderParser.cb (C:\Users\내컴\Desktop\passionary\back\node_modules\busboy\lib\types\multipart.js:358:14) at HeaderParser.push (C:\Users\내컴\Desktop\passionary\back\node_modules\busboy\lib\types\multipart.js:162:20) at SBMH.ssCb [as cb] (C:\Users\내컴\Desktop\passionary\back\nodemodules\busboy\lib\types\multipart.js:394:37) at feed (C:\Users\내컴\Desktop\passionary\back\node_modules\streamsearch\lib\sbmh.js:248:10) at SBMH.push (C:\Users\내컴\Desktop\passionary\back\node_modules\streamsearch\lib\sbmh.js:104:16) at Multipart._write (C:\Users\내컴\Desktop\passionary\back\node_modules\busboy\lib\types\multipart.js:567:19) at writeOrBuffer (node:internal/streams/writable:389:12)이렇습니다ㅠㅠ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Whitelabel Error Page
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]h2 db를 연결하고 회원목록 조회 나 회원가입에서 등록을 하면 이미지 와 같은 오류가 발생합니다. intelliJ에서 MEMBER 테이블을 찾을수 없다고 하는데 H2에는 MEMBER테이블이 있습니다. application.properties에도 3줄 잘 작성되어 있습니다.. 고칠려고 여러개의 글을 찾았는데 해결하지 못했습니다. 도와주세요!
-
미해결
1v1 Battle - play with friends
the year's most thrilling shooting game. An incredibly captivating online shooting game is 1v1 Battle. Spend some time playing with your friends; you'll find this to be a great game.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
Querydsl 강의와 연관된 질문
안녕하세요 영한님, 서포터즈님들저는 영한님 Querydsl 강의를 다 듣고 나서 현재 강의를 듣고 있는데, 현재 강의의 querydsl 의 클래스 의존관계와 Querydsl 강의의 클래스 의존관계가 달라 궁금한 점이 생겼습니다.기존 Querydsl 강의에서는 아래의 사진과 같은 클래스 의존관계로 만들었습니다.public interface ItemRepositoryV3 extends JpaRepository<Item, Long>, ItemRepositoryCustom { } public interface ItemRepositoryCustom { } public class ItemRepositoryImpl implements ItemRepositoryCustom { } @RequiredArgsConstructor @Service public class ItemServiceV3 { private final ItemRepositoryV3 itemRepositoryV3; }ItemServiceV3에서는 ItemRepositoryV3를 주입받는데 이때 구현체는 어떤 것인지 궁금해서 코드를 작성해보았습니다.@SpringBootTest class ItemServiceV3Test { @Autowired ItemServiceV3 itemServiceV3; @Autowired ItemRepositoryV3 itemRepositoryV3; @Autowired ItemRepositoryCustom itemRepositoryCustom; @Test void aa() throws Exception { System.out.println("itemServiceV3.getClass() = " + itemServiceV3.getClass()); System.out.println("itemRepositoryV3.getClass() = " + itemRepositoryV3.getClass()); System.out.println("itemRepositoryCustom.getClass() = " + itemRepositoryCustom.getClass()); System.out.println("ProxyUtils.getUserClass(itemRepositoryV3) = " + ProxyUtils.getUserClass(itemRepositoryV3)); System.out.println("ProxyUtils.getUserClass(itemRepositoryCustom) = " + ProxyUtils.getUserClass(itemRepositoryCustom)); } }itemServiceV3.getClass() = class hello.itemservice.repository.v3.ItemServiceV3itemRepositoryV3.getClass() = class com.sun.proxy.$Proxy106itemRepositoryCustom.getClass() = class com.sun.proxy.$Proxy106ProxyUtils.getUserClass(itemRepositoryV3) = class org.springframework.data.jpa.repository.support.SimpleJpaRepositoryProxyUtils.getUserClass(itemRepositoryCustom) = class org.springframework.data.jpa.repository.support.SimpleJpaRepository 그래서 위와 같은 결과를 얻을 수 있었는데요여기서 궁금한 점이 ItemRepositoryCustom 인터페이스는 아무런 제스처도 취하지 않았는데 왜 프록시 클래스가 만들어진건지 모르겠습니다..,,제가 Querydsl 강의에서 놓친 부분이 있다면 어느 부분인지 말씀해주시면 감사하겠습니다.긴 글 읽어주셔서 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
단순 run 할때 intellij 가 꺼집니다.
단순히 run 만 했을뿐인데 intellij 가 툭하고 꺼져버립니다. 세팅에 대해선 건드린점이 없구요...왜그런걸까요 ?