inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

섹션 3. 서블릿, JSP, MVC 패턴 질문 2

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

1.------------------------------------------------------------------------------------ Host: localhost:8080 Connection: keep-alive Content-Length: 18 Cache-Control: max-age=0 sec-ch-ua: "Microsoft Edge";v="125", "Chromium";v="125", "Not.A/Brand";v="24" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Upgrade-Insecure-Requests: 1 Origin: http://localhost:8080 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Referer: http://localhost:8080/servlet/members/new-form Accept-Encoding: gzip, deflate, br, zstd Accept-Language: ko,en;q=0.9,en-US;q=0.8 Cookie: Idea-9dddef07=3ad833a2-9560-44ed-926b-2edd236efc95 username=leo&age=5] MemberSaveServlet.service 1.------------------------------------------------------------------------------------ 2024-06-14T15:50:37.558+09:00 DEBUG 25172 --- [servlet] [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [959] 2024-06-14T15:50:37.558+09:00 DEBUG 25172 --- [servlet] [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer : Received [] 2024-06-14T15:50:37.558+09:00 DEBUG 25172 --- [servlet] [nio-8080-exec-6] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@12d81083:org.apache.tomcat.util.net.NioChannel@7860389b:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8080 remote=/[0:0:0:0:0:0:0:1]:53734]], Status in: [OPEN_READ], State out: [OPEN] 2024-06-14T15:50:37.633+09:00 DEBUG 25172 --- [servlet] [nio-8080-exec-7] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [959] 2024-06-14T15:50:37.634+09:00 DEBUG 25172 --- [servlet] [nio-8080-exec-7] o.a.coyote.http11.Http11InputBuffer : Received [GET /favicon.ico HTTP/1.1 Host: localhost:8080 Connection: keep-alive sec-ch-ua: "Microsoft Edge";v="125", "Chromium";v="125", "Not.A/Brand";v="24" sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0 sec-ch-ua-platform: "Windows" Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: no-cors Sec-Fetch-Dest: image Referer: http://localhost:8080/servlet/members/save Accept-Encoding: gzip, deflate, br, zstd Accept-Language: ko,en;q=0.9,en-US;q=0.8 Cookie: Idea-9dddef07=3ad833a2-9560-44ed-926b-2edd236efc95 ] 늘 불철주야 강의 찍으시느라 고생하시는 지식공유자님과 답글 달아주시는 선생님들의 노고에 항상 감사드리는 마음으로 질문 남깁니다. 상황 1, /servlet/members/new-form 에 들어가서 username, age를 입력해서 전송을 누른다. 2, 전송 버튼을 누르면 서블릿에서 member를 저장하고 그 결과로 /servlet/members/save의 html메시지를 메시지 바디에 담아서 응답한다. 질문1: 전송버튼을 누르면 /servlet/members/save url로 요청이 들어가는 게 맞는 건가요? 질문2: 위 코드를 2개로 쪼갰습니다. /servlet/members/new-form에서 데이터를 입력하고 전송을 눌렀을 때 부터의 콘솔창 입니다. /servlet/members/new-form에서 보낸 요청 -> /servlet/members/new-form에 대한 응답 으로 끝나야 하는데 요청이 두 개 들어온 거는 왜 그런 건가요??

  • spring
  • mvc
권정익 댓글 1 좋아요 0 조회수 186

스프링 버전

미해결

쥬쥬와 함께 하루만에 끝내는 스프링 테스트

안녕하세요. 수업 잘 듣고 있는 수강생입니다. 별개로 회사에서 스프링버전 1버전도 있고 2버전도 있는데요, 그런 경우는 junit5 라이브러리를 따로 임포트 해서 사용하지 못할까요?

  • spring
  • docker
  • junit
  • mockito
  • 소프트웨어-테스트
highjune 댓글 2 좋아요 0 조회수 292

작업형 제1유형 문제 1번 정답 문의

해결됨

빅분기 실기 1Day Class(R)

