안녕하세요. <관계를 이해하라> 수업 수강 중 질문이 생겨 글을 작성합니다. Book b = new Book (); 에서 저는 b가 객체Book의 번지를 할당받는 참조 변수라고 생각했습니다. 왜 b가 참조변수가 아닌 인스턴스 변수가 되는지에 대한 설명을 부탁드려도 될까요? 찾아봐도 인스턴스변수와 참조변수의 구분을 어떻게 해야 하는 것인지 잘 모르겠어서 결국 질문드립니다. 감사합니다.
안녕하세요 제로초님! 유익한 강의 감사합니다. 다름 아니라, 오늘 getDefaultMiddleware를 써보니까 라이브러리에서 deprecated되어있더라구요. 공식문서(https://redux-toolkit.js.org/api/getDefaultMiddleware)보니까 기존 사용하던 코드에서 어떻게 변경할지 가이드를 제시하고 있는데, 가이드대로 코드 변경해도 문제 없을까요 ??!
선생님 덕분에 항상 많은것을 배워갑니다. 강의를 들으면서 궁금한게 생겼는데요. LGBM 모델이 decision tree 기반으로 작동한다고 알고있습니다. 첫번째 LGBM regressor 모델을 쓰게될때 categorical 데이터와 연속형 데이터가 섞인 데이터를 받게될 경우도 다분하다고생각되는데요 .이때는 data feature engineering 을 어떤식으로 접근해야할지 모르겠습니다. 조금 범위가 넓은 질문이기도 한데요 1. 가령 연령대의 데이터가 birth_date 로 오지않고 1:(20~25) 2:(25~30) 등으로 올때는 그냥 별도의 feature_engineering 을 하지않아도 되는지??여부 2. 새로운 특징을 추출할때 범주형과 연속형 변수를 섞어서 도출할때에는 어떤식으로 해야할지?? 선생님의 의견을 듣고싶습니다( 가령 안건드는게 좋다라던지 접근방식이라던지) 3. 그리고 연속형 범주에서 LGBM 을 사용할떄는 굳이 정규화를 시켜주지않아도되는지여부도 궁금합니다.( decision tree 기반이라 굳이 안해도 된다는말을 어디서본거같긴한데 잘 모르겠습니다) 4. 특정 열이 데이터가 한쪽으로 치우져있을때 log 를 씌워 정규분포형태로 만들어줄수있다는것도 알게되었습니다(머신러닝완벽가이드) 여기서 train_data의 특정 column에('A'라고 하겠습니다) log를 적어주었을때 test_column 특정열('A')에도 log 를 취해준후 예측을 하고 predict 한결과를 그대로 사용하면 되는것이 맞는지요?? 5. 마지막으로 평가지표에 대한 질문인데요. rmse나 MAPE 등 다양한 평가지표가 존재합니다. 근데 여기서 rmse 가 무조건낮다고 쓸만한 모델인가? 에대한질문입니다. rmse 가 0.1 이여도 쓸만한 모델이 아닐수도있고 rmse가 10이여도 쓸만한 모델일수도 있다고 생각이되는데 이에대한 구분기준은 어떻게정해야할까요??? 이제 머신러닝을 배우는단계라 궁금한게 너무많아서 한번에 질문이 많아졌네요. 감사합니다.
현재 vcpkg를 통하여 opengl, glew, glfw3를 32비트와 64비트 모두를 선생님의 chapter가 있는 곳에 전부 다운받아 놓은 상태입니다. chapter1 - lecture1.sln을 통하여 코드를 실행하였더니 "파일소스를 열 수 없습니다 "GLFW/glfw3.h" 이렇게 에러가 나는데 어떻게 하면 해결 할 수 있을까요?
8번이 실행되는 원리는 어느정도 이해가 가서 변형을 해보았습니다. 수업에서 다루었던 코드가 a = ['foo', 'bar', 'baz'] while True: if not a: break print(a.pop()) 인데 이것을 아래와 같이 바꾸면 에러가 뜹니다. a = ['foo', 'bar', 'baz'] while True: if a == False: break else: print(a.pop()) if not a:가 a가 false가 되면으로 해석해서 저렇게 바꿔봤는데 에러로 IndexError: pop from empty list 가 뜨는 이유를 모르겠습니다. 답변 부탁드립니다.
GameData.cs에다가 public delegate void OnClicked();를 옮길때, 제가 실수로 Util 클래스 안에다가 넣어버렸습니다 그랬더니, 아래 함수에서 " popUp.SetListenerYes(onClickYes); popUp.SetListenerNo(onClickNo);" 이 부분에서 onClickNo라고 되어 있는 부분에서 오류가 납니다 위의 Argument 자리에서는 괜찮은데 왜 아래서 오류가 생기는 건지 이해가 안갑니다 오류는 이러합니다 " public delegate void OnClicked(); " public static void CreatePopUp(GameObject prefab, GameObject parent, OnClicked onClickYes, OnClicked onClickNo, int id) { GameObject GO_PopUp = GameObject.Instantiate<GameObject>(prefab, parent.transform, false); PopUp popUp = GO_PopUp.GetComponent<PopUp>(); popUp.SetListenerYes(onClickYes); popUp.SetListenerNo(onClickNo); popUp.Text_PopUpContent.text = string.Format("Do you want to buy {0}", GameDataManager.instance.ships[id].name); }
설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
안녕하세요 맛비님! 뭔가 재 질문하게 되는거 같아 죄송합니다.. r_vaild 신호를 이용해서 delay가 되는 원리가 이해가 되지 않습니다.. always @(posedge clk or negedge reset_n) begin if(!reset_n) begin r_vaild <= 1'b0; end else if (i_run) begin r_vaild <= 1'b0; end else begin r_vaild <= i_vaild; end end 이 구문에서 i_vaild 라는 저장공간에 있는 값을 r_vaild 라는 저장공간으로 이동하게 되면 delay가 발생하는 원리가 맞나요?? 즉, 저장공간에서 저장공간으로 값이 이동하게 되면 delay 가 생긴다.. 제대로 이해한게 맞을까요??
main posts 들이 보이는 index.js 에서 getServerSideProps 를 통해 초기 post 들을 불러오고 있는데, Link 태그를 이용해서 게시글 상세 페이지 ex) /post/39 와 같이 이동하게 만들었습니다. 그 이후 '뒤로 가기' 하면 index.js 를 불러오면서 새롭게 main posts 를 불러오는데 혹시 그전 값들로 유지하게 할 수 있나요?
프론트 엔드에서 전체 category를 조회해서, 화면에 카테고리를 선택할수 있도록 출력해주는 화면이 있고 유저가 게시글을 등록한다고 한다면 --- 1. 아래와 같이 Category 테이블에 모든 카테고리를 저장해 (init), 2. 이 리스트를 전달해주고, (미리 카테고리들은 정해져 있다고 할때, 추가도 할수 있겠지만) 3. user가 게시글을 등록할때 client가 입력한 category를 category table에서 찾아오고 4. 그 값을 기반으로 post와 postCategory에 저장해주는 방식이 되어야 하는거 같은데 (강의들중 어디에서 질문하는게 좋을지 약간 애매해서 여기에 글 올립니다.) ------ 이렇게 하는 방식이 맞을까요? 뭔가 동작 하게끔 할수 는 있는데 올바른 방법같지 않아서 영한님 다른강의들도 들어보면서 같이 몇일째 고민중인데 찜찜하고 명확하게 확신이 안섭니다. 카테고리 목록은 initService를 하나 만들어서 미리 저장해두었습니다. (강의에서 하신 initDb처럼) 답변주시면 감사드리겠습니다. 몇일째 해결이 안되요 ㅠㅠ post테이블의 CATEGORY_TAG는 삭제 예정입니다 public class Post { @Id @GeneratedValue @Column (name = "post_id" ) private Long id ; private String title ; @Lob private String desc ; private int price ; @Enumerated (EnumType. STRING ) private Status status ; @ManyToOne @JoinColumn (name = "account_id" ) private Account seller ; @OneToOne (cascade = CascadeType. ALL ) @JoinColumn (name = "post_category_id" ) private PostCategory postCategory ; // old @Enumerated (EnumType. STRING ) private CategoryTag categoryTag ; /*@OneToOne @JoinColumn(name = "category_id") private Category category;*/ public Post (String title , Account seller){ this . title = title ; this . seller = seller ; status = Status. NEW ; } // old public Post (String title , String desc , int price , CategoryTag categoryTag , Account seller){ this . title = title ; this . desc = desc ; this . price = price ; // @Converter this . categoryTag = categoryTag ; this . seller = seller ; status = Status. NEW ; seller.addPost( this ) ; } public Post (String title , String desc , int price , Account seller){ this . title = title ; this . desc = desc ; this . price = price ; // @Converter this . postCategory = postCategory ; this . seller = seller ; status = Status. NEW ; seller.addPost( this ) ; } //== 연관관계 메서드 ==/ public void setSeller (Account seller) { this . seller = seller ; seller.addPost( this ) ; } //== 바즈니스 로직 ==// // old public static Post post (String title , Account seller , CategoryTag categoryTag){ Post post = new Post(title , seller) ; post.setCategoryTag(categoryTag) ; return post ; } public void setPostCategory (PostCategory postCategory){ this . postCategory = postCategory ; postCategory.setPost( this ) ; } } @Entity @Setter @Getter public class PostCategory { @Id @GeneratedValue @Column (name = "post_category_id" ) private Long id ; @OneToOne (mappedBy = "postCategory" ) private Post post ; @OneToOne @JoinColumn (name = "category_id" ) private Category category ; } @Entity @Getter @Setter @NoArgsConstructor (access = AccessLevel. PROTECTED ) public class Category { @Id @GeneratedValue @Column (name= "category_id" ) private Long id ; @Enumerated (EnumType. STRING ) @Column (unique = true ) private CategoryTag categoryTag ; public Category (CategoryTag categoryTag){ this . categoryTag = categoryTag ; } } @PostMapping ( "/new2" ) public PostResponseDto postV2 ( @RequestBody PostRequestDto postRequestDto , @ApiIgnore HttpSession session){ Account account = getSessionCheckedAccount(session) ; Post post = new Post(postRequestDto.getTitle() , postRequestDto.getDesc() , postRequestDto.getPrice() , account) ; Category category = categoryJpaRepository .findByCategoryTag(postRequestDto.getCategoryTag()) ; PostCategory postCategory = new PostCategory() ; postCategory.setCategory(category) ; post.setPostCategory(postCategory) ; Long postId = postService .post(post) ; return new PostResponseDto(postId) ; }
잘 따라와서 입력을 한거 같은데 사이트 연결 할 수 없음 문제가 나와서 질문드립니다. 해당 질문은 프론트 서버 배포하기 강좌를 보다가 나온 문제입니다. 제가 했던 절차는 이러합니다. 1. local 컴퓨터 front에서 npm i pm2 설치 2. local 컴퓨터 front에서 saga/index.js 쪽 backUrl을 전역적으로 사용하기 위해서 config 만들고 import 설정 3. local 컴퓨터 front에서 localhost3065로 돌아가는 back을 backUrl로 전부 설정 4. local 컴퓨터 front에서 package.json 설정( "start" : "cross-env NODE_ENV=production next start -p 80" ) 4. local 컴퓨터 front git romote 후 우분투 front에서 git pull 5. 우분투 front에서 npm build ( "build" : "cross-env NODE_ENV=production ANALYZE=true next build" , ) 6. 우분투 front에서 sudo npx pm2 start npm -- start && sudo npx pm2 monit로 실행 7. aws front ip 로 브라우저 접속 -> 사이트 연결할 수 없음 이렇게 진행하였는데... 왜 안되고 있는지 잘 모르겠습니다 ㅠㅠ 커뮤니티 게시판에서 보안그룹 관련해서 나온 글이 있길래 초기 ec2 인스턴스 생성시에 http, https 설정할때 제 ip로 설정 해놔서 Anywhere 설정으로 변경 후 다시 실행을 했거든요.. 그래도 무반응 입니다. 혼자 해결 해보려 찾아보는데 키워드 조차 나오지 않다 보니 찾기가 매우 힘드네요. 답변주시면 감사하겠습니다. 아래 스크린샷 첨부합니다. front/package.json aws 보안 그룹 - ssh는 제 ip로 되어 있고 보안 그룹 이름은 ec2 인스턴스와 일치합니다.. build log - front에서 about.js 제외하고 빌드했습니다. front 실행
열심히 들으며 part3개를 해치우고 어느덧 part4에 왔는데요,, 복습겸 수업에서 중요했던 것들을 다시 정리해서 티스토리에 올리려고 합니다. 이미 몇 개는 미처 생각을 못하고 올려버렸습니다. 앞으로도 조금씩 적어서 올리려고 하는데요, 그 전에 먼저 허락을 받으려 합니다. 코드의 경우에는 거의 올리지 않으려 하고, 줄 글 정도로 해당 챕터의 내용을 정리하려 합니다. 글을 올려도 될까요? 안된다고 하신다면 티스토리에 현재 올라간 내용들은 보는 즉시 삭제하도록 하겠습니다.