inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

왜 8바이트가 나오는지 잘 모르겠습니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

8:24에서 "ABCD"의 길이는 4인데 바이트 배열로 바꾸면 왜 8바이트가 되는지 모르겠습니다.

  • C#
  • unity
  • network
미니형 댓글 1 좋아요 4 조회수 310

이클립스 사용자를 위한 세팅방법

미해결

예제로 배우는 스프링 입문 (개정판)

질문게시판을 많이 사용하셔서 여기다가 올립니다 죄송합니다. 학습을 이클립스로 하시는 분들을 위해 초기 세팅법을 포스팅해봤습니다. - 저도 오류잡느라 애먹었는데 다른분들에게 최대한 도움을 드리고자 합니다. https://glasowk.tistory.com/10 고생하시고 즐거운 학습하세요 ~~ 좋은 강의 감사합니다. 백기선님 화이팅 !!

  • maven
  • spring
  • java
  • spring
  • java
  • eclipse
  • 이클립스
aa pp 댓글 1 좋아요 2 조회수 604

@Transacional의 범위에 대해서 궁금한 점이 하나 있습니다!

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요 강사님. 항상 훌륭한 강의 감사드립니다. 스프링 MVC 1, 2편에서 사용했던 프로젝트에 JPA를 적용시키는 도중 궁금한점이 하나 생겨서 질문드립니다. TestInitData 클래스에 @PostConstruct로 데이터베이스에 초기 데이터들을 넣어두려고 합니다. package com.myservice.web.test ; import com.myservice.domain.item.Item ; import com.myservice.domain.item.ItemRepository ; import com.myservice.domain.member.Grade ; import com.myservice.domain.member.Member ; import com.myservice.domain.member.MemberRepository ; import com.myservice.domain.member.MemberService ; import lombok. RequiredArgsConstructor ; import lombok.extern.slf4j. Slf4j ; import org.springframework.stereotype. Component ; import org.springframework.transaction.annotation. Transactional ; import javax.annotation. PostConstruct ; @Slf4j @Component @RequiredArgsConstructor @Transactional public class TestDataInit { private final ItemRepository itemRepository ; private final MemberService memberService ; private final MemberRepository memberRepository ; /** * 테스트용 데이터 추가 */ @PostConstruct public void init () { itemRepository .save( new Item( "itemA" , 10000 , 10 )) ; itemRepository .save( new Item( "itemB" , 20000 , 20 )) ; itemRepository .save( new Item( "itemC" , 15000 , 15 )) ; Member member1 = new Member() ; member1.setLoginId( "manager" ) ; member1.setPassword( "manager" ) ; member1.setUsername( " 최한슬 " ) ; member1.setGrade(Grade. MANAGER ) ; Member member2 = new Member() ; member2.setLoginId( "user" ) ; member2.setPassword( "user" ) ; member2.setUsername( "USER" ) ; // 바로 memberRepository.save 로 접근하면 현재 스레드에서 사용할 수 있는 EntityManager 가 없다고 오류 발생 memberRepository .save(member1) ; memberRepository .save(member2) ; //memberService.save -> memberRepository.save 로 접근하면 정상적으로 작동 memberService .save(member1) ; memberService .save(member2) ; } } 또한, memberRepository와 memberService는 다음과 같습니다. [memberRepository] package com.myservice.domain.member ; import org.springframework.stereotype. Repository ; import java.util.List ; import java.util.Optional ; @Repository public interface MemberRepository { Long save (Member member) ; Optional<Member> findById (Long id) ; Optional<Member> findByLoginId (String loginId) ; List<Member> findAll () ; } package com.myservice.domain.member ; import lombok. RequiredArgsConstructor ; import org.springframework.context.annotation. Primary ; import org.springframework.stereotype. Repository ; import javax.persistence.EntityManager ; import java.util.List ; import java.util.Optional ; @Repository @RequiredArgsConstructor @Primary public class JpaMemberRepository implements MemberRepository { private final EntityManager em ; @Override public Long save (Member member) { em .persist(member) ; return member.getId() ; } @Override public Optional<Member> findById (Long id) { Member member = em .find(Member. class, id) ; return Optional. ofNullable (member) ; } @Override public Optional<Member> findByLoginId (String loginId) { Member member = em .createQuery( "select m from Member m where m.loginId = :loginId" , Member. class ) .setParameter( "loginId" , loginId) .getResultStream() .findAny() .orElse( null ) ; return Optional. ofNullable (member) ; } @Override public List<Member> findAll () { return em .createQuery( "select m from Member m" , Member. class ) .getResultList() ; } } [memberService] package com.myservice.domain.member ; import lombok. RequiredArgsConstructor ; import org.springframework.stereotype. Service ; import org.springframework.transaction.annotation. Transactional ; @Service @Transactional @RequiredArgsConstructor public class MemberService { private final MemberRepository memberRepository ; public void save (Member member) { memberRepository .save(member) ; } } 현재 MemberService에는 @Transactional이 걸려있고, memberRepository에는 @Transactional 걸려있지 않습니다. 궁금한점은 TestDataInit 클래스의 init() 메서드에서 바로 memberRepository로 접근하게되면 사용할 수 있는 EntityManager가 없다고 나오며, memberService->memberRepository로 접근하게 되면 정상적으로 처리되는 것을 확인하였습니다. 두 방식 모두 결국 memberRepository를 통해 save를 수행하게 되는데 바로 memberRepository의 접근은 오류가 발생하고 memberService를 통한 접근은 정상적으로 처리되는 이유를 모르겠습니다.

  • JPA
  • java
  • spring
  • 웹앱
  • spring-boot
최한슬 댓글 4 좋아요 1 조회수 641

중복 저장

미해결

더 자바, 애플리케이션을 테스트하는 다양한 방법

mock 객체 만들어서 restful 호출했더니 왜 중복으로 저장이 될까요? postman으론 한번 저장되던데

  • JMeter
  • java
  • testcontainers
  • mockito
  • JUnit
  • ArchUnit
  • Chaos-Monkey
kim미소 파파 댓글 1 좋아요 0 조회수 314

GSessionManager관련 생성 순서에 문제가있는것같습니다

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

GSessionManager를 전역변수로 추가하면서 allocator한 초기화(pool)가 안된 상태로 session의 set stl할당을 시도하게되어 문제가되는것 같습니다. 다만 Stomp allocator를 사용하는경우는 pool을사용하지않아 잠재적문제가있음에도 넘어가고있는것같아요. 따라서 세션매니져생성시점이 CoreGlobal이 초기회된뒤여야할것 같습니다

  • network
  • MMORPG
  • windows-server
bs Jeon 댓글 2 좋아요 0 조회수 397

지속연결과 put 메서드 질문드립니다

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

HTTP에서 맨 처음에 클라이언트-서버가 연결하고 있으면 서버가 계속 연결을 유지해야 하니까 자원이 많이 낭비돼서 비 연결성으로 요청 -> 응답 -> 종료 이렇게 바꿨는데 이러면 너무 오래걸리니까 지속 연결을 사용한다는데 결국 지속 연결 사용하면 맨 처음 자원이 많이 낭비 되던 시절로 돌아간 건가요?

  • network
댓글 1 좋아요 0 조회수 157

질문있습니다.

미해결

실전! 스프링 데이터 JPA

안녕하세요 insert 벌크 쿼리에 관해 질문있습니다. 강의에서 말씀해주신 대로 해보니 delete와 update의 경우 한번에 처리되는 것을 확인할 수 있었습니다. 문제는 Insert 였습니다. 저는 MySQL 를 사용하면서 IDENTITY 전략을 사용해왔었는데 MySQL의 경우 벌크 INSERT 쿼리를 날리기 위해서는 찾아보니 Batch Insert를 사용하기 위해서는 IDENTITY 전략이 아니라 TABLE 전략을 사용해야 한다고 하더라구요. 제가 궁금한 점은 아래와 같습니다. 1. 다른 ENTITY들은 IDENTITY 전략을 사용하고 Batch Insert가 필요한 특정 ENTITY만 TABLE 전략으로 변경해도 괜찮을까요? 2. 실무에서는 INSERT 쿼리를 한 번에 날리기 위해서는 어떤 방식을 사용하나요?? 감사합니다 :) 2.

  • spring
  • spring-boot
  • JPA
  • java
최준성 댓글 1 좋아요 2 조회수 276

양방향 매핑이 언제 필요한지 여쭤보고 싶습니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

선생님 안녕하세요! 매번 정말 좋은 강의 감사드립니다ㅋㅋㅋㅋ 저 진짜 웹 하나도 모르는 생짜 초보인데, 갑자기 자바 스프링 실무에 투입되어서 넘 힘들었거든요ㅠㅠ 바로 선생님 강의 패키지로 싹 다 결제하고, 하나씩 들으면서 감을 잡고 있습니다. 제 구세주십니다. 감사합니다!! (다음달 월급 들어오면 선생님께 다 갈 예정입니다..?!ㅎㅎㅎ) 최근에 JPA Mapping 관련해서 공부하고 또 실무에 적용해 보고 있는데요, 현재 제가 하는 프로젝트에서는 음식 재료 바구니 기능을 구현해야 합니다. 요게 유저 - 대바구니 - 소바구니 - 음식 재료로 이어지는 계층적 구조이고, 유저 하나가 여러 대바구니, 대바구니 하나가 여러 개의 소바구니, 소바구니 하나가 여러 개의 음식 재료를 포함하는 구조입니다. 각 자식들은 하나의 부모에만 속하게 되어 있구요. 쌤 강의 듣고 일단은 ManyToOne 단방향 매핑으로 각각을 1:N으로 걸어줬는데요. 특정 대바구니 id 아래에 있는 소바구니 (혹은 그 소바구니 아래에 있는 음식 재료까지)를 조회하거나, 특정 소바구니 id 아래에 있는 음식 재료들을 조회하거나 하는 쿼리가 가끔 필요한 상황입니다. 또 대바구니 하나를 삭제하면 그 밑에 소바구니는 싹 다 지워지고, 소바구니 하나를 지우면 그 바구니에 음식 재료들은 싹 다 지워져야 하는 상황이구요. 즉 DELETE시 CASCADE + 가끔 부모 아래에 있는 자식을 부모 id로 조회하는게 필요한 상황입니다. 요럴때 양방향 매핑이 필요할까요?! 현재 고민하고 있는 옵션은 - 단방향 매핑으로 계속 가되 ON DELETE CASCADE를 DB TABLE에 걸어줘서 부모 삭제시 자식도 삭제되도록 만든다. - 아니면 양방향 매핑으로 해주고 mappedBy 있는쪽에 CASCADE.ALL, orphanRemoval 걸어준다. 인데요, 1) 성능이 단방향, 양방향 매핑에서 차이가 많이 나는지 궁금합니다. 2) 그냥 단방향 매핑으로 모든 거 처리하고, 필요할때만 sql join query 날려서 join해서 불러오면 되는거 아냐? 라는 생각도 드는데요.. 그리고 추가 질문으로, 언제 양방향 매핑을 사용하는게 좋은지 잘 모르겠습니다. 양쪽에서 참조할 일이 있을 때라고 강의에서는 말씀해 주셨는데 잘 안 와 닿더라구요. 혹시 실무 예시를 좀 들어 주실 수 있으실까요? 감사합니당!!!

  • 양방향매핑
  • java
  • 단방향매핑
  • JPA
  • jpa
  • mapping
