inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

scirpt_v2_2

해결됨

[R을 R려줘] R 데이터 시각화

getwd() setwd("C:/Users/yun/Desktop/") #### 1. 인구 통계 처리 #### df_pop = read.csv("Population.csv") head(df_pop) df_pop[, "value"] = gsub(pattern = ",", replacement = "", df_pop$value) class(df_pop$value) df_pop[, "value"] = as.numeric(df_pop$value) head(df_pop) df_pop = df_pop[, c("name", "value")] head(df_pop) # colnames(df_pop) = c("country", "pop") head(df_pop, 2) #### 2. 백신 접종 데이터 처리 #### df = read.csv("country_vaccinations.csv") head(df, 2) df = df[, c("country", "iso_code", "date", "total_vaccinations", "vaccines")] head(df) colnames(df)[4] = "total" head nrow(df) df_agg = aggregate(data = df[, -5], total ~ ., FUN = "sum") #######? class(df_agg$date) df_agg[, "date"] = as.Date(df_agg$date) nrow(df_agg) head(df_agg) min(df_agg$date) max(df_agg$date) df_agg_unique = unique(df_agg[, c("iso_code", "date")]) #겹치는 항목 날리기 head(df_agg_unique) #가장최근값만 얻기(2021년도 백신접종데이터만 알면됐지, 2020년도는 알필요 없으니까) df_agg_unique = aggregate(data = df_agg_unique, date ~ iso_code, FUN = "max") head(df_agg_unique) library("dplyr") df_vac = left_join(df_agg_unique, df_agg, by = c("iso_code" = "iso_code", "date" = "date")) df_vac=df_vac[,c(3,2,1,4)] head(df_vac) #### 3. 세계 지도 데이터 처리 #### library("rnaturalearth") df = countries110 head(df, 2) library("ggplot2") ggplot() + geom_sf(data = df, color = "#000000", fill = "#FFFFFF") #### 4. 데이터 병합 및 시각화 #### head(df) df_map_id = data.frame(id = 0:(length(df$ISO_A3) - 1), iso = df$ISO_A3) head(df_map_id) length(unique(df_map_id$iso)) class(df_map_id$id) head(df, 2) df_map_id[, "id"] = as.character(df_map_id$id) df=df[,c("ISO_A3","geometry")] df_map_join = left_join(df, df_map_id, by = c("ISO_A3" = "iso")) head(df_map_join) ggplot(data = df_map_join, aes(fill = id)) + geom_sf(color = "#000000") + theme(legend.position = "none") df_map_join_vac = left_join(df_map_join, df_vac, by = c("ISO_A3" = "iso_code")) head(df_map_join_vac) ggplot(data = df_map_join_vac, aes(group = id, fill = total)) + geom_sf(color = "#000000") + theme_bw() + theme(legend.position = c(0.1, 0.35)) #### Quiz #### head(df_map_join_vac) df_vac_2 = left_join(df_map_join_vac, df_pop, by = c("country" = "country")) head(df_vac_2) df_vac_2[, "ratio"] = df_vac_2$total / df_vac_2$pop head(df_vac_2) ggplot(data = df_vac_2, aes(group = id, fill = ratio)) + geom_sf(color = "#000000") + theme_bw() + theme(legend.position = c(0.1, 0.35)) 올렸습니다. 도움부탁드립니다. 그리구 외국에서 돌아오시면 자료를 받아서 공공데이터시각화도 듣고싶습니다.아 그리고, (지금과 반대로, 지금은 백신접종률이 높을수록 색의 연해짐) ratio이 높을수록 색깔이 점점더 진한것이 보기에 더 효과적일것같아요. 그건 코드로 구현이 어렵겠죠..? 그리고 이 na결측치는 없애야되는게 맞죠?

  • r
  • ggplot2
phys 댓글 2 좋아요 1 조회수 319

2024년 1월 기준 p6spy dependency 추가

