• 챌린지 활동 관련 문의: event@hanbit.co.kr • Q&A: https://discord.gg/KVBC66gY62 질문을 남기실 땐, 아래 3가지를 함께 알려주세요. 1. 해당 부분의 챕터와 페이지 번호 2. 발생한 오류 메시지 텍스트 3. 에러 메시지 또는 오류 화면 캡쳐 Chapter 03 나만의 날씨 알리미 만들기에서 openweathermap api를 받기 위해서 회원가입을 하고 발급받은 api를 넣었는데 사진과 같은 오류가 발생했습니다 이 경우 어떻게 해야 하나요?
안녕하세요 강의 너무 잘 들었습니다. 혹시 creatomate를 대체할 만한 곳 중에 추천해주실 만한 곳이 있을까요? 아무래도 요금제가 부담이 되어서 대체제를 알아보고 있는데(ex. JSON2Video, Shotstack) 혹시 강사님께서 알고 계신 검증된(?) 곳이 있는지 여쭤보고자 합니다 좋은 강의 감사합니다 :)
동시성 이슈에 발생할 수 있는 상황에서, A 변수에 대해 읽기 작업만 수행하는 코드(가시성 문제가 있을 수 있는 코드)에서는 volatile을 고려해볼 수 있고, A 변수에 대해 읽기 + 쓰기 작업도 있는 경우에는 synchronized와 atomic을 고려해볼 수 있겠네요. 제가 이해한 게 맞을까요?
VARS에서 저의 정보를 넣어서 해보았는데 만세력 결과가 년과 월은 맞는데 일과 시가 맞지 않게 나오는데 원래 그런건가요? 아님 만세력 계산 오류를 해결할 수 있는 방법은 없을까요? 006-자산운용가.md 결과를 복사해서 붙여넣기 하고 역슬러시 하여 정리하는 과정에서 결과없음이라고 뜨고 미리보기 열기가 안되는 데 해결 방법이 있을까요 AI에게 해결해주세요 라고 했는데 미리보기는 열리지만 이미지 화된 것을 결과물로 보이지 않습니다.
http://localhost:9900/chart/image?chart_type=bar&values= 이런 주소는 어디서 복사해서 붙여 넣기 한건가요? 영상에 아래 수업내용에서는 확인 했지만 중간에 80.60.95.70 / 뒤에 초년운...등등 은 어디서 복사한건지 ㅜㅜ 모르겠습니다.
설명중에 @Version 필드를 낙관적 락에서 이용할 수 있어가지고~ 라고 하셧는데 실제 돌려보니 비관적락 2에도 DB 업데이트가 되었습니다. AI 에게 물어보니 @Version 어노테이션이 붙은 필드는 JPA 사용시 @Lock 어노테이션 사용여부 상관없이 업데이트가 된다고 합니다. 혹 다른 qna 에도 같은 내용이 있는지 확인은 모두 안해 보았습니다. ======================== 응, 같은 엔터티 row에 실제 UPDATE 가 나가면 @Version 필드는 증가한다고 보면 돼. 락 방식이 낙관적이든 비관적이든 핵심은 이거야. @Version private Long version; 이 필드가 있는 엔터티가 dirty checking으로 변경 감지 되고, flush/commit 때 UPDATE 대상이 되면 JPA/Hibernate가 version 값을 같이 갱신해. ========================
radar.py 에서 보기-명령팔레트 에서 select inter... 항목에서 venv 파이션 항목을 선택해야하는데 생성되지 않습니다. 그래서 다시 안티그래비티를 종료하고 다시 실행해서 언능 명령팔레트를 누르면 venv 파이션이 보였다가 다시 사라지는데...어떤 문제 일까요?
안녕하세요. 우선 좋은 강의 제작해주신 토비님께 항상 감사하고 있어요. 이제 배운지 1년된 왕초보입니당.. 혼자 배워보면서 개인 프로젝트를 만들고 있는데 JPA를 사용하고 있어요. 제가 궁금한 것이... N+1 관련한 문제입니다. 아 일단 프로젝트 주제는 복식부기 가계부에요. @Entity ... public class Journal extends BaseEntity { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "ledger_id", nullable = false, updatable = false) @OnDelete(action = OnDeleteAction.CASCADE) private Ledger ledger; ... @OneToMany(mappedBy = "journal", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true) private List<EntryLine> entries = new ArrayList<>(2); ... public EntryLine getEntryLine(EntrySide side) { switch (side) { case CREDIT : this.entries.stream().filter(line -> line.isCredit()).findFirst() .orElseThrow(...); case DEBIT : this.entries.stream().filter(line -> line.isDebit()).findFirst() .orElseThrow(...); default : throw new ... } } ... // Service에서 저장되기 전에 호출 public void validateSavable() { ... validateJournalSave(); } private void validateJournalSave() { AccountType debit = getEntryLine(EntrySide.DEBIT).getAccountType(); AccountType credit = getEntryLine(EntrySide.CREDIT).getAccountType(); if(!this.transactionType.isValidPlacement(debit, credit)) { throw new ... } } } Journal Class에서 EntryLine List에 접근하고 있어요. 그리고 EntryLine Class는 이렇게 생겼어요. @Entity ... public class EntryLine extends BaseEntity { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "journal_id", nullable = false, updatable = false) private Journal journal; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "account_id", nullable = false) private Account account; ... // private package 접근제어자 사용 // Account는 Category를 참조중이에요. AccountType getAccountType() { return this.account.getCategory().getAccountType(); } } 거래가 저장되기 전에 Journal : validateJournalSave() 에서 this.transactionType에 따라 차변과 대변에 올바르게 위치하고 있는지 검사한 후 저장하고 있는데 이것을 생성과 수정할 때 두 곳에서 사용하고 있어요. Ledger에 5개 Category가 있고, Account는 그 Category를 참조하고 Category에서만 AccountType이 있어요. Journal이 각 EntryLine의 AccountType을 얻기 위해 Journal -> EntryLine -> Account -> Category -> getAccountType() 이렇게 흘러가네요. 이렇게 접근해도 설계상 괜찮은걸까요? Journal을 저장할때는 @Query 사용해서 Fetch Join으로 필요한 Account를 가져오고 있는 상황이에요. Journal이라는 엔티티가 비즈니스 로직 수행을 위해서 다른 엔티티의 필드까지 깊게 참조?? 가져오도록 설계하는게 옳은건지 모르겠어요.