안녕하세요 단건데이터(ex: 로그) 처리의 경우에는 크게 고민하지 않고 MERGE를 사용하여 처리하고 있습니다. 하지만 10~20건 이상의 데이터셋이 들어오는 경우에는 어떤 방식으로 처리하는 것이 더 적절한지 고민이 되어 질문드립니다. 데이터 DELETE -> INSERT 2번의 쿼리 수행(또는 BEGIN으로 1번에 수행) 데이터 STATE (I, U, D 등)를 활용하는 방식 화면에서 데이터에 INSERT / UPDATE / DELETE 상태값을 기반으로 서버에서 DELETE 1회, INSERT 1회, UPDATE N회를 수행 실무에서는 작업 공수 문제로 1번 방식(DELETE -> INSERT)을 선택하는 경우가 많았습니다. 다만 이 방법을 사용하면서 DELETE로 인해 발생하는 DB 블록 낭비 기존 데이터의 CREATE_DATE가 유지되지 않아 UPDATE_DATE와 의미 차이가 사라지는 문제 데이터 관리, 유지보수, 성능 측면에서 어떤 방식이 더 바람직한 선택인지 궁금합니다.
안녕하세요 얄코님 객체지향 프로그래밍 섹션 수강 후 디자인 패턴 섹션을 수강하려 하는데 notion의 샘플 코드를 보면 Creational Patterns Structural Patterns Behavioral Patterns 으로 분류하여 나열해놓으셨는데, 강의 순서는 위의 분류와 상관없이 나열되어 있더라구요. 강의 순서에 의도가 있을까요? 별다른 의도가 없는 경우 위에서 분류된 패턴별로 강의를 들어볼까 하여 질문드립니다.
안녕하세요, 이번 강의를 통해 처음으로 헥사고날 아키텍처에 대해서 공부하고 있는 사람입니다. 헥사고날 아키텍쳐를 지키면서 배치, 시큐리티, 이벤트 처리 등등 다양한 기술을 어떻게 사용하나요? 제가 공부해본 바로는 1. 배치: 애플리케이션 계층에 배치를 통해 이루어질 api를 만들어두고, 어댑터 계층엔 배치(Job, Step, Writer, Reader등 )에 관한 설정들을 위치하게 한다. 2. 시큐리티: 전부 어댑터에 위치한다. 이벤트 처리: 이벤트는 도메인으로 간주하고 도메인 계층에 위치시키고, 이벤트 리스너는 어댑터 계층에 위치시킨다. 이벤트를 발행시키는 로직은 애플리케이션 계층에 위치하고, ApplicationEventPublisher 같은 경우는 추상화됐다고 판단하고 그냥 사용하거나, 혹은 인터페이스를 따로 만들어서 사용한다. 이정도인데 큰 흐름에서 제가 이해한 게 맞을까요? 특히 궁금한 건 "이벤트가 도메인으로 간주되어도 문제가 없는지" 입니다. (무조건 도메인이기 보다는 로직을 처리하기 위해 존재하는 dto로 볼 수도 있는 거 아닌가 싶어서요.) 다른 기술들을 헥사고날 아키텍쳐에 적용시킬 때 주의할만한 사항들도 따로 존재를 할까요?
현재 게시판, 중고마켓 모두 로그인한 유저만 댓글을 작성할 수 있도록 변경하여 프로젝트 진행중에 있습니다. 게시판 댓글과 중고마켓 댓글 모두 return되는 BoardComment , UsedItemQuestion 타입에는 모두 User 타입의 정보가 있는데 댓글 생성시 필요한 argument에는 유저 정보를 입력할 수가 없어서 어떻게 유저 정보를 입력할 수 있는 것인지 궁금하여 질문드립니다!
안녕하세요 영한님! "8. 상속 관계 설계" 강의에서, 상품 테이블 을 예시로 들어, 슈퍼타입-서브타입 모델링을 설명해주셨는데요! 만약에 서브타입이 다른 테이블과 관계를 맺게 된다면, 이 케이스에도 슈퍼타입-서브타입 모델링을 적용하는게 괜찮을지 궁금하여 질문을 드립니다! 예를 들어, 신고 내역을 저장하는 테이블을 모델링하는 상황에서, 회원 신고/게시글 신고/댓글 신고/그룹 신고 이렇게 나뉜다면 슈퍼타입-서브타입 상속 전략을 사용해도 괜찮은지 궁금합니다.
안녕하세요 우선 좋은 강의 감사드립니다. 덕분에 Batch에 대한 기본적인 틀을 잡을 수 있을 것 같아요! 중급강의도 기대됩니다. 실습을 따라가던 와중, 멱등성을 유지하기 위해서 궁금한점이 생겨서 질문드립니다. 같은 파라미터로 완료된 job은 재실행을 허용하지 않기 때문에 parameter로 time을 넣어주셨는데요. 그렇게 되면 만약에 job을 실패지점부터 재실행 하고 싶은 경우에는 targetDate 뿐만 아니라 실패한 시간대에 time 파라미터까지 넣어서 재시작을 해야하는 것인가요? 만약에 time 파라미터를 추가한 상태에서, 이전 실행과 다른 time 파라미터로 완료된 job을 재실행 할경우에는 정산 테이블에서 targetDate에 해당하는 값을 DELETE를 하고 INSERT를 진행해야 멱등성이 유지될 것 같습니다. 이럴 경우 DELETE 같은 경우는 Settlement INSERT 작업 이전에 별도의 Step으로 구성이 되야할까요? 만약에 DELETE를 해야한다면 DELETE의 경우에는 targetDate의 해당 하는 값을 한번에 전부 지우고 INSERT를 시작하는지 궁급합니다..!
하이딩과 static, 상속 관련해서 질문이 있습니다. 일반적인 상속 상황을 가정할 때 부모, 자식에게 둘 다 있는 메서드(즉, 오버라이딩): 자식꺼 사용 부모, 자식에게 둘 다 있는 static 메서드: 부모꺼 사용 부모, 자식에게 둘 다 있는 변수: 객체의 자료형(Parent p = new Child();의 경우 Parent의 변수 사용, Child c = mew Child();의 경우 Child의 변수 사용)에 맞는 변수 사용 이 맞을까요?
안녕하세요 오늘까지 전체수업 한번 쭉 들어봤습니다. 고민이 저는 파이썬 장고가 조금 익숙한데 .. 이번강의 에서 Next.js + Supabase조합은 사실 조금 생소합니다. 디버깅등 보다 완성도 있는 코딩을 하려면 AI에만 의존할 수 없는데 그럼 이조합이 가장 이상적인것인지.. 나중에 AI 분석에 들어가면 많은 분석기법을 파이썬에서 해야하는데 그걸 이 웹조합과 연계도 문제가 없는지 그리고 가장 중요한 질문은 지금 처음부터 next.js 나 supabase를 처음부터 공부하기에는 또 이번 수업에 나오는 다양한 기존 툴들 공부하려면 어디서 부터 어떻게 해야하는지요 .. 너무 기본적인 질문인가요
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. '클래스 도입'이라는 강의 16:25 쯤 강사님이 "마치 method을 호출하고 반환한 것처럼 끝나고 나면 참조값을 딱 반환합니다. " 라고 하셨는데 매서드를 호출하고 반환할 때 원래 위치로 돌아가는 것이 참조값을 반환해서 라고 이해하면 될까요? 무슨 말인지 잘 이해가 안 됩니다.
문제 3번을 풀다가 select * from orders o inner join users as u on o.user_id=u.user_id inner join products as p; 이러한 쿼리를 작성하게 되었습니다. 실행 결과로 오류 없이 테이블이 나왔습니다. 그래서 이걸 바탕으로 문제를 풀었다가 결과가 답안과 달라 문제점을 찾다가 on o.product_id=p.product_id 을 작성하지 않은 잘못된 쿼리라는 것 알았습니다. 여기서 질문이 있습니다. inner join이 공통된 부분을 join하는 것이라고 하셨는데, orders와 users를 조인 후 products를 조인 할 때 제가 작성한 쿼리의 경우 연결 조건인 ON을 지정하지 않았는데 어떻게 join하여 결과 테이블이 나올 수 있는 것인가요?