안녕하세요 선생님. 스크립트쪽이 어렵고 이해가 어려운 학생입니다 질문을 많이 올려 자주 볼수도 있을거 같습니다 ^^;; 다름이 아니라 onTop = $(document).height() - $(window).height() - $('.footer').height(); //스크롤이 문서하단에 도착했는지 계산합니다. if(winTop >= onTop){ //하단에 도착했을경우 여기서 onTop 이 어떻게 문서하단에 도착한것을 뜻하는 식인지 이해가 잘 안가 여쭤봅니다. 제가 식을 이해한 바로는 저 계산의 결과는 푸터를 제외한 내용영역인거같고, 스크롤하단 여백이 푸터 높이만큼 남았을때 리스트가 올라오는거같습니다. 그런데 식이 왜 푸터를 제외한 내용영역부분이 문서하단에 도착했는지를 뜻하는지와 푸터의 높이만큼 스크롤 하단 영역이 남았을때 로드가 되는지 원리가 궁금합니다 ㅠㅠ console.log로 winTop과 onTop 의 값의 변화를 보았을때 대략적으로 이해는 갔지만 아직도 헷갈려서 질문 드립니다. 감사합니다.
글 수정 화면에서 제목, 내용 값을 비우고 수정완료 버튼을 클릭하여 유효성 검사에 걸린 후 페이지 소스 보기로 확인해본 결과 <a href =" /MiniProjectJava/board/read?board_info_idx=&content_idx= " class =" btn btn-info "> 취소 </a> 이렇게 취소버튼에 걸린 링크에 파라미터 값이 비어있는데 어떻게 해결해야될지 몰라 질문드립니다.
foreach()로 짜는게 계속 막혀서 for문으로 한번 짜봤는데 for문은 이런식으로 접근하는게 맞나요? var list = [] ; // 빈배열 설정' var check = function (){ for ( i = 1 ; i < 1000000 ; i ++ ) { list . push ( i ) ; }; }; // 배열값 설정 var start = Date . now () ; // 현재 시간 check () ; // 함수 실행 var end = Date . now () ; // 함수 실행 후 시간 console . log (end - start) ; // 실행 완료
선생님 안녕하세(요. 다름이 아니라, 질문 하나 드리고 싶습니다. 제가 네이버 카페 텍스트 마이닝을 하려고 하는데, 일단 기사 관련해서 텍스트 마이닝은 할 수 있는 실력 수준입니다. 궁금한 점은 네이버 카페 같은 경우 웹스크래핑이나 크롤링을 선생님 강의에 올려주신 다음 카페나 네이버 블로그 하는 방식처럼 하면 되는 건가요? 강의와 관련있는 질문 을 남겨주세요. • 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) • 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) • 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’ 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. • 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. • 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. • 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. • 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . • 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. • 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다.
Notification 매개 변수값인 id값은 같고 name 값이 다른 두개의 Notification과 id값과 name값 모두 같은 Notification의 차이점이 무엇인가요? 두가지 경우 모두 2개의 채널이 생기던데요 차이점을 모르겠습니다. 설명 부탁드립니다. 항상 강의 잘보고 있습니다. 감사합니다
안녕하세요. 강의 너무 잘 듣고 있습니다. 다름이 아니라 Entity에 로직을 구현하는 경우 영속성 컨텍스트에 관한 고민이 생겨 질문드립니다. 예를 들어, Member와 Team이 있습니다. Member는 소속팀 참조를 위한 단방향 N:1 관계가 있고, Team 은 해당 팀의 리더 참조를 위한 단방향 1:1 관계가 있습니다. 그리고 Team의 리더를 변경하는 기능이 있습니다. (changeLeader 메소드) 이 때 로직은, 1. TeamA의 리더로 설정하려는 MemberA가 TeamB의 리더이면, TeamB의 리더를 null로 변경한다. 2. MemberA의 현재 소속팀을 TeamA로 변경한다. 3. TeamA의 리더를 MemberA로 변경한다. 대략 이렇다면, changeLeader 메소드에서는 내부적으로 MemberA의 예전 팀인 TeamB의 changeLeader를 호출하게 될텐데, 아래 구현한 구조 상으로는 영속성 컨텍스트에서 TeamB 객체를 가져오지 않은 상태입니다. 이 경우에는 애초에 메소드 파라미터로 MemberA의 예전팀(TeamB)도 받도록 설계를 해야 하는건지, 다른 좋은 구조가 있는지 궁금합니다. public class Member { ... @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "team_id") private Team team; public void changeTeam(Team team) { this.team = team; } } public class Team { ... @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "leader_id") private Member leader; public void changeLeader(Member member) { if (member != null) { // ... 이전 팀의 리더 였는지 판단 ... // 해당 멤버의 이전 팀의 리더를 null로 변경한다. Team oldTeam = member.getTeam(); if (oldTeam != null) { oldTeam.changeLeader(null); } // 해당 멤버의 팀을 변경한다. member.changeTeam(this); } // 이 팀의 리더를 해당 멤버로 변경한다. this.leader = member; } }
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
안녕하세요 . 현재 강사님 강의 파트 2, 3, 4, 7, 9를 구입한 신입 서버 개발자입니다. c++ 게임 서버과외를 받으면서 강사님 영상도 보면서 공부할 예정입니다. 현재 인디게임회사에서 일도 하고 있는 상태있지만, 언제 짤릴까 전전긍긍하며 있습니다. 문의드리는 질문은 웹이나 데이터베이스쪽은 어느정도 공부해서 사용할 수 잇을것 같습니다. 만약 공부하다가 막히는 부분이 있으면 공부 구입할 생각도 있습니다. 2, 3, 4, 7, 9 파트만으로도 충분히 학습이 되는지 알고 싶습니다..
안녕하세요. Serialization #2 강의 17:41초에 보면 Count는 4, count도 4해서 Count - count = 0 이라고 출력되는데 이해가 되지 않는 점은 Count는 12 아닌가요? p.Read(buffer); 는 매개변수로 원본데이터 12바이트를 그대로 넘겨서 Count = 12, count=4가 되서 Count - count = 8이 된다고 생각하는데 어떤 점을 잘못이해하고 있는지 모르겠습니다. p.Read(buffer); 에서 어떻게 4바이트 크기 버퍼만 넘어갔나요? 제가 헷갈려서 두서없이 질문드린 점 죄송합니다..
안녕하세요. 도커 및 CI 환경 강의 열심히 들어 완강을 했는데요~ 마지막에 travis ci 및 docker hub, aws EB 통해 배포를 하는데, 아래와 같은 에러가 발생하고 있습니다. 로컬환경에서는 어플리케이션이 정상작동하며, travis-ci 의경우, 정상적으로 pass 되었으며, dockerhub도 이미지가 갱신된게 보입니다. 다만 aws EB에서 뭔가 문제가 있는것 같은데요. S3 버킷에 travis-ci가 파일을 넣어주는것까지도 확인했는데, EB에서 update하는 과정에서 에러가 자꾸 발생하네요. 강의를 두번정도 봐서 보안그룹이나 API KEY설정을 다해줬는데, 뭐가 문제인지 모르겠습니다 ㅠ 다른분들도 비슷한 에러 발생한게 보이는데 도움주시면 감사하겠습니다. ㅁ s3버킷의 docker-fullstack-app에 아래와 같은 zip 생성됨 ㅁ aws EB 이벤트 로그 (환경업데이트 - Envitonment update is starting 이후)
안녕하세요~ LAZY 관련 질문이 있어서 글을 남깁니다! LAZY 로드를 디폴트로 설정하기 위해서 propertis or yml 파일에 "spring.datasource.jpa.hibernate.enable_lazy_load_no_trans"=true 구문을 추가 하였습니다. 적용한 자바 config 파일 입니다. properties.setProperty( "hibernate.enable_lazy_load_no_trans" , env .getProperty( "spring.datasource.jpa.hibernate.enable_lazy_load_no_trans" )) ; 혹시 해당 프로펄티즈 구문으로 Lazy를 디폴트로 설정해본 적이 있으신가요? 매우 간편 해보여서 프로젝트에 적용해서 쓰고 있는데 안티 패턴이여서 쓰지 말라는 글도 있더라구요. 해당 설정에 대해서 김영한 개발자님의 의견이 궁금합니다! https://vladmihalcea.com/the-hibernate-enable_lazy_load_no_trans-anti-pattern/
안녕하세요. 기본적인 내용이라 질문 드리긴 부끄럽지만 헷갈리는 부분이 있어서 질문드립니다.. em.find(Member.class, member.getId()) 를 할 때입니다. Identity 전략을 사용하면, member.setUsername(" ")만 해주고 em.persist(member)를 하게 되면, DB로 쿼리가 날라가서 id를 얻어온 후 1차 캐시에 member를 구분할 식별자인 id와 member 정보들이 저장되어 있는 것을 이해했습니다. 그러면 persist를 하면서 1차 캐시에 id와 member가 저장이 된 상태일 텐데, 영속 컨텍스트를 초기화하는 작업 후에 프록시 객체를 불러오는 작업을 합니다. 이 때 member의 id를 알려면 DB로 find 쿼리가 날아가야 하지 않나요? 제가 아리송했던 부분은 10분 40초쯤에, flush로 인해 쓰기지연 저장소에 담겨있던 insert 쿼리가 날아가고, em.clear로 1차캐시를 비워준 상태입니다. 이 상황에서 1차 캐시가 비어있는데 어떻게 find query 없이 database를 타지않고 Id를 바로 받을 수 있는 것인지 의문이 생겼습니다. 레퍼런스를 찾을 때는 이미 id값을 파라미터로 넣어서, 값이 있기 때문에 터치를 안하고 DB쿼리가 필요 없다고 하셨는데 현재 Identity 전략이기에 DB를 거쳐야 ID를 알 수 있는 것이 아닌가요..? 어떻게 바로 member.getId()를 알 수 있는 것인지 궁금합니다.
안녕하세요. `const recalculatedInnerHeight = document.body.offsetHeight / canvasScaleRatio;`로 설정되어 있습니다. canvas의 원래 크기가 변하지 않는 점을 이용해서 rect의 높이를 `objs.canvas.height`로 사용하면 안 될까요? 왜 body의 offsetHeight로 설정하셨는지가 궁금합니다.
yml파일을 templates밑에 만들었습니다... 코딩은 낮에 합시다 ㅠ-ㅠ 안녕하세요 강의를 따라하다가 테이블 생성문제에서 막혔는데요.. 테스트 파일은 문제없이 잘 돌아가는데 데이터베이스가 생성되지 않습니다. yml도 복붙했고, db연결도 되어있는데 어디에서 문제가 생긴건지 모르겠습니다. spring initializr로 프로젝트 파일만들 때 2.1.17로 했다가 Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project. 오류가 발생해서 2.2.10을 쓰고있긴한데 스프링 버전 문제일까요?.. Junit4에서도 5에서도 마찬가지로 아예 테이블 생성구문이 실행되지 않습니다.