파일 'c:\Program Files\Test.Pyton\ test.py '(NoPermissions (FileSystemError): Error: EPERM: operation not permitted, open 'c:\Program Files\Test.Pyton\ test.py ')을(를) 쓸 수 없음 이렇게 나오는데 재부팅 해도 똑같네요
윈도우 사용자입니다. kafka-connect 설치 부분이 너무너무 어려워요 ㅠㅠ 목표는 kafka,zookeeper -> Docker 컨테이너로 관리 Kafka-Connect, JDBC connector 어떻게든 되기만 해보기, MySQL-jdbc connector 사용하기 입니다. 실제 사용할 때는 docker 를 이용하여 zookeeper 와 kafka 를 사용할 계획이라서 docker 를 사용 , zookeeper 와 kafka를 컨테이너로 관리할 계획입니다. 하지만 kafka-connect 부분 부터 JDBC 관련 부분까지 4~5일 동안 고생하고 있습니다. 시도했던 방법 1. -> 강의 내용 대로 해보기 저는 curl 명령어가 안되어서 curl.exe 로 진행해봤습니다. 강의에서 처럼 tar 명령어로 압축해제 할 떄 해제 중 아래와 같은 에러가 항상 발생하였습니다. 그래서 그냥 윈도우 마우스 우클릭으로 해제하면 가 발생하고 이 에러는 찾아도 안 나오더라고요 그냥 무시하고 진행하면 (건너 뛰기 ) 누르면 이런 에러가 발생하고 https://www.inflearn.com/questions/229060/%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94-connector-%EC%8B%A4%ED%96%89%EC%8B%9C-%EC%98%A4%EB%A5%98%EA%B0%80-%EC%83%9D%EA%B2%A8-%EC%A7%88%EB%AC%B8-%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4 이 게시글의 답변을 참고하여도 여전히 변함없는 것을 확인한 이후에 도저히 설치는 못하겠다. 라고 생각해서 컨테이너로 올릴 수 있는 방법을 찾아보았습니다. 시도했던 방법 2-> https://velog.io/@ililil9482/kafka-db-%EC%97%B0%EB%8F%99-feat.-mysql 이 방식이 제가 생각한 워너비라서 그대로 따라 해도 오류가 발생합니다. Volume 설정이 제대로 안되는지 블로그 그대로 관리하고 해도 실제 jar 파일이 들어가지 않더라고요! 이외에도 정말 많은 방법을 시도했는데 번번히 실패하거나 저랑 실행 환경이 달라서 포기하였습니다. 검색도 많이하고 많이 읽어봤습니다. 이제는 진짜 죄송한데 혼자 해낼 자신이 없어요ㅠㅠ 윈도우 환경에서 kafka , zookeeper 컨테이너 관리 My-Sql jdbc connector 사용하기 Kafka-Connect, JDBC connector 어떻게든 되기만 해보기 이게 진짜 너무너무 하고 싶은데 방법이 없을까요?
슬라이드가 아스키코드라고 되어있어서 긴가민가하다가 질문남깁니다!*p=null p=a ; 여기부분이 포인터 변수 p가 null값이고p는 a값이라 서로 다른 변수라 봐야하나요? 저는 printf("%s\n" p) 이 부분을 보고나서p는 포인터변수로 선언하고 a를 넣어줬는데 그럼 배열 a의 맨 처음 인덱스가 들어와서 A만 출력되는 거 아닌가? 어 근데 %s면 문자열인데..하다가 슬라이드명이 ascii코드라서 거기에 사로잡혀서 A는 65니까 문자열로 못쓸거라 판단하고 여기서부턴 포인터 p랑 p랑 아예 달라서 그냥 Art를 문자열로 전부 출력하라는 말이구나 하고 다시 풀긴했거든요. 근데 답은 맞았어도 과정이 이게 맞나 싶어서요.기출에 포인터랑 아스키코드랑 막 섞어서 출제됐던 적이 있었던 기억이 나서 문제풀 때 이런 부분들이 자꾸 헷갈리네요 ㅠ
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] [조회한 빈 모두 필요할 때 , List, Map] 강의를 보고 스프링 빈에 등록되는 것을 모든 빈이 궁금하여 조회해 보았습니다. 그런데 @Autowire를 통해 Map policyMap, List policies은 빈 에는 등록 되지 않아 보입니다. 그 이유가 AutoConfig.class를 통하여 @Componet가 설정된 클래스와 명시적으로 설정한DiscountService.class가 빈으로 등록 되고 Map policyMap, List policies은 @Componet설정이 된것이 아닌 스프링이 제공하는 기능으로 의존 관계 설정만 되는 것이 맞나요? 코드 package hello.core.autowired; import hello.core.AutoAppConfig; import hello.core.discount.DiscountPolicy; import hello.core.member.Grade; import hello.core.member.Member; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; public class AllBeanTest { @Test void test(){ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames){ BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName); if(beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION){ System.out.println("beanDefinitionName = " + beanDefinitionName + " / beanDefinition = " + beanDefinition.getBeanClassName()); } } } static class DiscountService { // 해당 타입(DiscountPolicy)에 일치하는 모든 빈이 컬렉션에 자동 추가 된다. -> 스프링이 제공하는 기능 // List에는 해당 타입의 빈이 순서대로 들어 간다. // Map에는 빈 이름을 키로, 빈 객체 값을 가지게 된다. private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; @Autowired public DiscountService(List<DiscountPolicy> policies, Map<String, DiscountPolicy> policyMap) { this.policies = policies; this.policyMap = policyMap; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } public int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); return discountPolicy.discount(member, price); } } }
스프링부트에서 flyway 데이터베이스 마이그레이션 강의를 보고 있습니다. 옛날 강의라서 강사님은 2.4.5 버전과 flyway 7.x버전을 사용하셨습니다. 일단은 저도 flyway 10.x버전을 사용하려다가 db에 연결이 안되서 7.x버전을 사용하니 성공하여 진도를 나갔습니다. 하지만 test코드 만드는 과정에서 호환문제로 결국 또 막혀서 9.8.1버전을 사용하여 다시하고 있습니다. build.gradle입니다. plugins { id 'java' id 'org.springframework.boot' version '3.3.2' id 'io.spring.dependency-management' version '1.1.6' id 'org.flywaydb.flyway' version '9.8.1' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.flywaydb:flyway-core:9.8.1' //runtimeOnly 'com.h2database:h2' implementation 'mysql:mysql-connector-java:8.0.32' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } flyway { url = 'jdbc:mysql://localhost:3306/db_example' user = 'sa' password = 'password' locations = ['classpath:db/migration'] baselineOnMigrate = true } properties입니다. spring.application.name=bookstore spring.jpa.hibernate.ddl-auto=none spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example spring.datasource.username=sa spring.datasource.password=password spring.flyway.enabled=true spring.flyway.baseline-on-migrate=true spring.flyway.locations=classpath:db/migration main->resources->db->migration디렉토리에 V1__create_books.sql 파일을 만들었습니다. CREATE TABLE books( id BIGINT NOT NULL, name VARCHAR(64), author VARCHAR(64) ); db도 문제 없습니다. 7.x버전으로 했을 때 인텔리제이 터미널에서 ./gradlew flywayMigration 해서 테이블을 만드는 것까지 성공했습니다... 스프링부트3.3.2에 맞는 flyway버전을 사용했더니 계속 실패합니다. 분명 url경로도 맞게 했고 틀린부분이 없을텐데 왜 이럴까요. 디펜던시도 implementation 'org.flywaydb:flyway-core:9.8.1' implementation 'org.flywaydb:flyway-mysql:9.8.1' 이렇게 바꿔보고 여러짓을 해봤지만 ./gradlew flywayMigration 성공못하고 있습니다.. flyway 9.버전일 때 ./gradlew flywayClean성공하고 ./gradlew flywayMigration실패했는데, db_example을 지우고 다시 생성해서 해보니 ./gradlew flywayClean도 이제 실패합니다. PS C:\Users\user\OneDrive\Desktop~1-HyunjunLee-56359672\여기 경로 개인사정으로 지웠습니다.\springlecture\bookstore> ./gradlew flywayClean > Task :flywayClean FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':flywayClean'. > Error occurred while executing flywayClean No database found to handle jdbc:mysql://localhost:3306/db_example * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.8/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 1s 1 actionable task: 1 executed PS C:\Users\user\OneDrive\Desktop~1-HyunjunLee-56359672\여기 경로 개인사정으로 지웠습니다.\springlecture\bookstore> ./gradlew flywayMigrate > Task :flywayMigrate FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':flywayMigrate'. > Error occurred while executing flywayMigrate No database found to handle jdbc:mysql://localhost:3306/db_example * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.8/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 1s 1 actionable task: 1 executed PS C:\Users\user\OneDrive\Desktop~1-HyunjunLee-56359672\제로베이스\springlecture\bookstore> 이것들은 성공하네요.. PS C:\Users\user\OneDrive\Desktop~1-HyunjunLee-56359672\여기 경로 개인사정으로 지웠습니다.\springlecture\bookstore> ./gradlew clean BUILD SUCCESSFUL in 1s 1 actionable task: 1 executed PS C:\Users\user\OneDrive\Desktop~1-HyunjunLee-56359672\여기 경로 개인사정으로 지웠습니다.\springlecture\bookstore> ./gradlew build BUILD SUCCESSFUL in 3s 7 actionable tasks: 7 executed
class Parent{ } class Child extends Parent{ } void main ① Parent.a = Child() ② Child.b = Child() 위 식에서 ① ② 두 문장의 차이가 궁금합니다. 둘다 = Child()기 때문에 본인들이 태어날때 부모 기본자도 실행할 것이고, 만약 a나 b에 없는 메소드를 실행시킨다면 부모 클래스를 찾아가는 것도 같은데 둘에 무슨 차이가 있는지 모르겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 2분 22초 에 선생님이 하신 말씀이 예를들어 X002.method 가 호출되면 힙영역의 인스턴스에서 메서드영역에있는 메서드를 호출하고 스택영역에 메서드 호출정보들이 저장된다 라고 이해해도 되나요?
위의 사진은 선생님 화면으로 Solution 폴더>debug폴더 내에 exe, ilk, pdb파일이 있습니다. 위의 사진은 제 컴퓨터 화면으로 ilk파일이 없는 것을 확인했습니다. 실행에는 문제가 없는데 크게 중요하지 않은 부분인가요?? visual studio 2022버전을 사용하고있는데 설정이 잘못된걸까요??
@Override public int hashCode() { return Objects.hashCode(id); } 이걸로 ide가 만들어주네요. 업데이트 된 건가요? 해쉬코드가 다르게 나와서 다른 인덱스에 채워지네요. 강의처럼 아래와 같이 하면, @Override public int hashCode() { return Objects.hash(id); } 강의와 똑같이 같은 인덱스에 채워집니다. Objects의 hash 메서드와 hashCode 메서드의 차이가 무엇일까요? 왜 인텔리제이는 hashCode 메서드를 생성했을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. ublic class ArryaEx2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] number = new int[5]; System.out.println("5개의 정수를 입력하세요:"); for (int i = 0; i < number.length; i++) { int input = scanner.nextInt(); number[i] = input; } System.out.println("출력"); for (int i = 0; i < number.length; i++) { System.out.print(number[i]); if(i < number.length -1) { System.out.print(","); } } 이렇게 하면 정상작동 하는데 ublic class ArryaEx2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int input = scanner.nextInt(); int[] number = new int[5]; System.out.println("5개의 정수를 입력하세요:"); for (int i = 0; i < number.length; i++) { number[i] = input; } System.out.println("출력"); for (int i = 0; i < number.length; i++) { System.out.print(number[i]); if(i < number.length -1) { System.out.print(","); } } int input = scanner.nextInt() 이걸 for 문 밖에 입력하면 정상 작동을 하지 않습니다. 해당 위치는 스코프를 모두 적용할수 있는 위치인데 왜 그런거죠?
안녕하세요. 좋은 강의를 만들어주셔서 감사합니다! <CMake 소개> 영상 내용 중 CMake 출시 연도와 관련하여 잘못된 정보가 있는 것 같아 글을 남깁니다. <CMake 소개> 영상의 0:25 부근입니다. 아래 슬라이드와 함께 나오는 부분입니다. 위 슬라이드에는 " 2013년 10월 처음 공개(v2.8.12) "라고 나오고, 영상 0:25 부분에서는 삼각형님이 " CMake는 2013년에 처음 출시가 되었습니다 "라고 설명하시는 음성이 나옵니다. 위 내용대로 2013년에 CMake가 처음 출시 되었다면 올해가 2024년이니 11년 정도의 역사를 가진 프로그램이라는 의미 입니다. 슬라이드 상의 " 20+년차 프로그램 "이라는 내용과 맞지 않습니다. 인터넷 검색을 해보니 CMake가 처음 공개된 연도는 2000년 으로 나옵니다. https://en.wikipedia.org/wiki/CMake https://cmake.org/history/ 아마 영상을 찍는 과정에서 무언가 착오가 있었던 것 같습니다. (위 슬라이드에서 v2.8.12를 언급한 것은 Modern이 아닌 CMake의 마지막 버전을 말씀하시고 싶었던 것이 아닌가 추측합니다. 이 추측이 맞을까요? v2.8.12를 위 슬라이드에서 언급하신 본래 이유는 무엇일까요?) 이 부분을 한번 검토해주시고 정확한 내용을 영상에 반영해주실 수 있을까 해서 글을 남깁니다. 감사합니다!
실제 시험장에서 주석으로 제가 간단하게 알 수 있도록 설명을 적어두고 문제를 풀 경우 제출할 때에는 주석을 다 지워줘야될까요? 길이가 길어지니까요? 아니면 그정도는 별로 영향이 안미칠까요? 예를 들면 http://boj.kr/ec4795ae62434cbd8a776dfbada39596 이러한 상황입니다.
질문은 동영상 강의에서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그렇게 해주셔야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 한 번에 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.