미해결

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' 1.9.0으로 바꾸시면 나올겁니다!

  • java
  • spring
  • spring-boot
  • jpa
동형 댓글 3 좋아요 7 조회수 996

Cannot resolve symbol 'SpringBootApplication'

해결됨

인터넷에서 찾아본 해결책을 다 시도해 봐도 해결이 안되네요 ㅠㅠ Try it “File ▸ Invalidate Caches/Restart ▸ Invalidate And Restart” 시도해 보아도 안됨. Gradle에서 Reload All Gradle Projects를 해보아도 안됨. File → Project Structure 를 클릭한 후에 " Project Settings " 에 Project SDK 가 제대로 설정되었는지 확인해 봐도 안됨. Settings → "Build, Execution, Deployment" → "Build Tools" → Gradle 에 들어가 버전 확인해 봐도 안됨.

  • java
  • spring
  • springboot
Jay J 댓글 1 좋아요 0 조회수 1817

scirpt_v2

해결됨

[R을 R려줘] R 데이터 시각화

이렇게 말씀하시면 이해하기가 어렵습니다. 새로 올려주신 script_v2 그대로도 몇번이나 돌려봤습니다. 강의에서 이렇게 말해주신 파트가 script_v2에서는 이부분 입니다. 일단 이렇게 그대로 따라하면 df_map_join = left_join(df, df_map_id, by = c("ISO_A3" = "iso")) Error in `sf_column %in% names(g)`: ! Join columns in `x` must be present in the data. ✖ Problem with `ISO_A3`. Run `rlang::last_trace()` to see where the error occurred. 이런 에러가 떠서 "ISO_A3"를 -> "iso_a3"로 바꿔주었구요. 이건뭐 상관없고, 불필요한 변수를 미리 제거하라고 하셨는데 >head(df_map_join) Simple feature collection with 6 features and 169 fields Geometry type: MULTIPOLYGON Dimension: XY Bounding box: xmin: -180 ymin: -18.28799 xmax: 180 ymax: 83.23324 Geodetic CRS: WGS 84 featurecla scalerank labelrank sovereignt sov_a3 adm0_dif 1 Admin-0 country 1 6 Fiji FJI 0 2 Admin-0 country 1 3 United Republic of Tanzania TZA 0 3 Admin-0 country 1 7 Western Sahara SAH 0 4 Admin-0 country 1 2 Canada CAN 0 5 Admin-0 country 1 2 United States of America US1 1 level type tlc admin adm0_a3 geou_dif 1 2 Sovereign country 1 Fiji FJI 0 2 2 Sovereign country 1 United Republic of Tanzania TZA 0 3 2 Indeterminate 1 Western Sahara SAH 0 4 2 Sovereign country 1 Canada CAN 0 5 2 Country 1 United States of America USA 0 geounit gu_a3 su_dif subunit su_a3 brk_diff 1 Fiji FJI 0 Fiji FJI 0 2 Tanzania TZA 0 Tanzania TZA 0 3 Western Sahara SAH 0 Western Sahara SAH 1 4 Canada CAN 0 Canada CAN 0 5 United States of America USA 0 United States USA 0 name name_long brk_a3 brk_name brk_group abbrev 1 Fiji Fiji FJI Fiji <NA> Fiji 2 Tanzania Tanzania TZA Tanzania <NA> Tanz. 3 W. Sahara Western Sahara B28 W. Sahara <NA> W. Sah. 4 Canada Canada CAN Canada <NA> Can. 5 United States of America United States USA United States <NA> U.S.A. postal formal_en formal_fr name_ciawf note_adm0 1 FJ Republic of Fiji <NA> Fiji <NA> 2 TZ United Republic of Tanzania <NA> Tanzania <NA> 3 WS Sahrawi Arab Democratic Republic <NA> Western Sahara <NA> 4 CA Canada <NA> Canada <NA> 5 US United States of America <NA> United States <NA> note_brk name_sort name_alt mapcolor7 1 <NA> Fiji <NA> 5 2 <NA> Tanzania <NA> 3 3 Self admin.; Claimed by Morocco Western Sahara <NA> 4 4 <NA> Canada <NA> 6 5 <NA> United States of America <NA> 4 mapcolor8 mapcolor9 mapcolor13 pop_est pop_rank pop_year gdp_md gdp_year 1 1 2 2 889953 11 2019 5496 2019 2 6 2 2 58005463 16 2019 63177 2019 3 7 4 4 603253 11 2017 907 2007 4 6 2 2 37589262 15 2019 1736425 2019 5 5 1 1 328239523 17 2019 21433226 2019 economy income_grp fips_10 iso_a2 iso_a2_eh iso_a3 1 6. Developing region 4. Lower middle income FJ FJ FJ FJI 2 7. Least developed region 5. Low income TZ TZ TZ TZA 3 7. Least developed region 5. Low income WI EH EH ESH 4 1. Developed region: G7 1. High income: OECD CA CA CA CAN 5 1. Developed region: G7 1. High income: OECD US US US USA iso_a3_eh iso_n3 iso_n3_eh un_a3 wb_a2 wb_a3 woe_id woe_id_eh 1 FJI 242 242 242 FJ FJI 23424813 23424813 2 TZA 834 834 834 TZ TZA 23424973 23424973 3 ESH 732 732 732 -99 -99 23424990 23424990 4 CAN 124 124 124 CA CAN 23424775 23424775 5 USA 840 840 840 US USA 23424977 23424977 woe_note adm0_iso adm0_diff adm0_tlc adm0_a3_us adm0_a3_fr 1 Exact WOE match as country FJI <NA> FJI FJI FJI 2 Exact WOE match as country TZA <NA> TZA TZA TZA 3 Exact WOE match as country B28 <NA> B28 SAH MAR 4 Exact WOE match as country CAN <NA> CAN CAN CAN 5 Exact WOE match as country USA <NA> USA USA USA adm0_a3_ru adm0_a3_es adm0_a3_cn adm0_a3_tw adm0_a3_in adm0_a3_np adm0_a3_pk 1 FJI FJI FJI FJI FJI FJI FJI 2 TZA TZA TZA TZA TZA TZA TZA 3 SAH SAH SAH SAH MAR SAH SAH 4 CAN CAN CAN CAN CAN CAN CAN 5 USA USA USA USA USA USA USA adm0_a3_de adm0_a3_gb adm0_a3_br adm0_a3_il adm0_a3_ps adm0_a3_sa adm0_a3_eg 1 FJI FJI FJI FJI FJI FJI FJI 2 TZA TZA TZA TZA TZA TZA TZA 3 SAH SAH SAH SAH MAR MAR SAH 4 CAN CAN CAN CAN CAN CAN CAN 5 USA USA USA USA USA USA USA adm0_a3_ma adm0_a3_pt adm0_a3_ar adm0_a3_jp adm0_a3_ko adm0_a3_vn adm0_a3_tr 1 FJI FJI FJI FJI FJI FJI FJI 2 TZA TZA TZA TZA TZA TZA TZA 3 MAR SAH SAH SAH SAH SAH MAR 이걸 어떻게 제거하나요? 올려주신 script_v2 파일을 다시 재확인 및 수정부탁드립니다. 그리고 위,위에 출력코드 보시면 아시겠지만 바로 위 사진처럼 long lat order hole piece id group 그 어떤것도 찾을수없습니다. 지도가 며칠동안 이것만 붙잡고있는데 진도가 못나가서 너무 답답합니다.ㅏ script_v2랑 올려놓으셨던 강의랑 비교하셔서 수정부탁드립니다. ratio 범례도 , 강의보면서 코드계속 돌려봤습니다. 1 2 3 으로 나옵니다. 강의처럼 0.9 0.8 이렇게 나오질 않습니다.

  • r
  • ggplot2
