[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
강사님 안녕하세요, 강의 너무 잘 듣고 있습니다. 결제 기능 연동에 대한 질문드립니다. (질문) 참고할만한 결제 기능 연동 튜토리얼이나, 메뉴얼이 있을까요? 네이버페이, 아임포트, 그누보드 등 구글링해보았지만 Getting started 같은 예제는 따로 없고 단순 rest api 명령어 나열일 뿐이라, 제 수준에서 따라하기가 버거웠습니다. 어느 결제 모듈?을 사용해야 할지, 그리고 어떻게 구현해야할지 막막한 상황입니다. 적당한 모듈 추천, 참조 문서 등 방향 제시라도 해주신다면 큰 도움이 될 것 같습니다. 구현하고싶은 기능은 다음과 같습니다. 1. 웹페이지 내에 '구매하기' 버튼 추가 후, PG사 결제창 띄우기 2.회원의 결제 내역을 mysql DB에 저장하고, '마이페이지'에서 결제상태 변경하기 1강 48초에 보면, 완성된 웹페이지에서 결제화면이 나오는데, Part 1 강의를 모두 들어본 결과 해당부분 구현하는 것에 대한 코멘트를 찾지 못했습니다. ㅜㅜ 강의 자료 중 AWS 서버 연결하는 것에 대해서는 강의에서 다루진 않더라도 자료에 적어주셔서 너무 큰 도움이 되었습니다. 혹시 이런식으로 영상까진 아니더라도, 문서로 된 짧은 메뉴얼이라도 만들어주실 계획은 없으실까요? 혹시 해서 Part 2 내용인지 했는데, Part2에도 없는듯합니다. (아직 수강중이라서 혹시 다루셨다면 강의챕터 알려주시면 감사하겠습니다.) 감사합니다.
안녕하세요 권철민 강사님! 강의 매우 유익하게 듣고 있습니다!! 강사님 강의만 총 6개정도 결제했습니다 ㅎㅎ 파이썬 머신러닝 부터 CNN, 딥러닝심화, 캐글까지 섭렵하려합니다!! ------------------------------------------------ 강의 하신 내용 가운데 "Group by Case When" 부분을 새로 만들어 보았습니다! (올린 사진이 좀 작네요 ㅠㅠ 죄송합니다) 같은 결과를 다르게 도출하는 방법이 있음을 알아가며, 이렇게 하나씩 해보는게, 매우 큰 도움이 되고 있습니다. 감사합니다!!
안녕하세요! 강의를 보다 이해가 잘 가지 않아 문의 드립니다. 멱등은 외부 요인으로부터 중간에 리소스가 변경되는 경우는 고려하지 않는다고 하셨는데요. 고려하지 않는다 라는 말의 의미를 사용자 1의 데이터가 사용자 2로 인해 값이 20에서 30으로 변경된 경우는, 결과적으로 값이 변경되었기 때문에 스펙상 GET은 멱등함에도 불구하고 멱등하지 않게 됐다는 말로 이해하면 될까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 아니요 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 강의를 다 듣고 따로 실습을 진행하다가 궁금함이 생겨 질문드립니다! 체스 게임을 구현 중 Board 클래스에 Map형태로 key값은 Position 클래스 value는 Piece 클래스로 설정하였고 @MapKeyJoinColumn어노테이션을 사용하여 연관관계 매핑하였습니다 생성한 board를 초기화할 때 Position과 Piece도 같이 초기화해주는데 Map부분 테이블이 Position보다 먼저 생성되어 오류가 발생합니다 확인해보니 hibernate에서 Map Key값을 cascade를 지원하지 않는다고 합니다 1. Key cascade를 지원하지 않으니 board 초기화할때 key를 생성하고 디비에 저장시키는 작업을 먼저 진행할 수 밖에 없는걸까요? 혹시 다른 방법이 있을까요? ( 위 코드에서는 BoardFactory에서 Position을 먼저 디비에 flush 시키는 코드 추가 ) 2. 현업에서는 엔티티에서 Map 속성을 종종 사용하는지 지양하는지 궁금합니다
``` discord.ext.commands.errors.CommandInvokeError: Command raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions ``` 역할 권한이 없다고 계속 오류가 나는데 어떻게 해야할지 모르겠네요..
안녕하세요~ 한 페이지로 셋팅하는 것은 이제 마스터 했습니다~ 다만 산출물이 SPA가 아닌 1) 1번 html에서 링크를 클릭했을 때 2번 html로 페이지가 넘어가도록 보여져야 하는 경우 2) 여러 페이지 작업시 각각의 페이지 뷰를 확인해야 하는 경우 이경우 실무에서는 webpack 세팅이 어떻게 되어야 하는지 궁금합니다~!
강의 내용 그대로 따라가고있으며 회원가입 테스트 코드 실행시 아래와 같은 오류가뜹니다. /Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home/bin/java -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=52776:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit5-rt.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit-rt.jar:/Users/gimdohun/workspace_3th/workspace/intelij/jpashop/out/test/classes:/Users/gimdohun/workspace_3th/workspace/intelij/jpashop/out/production/classes:/Users/gimdohun/workspace_3th/workspace/intelij/jpashop/out/production/resources:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-data-jpa/2.5.5/5ec66dab8ad9dead3322e21d1bfafe29da89f360/spring-boot-starter-data-jpa-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-thymeleaf/2.5.5/d3e44e50b15ff0950e76372777b351b18e3ebc1/spring-boot-starter-thymeleaf-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-web/2.5.5/c09bf133d22c865d6ce4d67ff48aece7ff1defb1/spring-boot-starter-web-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-devtools/2.5.5/cd4c92b6039cad49b9586b668e905e430d3b3dac/spring-boot-devtools-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/junit/junit/4.13.1/cdd00374f1fee76b11e2a9d127405aa3f6be5b6a/junit-4.13.1.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.github.gavlyukovskiy/p6spy-spring-boot-starter/1.5.6/495579c7fb01b005f19ec4d5188245c66de0937b/p6spy-spring-boot-starter-1.5.6.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-test/2.5.5/e78676e5ac354f483699308768713aa016951448/spring-boot-starter-test-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-aop/2.5.5/25b36a03046a5262089d1167e29086a62afd2e9f/spring-boot-starter-aop-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-jdbc/2.5.5/937cf9e02eeefa8f2e4c4dade226e5c4482c3207/spring-boot-starter-jdbc-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/jakarta.transaction/jakarta.transaction-api/1.3.3/c4179d48720a1e87202115fbed6089bdc4195405/jakarta.transaction-api-1.3.3.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/jakarta.persistence/jakarta.persistence-api/2.2.3/8f6ea5daedc614f07a3654a455660145286f024e/jakarta.persistence-api-2.2.3.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-core/5.4.32.Final/99a5e10bf455337014c190e141ec631e9ff71663/hibernate-core-5.4.32.Final.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-jpa/2.5.5/a1ad7a3a0b7f97ad59a77ec16dac63e58ae938db/spring-data-jpa-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aspects/5.3.10/74cb456f1f3066ba3c83df516be856dc17e2ea86/spring-aspects-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter/2.5.5/8657d6f1f00002e8a839fc35fe2f2cd7fc09b72a/spring-boot-starter-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.thymeleaf/thymeleaf-spring5/3.0.12.RELEASE/aa640b214411978a23cbe271c3fb9569d1bda608/thymeleaf-spring5-3.0.12.RELEASE.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.thymeleaf.extras/thymeleaf-extras-java8time/3.0.4.RELEASE/36e7175ddce36c486fff4578b5af7bb32f54f5df/thymeleaf-extras-java8time-3.0.4.RELEASE.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-json/2.5.5/11923b2b5ca33c6c849952ed1bd47a77c9ec0a85/spring-boot-starter-json-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-tomcat/2.5.5/3fb58add8060ff5a6a17e08eeabca1e823c2f04a/spring-boot-starter-tomcat-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.3.10/d8a26ccc0fb4788c05eca148be8ee987d554a9d2/spring-webmvc-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/5.3.10/31984cef4b5d38f2711cf870994c43e89619ff4e/spring-web-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/2.5.5/350511c5612eea8df4ef0f95e2c1b3ff3ea962e8/spring-boot-autoconfigure-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/2.5.5/c6335b6e1aff79b13565890ad833bb8865ae2d50/spring-boot-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/2.2/3f2bd07716a31c395e2837254f37f21f0f0ab24b/hamcrest-core-2.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.github.gavlyukovskiy/datasource-decorator-spring-boot-autoconfigure/1.5.6/cac386fe9df77870133594f054ee32e5d08ab93d/datasource-decorator-spring-boot-autoconfigure-1.5.6.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/p6spy/p6spy/3.8.2/52299d9a1ec2bc2fb8b1a21cc12dfc1a7c033caf/p6spy-3.8.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-test-autoconfigure/2.5.5/5c43be6c778ccd381a3431449553fcbccb08734f/spring-boot-test-autoconfigure-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-test/2.5.5/e5cc96eb08b41ea0b74d50bb210430686912e33/spring-boot-test-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.jayway.jsonpath/json-path/2.5.0/c35ef29095125b51638d19120f63e2b56eff20e9/json-path-2.5.0.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/jakarta.xml.bind/jakarta.xml.bind-api/2.3.3/48e3b9cfc10752fba3521d6511f4165bea951801/jakarta.xml.bind-api-2.3.3.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.assertj/assertj-core/3.19.0/f64cb5690b85e68d5e1e6c6152bfb6e3840a452d/assertj-core-3.19.0.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest/2.2/1820c0968dba3a11a1b30669bb1f01978a91dedc/hamcrest-2.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter/5.7.2/62faa742964a9d8dab8fdb4a0eab7b01441c171f/junit-jupiter-5.7.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.mockito/mockito-junit-jupiter/3.9.0/871745ab6af5a269411ea3c1f99ced82ed079436/mockito-junit-jupiter-3.9.0.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.mockito/mockito-core/3.9.0/b7573430aea743b26434b44f4f46272af613e660/mockito-core-3.9.0.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.skyscreamer/jsonassert/1.5.0/6c9d5fe2f59da598d9aefc1cfc6528ff3cf32df3/jsonassert-1.5.0.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-test/5.3.10/b81eacc8d0e38462b4165a170202450d18795587/spring-test-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.3.10/4e0b94b1e2d7a7399ecedef03dd676c34133625e/spring-core-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.xmlunit/xmlunit-core/2.8.2/8e4e46b87afaaf9b6cfb8de778e473cf7aeb087f/xmlunit-core-2.8.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/5.3.10/de0e0c07193697df7ba5db6086020447fdbcb24d/spring-aop-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.aspectj/aspectjweaver/1.9.7/158f5c255cd3e4408e795b79f7c3fbae9b53b7ca/aspectjweaver-1.9.7.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/5.3.10/206882992cbfee0dc908e17b36cf285857e3fa99/spring-jdbc-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.zaxxer/HikariCP/4.0.3/107cbdf0db6780a065f895ae9d8fbf3bb0e1c21f/HikariCP-4.0.3.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.3.5/a169a961a2bb9ac69517ec1005e451becf5cdfab/jaxb-runtime-2.3.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.hibernate.common/hibernate-commons-annotations/5.1.2.Final/e59ffdbc6ad09eeb33507b39ffcf287679a498c8/hibernate-commons-annotations-5.1.2.Final.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.4.2.Final/e517b8a93dd9962ed5481345e4d262fdd47c4217/jboss-logging-3.4.2.Final.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.javassist/javassist/3.27.0-GA/f63e6aa899e15eca8fdaa402a79af4c417252213/javassist-3.27.0-GA.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy/1.10.22/ef45d7e2cd1c600d279704f492ed5ce2ceb6cdb5/byte-buddy-1.10.22.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/antlr/antlr/2.7.7/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.jboss/jandex/2.2.3.Final/d3865101f0666b63586683bd811d754517f331ab/jandex-2.2.3.Final.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.5.1/3fe0bed568c62df5e89f4f174c101eab25345b6c/classmate-1.5.1.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.dom4j/dom4j/2.1.3/a75914155a9f5808963170ec20653668a2ffd2fd/dom4j-2.1.3.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/5.3.10/45945cec4c23de39faf98139ad81b59965014ff0/spring-context-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-orm/5.3.10/a010813c931ab39c6836b74e98114ddc346b9a03/spring-orm-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/2.5.5/4d40ebb9fa2bc841571fd88070986f4442aa8cdb/spring-data-commons-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-tx/5.3.10/2840cabc3b3d6b993f8dbb169eb36321c97fec85/spring-tx-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/5.3.10/1ff16eb107dd0411deaffa236467efed44d65c60/spring-beans-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.32/cdcff33940d9f2de763bc41ea05a0be5941176c3/slf4j-api-1.7.32.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-logging/2.5.5/2731a074593f6b1089060a4af54ef8eee464d7f0/spring-boot-starter-logging-2.5.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/jakarta.annotation/jakarta.annotation-api/1.3.5/59eb84ee0d616332ff44aba065f3888cf002cd2d/jakarta.annotation-api-1.3.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.28/7cae037c3014350c923776548e71c9feb7a69259/snakeyaml-1.28.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.thymeleaf/thymeleaf/3.0.12.RELEASE/de1865b0d58590a50c33900115a293335dd8ef25/thymeleaf-3.0.12.RELEASE.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.12.5/6b2f79547d217ad50dfc5b57af7444a3aa583b43/jackson-datatype-jdk8-2.12.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.12.5/a0a9870b681a72789c5c6bdc380e45ab719c6aa3/jackson-datatype-jsr310-2.12.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.module/jackson-module-parameter-names/2.12.5/2c85c2036d0851425a260c01eb5f7ddbed1eeb00/jackson-module-parameter-names-2.12.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.12.5/b064cf057f23d3d35390328c5030847efeffedde/jackson-databind-2.12.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/9.0.53/e73e461aa0da6a1779bba31f90011cfbd4e4233/tomcat-embed-websocket-9.0.53.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/9.0.53/3343c5ebe9e66da2f75436569e371920e8db1d55/tomcat-embed-core-9.0.53.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-el/9.0.53/d2fcc31c3ffad7227fcb14ebffc1ed1ab8b7494/tomcat-embed-el-9.0.53.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/5.3.10/7ca7f1b5f7a2a9e335f45ffaeb59995c8ab344bc/spring-expression-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/net.minidev/json-smart/2.4.7/8d7f4c1530c07c54930935f3da85f48b83b3c109/json-smart-2.4.7.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/jakarta.activation/jakarta.activation-api/1.2.2/99f53adba383cb1bf7c3862844488574b559621f/jakarta.activation-api-1.2.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-params/5.7.2/685f832f8c54dd40100f646d61aca88ed9545421/junit-jupiter-params-5.7.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-api/5.7.2/f4b4079732a9c537983324cfa4e46655f21d2c56/junit-jupiter-api-5.7.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy-agent/1.10.22/b01df6b71a882b9fde5a608a26e641cd399a4d83/byte-buddy-agent-1.10.22.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.objenesis/objenesis/3.2/7fadf57620c8b8abdf7519533e5527367cb51f09/objenesis-3.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.vaadin.external.google/android-json/0.0.20131108.vaadin1/fa26d351fe62a6a17f5cda1287c1c6110dec413f/android-json-0.0.20131108.vaadin1.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jcl/5.3.10/747a2d6ba0d8a74c4f90a8c66c221e3084e864ee/spring-jcl-5.3.10.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.3.5/ec8930fa62e7b1758b1664d135f50c7abe86a4a3/txw2-2.3.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/3.0.12/cbbe1a62b0cc6c85972e99d52aaee350153dc530/istack-commons-runtime-3.0.12.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.6/b09efa852337fa0dd9859614389eec58dc287116/logback-classic-1.2.6.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-to-slf4j/2.14.1/ce8a86a3f50a4304749828ce68e7478cafbc8039/log4j-to-slf4j-2.14.1.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.32/8a055c04ab44e8e8326901cadf89080721348bdb/jul-to-slf4j-1.7.32.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.attoparser/attoparser/2.0.5.RELEASE/a93ad36df9560de3a5312c1d14f69d938099fa64/attoparser-2.0.5.RELEASE.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.unbescape/unbescape/1.1.6.RELEASE/7b90360afb2b860e09e8347112800d12c12b2a13/unbescape-1.1.6.RELEASE.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.12.5/725e364cc71b80e60fa450bd06d75cdea7fb2d59/jackson-core-2.12.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.12.5/52d929d5bb21d0186fe24c09624cc3ee4bafc3b3/jackson-annotations-2.12.5.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/net.minidev/accessors-smart/2.4.7/3970cfc505e6657ca60f3aa57c849f6043000d7a/accessors-smart-2.4.7.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.apiguardian/apiguardian-api/1.1.0/fc9dff4bb36d627bdc553de77e1f17efd790876c/apiguardian-api-1.1.0.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-commons/1.7.2/34adfea6c13fc4a996cf38cdad80800ce850d198/junit-platform-commons-1.7.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.opentest4j/opentest4j/1.2.0/28c11eb91f9b6d8e200631d46e20a7f407f2a046/opentest4j-1.2.0.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.2.6/25be1abb32e870ff042e698a799b56587e0dca9a/logback-core-1.2.6.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.14.1/cd8858fbbde69f46bce8db1152c18a43328aae78/log4j-api-2.14.1.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.1/a99500cf6eea30535eeac6be73899d048f8d12a8/asm-9.1.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.h2database/h2/1.4.200/f7533fe7cb8e99c87a43d325a77b4b678ad9031a/h2-1.4.200.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-engine/5.7.2/9415680a889f00b8205a094c5c487bc69dc7077d/junit-jupiter-engine-5.7.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/com.sun.activation/jakarta.activation/1.2.2/74548703f9851017ce2f556066659438019e7eb5/jakarta.activation-1.2.2.jar:/Users/gimdohun/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-engine/1.7.2/2573770b46b8a199ed5f6b0f96fb99e468bfe891/junit-platform-engine-1.7.2.jar com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 jpabook.service.MemberServiceTest 17:15:42.837 [main] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class jpabook.service.MemberServiceTest] 17:15:42.849 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] 17:15:42.865 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)] 17:15:42.936 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [jpabook.service.MemberServiceTest] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper] 17:15:42.953 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [jpabook.service.MemberServiceTest], using SpringBootContextLoader 17:15:42.965 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [jpabook.service.MemberServiceTest]: class path resource [jpabook/service/MemberServiceTest-context.xml] does not exist 17:15:42.971 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [jpabook.service.MemberServiceTest]: class path resource [jpabook/service/MemberServiceTestContext.groovy] does not exist 17:15:42.971 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [jpabook.service.MemberServiceTest]: no resource found for suffixes {-context.xml, Context.groovy}. 17:15:42.972 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [jpabook.service.MemberServiceTest]: MemberServiceTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration. 17:15:43.087 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [jpabook.service.MemberServiceTest] java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test at org.springframework.util.Assert.state(Assert.java:76) at org.springframework.boot.test.context.SpringBootTestContextBootstrapper.getOrFindConfigurationClasses(SpringBootTestContextBootstrapper.java:236) at org.springframework.boot.test.context.SpringBootTestContextBootstrapper.processMergedContextConfiguration(SpringBootTestContextBootstrapper.java:152) at org.springframework.test.context.support.AbstractTestContextBootstrapper.buildMergedContextConfiguration(AbstractTestContextBootstrapper.java:392) at org.springframework.test.context.support.AbstractTestContextBootstrapper.buildDefaultMergedContextConfiguration(AbstractTestContextBootstrapper.java:309) at org.springframework.test.context.support.AbstractTestContextBootstrapper.buildMergedContextConfiguration(AbstractTestContextBootstrapper.java:262) at org.springframework.test.context.support.AbstractTestContextBootstrapper.buildTestContext(AbstractTestContextBootstrapper.java:107) at org.springframework.boot.test.context.SpringBootTestContextBootstrapper.buildTestContext(SpringBootTestContextBootstrapper.java:102) at org.springframework.test.context.TestContextManager.<init>(TestContextManager.java:137) at org.springframework.test.context.TestContextManager.<init>(TestContextManager.java:122) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTestContextManager(SpringJUnit4ClassRunner.java:151) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:142) at org.springframework.test.context.junit4.SpringRunner.<init>(SpringRunner.java:49) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:78) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104) at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70) at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28) at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:50) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Process finished with exit code 255 @SpringBootTest어노테이션에 클래스 이름을 붙혀야되는건가 싶어서 @SpringBootTest (classes = MemberServiceTest. class ) 이런식으로 바꿔도 아래와같은 오류가 나옵니다. Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'jpabook.service.MemberService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} MemberService package jpabook.service ; import jpabook.jpashop.domain.Member ; import jpabook.jpashop.repository.MemberRepository ; import lombok. RequiredArgsConstructor ; import org.springframework.beans.factory.annotation. Autowired ; import org.springframework.stereotype. Service ; import org.springframework.transaction.annotation. Transactional ; import java.util.List ; @Service @Transactional (readOnly = true ) @RequiredArgsConstructor public class MemberService { private final MemberRepository memberRepository ; /** * 회원가입 */ @Transactional //변경 public Long join (Member member) { validateDuplicateMember(member) ; //중복 회원 검증 memberRepository.save(member); return member.getId() ; } private void validateDuplicateMember (Member member) { List<Member> findMembers = memberRepository .findByName(member.getName()) ; if (!findMembers.isEmpty()) { throw new IllegalStateException( "이미 존재하는 회원입니다." ) ; } } /** *전체 회원 조회 */ public List<Member> findMembers () { return memberRepository .findAll() ; } public Member findOne (Long memberId) { return memberRepository .findOne(memberId) ; } } MemberServiceTest package jpabook.service ; import jpabook.jpashop.JpashopApplication ; import jpabook.jpashop.domain.Member ; import jpabook.jpashop.repository.MemberRepository ; import org.junit. Test ; import org.junit.runner. RunWith ; import org.springframework.beans.factory.annotation. Autowired ; import org.springframework.boot.test.context. SpringBootTest ; import org.springframework.test.context.junit4.SpringRunner ; import org.springframework.transaction.annotation. Transactional ; import static org.junit.Assert. assertEquals ; import static org.junit.Assert. fail ; @RunWith (SpringRunner. class ) @SpringBootTest @Transactional public class MemberServiceTest { @Autowired MemberService memberService ; @Autowired MemberRepository memberRepository ; @Test public void 회원가입 () throws Exception { //Given Member member = new Member() ; member.setName( "kim" ) ; //When Long saveId = memberService .join(member) ; //Then assertEquals (member , memberRepository .findOne(saveId)) ; } }
고박사님의 강좌를 보면서 직접 코딩도 하고, 강의대로 정상 작동하는지 테스트 하면서 하느라 시간이 많이 걸리지만 하나씩 배우면서 잘 작동하는것을 보니 뿌듯합니다. ^^; 그런데 강의대로 모든 Scenes 및 코드들을 작성 및 실행하고 난후 강의가 끝난후 다시 확인하던 중에 강의중 화면에는 #05MoveByTransform 씬이 있는데 이 씬에 대한 설명이 없던데 무엇을 하는 씬인지요?
- 학습 관련 질문을 남겨주세 모델링 보면서 공부하고 복습하면서 다른거는 왠만큼 사각형을 유지하면서 모델링은 하겠는데 이러한 부분은 어떻게 사각형으로 폴리를 구성하는지 알고싶어요! . 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
#include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { int ch; FILE* fr; unsigned long count = 0; if (argc != 2) { printf("Usage : %s filename\n", argv[0]); exit(EXIT_FAILURE); } if ((fr = fopen(argv[1], "r")) == NULL); { printf("Can't open %s\n", argv[1]); exit(EXIT_FAILURE); } while ((ch = fgetc(fr)) != EOF) { fputc(ch, stdout); count++; } fclose(fr); printf("FILE %s has %lu characters\n", argv[1], count); return 0; } 보시는 바와 같이 코드를 강의코드와 똑같이 작성하고 소스코드와 같은 위치에 txt파일을 만들고(내용도 강의와 똑같습니다) 명령줄 인수도 올바르게 넣었는데 작동이 안됩니다. 실행시 Can't open my_input.txt 라 출력되는것을 보면 인수는 잘 들어갔는데 텍스트파일을 찾지 못하고 있습니다. 도대체 어떤 이유에서인지 알고 싶습니다. 부탁드립니다.
현재 /members/new 로 이동하는 부분에서 막혔습니다. /members/new 로 이동하면 아래와 같은 화면이 나옵니다. home.html, MemberController, createMemberForm은 아래와 같습니다. members 파일을 templates에 넣은 것도 확인했는데 어느 부분에서 잘못된 것인지 모르겠습니다.. createMemberForm.html 대신 이전에 잘 작동했던 hello.html을 넣어봐도 같은 에러가 뜹니다..