안녕하세요. 강사님! 제가 첨부한 사진처럼 배달의민족 음식 카테고리 스크롤 하는 화면을 구현을해야하는데 어떤식으로 구조를 잡아야 할 지 감이 안잡혀서 질문을 드리려고합니다ㅠ 제가 생각한것으로는 테이블뷰는 하나이고 내부 내용만 바뀌기 때문에 호리즌 컬렉션뷰 셀 안에 테이블뷰를 넣어서 스크롤 할때마다 인덱스에 맞는 데이터들을 넣어주는 방식으로 생각을해보았는데 구현을 해보다가 제가 너무 복잡하게 생각하고있는건가 싶습니다ㅠ 사진같은 화면을 제작하려면 어떤식으롤 구조를 잡아야 좋은 구조일 지 방향을 제시해주시면 감사하겠습니다 ㅠ 혹시 관련 영상이 있으시면 추천도 감사하겠습니다.
안녕하세요. 수학적인 계산을 통한 칼럼을 만드는 것(강의에 나온 df[추가칼럼] = df[칼럼] - df[칼럼2]) & 와 | ,, and 와 or 를 사용하여 조건을 통한 bool 값을 넣는 것은 알겠는데, 질문) 예를 들어서 요런 데이타프레임이 있으면 최초의 False 에서 True 딱 변환되는 저 순간의 인덱스만 추출하는 방법이 있을까요?? 강의 듣고 오늘 계속 검색하고 방법을 찾아봤는데, 제 머리에선 방법을 못찾겠습니다,,ㅜㅜ 그렇다고 list로 만들어서 일일히 데이타를 비교를 일일히 하는것도 방법이 아닌거 같고,,, 어떤 방법이 있을까요? 조건값 조건값2 0 True False 1 True False 2 True True 3 False False 4 False False
class A { @GeneratedValue @Id private Long id; } 일떄 아래 run 메서드에서 @Transactional @Component public class JpaRunnerManyToMany implements ApplicationRunner { @PersistenceContext EntityManager entityManager; @Override public void run(ApplicationArguments args) throws Exception { A a1 = new A1(); a1.setId(1l); <== 해당 부분 에러가 뜨는데요 a1.setUsername("test"); entityManager.persist(1L); 이경우 detached entity passed to persist 에러가 생기는데요 제가 강의를 들을떄 persist()를 할떄 비로소 1차캐쉬에 들어가서 jpa가 관리중인 상태가 된다고 들었는데 그렇다면 persist()하기 전에 1L을 id로 셋팅을 하고 persist()와 동시에 영속성상태로 올라갔을떄 @GeneratedValue 라는 어노테이션이 주키의 자동생성을 위한것이라고 들었는데 그렇다면 1L로 persist 메소드를 적용했을떄 1l이 이미 있으면 @GeneratedValue가 적용이 안되서 에러가 발생하는것일까요. 해석하면 detached entity passed to persist detach가 persist상태로 넘겨졌다라는걸로 해석되는데 만약에 A a = new A(); a.setId(1L); 로 entityManager.persist(a); 실행하면 정확히 어떤흐름으로 가는지 궁금합니다 .
service 코드를 개발 할 때 중복 되는 member_name이 있는지 validate를 해줘서 결국 member_name이 unique 값이 될텐데 , getSingleResult를 이용하여 아래와 같이 작성하지 않는 이유가 있나요? public Member findByName ( String name ){ return em . createQuery ( "select m from Member m where m.name = :name " , Member . class ) . setParameter ( "name" , name ) . getSingleResult (); }
함수가 새로 그려지는게 useCallback 콜백 매개변수로 특정 값이 바뀔때마다 함수가 새로그려지는걸로 알 고 있습니다. 근데 예전부터 궁금했는데 한 번 그려놓은 함수를 계속 사용하면 되는거아닌가요? 왜 특정 값이 바뀔때마다 useCallback을 해서 새로 그려야 되는건가요? 그냥 [] 빈 배열 값 넣고 시작, 끝일때 실행되게 하면 문법상 에러인가요?
선생님 먼저 코드를 보여드리고 자세한 내용을 설명 해 드리겠습니다. @Entity public class Member { @Id @GeneratedValue () @Column (name = "MEMBER_ID" ) private long id ; @Column (name = "USERNAME" ) private String username ; @ManyToOne //(fetch = FetchType.LAZY) @JoinColumn (name= "TEAM_ID" ) private Team team ; // getter setter 생략 } @Entity public class Team { @Id @GeneratedValue @Column (name = "TEAM_ID" ) private Long id ; private String name ; @OneToMany (mappedBy = "team" ) private List<Member> members = new ArrayList<>() ; // getter, setter 생략 } Team team = new Team() ; team.setName( "teamA" ) ; em.persist(team) ; Team team2 = new Team() ; team2.setName( "teamA" ) ; em.persist(team2) ; Member member = new Member() ; member.setUsername( "member1" ) ; member.setTeam(team) ; em.persist(member) ; Member member2 = new Member() ; member2.setUsername( "member1" ) ; member2.setTeam(team2) ; em.persist(member2) ; em.flush() ; em.clear() ; Member findMember1 = em.find(Member. class, 3L ) ; Member findMember2 = em.find(Member. class, 4L ) ; Team findTeam = em.find(Team. class, 1L ) ; 간단히 Member-Team 은 다대일 매핑이며, Member 는 디폴트인 즉시로딩으로 설정했습니다. 예제 코드를 보면 영속성 컨테스트를 비운뒤에 find() 로 3번 호출 했습니다. 그런데 select문은 총 2번 호출됩니다. 출력을 확인 해보면 Team 을 find() 하는 select문이 생략 되는데 제 추측은 Member 가 즉시로딩으로 되어 있기 때문에 Member를 데이터베이스에서 가져올때 Team 도 영속성 컨텍스트에 추가되고 Team을 find() 할 때는 1차 캐시에서 가져오는 거라 생각이 듭니다. 그런데 생각해보면, 위에서 Member find() 할때도 따로 Team 을 select 하는 쿼리를 사용하지는 않았는데(join 쿼리만 있음) jpa는 내부적으로 join 하면서 join 한 대상도 영속성 컨텍스트에 자동으로 추가 하는 것인가요.?
val sub3 = layoutInflater .inflate(R.layout. layout_sub3 , container) 컨테이너에 담아서 만들었더니 sub1,sub2가 추가가 안됩니다. 강의 영상에서 null, 담지 않은 뷰는 추가 버튼으로 추가가 되던데, 지금 21.01.06 따라한 뒤 뷰 추가 버튼을 눌렀을 때, 반응이 없다가 팅깁니다. 버전은 4.1.1 사용중입니다. val sub4 = layoutInflater .inflate(R.layout. layout_sub1 , container) sub4를 비슷한 방식으로 container에 담아서 생성해봤는데 먼저 선언된 sub3만 생성됩니다. 혹시 container에 담을 수 있는 뷰제한 : 1 이 생겼을까요? 혹은 정상 작동중이고 제가 잘못 따라친 것인지 확인하고 싶습니다.
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
오류내용 : Protocol.proto:8:3: "C_CHAT" is already defined in "Protocol". Protocol.proto:8:3: Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. Therefore, "C_CHAT" must be unique within "Protocol", not just within "MsgId". Protocol.proto:9:3: "S_CHAT" is already defined in "Protocol". Protocol.proto:9:3: Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. Therefore, "S_CHAT" must be unique within "Protocol", not just within "MsgId".