phys 댓글 1 좋아요 0 조회수 286

섹션 8. 배열 - 문제와풀이3

해결됨

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

안녕하세요 강사님 productAdminEx 문제에 관련해서 질문이 있습니다. productNames[productCount] = scanner.nextLine(); 이게 원래 배우던 형식으로는 두번째 사진처럼 for문 안에서 productNames[i] = scanner.nextLine(); 이런식이어서 예를들어 i = 0인경우 productNames 배열의 0번째 인덱스에 scanner.nextLine();으로 사용자가 입력한 값이 들어가는건 이해가 가는데 productNames[productCount] = scanner.nextLine(); 면 productNames배열 안에 있는 productCount에 scanner.nextLine();로 사용자가 입력한 값을 넣는건가요..? 그리고 그 사용자가 입력한 값이 들어가있는 productCount를 productNames배열이 위치를 참조하고 있는걸까요?? 이해가 잘 안가서 질문드립니다. (첫번째 사진) (두번째 사진) productNames[productCount] = scanner.nextLine(); 이게 productNames의 배열 자리에 productCount의 값을 넣는다는 의미인가요? 이해가 안갑니다..ㅜ

  • java
  • 객체지향
  • 배열
댓글 1 좋아요 0 조회수 252

외래키 제약 조건

미해결

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

