강의와 관련된 질문은 아닌데요 혹시 병현님 PC 사양이 구체적으로 어떻게 되나요? 케이스는 써멀테이크 파워는 마이크로닉스 클래식2 인거는 알겠는데.. 나중에 PC 맞출 때 참고 하려고 합니다. 그리고 병현님 PC 사양으로 많은 양의 데이터를 시각화 했을 때 얼마나 빠르게 되나요? 프로그램 별로 알려주시면 감사하겠습니다. 추가 질문이 있는데, IBM SPSS나 Tableau는 강의에서 안 다루시던데 SPSS,태블로를 사용하지 않는 이유가 무엇인지도 알려주시면 감사하겠습니다.
AI 시대, 반나절 만에 웹사이트 개발부터 배포까지 - 포트폴리오 사이트도 완성 (Gemini CLI, MCP)
Failed to sign in. Message: This client is no longer supported for Gemini Code Assist for individuals. To continue │ │ using Gemini, please migrate to the Antigravity suite of products: https://antigravity.google 메시지 뜨면서 로그인이 되지 않습니다. 실습이 불가한 걸까요?
안녕하세요 Git 설치 시 기본 에디터(편집기) 프로그램을 선택하는 단계에서, 'Use Visual Studio Code as Git's default editor'를 선택해도 Next 버튼이 활성화되지 않습니다. 해결방법 또는 Git 설치 전 사전 작업이 필요한지 문의 드립니다. (Use the Nano editor by default 선택 시에는 Next 버튼 활성화됨)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 스프링 빈 등록 방법 중 @Autowired를 사용해 자동으로 등록하는 방법과 자바 코드로 직접 스프링 빈을 등록하는 방법 두 가지를 모두 알아야 한다고 하셨는데, 그 이유가 무엇인가요?
강의를 보며 따라하려는데 Search API (검색 API)관련 이관된거 같습니다. 검색 목록이 뜨질 않습니다. 그리고 대가들의 노드 이후 강의와 프롬프트 파일이 이전과 좀 다른거 같습니다. css스타일이 먹지않아서 그런건지... 따로 첨부해주신 동영상은 부가설명인가요??
이 강의를 듣기 전에 저는 claude desktop과 기획회의를 한 후에 spec.md(PRD보다 좀더 구체적인 형태)과 WBS.md(선생님 강의에서 roadmap같은)을 만들고, claude code한테 이 파일을 참고하라고 하는 편이었는데요, 이렇게 안하고 굳이 desktop과의 프롬프트를 code한테 복붙해줘야 할 이유가 있을까요? 토큰 사용량 효율 때문일까요?
완강 후, 다시 듣기를 하면서 실습 중에 있습니다. 모든 것을 초기화해서 재실습 중입니다. 권한 부여하기 json 구문을 복사해서 설정 후 파워셀에서 claude를 실행했습니다. 동영상에서는 바로 accept edit on 모드로 전환되어 있는데, 제 Claude에서는 auto mode on 상태로 있더군요. shift+tab to cycle이라고 있길래 두번 클릭하니, accept edits on 모드로 전환됐습니다. 한번 모드를 전환 후에는 계속 현재 모드 상태로 남아 있긴 하네요. 이유가 있을까요? 이래서 초기 실습 때 자꾸 실행해도 되는지 묻는 상황이 벌어진 듯 하네요. 저처럼 모드를 수동 전환해야하는 것을 모르는 강의 듣는 분들이 계실 수도 있겠다 싶습니다.
안녕하세요 쿠케님! 현재 구현되어 있는 댓글 삭제 로직을 보면 1. 댓글 조회 2-1. 자식 댓글이 존재하면 deleted=true 로 변경 2-2. 자식 댓글이 존재하지 않으면 댓글을 물리 삭제하고, 부모 댓글을 재귀적으로 삭제 이렇게 구현되어 있는데요. 동시성 문제가 발생할 수 있겠다는 생각이 들었습니다! T1 삭제 트랜잭션 T2 답글 트랜잭션 ──────────────────────────────────────────── SELECT 부모 SELECT 자식 → 없음 SELECT 부모 → ACTIVE INSERT 답글 COMMIT DELETE 부모 COMMIT (제가 잘 분석한게 맞나 모르겠네요 ㅎㅎ) 물론 이렇게 꼬일 확률은 낮지만, 이런 케이스에 대해서는 select for update를 거는 것이 좋을지, 아니면 fk를 추가하여 정합성을 보장해줘야 할지, 쿠케님 의견을 묻고 싶습니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (모름) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 궁금증이 생겨서 질문을 드립니다. 현재 시점(26.8) 에서 강의를 듣고 있는데요. pdf 을 보면, 시간 지남에 따라 assertEquals() 내용이 달라 지듯이, 그 동안 강의 에서 배운 assertj 의 assertThat().isEqualTo()나, 다른 방법 들이 있어서 어떤 것을 쓰는게 맞는지 몰라서 여쭈어 봅니다. 첫 번째는 assertEquals(), assertThat()이고 두번째는 assertThrows() , assertThatThrownBy() 입니다. 영한님 이라면 어떤 것들을 쓰실지 궁금합니다. 답변 부탁 드립니다.
안녕하세요, 강사님. Shape 클래스 실습을 진행한 결과물을 공유드립니다. 실습 내용을 바탕으로 도형의 크기를 부모 클래스에서 관리하고, 각 자식 클래스에서 기본 크기를 지정할 수 있도록 생성자를 구성해 보았습니다. 시간 괜찮으실 때 구현 방향에서 어색한 부분이나 개선하면 좋을 점이 있는지 간단히 봐주시면 감사하겠습니다. 또한 이번 실습에서 추가로 생각해 보면 좋을 내용이 있다면 함께 알려주시면 감사하겠습니다. 감사합니다. package java2_30; import java.util.Scanner; /** * 화면에 출력할 수 있는 도형의 공통 부모 클래스입니다. * * 현재 실습에서는 삼각형과 정사각형만 다루므로, * 가로와 세로를 구분하지 않고 하나의 size 값으로 크기를 관리합니다. */ abstract class Shape { private final int size; protected Shape(int size) { this.size = size; } protected final int getSize() { return size; } /** * 각 도형의 모양을 콘솔에 출력합니다. */ abstract void render(); } class Rectangle extends Shape { private static final int DEFAULT_SIZE = 4; public Rectangle() { this(DEFAULT_SIZE); } public Rectangle(int size) { super(size); } @Override public void render() { for (int i = 0; i < getSize(); i++) { for (int j = 0; j < getSize(); j++) { System.out.print("*\t"); } System.out.println(); } } } class Triangle extends Shape { private static final int DEFAULT_SIZE = 5; public Triangle() { this(DEFAULT_SIZE); } public Triangle(int size) { super(size); } @Override public void render() { for (int i = 0; i < getSize(); i++) { for (int j = 0; j <= i; j++) { System.out.print("*\t"); } System.out.println(); } } } class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("사각형은 0, 삼각형은 그 외 숫자를 입력하세요: "); int input = scanner.nextInt(); Shape shape; if (input == 0) { shape = new Rectangle(); } else { shape = new Triangle(); } shape.render(); scanner.close(); } }
강사님 안녕하세요, 좋은 강의 여러번 반복해서 잘 듣고 있습니다. 재고 감소와 비교했을때 차이점이 궁금하여 문의드립니다. 안녕하세요 강사님 이전 재고 관리 강의와 차이에 대해 궁금합니다. 이전 질문을 참고하였으나 추가로 더 궁금한게 있어서 문의드립니다. 재고 감소와 쿠폰 발급의 차이점이 너무 헷갈려서 정리하고 있습니다. 두 경우 모두 한정된 수량을 여러 요청이 동시에 차지한다는 점에서는 비슷해 보입니다. 그렇다면 쿠폰도 이벤트 테이블에 잔여 수량을 100개나 300개로 설정하고, 재고처럼 수량을 차감한 뒤 사용자 쿠폰을 생성하는 방식으로 구현할 수 있지 않을까요? 강의에서는 쿠폰 발급의 정합성을 위해서 전체 로직에 락을 걸 필요가 없다고 하셨는데, 그러면 반대로 재고 감소 같은 경우도 마찬가지로 재고 감소의 정합성을 위해 전체로직에 락을 걸 필요 없이 다른 방법으로 하는게 더 나은 방법 아닌가요?? 비슷해 보이는 한정 수량 문제를 서로 다르게 푼 이유를 잘 모르겠습니다 ㅠㅠ