선생님께안녕하세요 선생님? 알찬 강의에 늘 감사드립니다 : ) 다름이 아니라 작업형 제1유형 문제 1번의 평일 오후 1시 casual 평균대비 registered의 평균 비율 정답 확인 부탁드립니다! > df_01 = read.csv("D:/데이터_기출예제_01/set_01_data_01.csv") > head(df_01) datetime casual registered count 1 2011-01-01 00:00:00 3 13 16 2 2011-01-01 01:00:00 8 32 40 3 2011-01-01 02:00:00 5 27 32 4 2011-01-01 03:00:00 3 10 13 5 2011-01-01 04:00:00 0 1 1 6 2011-01-01 05:00:00 0 1 1 > > library("lubridate") > df_01[,"hour"] = hour(df_01$datetime) > df_01[,"wday"] = wday(df_01$datetime,week_start=1) #week_start 기본값 0 = 월 > head(df_01) datetime casual registered count hour wday 1 2011-01-01 00:00:00 3 13 16 0 6 2 2011-01-01 01:00:00 8 32 40 1 6 3 2011-01-01 02:00:00 5 27 32 2 6 4 2011-01-01 03:00:00 3 10 13 3 6 5 2011-01-01 04:00:00 0 1 1 4 6 6 2011-01-01 05:00:00 0 1 1 5 6 > > df_01$wday = as.factor(df_01[,"wday"]) > head(df_01) datetime casual registered count hour wday 1 2011-01-01 00:00:00 3 13 16 0 6 2 2011-01-01 01:00:00 8 32 40 1 6 3 2011-01-01 02:00:00 5 27 32 2 6 4 2011-01-01 03:00:00 3 10 13 3 6 5 2011-01-01 04:00:00 0 1 1 4 6 6 2011-01-01 05:00:00 0 1 1 5 6 > > df_01_wed = filter(df_01, hour == 13, !(wday %in% c(6, 7))) > tail(df_01_wed) datetime casual registered count hour wday 319 2012-12-12 13:00:00 18 220 238 13 3 320 2012-12-13 13:00:00 41 230 271 13 4 321 2012-12-14 13:00:00 39 274 313 13 5 322 2012-12-17 13:00:00 16 194 210 13 1 323 2012-12-18 13:00:00 51 235 286 13 2 324 2012-12-19 13:00:00 30 183 213 13 3 > > cnt_casual = mean(df_01_wed$casual) > cnt_registered = mean(df_01_wed$registered) > > print(round(cnt_registered/cnt_casual,2)) [1] 3.52

  • 빅데이터
jdoll326 댓글 2 좋아요 1 조회수 241

복합명사 정제 처리 관련

미해결

안녕하세요 복합명사 정제 처리 중 어려움이 있어 질문합니다. '신중년' 이라는 신생 복합명사로 데이터를 수집하고 신중 → 신중년 ('년' 삭제) 방식으로 정제를 하고 있습니다. 그런데 문장을 확인해 보니 '신중 판단' , '신중 모드' 와 같이 다른 뜻의 '신중' 이 포함되어 있는데 이럴 경우 어떻게 정제를 해야 하나요? 한글의 동음어 처리가 궁금합니다 (예: 먹는 배, 타는 배)

ohsunnykr 댓글 1 좋아요 0 조회수 75

T1-19. 시계열 데이터3에 대한 질문입니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 해당 문제에서 "Events컬럼이 '1'인경우 80%의 Salse값만 반영함" 이라는 조건을 실행하기 위해서 아래와 같은 함수를 만들었는데 'Events' Key error 가 나네요. 어느 부분을 수정하면 될까요? def calc(df) : if df['Events'] == 1 : return df['Sales']*0.8 else : return df['Sales'] df['events80'] = df.apply(calc)

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
ookim 댓글 1 좋아요 0 조회수 143

4.4 getBy~, queryBy~ 질문입니다

해결됨

실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트

