묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
낙관적 락 테스트 실패
안녕하세요 낙관적 락을 활용해서 조회수 증가 동시성 테스트를 하고 있습니다! 영상처럼 동일하게 로직을 작성해서 테스트 하는데 동시성 처리가 전혀 안되는 상태라 질문 드립니다ㅜㅜ아래는 Board 엔티티입니다!import jakarta.persistence.*; import lombok.Getter; @Getter @Table(name = "board") @Entity public class Board { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; @Column(name = "view") private long view; @Version private Long version = 0L; public Board(String title, long view) { this.title = title; this.view = view; } public void increaseView() { this.view += 1; } public Board() { } } 서비스 로직입니다! Catch 부분을 전혀 타지 않는 상태인거 같습니다 @Transactional public void increaseViewCountOpticLock(final long boardId) throws InterruptedException { while (true) { try { Board board = boardRepository.findByIdWithOptimistLock(boardId); board.increaseView(); // 조회수 증가 boardRepository.save(board); // 저장 break; // 성공 시 루프 탈출 } catch (ObjectOptimisticLockingFailureException e) { log.info("========================="); Thread.sleep(50); } } } import jakarta.persistence.LockModeType; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Lock; import org.springframework.data.jpa.repository.Query; import org.tkdgus.concurrdemo.entity.Board; public interface BoardRepository extends JpaRepository<Board, Long> { default Board getBoardById(long boardId) { return findById(boardId).orElseThrow(IllegalArgumentException::new); } @Lock(LockModeType.OPTIMISTIC) @Query("SELECT b FROM Board b WHERE b.id = :boardId") Board findByIdWithOptimistLock(long boardId); } DB는 MySQL이고 트랜잭션 격리 수준이나 이런건 다 기본 설정 그대로입니다! @Test @DisplayName("낙관적 락 동시성 테스트") void increaseViewCountOptimisticLock() throws InterruptedException { long boardId = 1L; int concurCnt = 100; ExecutorService executorService = Executors.newFixedThreadPool(32); CountDownLatch latch = new CountDownLatch(concurCnt); for (int i = 0; i < concurCnt; i++) { executorService.submit(() -> { try { boardService.increaseViewCountOpticLock(1L); } catch (InterruptedException e) { throw new RuntimeException(e); } finally { latch.countDown(); } }); } latch.await(); BoardDto afterBoard = boardService.findBoard(boardId); assertThat(afterBoard.view()).isEqualTo(concurCnt); }위 테스트 코드로 테스트 하면 100이 아니라 항상 10으로 나오는데 원인을 도저히 모르겠습니다ㅜㅜ
-
미해결
화면이 보이지 않고 소리만 납니다.
2강 세 번째쯤부터 한편 보고 나면 그다음부터 소리만 납니다. 방금 봤던 강의도 마찬가지고요.다시 접속해도 마찬가지고.. 수강한 직후부터 며칠째 이러고 있습니다.컴퓨터를 완전히 끄고 다시 접속해야 화면이 보이고 한편 끝나면 다시 소리만 납니다.인프런에서 여러 개 강의를 들었지만 이런 일은 처음입니다.한 두개도 아니고 이런 식으로 전체 강좌를 듣기 곤란합니다.해결 안되면 환불 부탁드립니다.
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
이중 슬롯에서 props 처리
안녕하세요!UI 라이브러리를 이용해서 공통 컴포넌트를 개발하고 있습니다.UI 라이브러리 컴포넌트 중에 slot이 있는 경우에는,아래와 같이 이중 slot을 적용했습니다.제가 만든 컴포넌트가 commonComponent이고,그 안에서 라이브러리에서 제공하는 ui-component를 사용하는 경우입니다. *commonComponent.vue<ui-component> <template #uiSlot="v"> {{ v }} // Boolean <slot name="common" v-bind="v"> </slot> </template ></ui-component> 그럼 실제 화면 개발 시에는,아래와 같이 전달을 하게 되는데...v 값이 Boolean으로 들어와야 하는데 Object로 들어옵니다. <common-component> <template #common="v> {{ v }} // Object </template></common-component> 콘솔을 찍어보면 #uiSlot="v" -> 여기는 Boolean인데,#common="v -> 여기서는 Object로 변경됩니다. 이중 또는 중첩된 Slot에서 props를 전달할 때, 어떻게 해야 할 지 모르겠어서 질문 드립니다 ㅜㅜ
-
미해결대세는 쿠버네티스 (초급~중급편)
대시보드가 나오지않습니다 ㅠㅠ
deploying file 에러가 발생해서 해당 에러 해결할려고 위 댓글처럼 대시보드 삭제하고 다시 다운받았는데 대시보드 자체가 안나와요 ㅠㅠ pod -a 로 확인해도 대시보드 pod은 잘돌아가고 있는거같은데 뭐가 문제인지 모르겠습니다
-
미해결AWS 클라우드 이해와 실습
AWS 스크립트 안되시는 분 참고하세요
[수정]https://catalog.workshops.aws/general-immersionday/en-US/basic-modules/10-ec2/ec2-linux/2-ec2이 링크에 쭉 내리다보면 스크립트 파일 있습니다. zip file 버전이 계속 변경되나 봐요
-
미해결대세는 쿠버네티스 (Helm편)
블로그에 출처를 남기고 정리해도 될까요?
블로그에 출처를 남기고 정리해도 될까요?
-
해결됨홍정모의 따라하며 배우는 C언어
values[ ]와 * values 관련 질문드립니다.
안녕하세요. 강의를 들으며 필기를 하던 중 확신이 가지 않는 부분이 있어 질문드립니다.아래에 작성한 코드에서 동적 메모리 할당을 통해 FAM과 구조체를 어떻게 연결하여 활용할 수 있는지 대한 과정을 주석으로 정리했습니다. 이 과정이 정확한지 확인 부탁드리며, 또한 FAM을 구조체의 마지막 멤버로 선언해야 하는 이유가 해당 과정으로 인한 규칙인지 궁금합니다.또 필기 중 제가 이해한 부분에 틀린 내용이 있다면 피드백 주시면 감사하겠습니다. [ 필기 내용 ]values[ ]는 메모리 차지 x , * values는 포인터 변수 자체가 메모리 차지 values[ ]는 구조체와 같은 메모리 블록에 존재, * values는 구조체와 독립된 메모리 블록에 위치struct flex* pf = (struct flex*)malloc(sizeof(struct flex) + n * sizeof(double)); // 동적 할당으로 sizeof(struct flex) + n * sizeof(double) 크기의 메모리 할당 // 이 메모리를 struct flex* 타입으로 캐스팅 (해당 메모리의 주소를 struct flex*로 사용할 것을 지정) // 다른 멤버의 크기 (구조체의 고정 멤버) sizeof(struct flex) 계산 후, 남은 공간을 배열이 차지 다른 구조체 포인터 변수에 값 대입 시 values[ ]의 메모리(값)는 복사 x, * values는 원본과 같은 메모리 참조
-
미해결
vivado 설치할 때 configuration file 저장이 안됩니다.
vivado 설치할 때 configuration file로 들어가서 편집한 다음에 저장하려고 esc누르고 shift를 눌러도 :가 안 떠서 저장할 수가 없습니다. 어떻게 해야될까요?
-
해결됨데이터분석 준전문가(ADsP) 자격증 대비
59 확률분포 차례인데 58 확률 기본 용어 강의가 동일하게 나옵니다.
이전 강의(확률 기본 용어)와 내용이 같습니다....... 인프런의 다른 강의들은 안그런데, 이 강좌는 유난히도 교재 및 강의영상 관련 문의가 많네요. 한 번에 쭉 점검 한 번 해주시는게 어떨까요....... 순서대로 들어야 하는데, 질의 남기고 기다렸다가 자료나 동영상 다른데서 봐야하고. 강의 수강일수도 정해져 있는 강의인데, 흐름이 엄청 끊깁니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-L 어디가 틀렸는지 모르겠습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강의를 보지 않고 다시 풀어봤는데 틀렸다고 나오네요예제는 올바르게 출력되는데 어디가 문제일까요??http://boj.kr/02d16c630e354150a7ab48c2ceda27a0
-
해결됨[백문이불여일타] 데이터 분석을 위한 기초 SQL
CEIL, FLOOR 함수 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.CEIL함수와 FLOOR함수 또한 소수점에서도 올림과 내림이 가능한가요?ex) SELECT CEIL(5.55, 2) => 5.56 이런식으로 가능한지 궁금하네요해커랭크하고 w3school 에서는 에러나더라구요
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
api 버그를 활용한 서체 일괄체크에서 글자색 모두 바꾸기가 안되서 문의드립니다
안녕하세요. 한글 2024버전에서 API 버그가 픽스 됐는지 FaceNameHangul = "모두" 로 바꿔서 실행하면 콘솔창에서도 out값이 False로 출력되면서 작동이 안됩니다. 한글이 버전업 되면서 버그 픽스가 된걸까요? 실행화면 첨부합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
다른 풀이
http://boj.kr/07a720d2a75341d19919c4112a7f0c8f 위와 같이 풀었는데, 너무 비효율적이진 않은가 고민입니다.
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
실습 코드 깃허브 업로드
안녕하세요! 데이터분석 직무로 SQL 수업을 듣게 되었습니다! 혹시 실습하면서 정리한 코드 깃허브에 업로드가 가능할까요? - 강의 영상에 대한 질문이 있으시면, 상세히 문의를 작성해주시면, 주말/휴일 제외, 2~3일 내에 답변드립니다 (이외의 문의는 평생 강의이므로 양해를 부탁드립니다.)- 강의 답변이 도움이 안되셨다면, dream@fun-coding.org 로 메일 주시면 재검토하겠습니다. - 괜찮으시면 질문전에 챗GPT 와 구글 검색을 꼭 활용해보세요~- 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!
자료를 다운받았는데 주피터에 뜨지않습니다
제발 도와주세요... 아무리해봐도 주피터에 뜨지않아요pip 명령어를 통해 extension업그레이드도 해봤는데 안되요..
-
미해결
콘솔 메시지
콘솔창에 출력값이 안뜹니다
-
미해결입문자를 위한, HTML&CSS 웹 개발 입문
소스링크가 없습니다!
CSS 강의 Ep04 보시면영상 설명란에 소스 코드 링크가 있다는데 대체 영상설명이 뭔지 잘 모르겠습니다.여기에ㅣ 대체 어느 버튼인건가요? 아무리 찾아봐도 못찾겠습니다..
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
비용
강의를 나눠서 듣는 중인데요. 안 들을 때는 비용 나가지 않게 aws EC2 종료를 매번 해야하나요? 탄력적 IP 를 오래 사용 과금이 있을 수 있다고 하는데, 걱정되어 질문 드립니다!
-
해결됨스프링 시큐리티 OAuth2
클라이언트에서 userinfo 엔드포인트 호출 시 질문
안녕하세요강의 초반에 oauth2Login api를 사용하여클라이언트에서 token 요청 후 scope email, profile 이렇게 userinfo 엔드포인트 요청 시인가 서버에서 해당 요청을 받아서 리소스 서버에게 토큰 검증을 맡기고 검증을 성공하게 되면 리소스 서버에 저장된 사용자 정보를 바로 클라이언트에게 전송하나요? 아니면 다시 인가서버로 전송하나요?만약 scope에 openid가 포함이 안되어 있다면 인가 서버에서토큰 검증을 수행 후 사용자 정보를 안주는 거 같은데 우리가 보통 사용하는 google, 카카오 네이버 이런 거는 포함 안 시켜도 줬는데.. 또 강의 초반에는 키클록을 사용했는데 이건 키클록 구현과는 좀 틀린가요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의 자료 부탁드립니다.
강의 자료 부탁드립니다.sindori1@naver.com 입니다.감사합니다.