개발자꿈나무 댓글 2 좋아요 3 조회수 1630

HTTP와 포트

해결됨

모든 개발자를 위한 HTTP 웹 기본 지식

안녕하세요. 이 분야에 대해 개념이 잘 안잡혀 질문이 다소 황당하더라도 이해 부탁드립니다. 제가 만약 웹으로 유튜브랑 네이버를 동시에 사용중이면 둘 다 웹이므로 HTTPS 이고, 그러면 둘 다 제 컴퓨터의 443번 포트 하나에 연결되는 건가요? 저는 뭔가 유튜브랑 네이버에서 받고자 하는 데이터가 다르니까 구분되기 위해 서로 다른 포트를 부여해야 할 것 같아서요.

  • http
  • network
돈가스날다 댓글 1 좋아요 1 조회수 446

hibernate.dialect 오라클 변경시 문의드려요.

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

시점 : 26:25 org.hibernate.dialect.Oracle12cDialect 로 변경시 쿼리가 rownum계열이 아닌 Hibernate: /* select m from Member as m */ select member0_.id as id1_0_, member0_.name as name2_0_ from Member member0_ fetch first ? rows only 와 같이 나오는데 왜그런지 궁금합니다.

  • hibernate.dialect
  • java
  • JPA
lvmedh 댓글 1 좋아요 0 조회수 560