[질문 내용] 강의 내용 중 "외래키를 꼭 사용해야할까?" 에 대한 물음에 두 가지 방안을 주셨는데요. 빠른 처리가 중요하며 실시간 트래픽이 많은 시스템인 경우 -> "외래키를 사용하지 않는 쪽도 고려해볼만 함" 돈이 왔다갔다 하는 등의 reliablity가 중요한 시스템인 경우 -> "외래키를 꼭 사용하라" 그렇다면 질문이 있습니다.질문 1. 만약 외래키 제약조건이 관계형 DB에 이미 걸려있는 상태라면 Java 코드상에서는 아무런 설정 없이 비즈니스 로직을 개발해도 되나요?질문 2. 만약 외래키 제약조건이 관계형 DB에 걸려있지 않고 관계형 DB의 성능상의 이슈로 외래키 제약 조건을 애플리케이션에서 해결해야 한다면 해당 로직 또한 개발해야 하나요? 즉, JPA가 외래키 제약 조건을 체크해주는 기능이 있는지 궁금합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
수수깡 댓글 1 좋아요 1 조회수 534

hello와 hello-static.html 의 차이

해결됨

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

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 주소창에 입력할 때static 폴더에 있는 hello-static과 index는 확장자 (.html)을 붙여야 하고templates 폴더에 있는 hello는 .html을 붙이면 안되는? 걸로 알고 있는데 이유가 궁금합니다! hello는 th: 문법을 사용해서 그런건가요? 확실하게 이유를 알고 싶습니다 ㅎㅎ

  • java
  • spring
  • mvc
  • spring-boot
asdf20834 댓글 2 좋아요 1 조회수 525

OSIV off인 아키텍쳐에서 궁금해서 질문드립니다.

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 영한쌤이 말씀해주신 Controller -> Application Service -> Domain Service -> Repository에서 Application Service: 트랜잭션의 시작, Domian Service에 있는 순수 도메인 로직들을 활용하여, 복잡한 애플리케이션 비즈니스 로직을 구성 Domain Service : 도메인에 대한 순수한 로직으로 구성. Application Service의 도구로서 활용됨. OSIV를 off 상태이기 때문에 Controller에 반환시 Application Service에서는 응답 Dto로 넘겨줘야 하는데 여기서 한가지 고민이 있습니다. 아키텍쳐는 위에서 아래로 순방향으로 흘러야 하는데 (역행, 순환 참초 X). Application Service에서 Controller단에 종속적인 응답 Dto를 넘기게 된다면, Application Service와 Controller간에 순환 참조와 역류 참조가 일어나지 않아 문제이지 않나 싶습니다... 상관이 없는지 아니면 어떻게 해결해야 좋을까요?

  • java
  • spring
  • spring-boot
  • jpa