마지막, 삭제 버튼 테스트 Q. 삭제 버튼을 누르면 TableRow가 사라지니까 queryByText('text').not.toBeInTheDocument() 를 사용해서 유무를 확인 하셨는데 getByText('text').not.toBeInTheDocument() 를 사용해서 해당 텍스트가 있는 요소가 없으면 에러가 나타나도록 유도해서 테스트 검증할 수도 있지 않나요?? 가능은 한건지, 권장이 되지 않는건지 질문 드립니다

  • javascript
  • react
  • 소프트웨어-테스트
  • vitest
allmy 댓글 1 좋아요 1 조회수 194

Celery 수업중 세팅 질문드립니다.

미해결

실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍

안녕하세요! 강사님의 좋은 강의덕에 완강을 눈앞에 두고 있습니다! 현재 celery 파트 강의를 듣는중 docker 환경이 아니라 로컬에서의 celery 세팅방법을 알려주시면 감사하겠습니다ㅠㅠ

  • python
  • django
  • bootstrap
  • rest-api
  • drf
하늘111 댓글 1 좋아요 1 조회수 208

Can We Perform Migration from Google Workspace to Office 365 Manually?

미해결

As we all know both Google Workspace and Microsoft Office 365 are best cloud productivity tools. Businesses and Users are planning to move from Google Suite to Microsoft 365 for better collaboration and other features and applications. Migration can be performed manually with ease without much hassle. All you need to follow this guide on migrate from Google Workspace to Office 365 . It contains all the needed steps and instructions to perform the migration manually.

stuartjames7845 댓글 1 좋아요 0 조회수 85

How to Perform O365 Tenant to Tenant Migration with PowerShell?

미해결

Are you looking for smooth transition from one tenant to another in Microsoft Office 365? If yes, then you should read this post till the end. Microsoft O365 Tenant to Tenant Migration is a process needed to perform to move mailboxes between two Microsoft 365 Tenants. It includes emails, contacts, calendars, tasks and notes. It can be performed manually by using Admin Center and Windows PowerShell. Also, you can approach third-party migration services providers with your migration requirements. For manual process, you can read this guide on O365 Tenant to Tenant Migration . It has all the steps and instructions for completing the migration.

stuartjames7845 댓글 1 좋아요 0 조회수 112

수강기간 연장 부탁드립니다.

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

9월 말에 시험을 치를 예정인데, 시험 일자보다 수강기간이 일찍 끝나게 되어 수강 기간 연장 가능할까요?

  • 네트워크
  • aws
stephen 댓글 1 좋아요 0 조회수 176

강의 질문

미해결

카프카 완벽 가이드 - 코어편

제가 EXCEL파일에 있는 데이터를 카프카를 통해 db에 저장을 해야하는데 이 강의를 들으면 할 수 있을까요?

  • kafka
  • 데이터-엔지니어링
민영 댓글 2 좋아요 0 조회수 239

섹션 3. 서블릿, JSP, MVC 패턴

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

@WebServlet(name = "memberFormServlet", urlPatterns = "/servlet/members/new-form") public class MemberFormServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriter w = response.getWriter(); w.write("<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + " <meta charset=\"UTF-8\">\n" + " <title>Title</title>\n" + "</head>\n" + "<body>\n" + "<form action=\"/servlet/members/save\" method=\"post\">\n" + " username: <input type=\"text\" name=\"username\" />\n" + " age: <input type=\"text\" name=\"age\" />\n" + " <button type=\"submit\">전송</button>\n" + "</form>\n" + "</body>\n" + "</html>\n"); } } http://localhost:8080/servlet/members/new-form 에 들어가서 이름하고 나이를 입력하니까 오류가 안나옵니다... 아직 /servlet/members/save 를 만들지 않아서 오류 페이지가 나와야 하는데 , 그리고 제가 입력한 값이랑 다르게 나오는데 왜 이런거죠...ㅠ 새로고침을 해도 해결되지 않습니다ㅠㅠ ++ localhost:8080 을 치고 들어가도 저 화면이 뜹니다ㅠㅠ

  • spring
  • mvc
권정익 댓글 1 좋아요 0 조회수 191

숙제 : 같은 값을 넣은경우 에러 처리

미해결

비전공자의 전공자 따라잡기 - 자료구조(with JavaScript)

