[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
안녕하세요. 항상 좋은 강의 감사드립니다. 이번 수업에서 Add 함수를 만들 때 반환값을 정수로 정하기 위해서 int를 넣은 부분까지는 이해가 됐는데요 매개변수에도 int를 주셨잖아요 만약 int를 지정하지 않으면 함수가 a, b가 숫자(정수)더라도 정수라고 인식하지 못해서 오류가 나나요? 아니면 단순히 정수라는 것을 좀 더 명확하게 표현하기 위해서 int를 넣은 것인가요? 그리고 아래와 같이 Console.ReadLine을 통해서 a, b를 입력받도록 했는데 '실행할 테스트 파일이 없다'는 오류가 출력되는데 이유가 있을까요?
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
안녕하세요. '미로준비'의 '환경설정' 강좌에서, 유니코드 25A0 를 갖고 출력 할려니 루프는 제대로 돌고있고, 출력도 된는데, ? 마크만 출력이 되서, 다른 무슨 셋팅을 해야 하는지 알고 싶어 문의를 드립니다. 영문 윈도우에서 한글 셋팅을 추가해서 쓰고 있고, VIsual C++ 2019 에서 한글 커맨트는 잘 입력이 됩니다. 감사합니다.
선생님 안녕하세요~ 드디어 개인 포트폴리오 사이트 제작완료해서 여기저기 지원을 넣고 있는데요 그중에서 두개 회사 업무내용이 걸려서 문의드려요..ㅠㅠㅠ 한 회사는 " 워드프레스를 기반으로 웹사이트 구축 및 운영 관리 업무"라고 적혀있는데 워드프레스는 제가 몇년전 프론트앤드국비학원다녔을 때 배우긴 했는데 다 까먹어서 워드프레스 사용을 잘 모르겠어서요... 또 한회사는 퍼블리셔 업무에 " 애플리케이션과 그로잉세일즈 대시보드 웹 프론트앤드 개발" 이라고 적혀있더라고요... 여기는 복지랑 연봉, 위치등 너무 마음에 들어서요ㅠㅠㅠ 따로 프론트앤드개발자도 구하고 있고, 지원자격에는 프론트앤드내용이 없던데 그냥 지원해도 괜찮을까요.?? 그동안 선생님 수업들으면서 포트폴리오까지 만들 수 있었던것 같습니다 감사합니다!!!
나도 코딩님처럼 띄어쓰기랑 다 똑같이 했을 때 오류가 떠서 23번째랑 25번째 줄 띄어쓰기 안 하고 했어요 그렇게 하면 오류는 없는데 실행했을 때 배경색이 안 나와요. 그리고 열었던 걸 닫을때 색이 나와요.. 어떻게 해야 되나요? import pygame pygame . init () # 초기화 (반드시 필요) # 화면 크기 설정 screen_width = 480 # 가로 크기 screen_height = 640 # 세로 크기 screen = pygame .display.set_mode(( screen_width , screen_height )) # 화면 타이틀 설정 pygame .display.set_caption( "서준 game" ) #게임 이름 # 배경 이미지 불러오기 background = pygame .image.load( "C: \\ Users \\ 방지후 \\ Desktop \\ 방서준 \\ 서준 코딩 \\ pygame_basic \\ 새 폴더 \\ background.png" ) # 이벤트 루프 running = True while running : for event in pygame .event.get(): # 어떤 이벤트가 발생하였는가? if event .type == pygame . QUIT : # 창이 닫히는 이벤트가 발생하였는가? running = False # 게임이 진행중이 아님 screen .blit( background , ( 0 , 0 )) # 배경 그리기 pygame .display.update() # 게임화면을 다시 그리기! 반드시 # pygame 종료 pygame . quit ()
package hello.upload.domain ; import lombok. Data ; import java.util.List ; @Data public class Item { private Long id ; private String itemName ; private UploadFile attachFile ; private List<UploadFile> imageFiles ; } 메모리에 저장하는 도메인은 위와 같은데, jpa 엔티티 설계시 uploadFile은 값 타입으로 하는게 좋을까요? 그러면 imageFile와 같은 값 타입을 List 형식으로 선언해도 되나요?
namespace를 myspace1 과 myspace2 를 줬을때는 main에서 usingnamespace myspace1을 준뒤, 코드를 실행해 보면 오버라이딩이 안 일어나고 정상적으로 실행이 되는데, namepace를 한개만 주고 main함수에서 using namespace myspace1을 준 뒤 코드를 실행했을때 오버라이딩이 일어나는 이유가 궁금합니다. 코드 첨부하였습니다! #include <iostream> using namespace std; namespace Myspace1 { int doSomething(int a, int b) { return a + b ; } } int doSomething(int a, int b) { return a * b; } int main() { using namespace Myspace1; cout << doSomething(3, 4) << endl; return 0; } #include <iostream> using namespace std; namespace Myspace1 { int doSomething(int a, int b) { return a + b ; } } namespace Myspace2 { int doSomething(int a, int b) { return a * b; } } int main() { using namespace Myspace1; cout << doSomething(3, 4) << endl; return 0; }
componentDidMount가 첫 랜더링 호출후 실행되는 메소드이긴 하지만 이 메소드가 하는 일 자체가 인터벌을 다시 실행하는 일이잖아요? 그래서 onClickBtn 메소드에서 바로 호출해도 되나요? 일단 작동은 잘 되긴 하는데 componentDidMount는 첫 랜더링 후에만 호출되는 메소드(일종의 약속)니까 명시적으로 따로 호출하지 않는 게 좋나요? 아니면 리액트돔이 처음에 실행만 시켜줄 뿐 컨트롤 하는 건 개발자 몫이니 저런 식으로 또 써도 되나요?
안녕하세요, 강의 들으며 공부하다가 궁금한 점이 있어서 질문 올립니다! 연관 관계의 주인만이 등록, 수정을 할 수 있고 주인이 아닌 쪽은 조회만 할 수 있다는 것을 배웠는데요 이러한 "연관 관계의 주인"이라는 컨셉이 필요한 이유가 무엇인가요? Team과 Member라는 엔티티가 있을 때 team 객체로 member를 수정하든 member 객체로 team을 수정하든 누구를 통해서든 등록, 수정 할 수 있으면 편할텐데요. 제가 이해한 바로는 "연관 관계의 주인"이라는 컨셉이 있는 이유가 어느 파일에서는 Team을 통해 member를 변경하고 어느 파일에서는 Member를 통해 Team을 변경하면 변경하는 코드의 일관성이 없기 때문에 오로지 연관 관계의 주인만 값을 변경할 수 있게끔 강제한 것이라고 이해했는데 올바른 이해인가요? 더 깊은 이유가 있다거나 다른 이유가 있다면 알고 싶습니다. 답변 기다리겠습니다. 요즘 날이 더운데 더위 조심하세요!
안녕하세요 수업 너무 잘 듣고있습니다!! 구글링 하다보니 feign이나 resttemplate은 동기방식이고 msa장점은 다음과 같다고 알고 있습니다. 서비스간 결합이 loose해서 하나 서비스가 고장 나도 다른 서비스 영향 없습니다. (ex. order에서 pay를 호출하는데 pay가 고장나도 응답이 나오긴나옵니다) 1. 강의에서는 kafka를 데이터 동기화로 사용했는데 리액티브 서비스에 맞게 service간 통신방법 비동기 방식으로 kafka나 rabbitMQ를 사용한다고 들었습니다. 제가 이해한게 맞는지 궁금하여 질문드립니다! 2. 그리고 다른 서비스 호출을 post방식이라면 비동기가 이해가는데, get방식으로 호출하면 다른 서비스 응답을 받고 그 다음 처리 해야하는데 어떻게 비동기 처리가 되는지 궁금합니다. 3. 비동기 방식으로 WebFlux 패턴도 사용하는데 메세지브로커를 이용한 비동기 방식이랑 어떠한 차이가 있는지도 궁금합니다.. 구글링 많이 해봤지만 확신이 들지 않아서 질문드립니다. 감사합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용ㅇ해주세요.
모델마다 random_state값을 설정해주는데 (예를들어 train_test_split 에서) random_state이 바뀔때마다 모델도 약간바뀌는데 이때 모델이 너무민감하게 반응하여 결과가 다르면 어떻게 해결해야 되나요? 이문제를 cross-validation으로 해결하는건가요?
선생님! 세밀하고 친절한 강의에 진심으로 감사드립니다. 저는 왕 초보입니다. C언어 강의 1. 13 비주얼 스튜디오 코드 기본적 사용 방법에 대한 강의를 따라 가던 중 컴파일 gcc main.c 를 입력하면 저는 강의 내용과는 다르게 아래와 같이 나옵니다. 여러번 다시 따라 해봤으나 동일하게 나옵니다. 무엇이 문제인지 가르쳐 주세요. 감사합니다. PS C:\Users\kredi\Documents\my_c_files> gcc main.c C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/lib/../lib/libmingw32.a(lib32_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x39): undefined reference to `WinMain@16' collect2.exe: error: ld returned 1 exit status PS C:\Users\kredi\Documents\my_c_files>
톰캣 서버 연결이 안 되는 문제가 생겨서 질문 글을 뒤지다가 이게 커뮤니티 버전에서 일어나는 문제라는 것을 알게 되었습니다. 답변글에 나온 대로 처음에는 settings - gradle에서 설정을 intellij로 바꾸지 않고 gradle로 둬 봤는데요. 여전히 톰캣 서버가 연결이 끊겼습니다. 그래서 build.gradle에서 implementation 'org.springframework.boot:spring-boot-starter-web' 이 코드를 지우고 settings - gradle에서 설정을 intellij로 변경했습니다. 이렇게 하니까 이제 연결은 되는데 프로젝트를 실행할 때 Edit Configuration 창이 뜹니다. 여기서 설정을 어떻게 해야 이 창이 뜨지 않을 수 있을까요? 제가 설정을 이것저것 해봤지만 Warning: Class 'hello.servlet.ServletApplication' not found in module 'servlet.servlet.main~1' 이런 식의 오류만 뜹니다. (+) 아래 해결방법 대로 하면 일시적으로는 잘 되는데 다음 날 와서 켜 보면 똑같은 문제가 반복되었습니다. 여러분 그냥 인텔리제이 커뮤니티 버전 말고 얼티메이트 버전 쓰세요... 혹시 학교 이메일 계정이 있으시면 졸업 여부와 상관없이 1년간은 무료로 라이센스를 이용할 수 있습니다. 전 얼티메이트 버전 쓰고 광명 찾았어요.
아래의 궁금증이 생겼습니다. 스프링에서, 1. em을 출력해봤는데 왜 em 은 프록시 객체가 들어오는가 ? 뭘 위해서 ? 2. 여러 리포지토리에 있는 em 을 다 출력해보니 모두 같은 em 객체였다 . 즉 , em 도 스프링 빈으로 등록되어 ( 사실은 proxy) 싱글톤으로 관리되고 모든 리포지토리 계층에서 같은 em 을 사용하는 것일까 ? 3. 그렇다면 그림하고 다른 것이 있는데 em 이 transaction 이 생성될때마다 생기는 것이 아니라 그냥 하나를 여러 쓰레드에서 접근하는 것인가 ?? 그럼 내부에 쓰레드 세이프하게 코드가 짜져있어서 가능한걸까 ( 락을 거는 것 )? 여러 쓰레드가 동시에 접근하는 경우 락이 걸려있으면 하나의 요청이 처리될때까지 다른 쓰레드들은 대기하게 될텐데 그러면 멀티쓰레딩의 의미가 없는 것이 아닐까 ?
JPA 활용 1 과 연관해서 궁금한게 생겨서 문의드립니다 . 아래의 내용이 맞는지 궁금합니다 . 여기저기서 뒤죽박죽 조사해서 난해한 감이 있네요 ㅠ emf 를 통해 직접적으로 em 을 생성하는 경우 당연히 em 의 원칙을 지키기 위해 트랜잭션 단위로 다른 em 을 생성해서 반환하여 , 공유하는 문제를 방비한다 . 그러나 이렇게 호출할 때 마다 새로운 em 을 생성하는 것은 너무 큰 자원 , 시간 낭비이다 . 실무에서는 JPA 를 단독으로 사용하지 않고 , 스프링 프레임워크와 함께 사용하는데 이러한 문제를 해결할 방법이 있다 . 분명 em 은 트랜잭션 단위로 생성이 되어야 하며 , 트랜잭션 종료 시 em 도 종료되어야 한다고 했다 . 그러나 스프링에서는 em 을 트랜잭션 단위로 생성하지 않고도 동시성 문제를 해결할 수 있다 . repository 클래스는 @Repository 로 인해 스프링 빈으로 등록되므로 싱글톤으로 관리되는데 그 내부 필드인 em 도 private final 이기 때문에 빈이 생성될 때 초기화된 후 변경되지 않는다 . 근데 어떻게 해결하는 것일까 ? @PersistenceContext 에너테이션에 그 답이 있다 . @PersistenceContext 에너테이션을 사용하면 , 이 repository 클래스가 빈으로 등록될 때 em 을 주입하는 시점에서 EntityManager 를 생성해서 주입할 때 프록시 객체로 감싸서 주입해주는 것이다 . 이 프록시 객체가 내부적으로 동시성 문제를 해결해준다 . 결국 한 repository에서 하나의 em만으로 문제를 해결하는 것이다. ※ 최신 스프링에서는 @PersistenceContext 대신에 @Autowired 로도 할 수 있다고 한다 . @Repository @Transactional public class MemberScheduleRepository { private final EntityManager em ; @Autowired public MemberScheduleRepository (EntityManager em) { this . em = em ; } } + 정리 강의에서 지금 강의에서하는 EntityManager와 스프링을 이용하는거와 다른데 나중에 설명해주겠다고 하셨는데 그거와 관련된 영상이 없는것 같습니다. 아래 그림의 차이도 포함해서요!