- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 유형2 스크립트 관련하여 세부 내용설명이 필요해서 질문드립니다. 질문1> df<-read.csv("C:/Users/datauser/Desktop/제3회 실기시험/TravelInsurancePrediction_train.csv") tst<-read.csv("C:/Users/datauser/Desktop/제3회실기시험/TravelInsurancePrediction_test.csv") 질문 1-1위 스크립트는 데이터 불러오기인가요? 1-2 x_train, x_test , y_train 3개를 불러오는거와 달리 왜 이 부분을 명칭을 df와 tst로 했는지 어떤 문제 부분일 때 x_train, x_test , y_train 을 지정 하는지 궁금합니다. 질문2 str(df) summary(df) df$Employment.Type <- as.factor(df$Employment.Type) df$GraduateOrNot <- as.factor(df$GraduateOrNot) df$FrequentFlyer <- as.factor(df$FrequentFlyer) df$EverTravelledAbroad <- as.factor(df$EverTravelledAbroad) df$TravelInsurance <- as.factor(df$TravelInsurance) 2-1 문자형 data는 factor로 무조건 보통 바꾸나요? 2-2보통 자료의 마지막 컬럼을(3회에서는 TravelInsurance)을 factor 바꾸는거 같던데 맞나요? 아니면 어떤 자료의 num을 factor로 바꾸는지 기준이 궁금합니다. 질문3 3-1분류모델 구축 강의에서는 merge함수를 사용하여 df=merge(x_train,y_train, by='cust-id') 하던데 이문제에서는 자료를 합치지 않은 이유가 궁금합니다. 3-2만약 합치지 않은이유가 회귀모델이라서 그렇다면 문제에 어떤부분을 보고 분류모델인지 회귀모델인지 구분하는법이 궁금합니다. 질문4 library(ModelMetrics) auc(test$TravelInsurance, p3[,2]) 4-1 auc하는 부분은 모델의 성능을 평가하기 위해서 사용한건가요? 질문5 df 자료 변환 vs tst자료 변환 df$Employment.Type <- as.factor(df$Employment.Type) df$GraduateOrNot <- as.factor(df$GraduateOrNot) df$FrequentFlyer <- as.factor(df$FrequentFlyer) df$EverTravelledAbroad <- as.factor(df$EverTravelledAbroad) df$TravelInsurance <- as.factor(df$TravelInsurance) tst변환 tst$Employment.Type <- as.factor(tst$Employment.Type) tst$GraduateOrNot <- as.factor(tst$GraduateOrNot) tst$FrequentFlyer <- as.factor(tst$FrequentFlyer) tst$EverTravelledAbroad <- as.factor(tst$EverTravelledAbroad) 5-1 df와 동일하게 tst를 자료 변환하는건 맞는지 그런데 TravelInsurance 에 대해서는 왜 factor로 변환하지 않았는지 궁금합니다. 질문6 스크립트를 외워서 시험을 칠려고 하는데 세부사항 이해가 안되니 적용이 안되네요 강의를 여러번 들어도 잘 모르겠습니다. 어떻게 공부를 더 해야 될지 조언도 부탁드립니다.
ThreadPool.SetMinThreads(1, 1); ThreadPool.SetMaxThreads(3, 3); 에서 최대 쓰레드가 3개라고 설정했는데 parallel로 실행하면 아래와 같이 1,4,6,5 이렇게 4개의 쓰레드 id를 가지는지 궁금합니다. 그리고 TLS가 static 변수를 각 쓰레드의 로컬 변수로 만들어서 사용한다는 건데 이 또한 lock을 걸어서 사용하는 건가요? 만약 lock을 사용하지 않는다면 쓰레드 에서 값을 변경한 것이 static 변수에는 영향을 끼치지 않고 스레드 로컬에서만 사용한다는 것인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 선생님 현재 스프링 입문강의, 기본강의를 완강한 상태이고 복습 중 입니다. 아직 학생이고, 프로젝트를 한개 해보려고 싶은 마음에 실력은 부족하지만 Restful API제작을 하고 싶습니다. 기술스택으로는 SpringBoot 와 JPA를 사용해보고 싶고, HTTP통신 기반으로 제작하려 합니다. 11월 말일부터 제작을 시작하고 싶은데, 다음 커리큘럼으로 선생님의 HTTP강의를 듣고, 이후에 어떤 강의를 들어야할지 고민되어서, 질문드립니다. 정말 어려운 프로젝트가 될거같지만, 1. HTTP강의 이후에 Spring MVC 1,2듣기 (Servlet과 자바 MVC패턴2에 대한 지식은 가지고있습니다.) HTTP강의 이후 Spring Boot JPA강의 야생형으로 듣기 이 두가지 방법을 고민하고 있습니다. 엄청난 서비스를 만들면 좋겠지만, 아직 서비스를 구동하기에 필요한 API에 대한 개념이 아에 없는 상태인데, 어떤 과정으로 넘어가면 좋을까요? 감사합니다.
파이썬으로 ~~ part.2 강의자료를 주피터에서 불러오기가 잘 안돼서 처음부터 다시 불려오려다가 잘 불러와져있던 part.1까지 모두 삭제해버렸습니다 강의자료를 workspace 폴더로 옮기면 된다는 설명을 part.1 강의에서 찾았습니다(이미 강의자료가 불러와져있던건 지운 상태였죠) 문제는 이후에 다시 workspace 폴더로 옮기고 주피터를 실행해도 강의자료가 나오지 안나오네요 그래서 upload file 아이콘을 눌러서 하나하나씩 업로드를 했는데 이렇게 하면 전체 강의자료의 목차가 한번에 안뜨게 되네요(table of contents-점3개 줄 3개 아이콘 눌렀을때) 이전처럼 강의자료가 (예를들어 1~6까지) 한번에 다 나오게 하려면 어떻게 해야하나요? (workspace 폴더에는 옮긴 파일들이 그대로 잘있으나 주피터를 실행시키면 이전처럼 안나오네요 ㅠㅠ) 원래는 어떻게 있었는지 기억나지는 않지만 현재 uploadfile 아이콘으로 하나하나 불러왔더니 이렇게 됐네요(기존처럼 바꾸려면 어떻게 해야할까요?)
아래와 같이 querydsl을 사용해서 목록을 조회하고 List로 받은 결과값을 BoardDto 타입으로 변환해서 저장하는것은 잘 됩니다. List<Board> list = queryFactory.select(board) .from(board) .fetch(); List<BoardDto> boardList = new ArrayList<>(); list.forEach(v -> { boardList.add(modelMapper.map(v, BoardDto.class)); }); 그런데 문제는 아래와 같이 Tuple로 리턴을 받았을때는 어떻게 담아야 할까요? List<Tuple> list = queryFactory.select(board.title, board.content) .from(board) .fetch(); 검색을 했을 때.. 아래와 같이 사용을 하면 된다고 하는데.. getElements()라는 메소드는 존재하지 않는데 어떻게 저렇게 사용을 하는지 모르겠네요..(현재 자바 8을 사용하고 있습니다.) List<Product> products = productsTuple .stream() .map(p -> { Map<String, Object> maps = new HashMap<>(); p.getElements().forEach(te -> { maps.put(te.getAlias(), p.get(te.getAlias())); }); return modelMapper.map(maps, Product.class)); }) .collect(Collectors.toList()); 단순하게 DB에 있는 컬럼만을 사용자로 보내주는 경우는 많지 않고 가공을 해서 보내줘야 하는 경우가 대부분인데.. querydsl로 tuple데이터를 조회했을 때 modelmapper로 담는 방법이 없을까요? tuple로 조회된 정보들은 Map으로 따로 담아서 view 로 리턴을 해 주는데 그렇게 되면 tuple의 결과값에 따라 map에 넣어주는 데이터들도 많아지고, 중복 비슷한 자료들이 너무 많아져서 보기가 좋지 않은데.. return 할 DTO를 하나 만들어서 그곳에 리턴될 값들으 모두 담아서 리턴을 할 수 있는 방법이 있을까요?? 예를들어 게시판 테이블에서 조회를 할 때 특정 필드값들을 select하고, 첨부파일 정보를 select하고, 회원 정보를 select를 해서 이 3개의 테이블에 있는 필요한 값들을 DTO를 하나 만들어서 그곳에 담아서 리턴을 해 주고 싶은데 제가 알고있는 방식은 Map<String, Object> map = new HashMap<>(); map.put("id", tuple(user.id)); map.put("title",tuple(board.title)); map.put("fileName", tuple.attach.fileName)); 위와같은 식으로 맵에 각각 담아서 맵으로 화면에 리턴을 해 주고 있는데 이런 값들을 담을 DTO를 아래와 같이 만들고 public class returnDTO{ private Long id; private String title; private String filename; } returnDTO 안에 modelmapper나 다른 방법을 사용해서 한꺼번에 담을 수 있는 방법이 있을까요? 값이 얼마 없을때는 그냥 사용을 하면 되는데 값이 많아지고, 하나의 메소드 안에서 여러번 가공을 해서 만들어야 할 경우에는 Map을 만드는 작업을 여러번 반복을 해야하는 상황이 발생하다보니 소스가 많이 지저분해지는 느낌이 많이 듭니다.
Advisor 빈의 등록 시점이 궁금합니다. 강의에 나온 설명 그림의 흐름대로라면, 빈 후처리기에서 스프링 컨테이너와 @Aspect 어드바이저 빌더에 있는 Advisor들을 조회하기 위해서는 이미 Advisor 빈이 스프링 컨테이너에 등록되어 있는 상태여야 하는 걸로 이해했습니다. 그렇다면 Advisor 빈들은 가장 먼저 스프링 컨테이너에 등록되도록 설정 되어 있는 것 일까요??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 맥북 apple silicon입니다. 환경변수 어떻게 해야하나요"?
코드를 실행해보면 위와 같다. 처음에 char타입 배열 words를 선언하고, 그 공간에 "hello world\n"를 입력하면 gets( ) 함수가 한번에 버퍼를 읽어들인 뒤 내부적으로 \n을 제거하고(받지않고) \0를 추가시켜서 "hello world\0"를 배열 words에 저장한다. "START\n"가 출력되고 "hello world"가 출력되고 바로 이어서 "hello world"가 출력된 뒤 줄바꿈(\n)이 된다. 마지막으로 "END"가 출력된다. 1. 강의 6:00 부분입니다. 제가 위에 작성한 것처럼 내부적으로 처리되는 과정을 적어보았는데, 여기서 생긴 궁금한 부분이 " 문자열을 입력했을 때에도 내부적으로 뒤에 \0를 붙여서 처리해주는가? "입니다. 보통 코드 상으로 어떤 char타입의 배열을 선언하고 거기에 문자열을 대입한다고 했을 때 자동적으로 내부적으로는 뒤에 \0이라는 null character가 붙습니다. 그런데 이것이 콘솔 창에서 입력해주었을 때도 마찬가지로, 내부적으로 입력한 문자배열+\0 으로 처리해주는지 궁금합니다. 만약 그렇다면, gets( )함수가 words를 입력받고 \n가 입력되는 순간, "hello world\0+\0"으로 저장이 될 것입니다. 2. 콘솔창에 printf( )함수로든 puts( )함수로든 출력이 될 때, 문자열에 (내부적으로 저장되어있는) null character( \0) 도 마찬가지로 입출력 버퍼에 저장되는 것은 동일한데 출력 시 콘솔 창에 표현이 안되고 단순히 hello worldhello world로 표시가 되는것인지 궁금합니다. 이것이 사실 콘솔창에 \0도 출력되는 것이지만, 공백이 아니라 말그대로 null character이기 때문에 표시되지 않는 것처럼 보이는 건가요?
유틸 함수를 정의해서 쓰셨던데요. 이게 정확히 무슨 문법인가요? 제이쿼리 처럼 생기기도 하고, 좀 자세히 찾아보고 싶은데 키워드를 모르겠네요. function $(selector) { return document.querySelector(selector); } function getUnixTimestamp(date) { return new Date(date).getTime(); }
안녕하세요! 강의도 다시 돌려보고 인터넷도 다 뒤져봐도 커널에서는 gdb로 디버깅을 어떻게 하는지 도저히 모르겠습니다ㅠㅠ 지금까지 이해한 바로는 /usr/src/linux-headers-$(uname -r)/scripts/extract-vmlinux bzImage > vmlinux 를 통해 vmlinux파일 추출하고 gdb ./vmlinux 로 실행한 뒤 target remote localhost:1234 하면 되는 것으로 이해 했는데 아무런 반응이 없습니다... (참고로 현재 pwngdb 사용 중 입니다.) 강사님 예제파일을 보면 보통 c코드, start.sh , rootfs.cpio, bzImage 이렇게 주어지는데 이 파일들로 무엇을 해야 gdb 분석이 가능한가요? 죄송하지만 처음부터 자세하게 설명 부탁드립니다ㅠㅠ 항상 좋은 강의 감사합니다.
추가아이디어 - 그리디 min으로 5와 2횟수 비교할 필요없이 5가 최솟값을 보장 while문으로 계속해서 나누는방법 for 문으로 5 25 125로 나우는방법이아닌 5로 나눈값을 계속해서 나누는 형태(중간에 나눈값은 따로 더함) C++ http://boj.kr/9f743d2fbc00459bba06f2559896e037 #include<bits/stdc++.h> using namespace std; int n, a; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for(int i = 0; i < n; i++){ cin >> a; int ret5 = 0; for(int j = 5; j <= a; j *= 5){ ret5 += a / j; } cout << ret5 << "\n"; } return 0; } python ( while 적용 ) http://boj.kr/c031aa4a62fd4690b2d17271266f87c6 import sys input = sys.stdin.readline for _ in range(int(input())): a = int(input()) ret = 0 while a >= 5: a //= 5 ret += a print(ret)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. PDF에는 있길래 혹시 이 부분은 없어진건가요??