안녕하세요. 관리자 테이블에 이메일이 유저의 이메일과 다르지 않다고 생각이 들어서 합치는 게 낫다고 생각이 들었습니다. 처음에는 유저에 그냥 합쳐서 새로운 컬럼 role로 관리하려고 했는데, 중복이 있어서 관리자 테이블엔, role 컬럼을 넣어서 user, admin 2개로 추가해서 이제 유저 테이블에서 FK로 사용하려고 하는데 이 방법은 어떨까요? (강의 너무 잘 듣고 있습니다, 제 멘토이십니다ㅎㅎ)
안녕하세요. 강의 끝까지 다 들었는데 갑자기 외래 키 부분에서 궁금한 점이 생겼습니다. DB 설계할 때 테이블끼리 관계를 맺기 위해 외래 키를 지정하잖아요? 그런데 외래 키로 지정을 안 하는 경우도 있나요? 조인 등에 사용될 속성은 있지만, 외래 키 지정은 안 해서 외래 키 제약 조건이 없도록 하는 경우도 있나요?
안녕하세요. 수업 듣다가 궁금한 사항이 있어 질문 드립니다! 중요하지 않을 수도 있는데, 사용자 테이블에서 닉네임이랑 아이디를 따로 해야 하지 않나요? UI 이미지보면 jscode123 이랑 마이페이지에 petya는 다른 것처럼 보이는데 사용자 테이블에 닉네임으로 해도 괜찮을까요?
안녕하세요. ID 와 Password 방식 관련 강의를 보고 있습니다. 강의 영상에서 보면 가입을 zack 이란 아이디로 가입을 하였는데, 대쉬보드에서 보니 Unity 가 자체적으로 생성한 PlayerID 인 : UmpicBxVKu~~~~ 로만 등록되어 있어서요. 그럼 사용자가 자신의 아이디를 밝히면서 관련해서 무언가를 요구할때 서로 의사소통하기가 어렵지 않나요? 사용자가 명시적으로 입력한 id 값으로 찾아볼 수 있는 곳이 있을까요? (현재 강의만 보고 있어서, 직접 대쉬보드를 열어보지 않아서 드리는 질문일 수도 있겠네요 ^^; )
학습관련 질문을 남겨주세요! 상세히 작성주시면 더 좋아요 🙂 아래 질문이랑 차이가 있습니다. 멀티모듈 extenal에서 kakao-client new 모듈을 만들때 모듈은 생성이 안되고 iml파일과 src폴더만 생성입니다. 이럴 때는 어떻게 해야하나요? 그리고 그림처럼 모듈이 없는데 이미 프로젝트내에서 모듈이 존재한다고 합니다. 시도방법: 캐시삭제 clean 후 build 프로젝트 종료후 재시작 Import Module 추가 settings.gradle에서 아래 글자 추가 하고 멀티모듈 생성했는데 iml 파일 만들어집니다. 아래글자 주석 처리했는데도 똑같은 현상 나옵니다. include 'external:kakao-client' 파일은 메일로 보냈는데 확인 부탁드립니다.
멀티모듈 구성 강의에 대해 질문잉 이씁니다. 해당 강의에서 모듈 만들 때 아래처럼 파일 디렉토리가 되어있는데요. search-api ├── src │ ├── main │ │ ├── java │ │ ├── resources │ ├── test ├── build.gradle 제가 만들때는 아래 처럼 됩니다. 저는 왜 선생님 처럼 java로 모듈을 만들면 src 폴더에 아래 파일이 안생기고 lib 폴더만 생기는 이유가 뭘까요? │ ├── java │ │ ├── resources │ ├── test ├── build.gradle 저는 모듈 구성할 때 아래와 같은 창이 나오는데요. 아래에서 grovy를 체크(아래 사진에서 파란색바탕부분임. 아래사진은 안되어있지만 체크함.)했는데 체크 안하고 진행해야 하나요? 참고로 선생님 강의 44초에는 grovy 선택하는 구간이 나와서 저도 체크했어요. 제화면 선생님 화면 참고로 1. IDE에서 자동 생성 옵션 활성화 https://tychejin.tistory.com/340 이링크에 나와있는데로 세팅함. build.gradle을 아래처럼 세팅했습니다. 위 방법 실행 후 ./gradlew clean build 이 명령어 실행 프로젝트를 새로 열기 plugins { id 'java' id 'org.springframework.boot' version '3.3.9' id 'io.spring.dependency-management' version '1.1.7' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } sourceSets { main { java { srcDirs = ['src/main/java'] } resources { srcDirs = ['src/main/resources'] } } test { java { srcDirs = ['src/test/java'] } resources { srcDirs = ['src/test/resources'] } } } 캐시 삭제 후 재 진행 File → Invalidate Caches / Restart 클릭 "Invalidate and Restart" 선택 IntelliJ가 다시 시작되면 Gradle 탭에서 "Reload Gradle Project" 버튼(↻ 아이콘) 클릭 참고로 인텔리제이 2021 얼티미디엇 버전입니다. 위에 파일 아래 메일로 보냈습니다. 혹시 문제점이 있는지 봐주실 수 있으신가요? jaytech108@gmail.com
학생들이 문제를 푸는 시스템을 만들고 있는데요. 문제 갯수도 시험마다 다르고, 각 문제마다 학생들이 저장하는 답변도 달라지니까 이게 관리가 어렵더라고요. 정규화로는 좀 어려운거 같은데.. 혹시 이런경우에 JSON 넣어도 되나요? 그리고 찾아보니까 Postgresql에서 JSON을 지원한다고 하는데 이거 써서 개발하는게 맞는 판단인지 궁금합니다. 혼자서 판단할수 있음 좋겠지만 이제 막 개발배워서 해보는거라 이게 맞는지 모르겠어요.
안그리면 혹시 관계같은거 설정하고 나중에 참고할때 문제가 될 수 있나요? 제 기준으론 orm에서 그냥 1:N N:N 1:1 설정해놓으면 이것만 보고도 별 문제가 없긴 한데요. (엔티티 6개 수준이에요) 엔티티가 10개가 넘어가고 관계 설정이 여러개가 진행되도 ERD 없이 진행해도 괜찮나요?
지금 제가 개인적으로 혼자 만들고 있는 프로젝트가 있습니다. 그냥 아이디어만 갖고 시작한건데요. 아래와 같은 순서로 만들고 있습니다. (1) GPT한테 내가 원하는 기능을 설명한다. (2) GPT한테 View 먼저 그려달라고 한다. (3) View는 데이터 바인딩 안하고 그냥 하드코딩한다. (4) View 보고 GPT랑 토의하면서 기능을 기획한다. (5) 완성된 View를 보고 DB 모델링 한다. (보통 엔티티 하나나 두개정도가 됩니다) (6) 백엔드를 붙인다. 이렇게 해서 하나씩 만들어나가고 있는데요. 이거 잘못된 방법이에요? 그냥 그때그때 DB 모델링에 필요한 컬럼이 생긴다고 하면 넣어주고 빼고 하면서 만들고있거든요.
안녕하세요, 선생님. 강의 감사히 잘 보고 있습니다. 주문수량에 따라 재고량 반영다는 기획일시 테이블 분리는 어떻게 할 수 있을까요? (다른 질문에 답변 올려주신 것 봤는데 직접 하려니 안되서요) 현업에서 일반적으로 매입도 존재할텐데 이 경우까지 포함한다면 재고에 대한 테이블 구성은 어떻게 되는지요? 감사합니다.
안녕하세요, 강사님. 좋은 강의를 예제부터 실무적인 부분까지 고려해서 강의 만들어주셔서 감사합니다. streams 강의 16:55초경을 듣다가 궁금한 점이 생겨 질문드립니다. 주문서비스에서 상품서비스에게 "상품 재고를 변경해주세요"라고, 메시지를 발행하는 것을 비동기로 처리한다고 말씀해주셨습니다. 상품서비스에서 재고 변경 이벤트를 구독해서, 상품 재고 변경이 처리되기 전에, 다른 요청이 똑같은 상품을 조회하는 경우, 상품의 재고가 없지만 상품의 재고가 마치 있는 것처럼 조회가 될 수 있는 동시성 문제가 발생할 수 있다고 생각합니다. 실무 내용을 짧은 강의내에 녹여내는 것이 어려워 일부 내용을 생략하셨다고 생각이 들지만서도, 어떻게 동시성 문제를 예방할 수 있는지 궁금하게 되어 질문 드립니다.
안녕하세요! brew를 통해 직접적으로 MacOS에 설치하는 것이 아닌 Docker Desktop을 설치하여 Docker Container 안에서 redis-server를 설치하라고 말씀해주셨는데 후반부에 말씀해주시는 redis-server 삭제 시 깔끔하게 제거되지 않을 가능성이 있기 때문에 brew를 통한 설치가 권장되지 않는다고 이해했는데 맞을까요?
사용자, 임무 한명의 사용자는 여러가지의 임무를 가진다. 한가자의 임무는 여러명의 사용자를 가진다. 예를들어 양치질하기는 a사용자,b사용자,c사용자로 등록할 수 있기 때문에 상품-주문테이블처럼(아래형식처럼) 테이블 분리되어야하지 않나요? 임무 no 임무명 임무설명 데드라인 1 청소하기 청소하기 1.27 2 빨래하기 청소하기 1.27 사용자-임무 no 임무명 (외래키) 사용자(외래키) 1 1 1 1 1 2
주문할 때마다 배송 정보를 새로 입력하기 때문에 주문 정보 : 배송 정보 = 1 : 1인 건 이해했습니다. 그런데 만약 주문할 때마다 배송 정보를 기본적으로 새로 입력하기는 하지만, 이전에 사용했었던 배송지를 다시 불러오는 기능이 있고, 기본 배송지를 설정하는 기능도 있다고 하면 이런 경우에도 여전히 1 : 1이라고 생각하면 될까요? 관계는 동일하고 불러오거나 기본 배송지 기능은 그냥 코드로 구현하면 되는 걸까요?