레포지토리에 @Transactional을 안붙이는 이유

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

Service에는 Transactional 어노테이션을 달지만 레포지토리에는 달지 않는 이유가 궁금합니다. 서비스에만 어노테이션을 달아도 서비스에서 레포지토리의 메소드를 호출하니 레포지토리에까지 Transactional 어노테이션이 적용되어서 그런건가요??

  • JPA
  • spring-boot
  • spring
  • 웹앱
  • java
hello 댓글 1 좋아요 3 조회수 1402

delete, patch에 대해서

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

안녕하세요 영한님 좋은 강의 해주셔서 감사합니다! 만약, 사이트 내에 member가 탈퇴했을 때 실제 db에서 member를 지우지는 말고 member 테이블의 delete_type 칼럼을 1로 바꿔주세요 라는 요구사항이 들어왔다면 이 경우에는 요청 api를 URI : members/{id} METHOD : DELETE 로 하는게 맞을까요? 아니면 URI : members/{id} METHOD : PATCH 로 해야 하는게 맞을까요?

  • network
leesh5000 댓글 1 좋아요 1 조회수 223

dto 로 변환 단계에 대해 질문드립니다!

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요! entity를 dto로 변환하는게 좋다 하셨는데 repository에서 service로 넘겨줄때 dto를 넘기는게 맞나요 아니면 repository에서는 entity를 넘겨주고 service에서 controller로 넘겨줄때 dto로 변환해서 넘겨주는게 맞나요??

  • java
  • spring-boot
  • 웹앱
  • spring
  • JPA
