안녕하세요. 현재 몽고디비 버젼이 4.4인데 저는 예전에 깔아 놓은 거라 현제 제 몽고디비 버젼은 4.2.8 입니다. 예전에 다운 받은 거라 npm 으로 받았는지 아님 매뉴얼로 받았는지 기억이 잘 안나네요. 혹시 4.4버젼으로 업그레이드 시켜야 되는지 궁급합니다. 그리고 업그레이드 자료를 봤는데 솔직히 너무 복잡한데 좀 업그레이드 하는 방법을 그르쳐주시면 감사하겠습니가. 전 mac pro 16 big sur을 쓰고 있으며, 터미널은 zsh 을 쓰고 있습니다. 제가 아직 많이 잘 몰라서 이런것 여쭤보게 되어 죄송합니다.
매번 좋은 강의 감사합니다. 하지만 실력이 미비해서 사소한 질문을 슬쩍 드려요:) [ If (self.runningState) return; ] 이 부분은 선생님 설명으로는 self.runningState가 참이면 함수가 종료한다는 명령어라 하셨는데요. 처음보는 형태라 잠시 당황했습니다. 이런 축약형태를 알고 쓰는 것은 다른 분들 예제를 많이 보고 공부하는 방법이 가장 빠를까요? 프로그래밍 언어 특성상 이런 부분이 자주 업데이트 되는 것 같은데 매번 어떻게 공부하는 것이 가장 효율적인지 여쭙니다. 강의가 다 끝나가는 시점이라 앞으로 어떻게 스스로 찾아 공부해야 할지 걱정이라서요 ㅜ 감사합니다!
제가 강의를 보기 전에 먼저 아래와 같이 작성 해봤습니다. 4분20초쯤에 for of로 하면 안된다고 말씀하셨는데 이렇게 작성하면 안 되는 건가요? 받은 문자열 하나하나 꺼내서 answer에 indexOf 해서 값(문자)이 없으면(-1) answer에 누적 시키게 작성했습니다. 결과 값은 동일하게 잘 출력됩니다. 강의 코드대로 작성하는 게 효율성에서 더 좋은 건가요? function solution(string) { let answer = ''; for (const x of string) { if (answer.indexOf(x) === -1) { answer += x; } } return answer; } const str = 'ksekkset'; console.log(solution(str));
안녕하세요. 강사님. 강의 초반에 임의 행렬 R로 예측행렬을 구하는 부분에서, R 행렬에 데이터를 추가해서 예측 평점이 어떻게 변하는지 실습해봤습니다. 아래처럼 마지막에 list 하나 추가해주었습니다. 그리고 나머지 과정을 모두 동일하게 하여 Matrix 분해 후 재결합 하였는데 아래와 같이 음수값이 나옵니다. 피쳐 값이 모두 양수인데 내적으로 구한 예측 행렬에 음수 값이 나올 수 있는지요? 그럼 답변 부탁드립니다. 감사합니다.
안녕하세요 수업시간에 배운 https://github.com/datitran/raccoon_dataset 데이터셋을 VOC로 활용해보고 싶은데, VOC 공식 데이터는 https://deepbaksuvision.github.io/Modu_ObjectDetection/posts/02_01_PASCAL_VOC.html 사이트에 있는 것처럼 디렉토리 구조를 가지는데 이와 같은 구조로 만들기 위해서는 현재 Raccoon 데이터셋에서는 제가 따로 구현해야 하는 부분인가요?
bcrypt 를 사용하셨는데 검색해보니 crypto 라는것도 있더라구요. 무슨 차이점이 있는지 궁금해서 bcrypt 와 crypto 차이점 이라고 구글링 해보니깐 단방향 양방향 복호화 에 대한 내용들이 나왔고 찾고자 하는 차이점에 대해선 정리글이 잘 없더라구요 ㅠㅠ 두개는 무슨차이가 있을까요 ?
안녕하세요 강사님 다름이 아니라 실무에서 querydsl을 많이 사용하고 있는데, 저 같은 경우 거의 Dto로 직접 조회할 수 있도록 만들었는데, 강사님은 우선 엔티티를 조회하고 거기서 fetch join등을 활용해서 최적화를 하는 걸 추천한다고 말씀해주셨더라고요 ㅎㅎ 물론 상황마다 다르고 정답은 없겠지만, 그럼 querydsl을 활용하실때도 dto로 직접 조회하기 보다는 entity로 가져오고 그 다음에 dto로 모두 매핑하는 작업을 해주시는 건가요?? V2 처럼이요!
안녕하세요. 좋은 강의 감사드립니다. HTTP API 설계와 관련하여 궁금한 점 질문 드리고자 합니다. 1. /members/{id} 와 같은 API URL에서 {id}에는 특정 회원을 식별할 수 있는 값, 주로 회원 테이블의 PK 값이 들어간다고 생각하면 될까요? 2. 만약 그렇다면 API 설계 시 URL에 PK 값을 노출시키는 것은 보안 상으로 문제가 되지 않는 것인가요? 3. 만약 회원 테이블의 PK가 id, email이라면(즉 특정 회원을 식별하기 위해서 id, email 두 개의 값이 필요하다면) /members/{id}/email/{email} 이런 식으로 설계해야 할까요? 실제 현업에서는 어떤 방식으로 하시는지 궁금해 여쭤봅니다. 감사합니다.
안녕하세요. 강사님. 원리를 바닥부터 설명해주셔서 추천시스템의 본질을 이해하는데 큰 도움을 받았습니다. 강의에서는 추론 대상이 되는 유저가 남김 평점 데이터를 포함하여 행렬 분해를 하고 학습해서 안 본 영화의 평점을 예상합니다. 그런데 넷플릭스 같은 추천 서비스는 유저가 가입하자마자 자기가 본 영화에 평점을 남기면 즉시 영화를 추천해 주는데, 이것은 어떻게 하는 것인지요? 잠재 요인 기반 협업 필터링을 이용한다면, 유저가 데이터를 입력하자마자 기존 데이터에 추가한 뒤 새롭게 matrix를 분해해서 다시 학습해야 하고 이는 시간이 너무 오래 걸리기에 불가능한 방법으로 보입니다. 그리고 아이템 기반 협업 필터링을 이용한다고 해도 새로운 데이터를 추가해서 다시 학습하면 전체 코사인 유사도가 이전과 달라지고 예상 평점도 달라집니다. ('9.2 아이템 기반 인접 이웃 협업 필터링 실습' 강의에서 영화 데이터의 user 수를 다르게 해서(한 쪽은 모든 유저, 다른 한 쪽은 70번까지 유저 데이터만 이용) 영화 간에 코사인 유사도를 비교해보니 코사인 유사도가 다르게 나오는데, 이 때 아이템 간의 유사도가 다르게 나오는 것이 맞지요?) 신규 유저가 입력한 raw한 평점 데이터 값을 이미 만든 모델에 inference해서 결과값을 받는 웹어플리케이션을 만들어 보고 싶은데, 위 이유 때문에 어떻게 해야할지 감이 안 잡힙니다. 혹시 강의 후반부에서 다뤄주실까 하고 완강했으나 해당 내용은 언급되지 않아 직접 문의드립니다. 감사합니다.
안녕하세요. 다대일 양방향 관계에 대해 질문 드립니다. Member 엔티티와 Team 엔티티가 다대일 양방향 맵핑 되어있고, package hellojpa; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity public class Member { @Id @GeneratedValue @Column(name= "MEMBER_ID") private Long id; private String name; private int age; @OneToMany(mappedBy = "member") private List<Order> orders = new ArrayList<Order>(); @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "TEAM_ID") private Team team; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void setTeam(Team team) { this.team = team; team.getMembers().add(this); } } package hellojpa; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity public class Team { @Id @GeneratedValue @Column(name = "TEAM_ID") private Long id; private String name; @OneToMany(mappedBy = "team",fetch = FetchType.LAZY) private List<Member> members = new ArrayList<>(); public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public List<Member> getMembers() { return members; } public void setName(String name) { this.name = name; } } 팀에서 getMembers 메소드를 통하여 해당 팀에 소속된 멤버들을 조회할 때 public class hellojpa { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction transaction = em.getTransaction(); transaction.begin(); try { Member member =new Member(); member.setName("member1"); member.setAge(20); Team team = new Team(); team.setName("team a"); em.persist(team); member.setTeam(team); em.persist(member); Member member2 = new Member(); member2.setName("member222"); member2.setTeam(team); em.persist(member2); em.flush(); em.clear(); List<Member> memberList = em.find(Team.class, team.getId()).getMembers(); for (Member member1 : memberList) { System.out.println(member1.getName()); } } catch (Exception e) { transaction.rollback(); } finally { em.close(); } emf.close(); } } 저는 select member0_.MEMBER_ID members0_.TEAM_ID members0_.age members0_.name from Member members0_ where members0_.TEAM_ID=? 이러한 쿼리가 생성될 것으로 예상했습니다. 하지만 실제 쿼리가 나간것을 확인해보니 select members0_.TEAM_ID as team_id4_0_0_, members0_.MEMBER_ID as member_i1_0_0_, members0_.MEMBER_ID as member_i1_0_1_, members0_.age as age2_0_1_, members0_.name as name3_0_1_, members0_.TEAM_ID as team_id4_0_1_ from Member members0_ where members0_.TEAM_ID=? select문에서 특정 컬럼들이 중복되어 표시되는데(bold표시), 혹시 이렇게 표시되는게 정상적인 것인지 혹은 맵핑 과정에서 실수가 있었던지 궁금하여 질문 드립니다!