설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
안녕하세요. 강의 잘 듣고 있습니다. 강의에서는 zybo보드 위의 PS를 사용하고 있는데, 제가 사용하고 있는 보드에는 PS가 없습니다. PCIe를 이용해 통신을 해야하는 것으로 보이고, vivado IP block을 찾아보니 UltraScale+Integrated Block for PCI Express라는 block이 있는 것으로 보입니다. 하지만 이 Block의 자세한 동작 원리가 파악이 잘 안되고 있습니다. 혹시 PC와 board간의 PCIe 통신을 어떻게 하는지에 대한 documentation이 있다면 추천 가능하실까요? 또한 강의 실습들에서 clock을 PS에서 생성하도록 하였는데, PC에서의 clock을 받아오는 경우에 대한 설명이 있다면 소개 부탁드리겠습니다. Xilinx documentation에 모든 설명이 나와있을 거라고 생각하지만, 제가 이 분야가 처음이고, documentation들이 워낙 방대한지라 도움을 요청합니다. 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 프록시 캐시에 대한 수업을 듣고, 제가 잘 이해했는지 확인차 질문드립니다. 알파벳(A,B,C)는 데이터를 의미하고, 아래와 같은 상황에서 클라이언트가 데이터를 요청합니다. 클라이언트(A), 프록시캐시(B), Origin서버(C) a) no-cache인 경우 1. 클라이언트->프록시캐시 : 데이터 검증 요청 2. 프록시캐시->Origin서버 : 데이터 검증 요청 3. Origin서버-> 프록시캐시 : 데이터(C) 전송 4. 프록시캐시 데이터 최신화 (B->C) 5. 프록시캐시->클라이언트 : 데이터(C) 전송 6. 클라이언트 데이터 최신화 (A->C) b) no-cache가 아닌 경우 1. 클라이언트->프록시캐시 : 데이터 검증 요청 2. 프록시캐시->클라이언트 : 데이터(B) 전송 3. 클라이언트 데이터 최신화(A->B) a)의 경우 클라이언트는 Origin서버로부터 데이터를 전송받고, b)의 경우 프록시캐시로부터 데이터를 전송받는다고 이해하였습니다. 올바르게 이해한걸까요?
(프록시 강의 26분~) 안녕하세요 영한님께서 jpa에서는 같은 영속성 컨텍스트 레벨 안에서 ==가 항상 true를 보장한다고 하셨는데, 이 부분이 잘 이해가 되지 않습니다. em.find( = m1) 후 em.getReference( = m2) em.find하면 영속성 컨텍스트에 실제 member가 저장되니까 em.getReference를 하면, 껍데기를 만들고, 영속성 컨텍스트에 실제 entity값을 DB에서 가져다 달라고 요청하려 하는데, 이미 1차 캐시에 entity가 존재해서 em.getReference를 해도 m1 == m2가 성립하는 것으로 이해했습니다. em.getReference 후 em.getReference em.getReference => 프록시 객체 반환 이때 프록시 객체를 초기화하는 과정에서 영속성 컨텍스트에 실제 entity를 저장할텐데, 다시 em.getReference를 하면 1차 캐시에 있는 entity를 사용하면 될텐데, 왜 껍데기를 만들면서 프록시를 유지하는지 궁금합니다. em.getReference 후 em.find em.getReference => 프록시 객체 반환 em.getReference에서 프록시를 초기화하는 과정에서 위와 같이 1차 캐시에 entity가 저장될텐데, 왜 껍데기를 만들면서 프록시를 유지하는지 궁금합니다. 위의 3가지 예제를 보니, 여러 과정들을 거쳐 결국 jpa는 같은 영속성 컨텍스트 안에서 ==가 항상 true를 보장되는지, 아니면 true를 먼저 보장하기 위해서 다른 과정들을 끼워 맞추는지 궁금합니다. 여러 과정 => 결국에 모두다 ==가 보장됨 or 모두 다 ==를 보장해야함 => ==가 true가 나오도록 끼워 맞추자. 마지막으로 jpa가 같은 영속성 컨텍스트 레벨에서 어떻게 ==를 true로 보장해주는지도 궁금합니다.
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
제가 작업을 하다가 키 값이 프론트 코드에 그대로 남는게 조금 그렇기도 하고 보안을 강화하고 싶어서 키 값을 json 파일로 보관하고 유니티에서 로드해서 읽어오는 방식(이게 직렬화 맞죠?ㅎ)으로 변경한 후에 빌드를 했습니다. azure를 이용한 key vault 라는 서비스가 있다는 걸 알게됐지만 이정도만 해도 어느정도 보안성이 있을까요?? 이렇게 하면 장점이랑 단점은 뭘까요 답변을 드릴만한 분이 없으셔서 여쭤봅니다 루키스님!
안녕하세요! 코딩미션 다섯번째 강의 참고해서 홈페이지를 만들고 있는데요, 루트폴더가 이렇게 되어있는 경우에도 $('.header-include').load('header.html'); 이렇게 똑같이 제이쿼리 구문 작성하면 되나요? html과 같이 css루트도 css/common/header.css 이렇게 되어있는데 이런경우 header.css는 header.html에 링크하면 되나요? 아니면 index.html에 링크하면 되나요?
https://www.inflearn.com/questions/670959 해당 글의 추가 질문 드립니다. 우선 local과 docker에서는 정상 작동하는 것을 확인했습니다. 혹시 apigateway에 - Path=/customer-svc/customers 이런식으로 경로가 설정되어 있다면 각 각의 서비스들이 다른 pod에 배포되어 있을 경우 정상적으로 경로를 찾아 갈 수 있는 건가요?? 각 pod 들에는 ClusterIP로 서비스를 연결해 준 상태입니다. 자세히 말하자면 강의에서 docker 배포 목적으로 spring cloud apigateway를 이미지로 만들었던 것을 yaml을 이용하여 쿠버네티스(192.168.1.10)에 배포하였고 이를 nodeport(30502)로 노출 시켰습니다. 그리고 각 각의 서비스들도 마찬가지로 yaml로 배포하였고 ClusterIp로 노출시켜놨습니다. 이렇게 되면 192.168.1.10:30502/customer-svc/customers로 계정 생성 서비스(POST)가 정상적으로 동작하나요?? 아니면 단지 apigateway를 이미지 형태로 배포한 것으로 독립된 pod에 있는 customer-svc를 찾아가는 것이 안 되는 건가요..? 그렇기 때문에 500에러가 발생하고요. apigateway POD의 에러 메세지는 다음과 같습니다 빨간 박스 내용 2022-10-19 19:22:35.106 INFO 1 --- [trap-executor-0] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration 2022-10-19 19:27:35.106 INFO 1 --- [trap-executor-0] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration 2022-10-19 19:29:55.347 INFO 1 --- [or-http-epoll-1] c.p.a.filter.GlobalFilter : Global Filter baseMessage: Spring Cloud Gateway Global Filter 2022-10-19 19:29:55.348 INFO 1 --- [or-http-epoll-1] c.p.a.filter.GlobalFilter : Global Filter Start: request id -> f6eabebe-14 2022-10-19 19:29:59.358 ERROR 1 --- [or-http-epoll-2] a.w.r.e.AbstractErrorWebExceptionHandler : [f6eabebe-14] 500 Server Error for HTTP POST "/customer-svc/customers" java.net.UnknownHostException: Failed to resolve 'customer-deployment-5bf5fbc484-wxmlh' after 2 queries at io.netty.resolver.dns.DnsResolveContext.finishResolve(DnsResolveContext.java:1047) ~[netty-resolver-dns-4.1.82.Final.jar!/:4.1.82.Final] Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Error has been observed at the following site(s): *__checkpoint ⇢ org.springframework.boot.actuate.web.trace.reactive.HttpTraceWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ HTTP POST "/customer-svc/customers" [ExceptionHandlingWebHandler] 해당 내용으로 봤을 때, 쿼리가 간다는 것은 통신은 정상적으로 이루어지는 것 같은데 어떤 문제가 있을까요??
값을 찾을 수 없다고 나와서 질문드립니다 여러번 확인 해 봤는데 원인을 찾을 수 없어 질문을 올립니다. 감사합니다. 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
안녕하세요 강사님! 다름이 아니라 강의 내용을 토대로 앱 빌딩에 활용해보고 있던 중에 질문이 있어서 질문을 남기게 되었습니다. 기존 외부 Library 는 다음과 같았습니다. public class SSOAuth { private HttpServletRequest request; private HttpServletResponse response; private Map<String, Object> attributes = new HashMap<String, Object>(); private Properties properties; // 생성자 public SSOAuth (HttpServletRequest request, HttpServletResponse response) throws IOException { this.request = request; this.response = response; this.properties = new Properties(); // 초기화로 보임 // File 에 있는 properties 정보로 통신 준비 InputStream is = null; File file = new File("C:/spring/processdesign/processdesign/src/ssoconfig.properties"); if(!file.exists()) { System.out.println("File Not Found :( = " + file.getAbsolutePath()); throw new IOException("파일을 찾을 수 없습니다"); } is = new FileInputStream(file); this.properties.load(is); is.close(); } public void ssoLogin() throws IOException { return "login정보로 형성한 url"; } ... } 다음과 같이 SsoAuth 객체에 Bean 주입을 통해서 Spring Container 에 등록될 수 있게 해보았습니다. @Component public class SSOAuth { private final HttpServletRequest request; private final HttpServletResponse response; private Map<String, Object> attributes = new HashMap<String, Object>(); private Properties properties; @PostConstruct private void initBean() throws IOException { this.properties = new Properties(); InputStream is = null; File file = new File("C:/spring/~/~/src/ssoconfig.properties"); if (!file.exists()) { System.out.println("File Not Found :( = " + file.getAbsolutePath()); throw new IOException("파일을 찾을 수 없습니다"); } is = new FileInputStream(file); this.properties.load(is); is.close(); } // @Autowired public SSOAuth(HttpServletRequest request, HttpServletResponse response) throws IOException { this.request = request; this.response = response; System.out.println("request = " + request); System.out.println("response = " + response); } ... } 다만 하다보니 SSOAuth 의 생성자로 사용되는 HttpServletRequest 와 HttpServletResponse 들은 매 통신마다 일회용으로 쓰이는 정보들로 알고 있는데 (즉, 스프링 컨테이너의 관리 대상인 싱글톤 객체가 아닌걸로 알고 있는데) 이와 같은 경우는 그냥 Bean 등록 대상이 아닌걸까요?? 등록 대상이 아니면 생성시 어떻게 받는지 궁금해서 생성자에 프린트를 찍어본 후 앱을 실행시켰는데, Spring Container 가 Bean 생성을 할 때 다음과 같이 프린트를 찍어주는 것 같습니다. 여기서 이게 무슨 의미인지 알 수 있을까요? request = Current HttpServletRequest response = Current HttpServletResponse (정리하자면 의존성 주입 대상이 아닌(?) 변수들을 Params 로 가지고 있을 경우 Bean 등록이 어떻게 이루어지는지 궁금한 것 같습니다) @RestController @RequestMapping("/sso") @RequiredArgsConstructor public class SSORequestController { public final SSOAuth auth; @GetMapping("/requestAuth") public String requestSsoAuth(HttpServletRequest request, HttpServletResponse response) throws IOException { auth.ssoLogin(); System.out.println("Hello"); return "Hello"; } 이어서 위와 같이 컨트롤러를 생성하였을 때 잘 동작을 하게 됩니다. 어떻게 자동으로 해당 컨트롤러 메소드가 호출되지도 않았는데, SSORequestController 가 의존성 주입을 받을 때 사용되는 컨트롤러의 HttpServletRequest, httpServletResponse 객체를 주입시켜 SSOAuth 객체를 생성하는지 궁금합니다! 감사합니다!
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
안녕하세요 수업 너무재밌게듣고있습니다 근데 여기서 막혀버려서 잘찾아보려고 해도 모르겠습니다 데이터베이스 연결어떻게 확인하는건지 몰라서요.. PS C:\Users\DELL\Desktop\reddit-clone-app\server> npm run dev > server@1.0.0 dev > nodemon --exec ts-node ./src/server.ts [nodemon] 2.0.20 [nodemon] to restart at any time, enter rs [nodemon] watching path(s): . [nodemon] watching extensions: ts,json [nodemon] starting ts-node ./src/server.ts server running at http://localhost:4000 Error: connect ECONNREFUSED 127.0.0.1:5432 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1247:16) { errno: -4078, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 5432 } 오류가 나는데 pkill node 해도 안되요 PS C:\Users\DELL\Desktop\reddit-clone-app\server> pkill node pkill : 'pkill' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + pkill node + ~~~~~ + CategoryInfo : ObjectNotFound: (pkill:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException tsconfig.json { "compilerOptions": { /* Visit https://aka.ms/tsconfig.json to read more about this file */ /* Projects */ // "incremental": true, /* Enable incremental compilation */ // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ "target": "es2016" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ "experimentalDecorators": true /* Enable experimental support for TC39 stage 2 draft decorators. */, "emitDecoratorMetadata": true /* Emit design-type metadata for decorated declarations in source files. */, // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ /* Modules */ "module": "commonjs" /* Specify what module code is generated. */, // "rootDir": "./", /* Specify the root folder within your source files. */ // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ // "types": [], /* Specify type package names to be included without being referenced in a source file. */ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ // "resolveJsonModule": true, /* Enable importing .json files */ // "noResolve": true, /* Disallow `import`s, `require`s or `<reference>`s from expanding the number of files TypeScript should add to a project. */ /* JavaScript Support */ // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ /* Emit */ // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ // "declarationMap": true, /* Create sourcemaps for d.ts files. */ // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ // "outDir": "./", /* Specify an output folder for all emitted files. */ // "removeComments": true, /* Disable emitting comments. */ // "noEmit": true, /* Disable emitting files from a compilation. */ // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ // "newLine": "crlf", /* Set the newline character for emitting files. */ // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */, // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, /* Type Checking */ "strict": false /* Enable all strict type-checking options. */, // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ "strictPropertyInitialization": false /* Check for class properties that are declared but not set in the constructor. */, // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ /* Completeness */ // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ "skipLibCheck": true /* Skip type checking all .d.ts files. */ } } 여기서 오류가났는데 어떻게 해결해야되나요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! jsonserializable대신 freezed 써도 무방한가요?