안녕하세요 다름이 아니고 ksql 활용 세션에서 ksqldb.io 웹사이트 진입 부분에서 현재와 다르다보니 강의 내용을 추적 하기 힘든부분이 잇어 질문 드려봅니다 혹시 confluent사가 ksqldb 통합햇는지 모르겟지만 confluent 공식 웹사이트로 리다이렉션 되어버리네요. 그런 공식문서는 confluent 웹사이트에서 참고 하면 될지요…? 위에 내용이 맞다면 강의 편집하긴 어려울실거라 생각해서 변경사항에 대한 세션을 추가로 해주시면 여태 수강생 분들도 도움이 될거라 생각됩니다. 그리고 새해복 많이 받으세요
강의를 잘 따라가다가 n8n에서 httpRequest 하는 부분에서 막혔습니다. 제가 만든걸로도 안되고, 강사님이 주신 자료로도 같은 에러가 발생해서 문의드립니다. 어떤게 문제인지 잘 모르겠습니다. <n8n 에러 내용> <호스팅케이알> <nginx> <portainer>
안녕하세요 선생님, 강의 복습 중에 조금 헷갈리는 부분이 생겨서 문의드립니다. 현재 github 에서 제공해주시는 SUBSMANAER 프로젝트에서 yaml/01-basic/ingress/sm-ingress-domain.yaml 파일에 보시면 다음과 같습니다. apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: sm-ingress namespace: subsmanager spec: ingressClassName: nginx rules: - host: subs-manager.com http: paths: - path: / pathType: Prefix backend: service: name: sm-frontend port: number: 80 - path: /users pathType: Prefix backend: service: name: sm-user port: number: 80 - path: /sub pathType: Prefix backend: service: name: sm-subs port: number: 80 - path: /recommend pathType: Prefix backend: service: name: sm-reco port: number: 80 그리고 sm-frontend/nginx.conf 파일을 보면 아래와 같이 설정되어 있습니다. server { listen 80; location / { root /usr/share/nginx/html; index index.html; try_files $uri $uri/ /index.html; } # API 요청을 백엔드 서버로 프록시 location /users { proxy_pass http://sm-user:5000; } location /sub { proxy_pass http://sm-subs:5000; } location /recommend { proxy_pass http://sm-reco:5000; } } 여기서 갑자기 헷갈립니다. 애초에 ingress 단에서 /sub/ /recommend , /user 요청에 대한 처리를 중간에 가로채서 처리를 하고 있는데, 굳이 frontend 에서 사용하는 nginx.conf 에도 설정하는 것이 좀 와닿지 않습니다. 이렇게 중복으로 설정해야되는 이유가 뭔지 궁금합니다!
Library\PackageCache\com.unity.cinemachine@5342685532bb\Runtime\PostProcessing\CinemachineVolumeSettings.cs(213,64): error CS1061: 'DepthOfField' does not contain a definition for 'focalLength' and no accessible extension method 'focalLength' accepting a first argument of type 'DepthOfField' could be found (are you missing a using directive or an assembly reference?) 갑자기 이 에러가 나오네요. 도움 부탁드립니다.
yaml 수정 시작 spring: batch: job: name: ${job.name:NONE} # 'names' (복수형)가 삭제되고 'name' (단수형)으로 변경됨 enabled: true # 자동 실행을 원할 경우 (기본값 true) jdbc: initialize-schema: ALWAYS # Spring Boot 3.x 이상에서는 이 속성을 사용 (기존 spring.batch.initialize-schema 삭제됨) datasource: url: jdbc:mysql://127.0.0.1:3306/spring_batch driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 1234 sql: init: mode: always yaml 수정 끝 job 패키지 하위 HelloWoldJobConf 수정 시작 package com.example.SpringBatchTutorial.job; import lombok.RequiredArgsConstructor; import org.springframework.batch.core.job.Job; import org.springframework.batch.core.job.builder.JobBuilder; import org.springframework.batch.core.repository.JobRepository; import org.springframework.batch.core.step.Step; import org.springframework.batch.core.step.builder.StepBuilder; import org.springframework.batch.infrastructure.repeat.RepeatStatus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.PlatformTransactionManager; @Configuration @RequiredArgsConstructor public class HelloWorldJobConfig { /** * [Spring Batch 5.0 변경점 1] Factory 삭제 * - 과거: JobBuilderFactory, StepBuilderFactory를 사용 (Deprecated/삭제됨) * - 현재: JobRepository와 TransactionManager를 직접 주입받아서 Builder에 전달해야 함 */ private final JobRepository jobRepository; // Job과 Step의 상태(실행 기록 등)를 DB에 저장/관리하는 저장소 private final PlatformTransactionManager transactionManager; // 트랜잭션 관리자 (Commit/Rollback 담당) /** * Job 생성 설정 * - Job은 배치의 가장 큰 실행 단위입니다. */ @Bean public Job helloWorldJob() { // [변경점 2] new JobBuilder("이름", jobRepository) 사용 // Factory.get() 대신 Builder를 직접 생성하며, 두 번째 인자로 jobRepository가 필수입니다. return new JobBuilder("helloWorldJob", jobRepository) .start(helloWorldStep()) // 첫 번째로 실행할 Step 지정 .build(); // Job 생성 } /** * Step 생성 설정 * - Step은 Job 내부에서 실제 비즈니스 로직(읽기/처리/쓰기)을 담당하는 단계입니다. */ @Bean public Step helloWorldStep() { // [변경점 3] new StepBuilder("이름", jobRepository) 사용 return new StepBuilder("helloWorldStep", jobRepository) /* * Tasklet 정의 (단순 작업용) * - 람다(Lambda) 식을 사용하여 코드를 간결하게 작성했습니다. * - (contribution, chunkContext) -> { ... } 구조입니다. */ .tasklet((contribution, chunkContext) -> { System.out.println("Hello, World! Spring Batch 5.0"); // Step이 정상적으로 끝났음을 반환 (FINISHED) return RepeatStatus.FINISHED; }, transactionManager) // [변경점 4] TransactionManager 필수 전달 // Spring Batch 5부터는 Step을 만들 때 어떤 트랜잭션 매니저를 쓸지 명시해야 합니다. .build(); // Step 생성 } } /* 스프링 3.0.x 대의 버전 @Configuration // 이 클래스가 Spring의 설정(Configuration) 클래스임을 명시 @RequiredArgsConstructor // final이 선언된 필드에 대해 생성자를 자동으로 생성 (의존성 주입) public class HelloWorldJobConfig { // Job과 Step을 쉽게 생성할 수 있도록 도와주는 빌더 팩토리 (Spring Batch 5.0 이전 방식) private final JobBuilderFactory jobBuilderFactory; private final StepBuilderFactory stepBuilderFactory; //Job 생성 설정 //- Job은 배치의 가장 큰 실행 단위입니다. @Bean public Job helloWorldJob() { return jobBuilderFactory.get("helloWorldJob") // "helloWorldJob"이라는 이름으로 Job 생성 // RunIdIncrementer: Job 실행 시마다 파라미터 ID를 증가시켜, 같은 Job을 여러 번 재실행할 수 있게 함 .incrementer(new RunIdIncrementer()) .start(helloWorldStep()) // Job 시작 시 실행할 첫 번째 Step 지정 .build(); // Job 빌드 및 반환 } //Step 생성 설정 // - Step은 Job 내부에서 실질적인 처리를 담당하는 단계입니다. // - @JobScope: Job이 실행될 때 이 Bean이 생성되도록 설정 (Late Binding) @JobScope @Bean public Step helloWorldStep() { return stepBuilderFactory.get("helloWorldStep") // "helloWorldStep"이라는 이름으로 Step 생성 .tasklet(helloWorldTasklet()) // 이 Step에서 수행할 기능(Tasklet)을 지정 .build(); // Step 빌드 및 반환 } // // Tasklet 생성 설정 // - Tasklet은 Step 안에서 단일 작업을 수행하는 로직입니다. (단순 작업용) // - @StepScope: Step이 실행될 때 이 Bean이 생성되도록 설정 /// @StepScope @Bean public Tasklet helloWorldTasklet() { // 익명 클래스로 Tasklet 구현 return new Tasklet() { @Override public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception { // 비즈니스 로직 작성 구간 System.out.println("Hello World Spring Batch"); // 이 Tasklet의 처리가 끝났음을 반환 (FINISHED: 종료, CONTINUABLE: 다시 실행) return RepeatStatus.FINISHED; } }; } } * */ job 패키지 하위 HelloWoldJobConf 수정 끝 한국어 패치하신분들은 실행/디버그구성 > 빌드 및 실행 > 옵션 및 수정 > 프로그램 인수에 -- spring.batch.job.name =helloWorldJob 넣고 값 조회
얼마전까지 text로 된 메일본문을 가져올 수 있었는데 갑자기 {{ $json.text }}가 undefined로 나오네요. html로 된 본문만 가져오는데 네이버 imap mail이 보내주는 형식이 변경된건지 제가 잘못한건지 몰라서요. 그리고 account 정보 입력하고 host정보도 이전에 성공했던거 동일하게 처리했는데 save하면 오류가 발생합니다. 그런데 메일가져오기 실행하면 또 되네요. ㅠㅠ
안녕하세요, 삼코치님! 강의를 통해 실무적인 설계 지식을 정말 많이 배우고 있습니다. 강의 내용 중에 원래 알티움(Altium)을 사용하시려다 키캐드(KiCad)로 변경하셨다는 언급을 들었습니다. 실습을 진행함에 있어, 저는 알티움 환경에서 강의 내용을 그대로 구현해보고 싶은 마음이 큽니다. 혹시 강의를 준비하시면서 미리 제작해두셨던 알티움용 라이브러리(.SchLib, .PcbLib)나 관련 프로젝트 파일이 있다면, 학습에 참고할 수 있도록 공유해주실 수 있을지 여쭙고 싶습니다. 바쁘시겠지만 확인해 주신다면 큰 도움이 될 것 같습니다. 감사합니다!
설계독학's Verilog 마스터 Season 1 (실전 코딩 테스트 문제로 완성하는 디지털 설계 엔지니어의 커리어 도약)
L0 - P11번 문제의 FSM설계에 대한 의문점이 있습니다. (강의 10분 20초) 맛비님이나 강의처럼 항상 reg로 현재의 state와 다음 state인 n_state를 선언하시고, 이후에 매 clk마다 state <= n_state; 이런식으로 state를 두 번 정의하시는데 이러는 방식에 이유가 있을까요? 제가 다음과 같이 풀어서 문제를 맞추었는데 이러면 안되는 이유가 있다면 그것도 궁금합니다.
1,2 강을 마무리 하며, HasMatchingGameplayTag 는 해당 게임플레이 테그가 현재 ASC 에 등록이 되어 있는지 체크하는 것으로 이해했는데요. HasMatchingGameplayTag 없다면 TryActivateAbilitiesByTag 를 통해 ABTAG_ACTOR_ROTATE 테그를 실행함으로서, ABTAG_ACTOR_ISROTATING 도 같이 asc 에 등록이 되고 CancelAbilities 를 통해 해체가 되면 ABTAG_ACTOR_ROTATE, ABTAG_ACTOR_ISROTATING 둘다 asc 의 테그 목록에서 사라진다. 이렇게 이해해야 하나요?
MemberDetail 테이블의 UK_MEMBER_DETAIL_PROFILE_ADDRESS 유니크 제약 조건과 관련해서 질문이 있습니다. 39장 강의 마지막 부분에서, 해당 프로파일 주소(profile_address)를 빈 문자열로 바꿔 삭제할 수 있는 부분 테스트를 추가 하셨는데, 그런데 이렇게 되면 여러 사용자가 프로필 주소를 빈값으로 변경 할 경우 제약 조건에 충돌이 발생할 수 있을 것 같습니다. profile_address 값을 빈값으로 설정할 수 없도록 테스트를 조정하는게 더 맞아 보이는데 제가 생각한게 맞을까요?
안녕하세요 🙂 verilog HDL 시즌2로 처음 설계독학맛비님의 수업을 듣게 된 학생입니다. 다름이 아니라 10분쯤에 파일을 열기 위해 사용하신 gvim을 따라 사용하니 맛비님과 다른 화면이 나와 질문글을 남깁니다. 첫번째론 gvim을 찾을 수 없다고 나와 이어서 나온 설명대로 3가지를 install한 후 다시 실행하자 화면이 다른 것을 알게 되었고 그제서야 보니 맛비님은 gvim, 저는 neovim으로 되어있는 것을 보았습니다. 큰 문제는 아니나, 제 화면에서는 코드 확인과 수정 정도만 가능하지만 맛비님의 화면에서는 file부터 edit, tools, window 등 다양한 버튼이 있어 가능하면 똑같은 GVIM을 사용하고 싶은데 어떻게 하면 되는지 알려주시면 감사하겠습니다. [1. 질문 챕터] : HDL 22장 10분쯤 [2. 질문 내용] : gvim 관련하여 [3. 시도했던 내용, 그렇게 생각하는 이유] 아래의 화면과 같이 sudo pat install neovim-qt , vim-gik3, vim-motif을 실행 ㄴ
수파베이스에 대한 갈증이 있었는데 타 플랫폼도 그렇고 한국강좌가 없어서 많이 아쉬워하고 있었는데요 인프런에 2만2천원짜리 강의하나밖에 없어서 그것을 듣긴했는데 그것만으론 많이 아쉬움을 느끼고 있던차에 이 강의가 나왔다는 메일을 받고 정말 기뻐서 바로 결제했습니다 수파베이스를 활용해서 만들고싶은 것들이 잔뜩 머릿속에 있거든요 감사히 잘 듣겠습니다.