두잇베스트 댓글 1 좋아요 0 조회수 429

category 엔티티에선 부모 객체가 왜 필요한건가요?

미해결

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

현재 실전 스프링부트와 jpa활용1편을 수강중입니다. 엔티티 클래스 개발2 에서 카테고리 클래스를 만들 때, 부모 객체는 왜 생성하는지 이해가 되지 않습니다..! 이미 카테고리 클래스 자체가 부모 클래스가 되는게 아닌가요..?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
ㅎㅅㅎ 댓글 1 좋아요 0 조회수 435

assertThat을 사용할때 질문이 있습니다.

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 처음 강사님께서 save 메서드에서는 @Test public void save(){ Member member = new Member(); member.setName("Spring"); repository.save(member); Member result = repository.findById(member.getId()).get(); Assertions.assertThat(member).isEqualTo(result); } 처럼 assertThat(member) 를 넣고 그 다음 isEqualTo(result)를 넣어 사용하셨는데, 이후에 findByName 에서는 @Test public void findByName(){ Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); Member result = repository.findByName("spring2").get(); Assertions.assertThat(result).isEqualTo(member1); } 이처럼 result가 먼저 나오고 그 다음 member를 넣어 사용하십니다. 혹시 무슨 차이일까요?

  • java
  • spring
  • mvc
  • spring-boot
병권 댓글 1 좋아요 2 조회수 900

h2에 테이블 생성이 안돼요...ㅠ

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 프로젝트 환경설정을 마치고 프로젝트를 돌려봤습니다. 똑같이 따라하면서요. 그런데 사진과 같이 create문까지 잘 나오는데 h2에 테이블이 안보여요 문제가 뭘까요? ㅠㅠ 주의 사항도 다 보면서 버전업 시켰는데도 안되네요.. 하루종일 구글링하고 찾아봐도 모르겠어요 도와주시면 감사하겠습니다

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
김현민 댓글 1 좋아요 0 조회수 553

return;문과 boolean=false

해결됨

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 배열 - 문제와 풀이3을 switch-case문으로 하던 와중에 종료 버튼이 break문으로 종료가 안되어서 검색해서 와일문을 false로 바꾸면 종료된다는 말을 듣고 boolean proudctFile = true; while(proudctFile){ /* 나머지 내용 생략 */ case 3 : System.out.println("프로그램을 종료합니다."); proudctFile = false; } 이런식으로 만들었습니다. 나중에 다른 강의를 보니 while(true){ /* 나머지 내용 생략 */ case 3: System.out.println("시스템을 종료합니다."); return; } return문을 써서 바로 종료하던데 어떤게 더 좋은 프로그램인지 궁금합니다.

  • java
생각하는자 댓글 2 좋아요 0 조회수 351

다운캐스팅에 대한 질

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 강의에서 다운캐스팅에 관해 이야기를 해주셨습니다. 부모 클래스인 Parent 타입의 변수에 Parent 인스턴스를 생성해서 참조값을 해당 참조변수에 넣고 Child 타입의 참조변수에 다운캐스팅을 하고 나서 해당 child 메서드를 호출하려고 했을 떄 오류가 발생했습니다. 여기서 영한님이 말씀해주신대로 생각해보면 Parent 인스턴스를 생성했을 때, 해당 메모리 안에 Parent 타입의 클래스 정보만을 저장했을테고 자식에 대한 정보가 해당 메모리 주소값 안에 없다. 따라서 다운캐스팅을 해도 자식클래스 메서드를 호출하지 못한다 -> 라고 생각하면 되는 건가요? 그렇지만 다시 생각해보면 메서드는 메서드 영역 내에서 가져다가 호출하는 방식인데, 그렇게 된다면 자식 클래스의 메서드 또한 메서드 영역내에서 불러오면 되니까 호출이 가능한 게 아닐까요..? 궁금하네요

  • java
  • 객체지향
