Reference Counting의 코드가 멀티 쓰레드 환경에서 잘 작동한다고 말씀해주셨습니다. 제가 코드를 공부하고 있는데, RefCounting.h의 inline void Set(T* ptr) { _ptr = ptr; if (ptr) ptr->AddRef(); } 이 부분에서 if(ptr)은 통과를 했는데, ptr->AddRef()를 하기 직전에, 해당 ptr이 Release 되어서 nullptr이 되버린다면, nullptr의 AddRef()를 호출함으로 오류가 뜰 수 있다고 생각이 되었습니다. 이렇게 된다면 멀티 쓰레드 환경에서 잘 작동하지 않는다고 생각이 들었는데, 제가 수업을 들으면서 무언가 놓친 것이 있는 걸까요?
안녕하세요. 커넥션에 대해서 궁금해서 질문드립니다. DriverManager 또는 DriverManagerDataSource 또는 DataSourceTransactionManager는 모든 경우에 커넥션 풀을 생성하지 않고 커넥션할 때마다 DB에 세션을 생성하나요? DataSourceTransactionManager에 DriverManagerDataSource가 오면 커넥션 풀이 없고 hikari가 오면 모든 경우에 커넥션 풀이 생성되나요? 감사합니다.
//1번 filter인터페이스 filter<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; //2번 filter인터페이스 filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; //1번 예제 const filtered1 = ['1',2].filter((value)=>typeof value === 'string'); //2번 예제 const filtered2 = ['1',2].filter<string>((value)=>typeof value === 'string'); //3번 예제 (2번 예제 개선) const filtered3 = ['1',2].filter<string>((value): value is string => typeof value === 'string'); 위 코드를 기반으로, 궁금한 점이 있었습니다. [질문1] 1번, 2번 예제코드 모두 똑같이 filter의 콜백함수의 반환 타입을 value is string 으로 명시하지 않았는데, 2번은 오류가 발생하고 1번은 오류가 발생하지 않는지? [질문2] 왜 2번 예제처럼 제네릭 타입을 명시해줬을 때, filter의 콜백함수의 반환 타입을 value is string으로 따로 명시해줘야하는지? 그리고 이유를 생각해봤습니다. 제가 생각한 이유가 정확한지 모르겠어서 질문드립니다. [질문1에 대한 생각] 1번 예제는 타입추론 시 2번 인터페이스를 따르기 때문에 filter 콜백의 반환 타입을 명시하지 않아도 오류가 뜨지 않는 것으로 생각했습니다. (타입 추론은 정확히 되지 않지만) [질문2에 대한 생각] 2번 예제는 <string>으로 제네릭을 선언한 순간 1번 filter인터페이스를 따라야 합니다. 이때 filter의 콜백함수의 반환 타입을 value is string으로 명시하지 않으면 반환 타입이 boolean으로 추론되고, 이는 인터페이스와 맞지 않기 때문에 오류가 발생하는 것으로 이해했습니다. 따라서 3번 예제처럼 반환 타입을 타입 가드로 지정해 줬을 때는 오류가 뜨지 않았습니다. 수업내용 처럼 predicate를 따로 빼서 정의해서 사용하지 않아도 3번 예제처럼 작성해도 문제는 없는 걸까요?
안녕하세요. 강의를 통해 많은 도움 받고 있습니다. 일하면서 배우는 중이라 필요한 내용들을 그때마다 찾아서 공부하고 있습니다. 그런데 강의 특성상 각 단계를 차례대로 따라가지 않으면 새로운 세션을 공부하기 위한 베이스 코드가 없기 때문에 어려움을 겪고 있습니다. 혹시 version2의 각 세션을 시작하기 위한 베이스 코드를 제공해주시기는 어려울까요? 감사합니다.
안녕하세요 선생님! 강의를 듣기 전에 혼자 풀어보았습니다. 이중 for문으로 풀어서 시간복잡도 상으로는 좋지 않을 것 같은데 이것도 괜찮은 코드일까요? function solution(k, arr) { let answer = 0; let sum = 0; let check = 0; for (let i = 0; i < arr.length - 2; i++) { for (let j = 0; j < k; j++) { sum += arr[i + j]; check += 1; } answer = Math.max(answer, sum); sum = 0; check = 0; } return answer; } let a = [12, 15, 11, 20, 25, 10, 20, 19, 13, 15]; console.log(solution(3, a));
server state 관리를 swr 말고 react-query를 사용하려고 합니다. 아래와 같이 해당 queryKey를 가지고 stores에 대한 data를 전역으로 관리하고 싶었는데, fetchFunction 자리에 stores props가 들어갈 수 없어서 처음에 어떻게 initialdata를 가져올 수 있을지 잘 모르겠습니다.. react-query는 수업때 배우진 않지만 혹시 아시는 부분이 있다면 알려주시면 감사하겠습니다 !! const { data } = useQuery([queryKey], fetchFun)
[구버전] 웹 애플리케이션 개발을 위한 IntelliJ IDEA 설정 (2020 ver.)
IntelliJ Ultimate 관련해서 정보가 많이 부족했는데 짧은 시간에 해주신 설명이 쉽게 배울 수 있어서 좋았습니다. 앞으로 강의 열어주시는거 기대중입니다. 다만 현재 intelliJ 버전이 23년 버전이 배포된 후로 영상을 찍으신 시점과 다른점이 꽤 있어서 오류해결하는데 시간이 좀 걸렸어요. 이 부분 개선해주시면 정말 감사드리겠습니다!
https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/mysql-connector-j-8.0.33.jar 제 경우 mariadb 커넥터 대신 mysql 커넥터 사용해서 해결했습니다. (... confluentXXX/share/java/kafka 폴더에 위치) 정말.. 하루종일 아래 예외로 애먹었네여.. Error while starting connector ... No suitable driver found for jdbc:mysql:// localhost:3307/mydb mariadb 버전별 커넥터를 5개정도 해봐도 안되어서 자포자기한 채로 mysql 커넥터를 사용하니 되었습니다 ㅠㅠ 자세한 버전 정보입니다. (윈도우) kafka : 2.13-3.4.0 kafka-connect-jdbc : 10.7.2 confluent : 7.4.0 mariaDB : 10.11 java : 17 설정 정보입니다. confluent/etc/kafka/connect-distributed.properties 89번 행 근처 plugin.path=\C:\\Work\\confluentinc-kafka-connect-jdbc-10.7.2\\lib confluent/bin/windows/kafka-run-class.bat 97번 행 근처 rem classpath addition for LSB style path if exist "%BASE_DIR%\share\java\kafka\*" ( call :concat "%BASE_DIR%\share\java\kafka\*" ) (...) 122번 행 근처 rem Log4j settings IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] ( if exist %~dp0../../etc/kafka/tools-log4j.properties ( set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%~dp0../../etc/kafka/tools-log4j.properties ) else ( set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%BASE_DIR%/etc/kafka/tools-log4j.properties ) ) ELSE ( rem create logs directory IF not exist "%LOG_DIR%" ( mkdir "%LOG_DIR%" ) set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%~dp0../../etc/kafka/tools-log4j.properties ) confluent/bin/windows/connect-distributed.bat 28번 행 근처 rem Log4j settings IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] ( set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%BASE_DIR%/etc/kafka/connect-log4j.properties -Dlog4j.config.dir=%BASE_DIR%/etc/kafka ) POST Request { "name":"my-source-connect", "config":{ "connector.class" : "io.confluent.connect.jdbc.JdbcSourceConnector", "connection.url":"jdbc:mysql://localhost:3307/mydb", "connection.user":"root", "connection.password":"1234", "mode":"incrementing", "incrementing.column.name":"id", "table.whitelist":"users", "topic.prefix":"my_topic_", "tasks.max":"1" } }
지금 train_scaled, train_target을 그대로 쓰는데 train_scaled=ss.transform(train_poly)더라고요, 근데 앞에 코드 보면 poly=PolynomialFeatures(degree=5, include_bias=False) 이렇게 쓰이던데 릿지는 계수를 제곱한 항을 기준으로 한다했는데 지금 5제곱 항을 쓰는걸로 이해가 되거든요.... 개념이 어디서 헷갈린 건가요?
안녕하세요? roomdatabase 를 설치하면서 에러가 발생했는데 문제 해결을 위해서 노력을 했지만 지식이 없어서 그런지 해결을 못하고 있습니다. 수업 내용처럼 아래와 같이 설정하였는데 plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' } def room_version = "2.5.1" implementation "androidx.room:room-runtime:$room_version" // To use Kotlin annotation processing tool (kapt) kapt "androidx.room:room-compiler:$room_version" 이부분만 추가하면 에러가 뜹니다. id 'kotlin-kapt' kapt "androidx.room:room-compiler:$room_version" 아래의 메세지를 위주로 검색하여 이런 저런 방법을 찾아 봤지만 도저히 해결이 안되서 여기에 도움을 요청 합니다. 부디 해결 방법을 제시 해 주시면 감사하겠습니다. Caused by: org.gradle.api.GradleException: 'compileDebugJavaWithJavac' task (current target is 1.8) and 'kaptGenerateStubsDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version. Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요, 장바구니에서 결제하기 버튼을 누르면 결제완료 페이지로 절대 안넘어갑니다. 하단에 스낵바로 결제를 실패했습니다. 라는 문구만 뜹니다. 실행창에서는 문제없이 데이터를 잘 받아오는 것 같았습니다. 뭐를 잘 못 따라했는지 여러번 되짚어 봤으나 다른 걸 못찾겠네요ㅠ 왜 저는 결제완료 창으로 넘어가지 않을까요? 혹시 버전이 달라지며 생긴 문제일까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. shortest path문제 풀때 다익스트라로 풀거나, 크루스칼로 풀거나 똑같은건가요?? 아니면 문제에서 다익스트라로 풀어야 하는지, 크루스칼로 풀어야하는지 힌트가 있나요???