class Node { constructor(value) { this.value = value; this.left = null; this.right = null; } } class BinarySearchTree { constructor() { this.root = null; } #insert(node, value) { if (node.value > value) { // 루트노드보다 작은 값이면 if (node.left) { this.#insert(node.left, value); } else { node.left = new Node(value); } } else { // 숙제 : 같은 값을 넣은경우 에러 처리 (alert, throw) if (node.value === value) throw new Error(`이미 해당 ${value}가 존재 합니다`); // 루트노드보다 큰 값이면 if (node.right) { this.#insert(node.right, value); } else { node.right = new Node(value); } } } insert(value) { if (!this.root) { this.root = new Node(value); } else { this.#insert(this.root, value); // 숙제 : 같은 값을 넣은경우 에러 처리 (alert, throw) } } search(value) {} remove(value) {} } const bst = new BinarySearchTree(); bst.insert(8); //bst.insert(8); // Error: 이미 해당 8가 존재 합니다 bst.insert(10); //bst.insert(10); // Error: 이미 해당 10가 존재 합니다 bst.insert(3); //bst.insert(3); // Error: 이미 해당 3가 존재 합니다 bst.insert(1); //bst.insert(1); // Error: 이미 해당 1가 존재 합니다 bst.insert(14); //bst.insert(14); // Error: 이미 해당 14가 존재 합니다 bst.insert(6); //bst.insert(6); // Error: 이미 해당 6가 존재 합니다 bst.insert(7); //bst.insert(7); // Error: 이미 해당 7가 존재 합니다 bst.insert(4); //bst.insert(4); // Error: 이미 해당 4가 존재 합니다 bst.insert(13); //bst.insert(13); // Error: 이미 해당 13가 존재 합니다 숙제 코드 정답일까요?

  • javascript
  • 코딩-테스트
  • 알고리즘
rhkdtjd_12 댓글 1 좋아요 0 조회수 212

영상 중간에 0:10 1:23초 수정에 따른 코드 최종본

해결됨

비전공자의 전공자 따라잡기 - 자료구조(with JavaScript)

class Node { constructor(value) { this.value = value; this.left = null; this.right = null; } } class BinarySearchTree { constructor() { this.root = null; } #insert(node, value) { if (node.value > value) { // 루트노드보다 작은 값이면 if (node.left) { this.#insert(node.left, value); } else { node.left = new Node(value); } } else { // 루트노드보다 큰 값이면 if (node.right) { this.#insert(node.right, value); } else { node.right = new Node(value); } } } insert(value) { if (!this.root) { this.root = new Node(value); } else { this.#insert(this.root, value); // 숙제 : 같은 값을 넣은경우 에러 처리 (alert, throw) } } search(value) {} remove(value) {} } const bst = new BinarySearchTree(); bst.insert(8); bst.insert(10); bst.insert(3); bst.insert(1); bst.insert(14); bst.insert(6); bst.insert(7); bst.insert(4); bst.insert(13); 영상 따라 했는데 안되면 해당 코드 참고 해보세용!

