[질문 내용] 안녕하세요 선생님!! 정말 좋은 강의 감사드립니다. 이제 드디어 선생님 강의를 크게 한 바퀴 돌리고 프로젝트를 진행하고 있습니다. 한 가지 궁금한 점이 생겨서 이렇게 질문을 남기겠습니다. 제가 지금 멤버 엔티티를 설계하고 있는데 유니크 제약조건에 대한 고민이 생겼습니다. 먼저 제가 loginId와 email 두 필드 각각 유니크 조건을 걸었습니다. 코드는 아래와 같습니다. 이렇게 이제 postman을 사용해 email과 loginId 테스트를 진행하면 아래와 같은 예외가 발생합니다. (데이터베이스는 h2 데이터베이스 사용중입니다) org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Unique index or primary key violation: "PUBLIC.LOGINID_UNIQUE_INDEX_8 ON PUBLIC.MEMBER(LOGIN_ID) VALUES 1"; SQL statement: 이제 여기서 고민이 생겼습니다. 위 예외를 상속해 사용자 정의 예외를 만들어서 예외를 처리하고 싶은데 h2 데이터베이스에 의존하는 것 같아서 좋지 않다고 생각합니다. 이런 경우에는 어떻게 예외를 다룰 수 있을까요?? 혹시 제가 로그인 처리를 이메일과 로그인 아이디로 하고 싶어서 이렇게 설계를 했는데 유니크 제약 조건 말고도 해결할 수 있는 다른 방법이 있을까요?? (서비스에서 해당 값의 중복을 검사하는 방법을 생각해보았습니다.) 늘 좋은 강의 정말 진심으로 감사드립니다!!! ㅎㅎ
저는 아파치/php 를 사용하고있습니다! 일반 리액트는 build 를 하면 build 폴더가 생성되어 서버가 어떤 것이든 폴더만 업로드하면, 사용이 가능했는데, nextJS 는 build 폴더가 생성이 안되고 서버컴퓨터에서 npm build 후, npm start 명령어를 실행해야만 실행이 되는 것 같더라구요. 즉, 우분투 제어가 가능한(node 설치 및 명령어 실행 가능) 클라우드 서버만 사용이 가능한가요?
postgresql-11.2 dbeaver-22.0.4 강사님 안녕하세요. Postgre 14버전 설치시 에러가 나서 11버전으로 설치했는데 14버전으로 설치하지 않아서 인지 복원시에 저런 에러가 납니다. 14버전으로 설치시 이런 에러가 나서 구글링을 하여 여러 방법을 사용해 봤으나 실행되지 않아 11버전으로 설치하였습니다
안녕하세요 먼저 좋은 강의 감사드립니다. 강의를 보고 크롤링을 시도하던 중 무한 스크롤부분에서 문제점이 발생했습니다. 제가 크롤링 하려고 한 사이트에서 전체 데이터를 보기 위해서는 무한 스크롤을 진행 해야 하는데, 데이터 더보기를 클릭하면 오로지 마우스 스크롤로 밖에 내려갈 수 없는 창이 등장합니다. 이곳에서 스크롤을 진행하려면 셀레니움으로는 불가능 한건가요? 키보드의 pgdn키나 end키가 사용불가능하고 옆에 스크롤창이 등장하긴 하지만, F12키를 누르면 스크롤창클릭할 수 있는 태그가 존재하지 않습니다.
1. 왜 isFirstCondition변수를 넣은것인지 궁금합니다. 애초에 반복문도 없고해서 status쪽에서 isFirstCondition은 t인거 아닌가요? 의미가 없어보여요 isFirstCondition라는 변수를 추가했기때문에 만약에 앞에서 where조건문을 넣었다면 and로 이어가게 하려고 한 것 같은데.. status에서는 isFirstCondition의 값을 확인하는것이 의미없는 행위이지않나요? 2. findAllByString코드는 아래코드와 같은 코드인것같은데 왜 보여주시는건가요? return em.createQuery("select o from Orders o join o.member m" + " where o.status = :status" + " and m.name like :name", Orders.class) .setParameter("status", orderSearch.getOrderStatus()) .setParameter("name", orderSearch.getMemberName()) .setMaxResults(1000) .getResultList();
원본 인스턴스 삭제 시 데이터베이스 스냅샷은 살아있지만 AB의 경우 스냅샷이 삭제된다고 하셨는데, AB를 쓰면 스냅샷을 쓰지 않는 거니까 S3에 보관된 데이터들이 사라진다는 건가요? 아니면 AB를 쓰면서 스냅샷을 쓰면 스냅샷들이 사라진 다는 건가요? (그렇게 이해하기에는 디폴트로 설정되어있다고 설명해주셔서...) ---- 실습 강의 보고 이해했습니다. AB의 경우에도 백업이 스냅샷형태로 이루어지는 것이고, AB에서 만든 스냅샷은 원본 인스턴스 삭제 시 사라진다는 뜻이군요 저처럼 혼선을 겪는 분들이 있을까봐 내용은 남겨두겠습니다. +) 그럼 S3에 올라간 로그 데이터들은 원본 삭제 시 어떻게 되나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 인프런 아이디 : sm-seong 인프런 이메일 : sm-seong@cocen.com 깃헙 아이디 : sm-seong@cocen.com 깃헙 username : sleepsm
OLTP vs OLAP 이 개념들이 뭔지 설명해주시고 들어가면 좋을 것 같아요 바로 OLTP vs OLAP를 말씀하시니까 정확히 뭘 하는 애들인지 감이 잘 안 오는 것 같아요 그리고 설명 슬라이드의 인서트와 같이 종종 사용되어지는, 혹은 규모가 작은 데이터를 불러올 때 사용되는 SQL 쿼리 이 부분도 사실 직관적인 것 같지는 않습니다...
modelToRequestAttribute 의 request 객체의 scope 범위 질문 드립니다. 아래 코드 modelToRequestAttribute 에서 request에 set 을 하고 별도로 호출했던 함수에게 return 하지 않아도 render 함수에서는 최종 set된 requset 객체를 사용할 수 있는지 궁금합니다. (기본적인 질문 같은데 죄송합니다.) public void render(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { modelToRequestAttribute(model, request); RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); } private void modelToRequestAttribute(Map<String, Object> model, HttpServletRequest request) { model.forEach((key, value) -> request.setAttribute(key, value)); }
안녕하세요 선생님, 웹 퍼블리셔 국비 수업과 선생님 강의를 병행하면서 제 포트폴리오 사이트를 만들었습니다. 근데 막상 지원서를 넣을려고 하니 남들보다 나이도 있어서 그런지 두려움이 앞서네요. 국비수업을 진행하는 선생님께서는 그냥 괜찮게 만들었다고만 하셔서.. 제 포트폴리오가 어떤 상탠지 객관적으로 구분이 안가서 글을 남깁니다. 제 포트폴리오를 봐주실수 있을까요?... 무리한 부탁인것은 알고있습니다! 안되시면 부담없이 안된다고 해주세요..!
안녕하세요, 선생님. svelte에 관한 질문이 아니어서 죄송합니다. 강의 도입부에 vuejs와 svelte를 비교하시면서 vuejs는 인라인 핸들러가 권장되지 않다고 말씀해주시고 그 이유까지 설명해주셨는데 공식문서(https://vuejs.org/guide/essentials/event-handling.html)에는 그런 내용을 찾을 수가 없었습니다. 강의를 촬영한지 오래되셔서 기억이 잘 안나시겠지만, 혹시 기억나신다면 출처를 알 수 있을까요? 구글링을 하더라도 둘의 차이를 설명하는 글이 거의 없어서 검색이 어렵네요. 관련 키워드라도 알려주시면 감사하겠습니다!!!
버전 차이로 인해 다른 분들도 에러 사항이 있는 걸로 알고 있습니다. 저도 v2.15.8을 쓰며 강사님과의 파일 구조가 다른데요. 저도 error 화면을 구현하며, 다른 분들과 동일한 에러 발생하여 루트에서 layouts 폴더를 새로 생성하여 error.vue를 생성, .eslintrc.js의 rules에서 multi-word-component-names 를 설정해주어 오류를 해결했습니다. 버전 업하면서 프로젝트 구조가 달라진 것은 해당 프로젝트를 쓰지 않으려는 nuxt의 앞으로의 방향으로 이렇게 변화된건지 궁금증이 생겼습니다. 초기 프로젝트 생성 시 기존에 없던 layouts 디렉토리를 생성하여 구현해나가는 것이 코딩 컨벤션에 어긋나지 않는지. 앞으로도 강사님의 폴더 구조대로 새로 폴더를 생성하여 개발하는 것도 괜찮은지 여쭙고 싶습니다.
저 구간에서 강의내용은 MyConstants.h 에 pi를 초기화 했을 때 주소값을 출력했을 때는 In main.cpp pi주소값과 In test.cpp pi 주소값이 다르게 나왔는데 MyConstants.h에서는 pi 선언만 해주고 별도의 cpp 파일(MyConstants.cpp) 에서는 초기화를 해준 다음 In main.cpp pi 주소값과 In test.cpp pi 주소값을 출력했을 대는 주소값이 같게 나온다는 내용이었습니다. 결과는 보여주셨는데 왜 첫번째 예시에선 주소값이 다르게 나오고 두번째 예시에서는 주소값이 같게 나오는지 그 이유는 알려주시지 않은것 같아서 질문드립니다. 앞 강의에서 얘기를 하셨다고 했지만 한 번 더 설명 부탁드립니다.
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
12분 16초 쯔음에 StatInfo* monsters_0 = monsters; 라고 적으시면서 '첫번째 시작주소'를 포인터로 추출한다고 하셨는데 monsters라는 배열의 첫번째 주소인지 어떻게 알 수 있는건가요? monsters +3 이런 식으로 숫자가 안붙으면 맨 처음으로 이해하면 되는 건가요? 아니면 monster_0이라는 변수로 monsters라는 배열에 첫번째로 넣었으니 첫번째 주소인건가요?