Gloz0315 댓글 3 좋아요 0 조회수 480

카프카 토픽 생성이 안되요.

미해결

실습으로 배우는 선착순 이벤트 시스템

docker exec -it kafka kafka-topics.sh --bootstrap-server localhost:9092 --create --topic testTopic 위와 같이 터미널에 토픽생성하는 명령어를 작성하면 아무것도 |움직이지 않고 터미널이 멈춥니다. 도커는 정상적으로 실행하고 kafka,zookeeper도 정상적으로 실행되어있습니다. 도커를 삭제하고 다시 다운로드해서 docker compose사용해서 kafka,zookeeper이미지 다시 작동시켜도 위와같이 토픽생성 명령어 입력하고 작동시 아무것도 안하고 멈춥니다.. (p.s 카프카 컨테이너 cli들어가서도 토픽 생성 명령어 작동시켜도 작동안합니다.) 혹시 해당 문제 해결법 아실까요..?

  • java
  • docker
  • spring-boot
  • kafka
  • redis
빽도만 하지말자! 댓글 3 좋아요 0 조회수 823

Querydsl 페이징, 정렬 질문

미해결

실전! Querydsl

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 페이징, 정렬에 대해서 질문이 있습니다. 1. 이렇게 했을 때 페이지 처리와 정렬이 되었습니다. 2. OrderSpecifier로 변환 3. Querydsl4RepositorySupport 질문 1 : 1~3의 차이점이 궁금합니다. 질문 2 : 상황에 따라서 다르겠지만 1~3중 실무에서는 주로 어떤 것을 사용하나요? 질문 3 : 1번과 3번의 차이는 1번으로 했을 때 루트 엔티티 범 위를 넘어가는 동적 정렬 기능이 필요할 때 orderBy에는 한계점이 있어서 Querydsl4RepositorySupport을 선택해서 사용하는 것인가요? 질문 4 : Querydsl4RepositorySupport에서 fetchCount들이 있는데 곧 지원이 끊기는데 여기서는 어떻게 변화시켜야할지 잘 모르겠습니다... 질문 5 이렇게 사용했을 때 정렬을 사용하려고 하면 .orderBy를 사용하면 되는건가요? 아니면 다른 방법이 있나요?

  • java
  • jpa
댓글 2 좋아요 0 조회수 674

회원가입 테스트 코드 관련해 질문 드립니다..ㅠ

해결됨

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

7분 08초 정도에 회원가입 테스트 코드를 실행하는 부분에서요,,! MemberServiceTest 클래스에 @Transactional을 걸어서 회원가입() 메소드를 하나의 트랜잭션으로 관리하는 것으로 이해했습니다... memberService.join(member); 으로 persistence context에 member를 영속화 시킨 상태인데, 그 다음 코드인 memberRepository.findOne(savedId);에서, 왜 select 문이 나가는거죠? 하나의 트랜잭션이고, member가 영속 상태라서 1차 캐시에서 관리되면, context에서 가져와야 하는게 아닌가요?... 트랜잭션을 롤백한다는 것의 의미가 DB의 트랜잭션을 롤백한다는 것 뿐만 아닌 영속성 컨텍스트도 롤백하는 것을 의미하나요?.. 만약 그렇다면, 저는 @Transactional을 메소드 단위로 걸었는데, 왜 회원가입() 메소드 중간에 롤백이 되는 건가요?..ㅠ 아예 애초부터 스프링에서의 트랜잭션 롤백은 영속성 컨텍스트에 반영조차 하지 않는 거라고 봐야 하나요?.. 너무 헷갈립니다 ㅠ.ㅠ

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
qpal1zm23 댓글 2 좋아요 0 조회수 470

