묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
Chapter 06. 캐시 메모리에 대해 질문 드립니다.
iOS 의 swift 언어를 공부할 때 메모리는 코드, 데이터, 힙, 스택으로 나누어져 있으며 이것은 가상 메모리 상의 구분으로 알고 있습니다.코드 영역에는 컴파일된 저급 언어, 데이터 영역에는 전역변수나 타입 자체가 저장 되며 힙 영역에는 참조타입의 객체 들이 주로 저장되는 것으로 알고 있습니다. 왠지 캐시메모리에는 컴파일된 저급 언어 전체 와 데이터 영역이나 힙 영역에 저장된 데이터 중 일부가 주로 저장 될 것 같다는 생각이 드는데, 실제로 그런지 아니면 가상 메모리상의 구분 과는 무관한 것인지 궁금한데 알 수 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
MSA에서 데이터를 가져오는 방법
MSA에서 다른 어플리케이션의 데이터를 가져오는 방법으로 RestTemplate, FeignClient를 사용하는 방법을 알려주셨는데요.데이터를 가져오는 것은 보통 rest 통신을 사용하여 가져오나요?실무에서 카프카나 다른 라이브러리를 사용해서 가져오는지, 아니면 설명해주신 것 처럼 rest 통신을 통해 가져오는지 궁금합니다~
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build.gadle 파일 오픈시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]프로젝트 생성 시에 아래와 같은 오류가 발생합니다
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
precision_recall_curve() 관련 질문드립니다.
안녕하세요, 좋은강의 감사합니다. precision_recall_curve() 함수를 이용해서,y값과, 예측 값을 넣어주었을때리턴되는값이 정밀도, 재현율, thresholds 값이 반환이 되는것으로 확인했습니다.여기서 궁금한 부분이 thresholds값의 변화는함수에서 임의로 진행 되는것 일까요?
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
pretrained model 재학습 관련 질문
안녕하세요.tensorflow object detection 공부 중 몇 가지 궁금증이 생겨 질문드립니다. pretrained model을 이용해 "사과"라는 객체를 탐지하는 A모델을 만들었을 경우, 이 A 모델에 추가적으로 "바나나"라는 객체를 학습 시켜, 최종적으로 "사과","바나나"를 탐지하는 A모델을 만들 수 있는지 궁금합니다.만약, 1번이 가능하다면,기존 A모델의 labelmap에 id를 추가하여 "바나나" 입력기존 A모델의 config 파일에 num class를 2로 변경, "바나나" 학습 데이터(tfrecord) 위치로 변경하면 되는 걸까요?만약, 1번이 가능하지 않다면,"사과" tfrecord와 "바나나"tfrecord를 합쳐서 새로운 tfrecord를 만들고pretrained model를 불러와 새로운 B 모델을 만들어야 할까요?
-
미해결다양한 사례로 익히는 SQL 데이터 분석
plotly 결과 그래프가 안보이는 경우
아래처럼 코드를 실행하였을 때, 결과 그래프가 보이지 않습니다. 구글링을 해보니 plotly.offline.init_notebook_mode(connected=False) 이러한 옵션을 넣으면 해결이 된다는데, 해결이 되지 않습니다. 혹시 다른 방법이 있을까요?
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
섹션4 진행중, mongoose 질문
MONGO_URI, 이후 부분들은 작성안해도 에러가 안나는데,굳이해야하나요? 버젼이 업데이트 되면서 작성 안해도 되도록 바뀐걸까요? 또,이 부분에서, 여기를 작업해주지 않아도 name 이나 age 둘중 하나만 put 해도, null 값이 들어가지 않는데요.이 역시 버젼이 올라가서 개선이 된걸까요?만약 그렇다면, 개정된 강의를 만드실 계획이 있으신지도 궁금합니다지금 사용하고 있는 몽구스 는 7.0.1 입니다.
-
해결됨스프링부트 시큐리티 & JWT 강의
role 컬럼은 꼭 들어가야하나요?
안녕하세요 강의내용보고 궁금해서 글 남깁니다!대부분 jwt 시큐리티를 구현할때 role이라는 컬럼을 넣으시는거 같은데왜 들어가야하는지 궁금합니다. 필수값인가요?감사합니다
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
Sink connect 등록시 에러가 납니다.
안녕하세요. 선생님Confluent AVRO Install 하고 나서 sink connect 등록하고 상태를 확인 해보니 아래와 같이 에러가 발생 했습니다.ubuntu@ip-172-31-0-29:~$ curl --location --request POST 'http://localhost:8083/connectors' \--header 'Content-Type: application/json' \--data-raw '{"name": "mysql-sink-connector","config": {"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector","tasks.max": "1","topics": "source_mysqldb.hesdp_mgr.TB_ME_TERMS_BAS","connection.url": "jdbc:mysql://lg-mysql:3306/aurora2","connection.user": "sink","connection.password": "sink1234","table.name.format": "aurora2.TB_ME_TERMS_BAS","insert.mode": "upsert","pk.fields": "TERMS_VER_ID","pk.mode": "record_key","delete.enabled": "true","key.converter": "io.confluent.connect.avro.AvroConverter","value.converter": "io.confluent.connect.avro.AvroConverter","key.converter.schema.registry.url": "http://lg-schema01:8081","value.converter.schema.registry.url": "http://lg-schema01:8081"}}'{"name":"mysql-sink-connector","config":{"connector.class":"io.confluent.connect.jdbc.JdbcSinkConnector","tasks.max":"1","topics":"source_mysqldb.hesdp_mgr.TB_ME_TERMS_BAS","connection.url":"jdbc:mysql://lg-mysql:3306/aurora2","connection.user":"sink","connection.password":"sink1234","table.name.format":"aurora2.TB_ME_TERMS_BAS","insert.mode":"upsert","pk.fields":"TERMS_VER_ID","pk.mode":"record_key","delete.enabled":"true","key.converter":"io.confluent.connect.avro.AvroConverter","value.converter":"io.confluent.connect.avro.AvroConverter","key.converter.schema.registry.url":"http://lg-schema01:8081","value.converter.schema.registry.url":"http://lg-schema01:8081","name":"mysql-sink-connector"},"tasks":[],"type":"sink"} ubuntu@ip-172-31-0-29:~$ curl -X GET http://localhost:8083/connectors/mysql-sink-connector/status | jq '.'% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 1898 100 1898 0 0 31616 0 --:--:-- --:--:-- --:--:-- 32169{"name": "mysql-sink-connector","connector": {"state": "RUNNING","worker_id": "172.31.13.238:8083"},"tasks": [{"id": 0,"state": "FAILED","worker_id": "172.31.13.238:8083","trace": "java.lang.NoClassDefFoundError: com/google/common/base/Ticker\n\tat io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.<init>(CachedSchemaRegistryClient.java:175)\n\tat io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.<init>(CachedSchemaRegistryClient.java:158)\n\tat io.confluent.kafka.schemaregistry.client.SchemaRegistryClientFactory.newClient(SchemaRegistryClientFactory.java:36)\n\tat io.confluent.connect.avro.AvroConverter.configure(AvroConverter.java:68)\n\tat org.apache.kafka.connect.runtime.isolation.Plugins.newConverter(Plugins.java:297)\n\tat org.apache.kafka.connect.runtime.Worker.startTask(Worker.java:640)\n\tat org.apache.kafka.connect.runtime.Worker.startSinkTask(Worker.java:544)\n\tat org.apache.kafka.connect.runtime.distributed.DistributedHerder.startTask(DistributedHerder.java:1703)\n\tat org.apache.kafka.connect.runtime.distributed.DistributedHerder.lambda$getTaskStartingCallable$31(DistributedHerder.java:1753)\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat java.base/java.lang.Thread.run(Thread.java:829)\nCaused by: java.lang.ClassNotFoundException: com.google.common.base.Ticker\n\tat java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)\n\tat java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)\n\tat org.apache.kafka.connect.runtime.isolation.PluginClassLoader.loadClass(PluginClassLoader.java:103)\n\tat java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)\n\t... 13 more\n"}],"type": "sink"} 참고로 스키마 레지스토리 서버가 잘 붙나 확인 해본 결과 잘 붙습니다.ubuntu@ip-172-31-0-29:~$ curl -v lg-schema01:8081* Trying 172.31.46.33:8081...* Connected to lg-schema01 (172.31.46.33) port 8081 (#0)> GET / HTTP/1.1> Host: lg-schema01:8081> User-Agent: curl/7.81.0> Accept: />* Mark bundle as not supporting multiuse< HTTP/1.1 200 OK< Date: Mon, 13 Mar 2023 06:14:56 GMT< Content-Type: application/vnd.schemaregistry.v1+json< Vary: Accept-Encoding, User-Agent< Content-Length: 2<* Connection #0 to host lg-schema01 left intact{}ubuntu@ip-172-31-0-29:~$ 현재 제가 구성한 환경 정보 입니다.Apache Zookeeper 3.8.1 3개Apache Kafka 2.13-3.3.2 3개=> Source connect : Debezium mysql connect 2.1.2=> Sink connect : Confluent JDBC Connector 10.6.3=> Avro : Confluent Avro converter 7.3Confluent Schema registry 7.3.0 1개mysql DB 1 개 (Source 와 Sink 는 user 로 분리해서 데이터 넣는 방식으로 테스트 중입니다) 구글링 검색 결과 Guava 를 못찾아서 그런거 같다는데, 제가 설치한 환경의 디펜던시가 문제일까요?
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
CPU 에 관련한 질문드립니다. (Chapter 05)
애플의 CPU 가 전성비가 좋다는 이야기를 종종 들어서 생겨난 호기심인데요.CPU 의 ISA 가 전성비에도 영향을 주나요? 책을 읽고 강의를 보면서(Chapter 05), 파이프라이닝이 수월한지가 전성비에 영향을 주는 건가? 하는 호기심이 생겼습니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
github 권한 요청드립니다.
인프런 아이디 : insomniasoo@gmail.com인프런 이메일 : insomniasoo@gmail.com깃헙 아이디 : insomniasoo깃헙 Username : insomnia
-
미해결만들면서 배우는 리액트 : 기초
고양이 이미지 링크 깨짐 문의
7.JSX로 ~ 강의 5분쯤 진행하니 이런 에러가 납니다고양이 이미지 링크가 깨지는 문제인걸로 보여지는거 같아서..이런 경우 다른 이미지로 실습을 진행할 수 있게끔 하고 싶은데 다른 방법이 없나요? 로컬 PC의 이미지로 대체하려고 했더니 그것도 오류가 납니다.=> Not allowed to load local resource: file:///C:/Users/사용자명/Desktop/이미지파일명.jpg
-
미해결
github 공유 요청드립니다.
인프런 아이디 : insomniasoo@gmail.com인프런 이메일 : insomniasoo@gmail.com깃헙 아이디 : insomniasoo깃헙 Username : insomnia
-
미해결성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]
변수 let 위치 질문입니다.
안녕라세요 강의 Result Type 8:18 부분에 switch문에서 해당하는case에 따라서 success,failure부분을 나눠서 하는 조건에서 let의 위치를 ()안에 쓸수도,바깥에 쓸수도있는걸 처음알았는데 혹시 이개념은 어떨때 사용하는지 알수있을까요? 그리고 해당 개념을 뭐라고 하는지도 알수있을까요?
-
미해결스프링 시큐리티
ExceptionTranslationFilter가 하는 역할에 대해서 질문합니다.
이번 강의 초반에구분 사항인증 예외가 발생하면 해당 필터, 지금 같은 경우는 UsernamePasswordAuthenticationFilter가 받아서 처리를 하고인가 예외는 ExceptionTranslationFilter가 처리 한다.라고 설명해주셨는데요.앞서 개념 강의 예외 처리 및 요청 캐시 필터 : ExceptionTranslationFilter, RequestCacheAwareFilter9) 인가 개념 및 필터 이해 : Authorization, FilterSecurityInterceptor에서는 인증 예외와 인가 예외 모두 ExceptionTranslationFilter가 받는다고 설명해주셔서 혼란이 옵니다. 어떤 것이 맞는 설명인가요? Access Denied 는 인가 예외인데 강의 제목이 인증 거부 처리 - Access Denied 입니다. 인가 거부 처리 - Access Denied로 바꾸는 게 맞지 않나요? 그렇게 중요한 문제는 아닌 듯 합니다만, 제가 제대로 알고 있나 확인하는 차원에서 질문드립니다. 이렇게 2개 질문 드리고요. 좋은 강의 감사드립니다. 덕분에 도움이 많이 되고 있습니다. 답변 부탁드립니다.
-
해결됨최신 논문과 유튜브 동영상으로 만드는 2D Pose estimation 실전 프로젝트 따라하기
맥북 페러럴즈 우분투 개발 환경 셋팅
맥북 페러럴즈에 우분투를 설치해서 실습해 보려는데요. nvidia가 없이 셋팅하는 방법 없을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JUnit 관련 질문드립니다!
https://drive.google.com/file/d/1unGqgPSn0E7OZF838uysk3upX7nTwUjR/view?usp=share_link회원 리포지토리 테스트 케이스를작성하던 중 버전 문제인지 사진과 같은 에러가 발생해서 질문 남깁니다!
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
src/test 의 application.properties 문제
https://www.inflearn.com/questions/667899 의 질문과 유사한 문제가 해결되지 않아 재질문 드립니다.현재 저의 개발환경은os : macide: vscodespringboot : 3.0.4를 사용하고 있습니다.개발환경과 테스트 환경을 분리하기 위해서, src/main/resource 와 src/test/resource 에 각각 application.properties 파일을 만들고, 내부에 spring.profiles.active=localspring.profiles.active=test 라고 작성한 상태입니다. (강의와 동일하게 수행)그런데, 실제 테스트 실행 시, 여전히 로그에는The following 1 profile is active: "local" 이 나옵니다.동일한 질문에 답글로 달려있는 @ActiveProfiles("test")를 class에 붙여 실행하게 되면, 로그는The following 1 profile is active: "test"라고 나오지만, 그 외의 다른 설정(데이터베이스 설정)은 여전히 src/main/resource 에 있는 application.properties를 사용합니다. 혹시 문제를 해결할 수 있는 방법이 있으면 알려주시면 좋겠습니다. 부탁드립니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
batchsize 로 연결한 엔티티를 동적으로 사용하기
안녕하세요 김영한 선생님.선생님 강의로 현장에서 jpa를 현장에서 더욱 자유롭게 사용하고 잇습니다. 현제 실무에서 궁금한점이 생겨 질문드립니다.(정보: 저희는 eclipselink를 사용하고 있고 query dsl은 사용하고 있지 않습니다.ㅠㅠ ) 엔티티에서 n+1 이 발생하는 부분을 batchsize를 사용하여 별도의 쿼르를 실행하여 해결하고 있습니다. 이럴 경우 batchsize를 지정한 엔티티에 대헤서 조건문을 지정할수 있을까요? ernate.annotations.BatchSize (size = 5) @OneToMany (mappedBy ="member", fetch = FetchType. EAGER) private List<Order> orders = new ArrayList<Order> () ;예를 들어 맴버안에 주문 리스트가 있고 이것을 BatchSize를 이용하여 별도의 쿼리로 값을 가져오고 있는데.이 주문 상품의 타입이 책인 것을 가지고 있는 맴버로 하고 싶은 경우에는 어떤식으로 접근하는게 좋을까요?오더를 먼저 선택해서 맴버를 찾아가야 하는 걸까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring Security 최신버전(Spring Boot 3.X.X 대)의 WebSecurity 설정 공유드립니다.
최신버전으로 진행하다보니 막혔었는데요. 구글링, ChatGPT 등을 통해서 동작하는 코드 공유드립니다.정확한 구현은 아닐 수 있겠지만, 강의를 진행하는 데는 문제 없는 것 같습니다. 참고만 부탁드려요~ package com.example.userservice.security; import com.example.userservice.service.UserService; import lombok.RequiredArgsConstructor; import org.springframework.boot.autoconfigure.security.servlet.PathRequest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.ObjectPostProcessor; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.util.matcher.IpAddressMatcher; @Configuration @EnableWebSecurity @RequiredArgsConstructor public class WebSecurity { private final UserService userService; private final BCryptPasswordEncoder bCryptPasswordEncoder; private final ObjectPostProcessor<Object> objectPostProcessor; private static final String[] WHITE_LIST = { "/users/**", "/", "/**" }; @Bean protected SecurityFilterChain config(HttpSecurity http) throws Exception { http.csrf().disable(); http.headers().frameOptions().disable(); http.authorizeHttpRequests(authorize -> { try { authorize .requestMatchers(WHITE_LIST).permitAll() .requestMatchers(PathRequest.toH2Console()).permitAll() .requestMatchers(new IpAddressMatcher("127.0.0.1")).permitAll() .and() .addFilter(getAuthenticationFilter()); } catch (Exception e) { e.printStackTrace(); } } ); return http.build(); } public AuthenticationManager authenticationManager(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(userService).passwordEncoder(bCryptPasswordEncoder); return auth.build(); } private AuthenticationFilter getAuthenticationFilter() throws Exception { AuthenticationFilter authenticationFilter = new AuthenticationFilter(); AuthenticationManagerBuilder builder = new AuthenticationManagerBuilder(objectPostProcessor); authenticationFilter.setAuthenticationManager(authenticationManager(builder)); return authenticationFilter; } } 이렇게 하시고 중요한 것이, Login Form을 사용하지 않기 때문에 AuthenticationFilter 클래스의 Override 메소드 중 successfulAuthentication 메소드 내부에super.successfulAuthentication(request, response, chain, authResult);코드가 작성되어 있다면, 아래처럼 제거 또는 주석 처리를 꼭 해야 합니다! (다른 질문 글에서 발견하였습니다, 공유 감사드립니다.)하지 않은 경우 에러가 발생하며 login 요청이 제대로 동작하지 않습니다. package com.example.userservice.security; import com.example.userservice.vo.RequestLogin; import com.fasterxml.jackson.databind.ObjectMapper; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import java.io.IOException; import java.util.ArrayList; public class AuthenticationFilter extends UsernamePasswordAuthenticationFilter { @Override public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException { try { RequestLogin creds = new ObjectMapper().readValue(request.getInputStream(), RequestLogin.class); return getAuthenticationManager().authenticate( new UsernamePasswordAuthenticationToken( creds.getEmail(), creds.getPassword(), new ArrayList<>() ) ); } catch (IOException e) { throw new RuntimeException(e); } } @Override protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, FilterChain chain, Authentication authResult) throws IOException, ServletException { //super.successfulAuthentication(request, response, chain, authResult); } }