  • javascript
  • 코딩-테스트
  • 알고리즘
rhkdtjd_12 댓글 1 좋아요 1 조회수 171

한국은 콘솔게임에 집중, T1은 LCK 경기 개최

미해결

한국, 콘솔게임 주력한다. T1, LCK 경기 개최 에서 앞으로 몇 년한국이 콘솔 게임 분야에 중점을 두고 게임 사업을 살리고 강화하기 위한 새로운 전략을 발표할 예정이다. 문화체육관광부는 2028년까지 비디오게임 시장점유율을 높이기 위해 노력할 예정이다. 그들의 목표 중 하나는 가상 및 모바일 게임 플랫폼에 대한 의존도를 줄이는 것입니다. 한국의 게임 사업은 전 세계 콘솔 시장에서 1.5%의 점유율을 차지하고 있지만 매출 측면에서 전 세계 4위를 차지하고 있습니다. 이를 강화하기 위해 교육부는 국내 기업을 지원하고 이들이 마이크로소프트, 소니, 닌텐도 등 글로벌 대기업과 협력해 히트 게임을 만들 수 있도록 지원할 예정이다. 게임 산업은 교육부의 5개년 계획의 초점이지만 2024년에는 다른 콘텐츠에도 중점을 둘 것입니다. 게임, 영화, 만화, 웹툰 등 미디어 분야에도 1조7400억원의 자금 지원을 받았다. 심지어 비트코인 카지노 플레이어들은 이러한 콘텐츠 외에도 교육부가 콘솔뿐만 아니라 온라인 게임 분야의 발전도 포함하기를 바랍니다. 한국은 넥슨, 엔씨소프트, 넷마블 등 세계 최대 게임 기업의 본거지이지만, 플레이어는 호의 국내 중소기업. 모바일 롤플레잉 게임인 역삼국지가 2024년 4월 26일 Google Play 스토어 게임 순위 1위를 차지했습니다. 이는 넷마블이 출시한 '아스달 연대기: 쓰리 팩션'(아스달 연대기: 쓰리 팩션) 역시 1위 경쟁작이었던 것을 뛰어넘는 수치입니다. 국내 게임팬들은 대기업이 잘하고 있는데, 중소기업이 등장하는 모습이 보기 좋다며 만족감을 표시했다. T1, 레전드 챔피언스 코리아에서 홈 앤 어웨이 경기 개최 2024년 6월 29일, 한국관광공사와 한국 e스포츠 거대 기업 T1이 리그 오브 레전드 챔피언스 코리아(LCK)의 첫 홈 앤 어웨이 경기를 개최합니다. 이는 2023-24 한국 방문의 해 캠페인을 의미합니다. 한국에서 가장 많은 시청률을 자랑하는 e스포츠 리그인 LCK는 2012년 창립부터 국내 팀을 받아들이는 것을 거부해 왔습니다. 서울 종로구에 위치한 LCK 경기장인 LoL 파크에서는 정규 시즌 경기, 친선 경기, 특별 이벤트, LCK 결승전 등이 개최되며, 기타 행사도 서울 곳곳에서 열립니다. T1은 e스포츠 경험을 향상하고 한국 문화를 향상하며 더 많은 시청자를 유치하기 위해 'T1 홈 그라운드'라는 첫 번째 리그 오브 레전드 홈 경기 개최를 제안했습니다. T1의 상대팀인 LCK와 KT 롤스터의 경기는 2024년 6월 29일 경기도 고양 고양 소노 아레나에서 개최됩니다. LCK 2024 서머대회의 공식 경기 중 하나입니다. 홈팀 T1이 조직 경기가 진행되면 LCK 관계자와 심판이 경기를 감독하게 됩니다. T1은 경기장에 팬들과 선수들이 함께 어울릴 수 있는 '신나는 존'이 있을 것이라고 주장한다. 이번 행사에는 T1이 기획하고 있다. 에게 카드 스턴트와 거대한 군중 깃발 공개로 시청자를 즐겁게 합니다. 손님께서는 또한 T1 선물 가게를 둘러보실 수 있으며 최초의 T1 홈 게임을 기념하기 위해 제작된 독특한 아이템 중 일부를 구입하실 수 있습니다. SK가 콘솔 게임, LCK 경기 개최 등 게임 분야에 더 많은 노력을 기울이면서 비트코인 카지노 플레이어들은 전반적인 게임 산업이 개선되기를 바라고 있습니다. 그들은 이러한 중요한 조치가 국가의 게임 산업을 새로운 차원으로 발전시키고 세계에서 더 큰 수익을 창출할 것이라고 믿습니다. 앞으로 몇 년.

Hyunjun Jeong 댓글 1 좋아요 0 조회수 93

동적으로 html 생성 후 이벤트 위임 질문 있습니다.

미해결

인터랙티브 웹 개발 제대로 시작하기

안녕하세요. 이벤트 위임 연습하다가 변칙적으로 연습하고 있는데요. 동적으로 html 생성 된 후에 버튼에 ''-active"클래스 추가 하면 실제로 클래스가 추가가 안되네요. 그런데 elem을 consol 창에 찍어보면 "-avtive"클래스가 추가된 요소로 나오는데 이건 무슨 문제일까요? <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>스크립트 연습</title> <style> *, *::before, *::after {margin:0; padding:0; box-sizing:border-box;} h1 {padding:20px 0;} h2 {padding-bottom:20px;} li {list-style:none;} .container {max-width:1000px; margin:0 auto; padding:0 20px; background-color:#f1f1f1;} .wrap {padding:40px; border:1px solid #888;} .wrap + .wrap {margin-top:50px;} .btn-list {display:flex; justify-content:space-between; gap:20px; width:100%; padding:20px; background-color:dodgerblue;} .btn-list li {width:calc(100% / 3);} .btn-list__item {width:100%; padding:10px;} .btn-list__item.-active {background-color:darkkhaki;} </style> </head> <body> <div class="container"> <h1>스크립트 연습</h1> <section class="wrap btn-wrap"> <h2>버튼 연습</h2> <ul class="btn-list"> <!-- <li class="asdf"><button class="btn-list__item"><span>버튼</span> 1버튼</button></li> <li class="asdf"><button class="btn-list__item"><span>버튼</span> 2버튼</button></li> <li class="asdf"><button class="btn-list__item"><span>버튼</span> 3버튼</button></li> --> </ul> </section> <script> window.addEventListener('DOMContentLoaded', initHandler) function initHandler() { buttonListHandler(); } function buttonListHandler() { const btnWrap = document.querySelector('.btn-wrap'); const btnList = document.querySelector('.btn-list'); let currentItem = null; function clickHandler(el) { let elem = el.target; while (!elem.classList.contains('btn-list__item')){ elem = elem.parentNode; // console.log(elem) if(elem.nodeName === 'BODY'){ elem = null; return; } } if(currentItem){ currentItem.classList.remove('-active'); } if(elem.classList.contains('btn-list__item')){ elem.classList.add('-active'); currentItem = elem; } console.log(elem); } btnWrap.addEventListener('click', ()=> { const htmlStr = ` <li><button class="btn-list__item"><span>버튼</span> 1버튼</button></li> <li><button class="btn-list__item"><span>버튼</span> 2버튼</button></li> <li><button class="btn-list__item"><span>버튼</span> 3버튼</button></li> `; btnList.innerHTML = htmlStr; }) btnWrap.addEventListener('click', clickHandler); } </script> </div> </body> </html>