JUnit5 @Test(expected = ) 미지원하는데 테스트 코드 작성 방법

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx ) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG ) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. JUnit5를 사용하여 테스트 코드를 작성 중인데, JUnit4와는 다르게 @Test(expected = ) 사용이 불가하더라고요. 다음과 같이 테스트 코드를 작성하면 될까요? @Test public void 중복_회원_예약() throws Exception { //given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); //when memberService.join(member1); assertThrows(IllegalStateException.class, () -> { memberService.join(member2); }); }

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
박호정 댓글 2 좋아요 1 조회수 1626

Spring Security 의 ProviderManager (AuthenticationManager) 도 옵저버 패턴을 사용하고 있다고 볼 수 있을까요?

미해결

코딩으로 학습하는 GoF의 디자인 패턴

안녕하세요 강사님! 우선 양질의 강의 잘 듣고 있다는 말씀 드리고 싶습니다. Spring Security 에서 AuthenticationProvider 를 찾아서 인증을 위임하는 역할을 수행하는 ProviderManger 도 옵저버 패턴을 사용하고있다고 볼 수 있을까요? ProviderManager (AuthenticationManager) 에서 AuthenticationProvider 들을 가져온후 이들을 순회하며 인증위임을 시키는 코드입니다 단순히 supports() 를 통해 인증을 위임시킬 AuthenticationProvider 들을 골라내는 것뿐, 이것도 옵저버 패턴이 적용된 예인지 알고 싶습니다.

  • java
  • 디자인-패턴
PrivilegeEscalate 댓글 2 좋아요 0 조회수 419

Q파일 생성 위치 질문

해결됨

실전! Querydsl

안녕하세요 현재 프로젝트 세팅 및 테스트를 진행 중입니다. spring boot가 3이상으로 제한된 상황속에서 진행중이며, 강의 내용을 따라하고 있습니다! build.gradle은 https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.vfy9wirpglmx 를 복/붙 하였습니다. plugins { id 'java' id 'org.springframework.boot' version '3.2.0' id 'io.spring.dependency-management' version '1.1.4' } group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //test 롬복 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') } 질문은 크게 3가지입니다. build/other/compileQuerydsl은 표기가 안되는데 다른 답변을 보니 springboot3으로 올라가며 compileQuerydsl은 표기가 안된다고 하신 것 같은데 맞을까요? 정확한 Q파일의 생성 위치가 궁굼합니다.! 강의상에서는 src/main에 둬도 괜찮지만, 버전관리 시스템(git)에는 추가 되지 않는게 좋다고 하셨던 것 같은데 맞나요? build에만 Q파일이 생성되는게 좋나요? 올려주신 google doc의 build.gradle로 진행하면, Q파일이 build/annotationProcessor아래 생성됩다... 뭐가 문제일까요? docs에 올려주신 build.gradle에서 build clean을 진행할 때 'src/main/generated'의 폴더를 삭제하는 이유가 무엇일까요? (현재 저는 Q파일을 build/ 아래 관리하고있는데, src/main/generate 아래 Q파일을 생성하시는 분들에만 해당 되는 내용인가요?) 답변해주시면 감사하겠습니다!

  • java
  • jpa
김주영 댓글 2 좋아요 1 조회수 877

엔티티 변경 후 일대다

해결됨

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

@JoinColumn(name = "MEMBER_ID) List<AddressEntity> addressHistory = .. 다대일이 아닌 일대다로 매핑한 이유가 있을까요? 앞에서 다쪽에 @JoinColumn하는 것을 추천하셨는데 일쪽에 연관관계 주인을 잡은 이유가 궁금합니다.

  • java
  • jpa
모깅 댓글 2 좋아요 0 조회수 349

인기 태그

인프런 TOP Writers

주간 인기글