박상호 댓글 1 좋아요 4 조회수 655

HTTP API와 REST API

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

과거에 실무에서 리소스를 명사로 나타내기 보다는 페이지를 나타내는 경우가 많았던거 같습니다. 지금은 지금은 리소스 자체를 명사로 나타내는 설계가 많은데요. 영한님께서 설명하신게 최근에 많이 사용되는 REST API와 같은 개념일까요?

  • network
HelloPoPoWorld 댓글 2 좋아요 7 조회수 642

TCP 3 way handshake의 결과에 대한 서버측 반응에 대한 질문

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

안녕하세요 tcp 3 way handshake의 성공에 대한 결과로 서버에는 무슨 일이 일어나는 건가요? 예를 들면, 연결 성공에 대한 결과로 서버에서 클라이언트의 ip를 저장하고 있다가 똑같은 ip로 요청이 들어오면 3 way handshake를 하지 않는다던가? 그리고 해당 ip에 대한 요청이 일정시간동안 오지 않는다면 저장한 ip를 파기한다던가 그런 일이 서버 측에서 발생하는 건가요?

  • network
HelloPoPoWorld 댓글 2 좋아요 1 조회수 255

TypeConversion 부분 관련

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

위의 내용이 필요 없을 것 같아서 지워보았는데 에러가 발생하네요. 바로 위에있는 class TypeConversion 내부에도 존재하는 것을 외부에 추가로 선언해야 에러가 발생하지 않는 이유가 무엇인가요?

  • MMORPG
  • windows-server
  • network
BBAKK 댓글 1 좋아요 0 조회수 308

궁금합니다.

해결됨

20년 경력자의 알기 쉬운 컴퓨터네트워크

교육영상에서 C2901 라우터에 Voip 컨피그를 삽입하기 위해 라이선스 활성화를 하는 장면을 봤는데요. 시뮬레이션이 아닌 실제 장비나 현장에서도 VoIP를 구성하기 위해 동일한 방법을 사용하는지 궁금합니다. 그리고 C4331은 해당 명령어 입력이 안되던데, VoIP구성은 2900시리즈 라우터만 가능한지요? 또...ip source-address 200.200.200.1 port 2000 에서 포트 번호는 어떻게 지정되는건지 궁금합니다.

  • network
  • protocol
yhslover2001 댓글 1 좋아요 0 조회수 289

컬렉션 VS 스토어

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

안녕하세요. 좋은 강의 잘 듣고 있습니다. 강의를 듣다가 궁금한 점이 생겨서 질문 남깁니다. 만약 /members -> post // 새로운 멤버 생성 /members/{memberid} -> delete // 멤버삭제 이런식으로 api를 설계할 경우에는 members는 post와도 관련이 있고 delete와도 관련이 있게됩니다. 그렇다면 이런 경우에는 /members 는 컬렉션인 동시에 스토어가 되는 건가요?

  • 컬렉션
  • network
  • 스토어
안녕하세요 댓글 1 좋아요 1 조회수 278

assertThrows 오류 관련

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요. serviceTest를 하던중에 막혀서 이것저것 다 해봤지만 안돼서 질문드립니다. 다음 사진과 같이 assertThrow에서 오류가 발생합니다. 그래서 이전 코드들도 쭉 봤는데 그렇다기엔 try catch 문에서는 정상적으로 작동합니다. 뭐가 문제일까요?

  • spring
  • spring-boot
  • java
  • MVC
Kun 댓글 1 좋아요 0 조회수 768

프록시 객체 초기화 중 질문있습니다.

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요 영한님! 강의 내용 중 궁금한 점이 있어 질문 드립니다. Team refTeam = em.getReference(Team.class, 1L); refTeam.getName(); 을 하게되면 Proxy가 비어있으므로 1. 영속성 컨텍스트에 초기화 요청을 보내고, 2. 영속성 컨텍스트가 DB를 조회해 3. 실제 엔티티 객체를 생성 은 이해가 되었습니다. 그럼 여기서 영속성 컨텍스트가 실제 엔티티 객체를 생성하고 Proxy의 target에 연결을 해줄 뿐이지, 1차 캐시에 실제 엔티티가 저장되는 것은 아닌 건가요? 1차 캐시에는 'Proxy 객체만' 있고 Proxy의 target을 통해 실제 엔티티를 접근할 수 있는 건지 궁금하여 질문 드립니다! 감사합니다.

  • java
  • JPA
gorany 댓글 2 좋아요 5 조회수 553

인기 태그

인프런 TOP Writers

주간 인기글