  • HTML/CSS
  • javascript
  • 인터랙티브-웹
김재환 댓글 1 좋아요 0 조회수 300

적합도 vs 독립성

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 범주형 데이터라 카이제곱검정인것은 이해했습니다 다만, 카이제곱문제에서 적합도와 독립성은 어떻게 구분하나요? 제가 생각한바로는 카이제곱 검정인것은 동일하고 문제에서 독립인지 아닌지를 물어보는 제시문이 있으면 독립성 검정 그 외에는 다 적합도 검정으로 보면될까요 어떻게 제시문을 보고 구분 하는지 알려주시면 감사하겠습니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
joy10780 댓글 1 좋아요 0 조회수 181

데이터 전처리 작업시 조건에 따른 특정값 채우는 방법?

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

해당 문제 연습하는 도중에 train과 test 데이터셋에 총구매액이 0원보다 작은 데이터가 있습니다. 해당 데이터를 0원으로 채우는(변환) 방법을 알고 싶습니다. 결측치의 경우 fillna()로 쉽게 채울 수 있는데 결측치가 아닌 데이터의 조건에 따른 특정값으로 채우는 방법이 궁금합니다

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
J I Park 댓글 1 좋아요 0 조회수 216

vscode <ncurses.h> include 오류

미해결

cmake를 이용해서 build해둔 상태인데 계속 #include <ncurses.h>에 오류가 뜹니다. MinGW 다운 받을 때 libncurses등등 같이 다운받았고 환경변수 경로도 다 지정을 해주었는데 왜 못찾고 있는걸까요..? 환경변수나 경로 설정이 잘못되어 있는 것일까요..?

  • c++
  • vscode
  • ncurses
  • cmake
Landl 댓글 1 좋아요 0 조회수 380

ㅎㅇ

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

저번에 질문한 거 코드 수정 및 정리했습니다. 선생님 ※ 피쳐엔지니어링에서 train, test 셋을 분리( .copy() )해서 수치형은 스케일링하고 범주형은 인코딩 한 다음, 합치기 ( .concat() ) 하는 방식이 아니라 수치형 부분 칼럼을 변수(cols_n)로 받고, 범주형 부분을 변수(cols_c) 으로 받아서, 데이터셋을 수치와 범주형으로 분리하지 않은 상태에서 각각 스케일링, 인코딩을 적용하고 검증데이터셋 분리-> 모델 & 평가지표 불러오기 -> 예측(테스트셋 적용) -> df 생성 -> 제출 하는 방법에서 아래에 피쳐 엔지니어링 부분 코드 정리한거 확인 부탁드립니다. 경우 1. [train, test // 2개 데이터셋 제공시] # train셋엔 있고 test셋엔 없는 "target"에 해당하는 칼럼 분리 # "target" 데이터는 범주형이든 수치형이든 스케일링이나 인코딩을 하면 안되므로 제외시킴 target = train.pop(["target"]) cols_n = train.select_dtypes(exclude="O").columns cols_c = train.select_dtypes(include="O").columns ## 수치형 민맥스 스케일링 작업 from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() train[cols_n] = scaler.fit_transform(train[cols_n]) test[cols_n] = scaler.transform(test[cols_n]) ## 범주형 라벨 인코딩 작업 from sklearn.preprocessing import LabelEncoder le = LabelEncoder() for col in cols_c: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) ## or 범주형 원핫 인코딩 작업 시 # .get_dummies() 원핫 인코딩은 자동으로 범주형만 찾아서 인코딩 함 # 방법 1 train = pd.get_dummies(train) test = pd.get_dummies(test) ## 라벨 인코딩과 통일성을 원한다면 (방법 2) train = pd.get_dummies(train[cols_c]) test = pd.get_dummies(test[col_c]) # 다만 어차피 자동으로 찾아주니 이렇게 하지 말고 간편한 위의 방법 1 방식으로 하자 그 다음 검증데이터셋 분리 등 과정 이후 ~~~~~~~~~~~ 제출 경우 2. [X_train, y_train, X_test // 3개 데이터셋 제공시] cols_n = X_train.select_dtypes(exclude="O").columns cols_c = X_train.select_dtypes(include="O").columns ## 수치형(스케일링) 작업 ##민맥스 스케일링 from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() X_train[cols_n] = scaler.fit_transform(train[cols_n]) X_test[cols_n] = scaler.transform(test[cols_n]) ## 범주형(인코딩) 작업 ## 라벨 인코딩 from sklearn.preprocessing import LabelEncoder le = LabelEncoder() for col in cols_c: le = LabelEncoder() X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col]) ## or 원핫 인코딩 시 # .get_dummies() 원핫 인코딩은 자동으로 범주형만 찾아서 인코딩 함 # 방법 1 X_train = pd.get_dummies(X_train) X_test = pd.get_dummies(X_test) ## 라벨 인코딩과 통일성을 원한다면 (방법 2) X_train = pd.get_dummies(X_train[cols_c]) X_test = pd.get_dummies(X_test[col_c]) # 다만 어차피 자동으로 찾아주니 이렇게 하지 말고 간편한 위의 방법 1 방식으로 하자 이후 검증데이터셋 분리 등 과정 이후 ~~~~~~~~~~~ 제출 이번 코딩엔 틀린게 없어야 할텐데..... 이거 제대로 한거 맞는지 확인 부탁드립니다. 선생님 여러 차례의 질문에 답변 해주셔서 감사합니다

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
빅분기수강생 댓글 1 좋아요 0 조회수 189

인기 태그

인프런 TOP Writers

주간 인기글