묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
docker-compose build시 에러발생
"setenv: invalid argument" 라는 에러가 발생합니다만 어떤 부분을 고치면 에러를 고칠 수 있는 지 알려주시면 감사하겠습니다.yaml파일version: "3.7" # 컴퓨터들 services: # 컴퓨터이름 my-backend: build: context: . dockerfile: Dockerfile ports: - 4000:4000 # 컴퓨터이름 my-database: build: context: . dockerfile: Dockerfile.mongo ports: - 27017:27017 터미널hyunminyu@HYUNMINnoAir backend % ls Dockerfile docker-compose.yaml node_modules util.js Dockerfile.mongo email.js package.json yarn.lock Phone.js index.js swagger hyunminyu@HYUNMINnoAir backend % docker-compose build setenv: invalid argument
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
dataSource에 관한 질문
앞선 강의들에서 driverManager는 라이브러리에 등록된 DB 드라이버들을 관리하고 커넥션을 획득하는 기능을 제공한다고 배웠습니다.하지만 여러 요청이 동시에 왔을 때 DriverManager는 커넥션이 하나 뿐이라 여러 요청을 병렬처리를 할 수 없다는 단점이 있어 커넥션 풀 이라는 개념을 도입하여 여러 요청을 풀 내의 여러개의 커넥션을 통해 병렬 처리가 가능하도록 하는 것이고, 이러한 커넥션을 획득하는 방법이 DriverManager, Hikari, DBCP2 등 여러 커넥션 획득 방법이 존재하기 때문에 이들을 추상화해둔 것이 DataSource interface이고, DataSource 구현체로 DriverManager를 통한 커넥션 획득 방법은 DriverManagerDataSource, Hikari를 통한 커넥션 획득 방법은 HikariDataSource이다.제가 이해한 것은 이정도 인데 맞는지 모르겠습니다..
-
미해결[게임 프로그래머 도약반] DirectX11 입문
Pipeline 강의 질문있습니다.
이번 강의에서 Pipeline클래스를 따로 만든다음에 공통적이고 필수적인 부분들은 _pipeline클래스의 Update가 담당하여 렌더링 파이프 라인을 진행하고일단은 그 밑에 다시 IA - VS - RS - PS - OM단계를 진행하던데rendering pipeline도식화 해놓은것을 보면(구글링하여 나온 이미지들) IA - VS - RS -PS -OM 단계인데RenderBegin()이 호출되면 무조건 바로다음에 IA단계들이 다 붙어서 와야하고 그다음에 VS단계에 오는 것들이 다 순서대로 오는식이 아니라그냥 RenderBegin()이 시작하여 화면을 초기화하고나서 SwapChain을 통해 Present하기 전에만 그냥 순서상관없이 IA 단계부터 OM단계까지의 함수호출들이 오면 되는 것인가요?렌더링 파이프라인 도식화 한 이미지들은 렌더링 할 버퍼 이미지를 초기화하고 이것을 Swap하여 Present하기 전까지의 렌더링 과정을 이해하기 쉽게 그냥 도식화 해놓은 개념에 불과한가요?
-
미해결처음 만난 리액트(React)
섹션0의 3번째, 자바스크립트의 연산자 강의 내용에 오류가 있습니다.
이 부분에서 a -= b와a /= b 부분의 정답을 보여주는 주석에 오류가 있어 문의드립니다. 각각 -2와 0.5가 맞는 답일까요?답변 부탁드립니다!!:)
-
해결됨QGIS 지도 시각화 A to Z (벡터/기초편)
범례 이름 수정할 때
안녕하세요 범례 이름 수정하려는데, 범례들이 보여야하는데 이렇게 위에 떠 있는 창이 사라지지 않습니다 이런 적 있으실까요? ㅠㅠ
-
미해결
python pandas dataframe을 엑셀 vlookup처럼 활용하고 싶은데 쉽지 않습니다. 도와주세요
하고 싶은 것일부 주문이 서비스 유형: 픽업임에도 배달메뉴코드로 생성되어 이를 찾고 싶습니다. (배달메뉴와 픽업메뉴 코드는 서로 다름)엑셀 vookup을 사용해서 상품코드를 배달 메뉴 테이블에서 검색하고, 검색되지 않으면 오주문으로 판단하는 코드를 구현했습니다. 같은 프로그램을 파이썬을 통해 구현해보고 싶은데, 다른 dataframe에 없는 값을 찾아 행을 추가하는 과정이 어려워 조언을 구하고 싶습니다. 파이썬 코드df_pickup = 픽업 주문내역 데이터 프레임 delivery_menu_code = df_delivery_menu["상품코드"] df_misorder = pd.DataFrame() # 픽업 주문내역에서 상품코드를 꺼내 해당 상품코드가 배달 메뉴 코드에 포함되어 있는지 확인 # 만약에 코드가 없으면 해당 row를 df_misorder에 추가 for idx, row in df_pickup.iterrows(): misorder = df_delivery_menu[delivery_menu_code.str.contains(row["상품코드"], na = False)] if len(misorder) != 0: df_misorder.concat(row) else: pass # 어떻게 추가해도 계속 0개로 나와서, 도와주시면 감사드리겠습니다! len(df_misorder)
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
npm i react-redex redux-saga react-router-dom connected-react-router bootstrap reactstrap dotenv 명령어 설치하면 에러날까요?
이렇게 나왔습니다 무엇이 문제일까요?
-
미해결스프링 시큐리티
Remember me 쿠키에 대해서
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. remember me 쿠키에 대해 질문드리려 합니다remember-me 쿠키는 사용자아이디 + 비밀번호를 암호화 해서 가지고 있는걸로 이해했습니다. 그래서 인증 토큰이 만료된다면, remember-me 쿠키를 통해서 쿠키를 디코딩하여 다시 인증을 시도하는걸로 이해했구요!그러면, 마지막에 'remember-me 쿠키를 통해서 쿠키를 디코딩하여 다시 인증을 시도' 하기 전에, 사용자가 비밀번호를 변경한다면 remember-me 는 적용이 안되고 다시 로그인 페이지로 돌아가는 걸까요?강의 잘 듣고 있습니다. 감사드립니다!
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
count(*)과 AS가 사용가능한절 TOP EARNERS문제
안녕하세요해당 문제에 대한 반복 수강으로 서브쿼리에 대한 이해가 어느정도 되었는데 문제를 외워서 푼 감도 있어서 몇 가지 여쭤봅니다 /*SELECT months*salary AS earnings, count(*)FROM employeeWHERE months*salary = (SELECT MAX(months*salary) FROM employee)GROUP BY earnings*/SELECT months*salary AS earnings, count(*)FROM employeeGROUP BY earningsHAVING earnings = (SELECT MAX(months*salary) FROM employee) 아래와 같이 쿼리를 짰는데WHERE절에는 선생님께서 earnings 알리아스로 축약한 것을 사용할 수 없다고 하시더라고요where절만 특징적으로 그런건가요?반대로 having절에서는 months*salary로는 값이 안나오고 earnings로 했을 때는 정답이 출력되어서요as가 어느절에서는 적용이 되고 안되는지 명확한 이해가 필요할 거 같습니다. 마지막에 select count(*)을 해서 최대 임금을 가진 그룹바이로 엮은 값의 수를 구하였는데이전 문제들 중 count(*)대신 전체를 셀 때 name이나 id 등으로도 가능했는데 여기서는 기준이같은 점수 예를 들어108044 jane 108044 kim이런식이어서 이름으로는 묶을 수 없는게 맞을까요?count(*)의 정의가 명확히 정립이 안된거 같습니다ㅜ감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
쿠버네티스 오토스케일링과 Redis
안녕하세요. 쿠버네티스 파트까지 수강한 수강생입니다.듣다 보니 궁금해진 점이 있는데요, 쿠버네티스를 이용해 여러 인스턴스를 사용하게 된다면, 각각 독립된 PC이므로, 데이터베이스를 인스턴스 밖에 Cloud SQL을 이용하여 구축하여 사용하게 되면 문제가 없었던 것 같습니다.하지만 Redis의 경우 메모리 기반이므로, 인스턴스 안에 함께 있어야 할 것 같다고 생각했지만, 이렇게 되면 인증 정보 등을 캐시하게 되면 요청할 때 마다 다른 결과를 보일 수 있을 것 같습니다.Redis의 경우에는 분산 시스템 환경에서는 보통 어떻게 사용하는지 궁금합니다. Redis 전용 인스턴스를 하나 만들어서 사용하나요?
-
미해결
orderList.html 코드에서 ${T(~~)}의 T란?
안녕하세요,JPA 활용편 1강을 완강하고 질문 드립니다.OrderController에서 현재 들어온 주문을 전부 보여주기 위한 Html 코드가 orderList.html인데Q : T는 Type인건가요? 예를 들면, orderStatus는 ORDER, CANCEL인데, 저 둘 중 하나를 보여주는 건가요?강의 중 말씀하신 거 같은데 확실치 않아 질문 남깁니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
"상품 주문" null값 : 에러가 왜 이렇게 나오는지 궁금합니다.
안녕하세요,김영한 강사님 강의 잘 듣고 있는 전진호 학생입니다.첫번째 캡쳐사진은 제가 강의를 들으면서 적었던 코드에서 상품 주문을 클릭하고, 아무 것도 적지 않았을 때 나오는 화면입니다.두번째 캡쳐사진은 자료 소스 코드에서 동일한 작동을 했을 때 나오는 소스코드입니다. 똑같은 status=400, Bad Request인데 첫번째만 왜 에러 로그가 길게 나오는 걸까요?답변해주시면 감사하겠습니다. *) zip 파일을 export 했는데 어떻게 올려야 할지 잘 모르겠어서 추가적으로 필요하시다면 보내드리겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5430 시간초과부분 질문있습니다.
https://www.acmicpc.net/source/66347779문제코드입니다중간에 시간초과가 나는부분이 find와 substr등의 함수를 이용해 덱에 넣어야하는 넘버를 체크하는데에 시간초과가 발생하는듯 하여 읽어들인 문자열에서 숫자를 카운팅하여 집어넣는식으로 해결하였는데해당 부분의 find와 stoi, substr등으로 인해 시간초과가 발생하는것이맞을까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
controller에 @Transactional은 안되나요?
강의를 다 보고 따로 찾아보니 @Transactional은 controller가 아닌 service에서 사용해야되고 controller에서 사용하게 되면 트랜잭션이 적용이 안된다고 하길래 직접 해봤습니다. controller의 메소드에 @Transactional을 붙여서 로직을 실행시켜보니 변경감지가 일어나서 update 쿼리가 날라가는 것을 확인하였는데 이러면 트랜잭션을 통해서 변경감지가 일어난 것 아닌가요?
-
해결됨[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
장비 리스트와 딕셔너리 가 참조하는 객체에 대한 질문이 있어요
안녕하세요! 장비를 획득하면 OwnedEquipments라는 리스트에 추가되고 장비를 착용하면 EquipedEquippments 라는 딕셔너리에 추가가 되는데요, 이때 해당 리스트와 딕셔너리에서는 같은 객체를 참조하고 있는 것으로 이해했습니다.그리고 SaveGame 메서드를 실행시킬때 GameData 클래스에 있는 OwnedEquipments 리스트와EquippedEquipments 딕셔너리를 json으로 직렬화 하고 게임을 끄고 재시작 한 이후 LoadGame 하였을때도 여전히 해당 리스트와 딕셔너리에서 참조하는 객체는 동일한 같은 객체인가요? LoadGame 함수를 살펴보니 게임을 불러올 때 EquipedEquipments 딕셔너리를 새로 선언하고 OwnedEquipments 에서 다시 EquipItem 하여 딕셔너리에 추가해주는 부분을 확인했는데요 만약 LoadGame이후에도 여전히 같은 객체를 참조한다면 없어도 되는 부분이 아닐까 하고 먼저 GPT의 도움을 받아봤는데요 이런 답변을 받았어요. 그런데 이 답변이 신뢰가 안가서 선생님께 질문드립니다! 좋은 주말 되세요!
-
해결됨두고두고 써먹는 유니티 VR
Bomb가 아래로 떨어져요
Bomb 무기를 만드는 수업을 듣는 와중에 Bomb 오브젝트에 XRGrabInteractable 스크립트를 추가하였습니다. XRGrabInteractable 스크립트를 추가해주니까 Rigidbody가 생성되었고 다음 내용에서 BoxCollider를 추가하고 isTrigger를 체크하니 프로젝트를 실행해보니 Bomb오브젝트가 지정된 위치에 있지 않고 아래로 떨어지는데 어떻게 고쳐야 하나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
섹션14 Prometheus와 Grafana 설치 강의 내용중 문의 드립니다
강의 내용대로 진행하였는데http://localhost:8000/user-service/actuator/prometheushttp://localhost:8000/order-service/actuator/prometheus둘다 아래 이미지와같은 에러가 발생합니다 apigateway application.yml 설정- id: user-service uri: lb://USER-SERVICE predicates: - Path=/user-service/actuator/** - Method=GET,POST filters: - RemoveRequestHeader=Cookie - RewritePath=/user-service/(?<segment>.*), /$\{segment} - id: order-service uri: lb://ORDER-SERVICE predicates: - Path=/order-service/actuator/** - Method=GET filters: - RemoveRequestHeader=Cookie - RewritePath=/order-service/(?<segment>.*), /$\{segment} 프로메테우스.yml 설정static_configs: - targets: ["localhost:9090"] - job_name: 'user-service' scrape_interval: 15s metrics_path: '/user-service/actuator/prometheus' static_configs: - targets: ['localhost:8000'] - job_name: 'order-service' scrape_interval: 15s metrics_path: '/order-service/actuator/prometheus' static_configs: - targets: ['localhost:8000'] - job_name: 'apigateway-service' scrape_interval: 15s metrics_path: '/actuator/prometheus' static_configs: - targets: ['localhost:8000'] apigateway 의 AuthorizationHeaderFilter.java// 절차 // login -> token반환받음 -> client에서 apigateway로 정보 요청 시 (토큰정보를 가지고 요청함) -> 서버에서는 토큰정보 검증 (header 안에 토큰이 포함됨) 38줄 @Override public GatewayFilter apply(Config config) { return ((exchange, chain) -> { ServerHttpRequest request = exchange.getRequest(); if(!request.getHeaders().containsKey(HttpHeaders.AUTHORIZATION)) { return onError(exchange, "no authorization header", HttpStatus.UNAUTHORIZED); } String authorizationHeader = request.getHeaders().get(HttpHeaders.AUTHORIZATION).get(0); // 반환값은 list배열이기에 0 String jwt = authorizationHeader.replace("Bearer", ""); if(!isJwtValid(jwt)) { return onError(exchange, "JWT token is not valid", HttpStatus.UNAUTHORIZED); } return chain.filter(exchange); }); }여기서 지속적으로 아래 오류가 발생중입니다2023-09-10 01:15:35.241 INFO 31372 --- [tor-http-nio-10] c.e.a.filter.GlobalFilter : Global Filter baseMessage: Spring Cloud Gateway Global Filter2023-09-10 01:15:35.241 INFO 31372 --- [tor-http-nio-10] c.e.a.filter.GlobalFilter : Global Filter Start: request id -> a5f590c1-10982023-09-10 01:15:35.270 INFO 31372 --- [tor-http-nio-10] c.e.a.filter.GlobalFilter : Global Filter End: response code -> 404 NOT_FOUND2023-09-10 01:15:35.528 INFO 31372 --- [tor-http-nio-12] c.e.a.filter.GlobalFilter : Global Filter baseMessage: Spring Cloud Gateway Global Filter2023-09-10 01:15:35.528 INFO 31372 --- [tor-http-nio-12] c.e.a.filter.GlobalFilter : Global Filter Start: request id -> d5aec101-10992023-09-10 01:15:35.528 ERROR 31372 --- [tor-http-nio-12] c.e.a.filter.AuthorizationHeaderFilter : no authorization header2023-09-10 01:15:35.528 INFO 31372 --- [tor-http-nio-12] c.e.a.filter.GlobalFilter : Global Filter End: response code -> 401 UNAUTHORIZED 이 필터관련 수정한건 없는것으로 기억하는데 제가 놓친게있을까요답답하네요 ㅠ
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
PessimisticLock와 findById
안녕하세요. 강의를 보던중 의문이 생겨 질문 드립니다.JpaRepository를 만들면 정의하지 않아도 findById는 기본적으로 존재 하는 것으로 알고 있습니다.findByIdWithPessimisticLock를 사용한 매서드가 락을 반납하기 전에 다른 매서드에서 findById을 이용한 update가 발생하게 된다면 findById가 Lock을 감지하는지가 궁금합니다. public interface StockRepository extends JpaRepository<Stock, Long> {@Lock(value = LockModeType.PESSIMISTIC_WRITE)@Query("select s from Stock s where s.id=:id")Stock findByIdWithPessimisticLock(Long id);}
-
해결됨코딩테스트 [ ALL IN ONE ]
two_sum dictionary 적용 관련 질문드립니다.
안녕하세요! two_sum 문제에 dictionary를 적용 관련하여 문의드리고자합니다.강의 코드에서는 중복값이 존재 (ex : nums = [4,1,9,7], target = 14])일 때에 대해서는 해결이 되지 않았고, 해당 문제에 대해서는 해결을 하였습니다.다만 leet code에서는 같은 값이 n번(n>=2) 들어갔을 경우 (ex : nums = [4,1,9,7,7], target = 14])에 대해서도 true를 반환해야할 것으로 보입니다.파이썬 dictionary의 경우 nums = [4,1,9,7,7]로 dictionary를 생성하게되면 중복값은 key값 생성이 되지 않는 것으로 확인됩니다.예를들어,memo = {}for index, v in enumerate(nums): memo[v] = index하게되면, { 4:0, 1:1, 9:2, 7:3, 7:4 }가 아닌 { 4:0, 1:1, 9:2, 7:4 }로 생성되는 것 같습니다. 이렇게 된다면 아래 조건식에서 판단이 어려운데 혹시 dictionary를 무조건 활용한다는 가정하에 가능한 방법(중복 key처리, 중복값에 대한 여부 저장 등(?))이 있을까요?제가 문제에 대해 정확히 이해한것이 아닐 수 있어 만약 해당 상황에 대한 풀이는 필요하지 않다면 미리 양해말씀드립니다 ㅎㅎ..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build.gradle 에러
build.gradle에서 useJUnitPlatform()부분에 No candidates found for method call useJUnitPlatform. 에러가 뜨는 이유가 먼가요? 스프링부트 3.1버전이라 Jdk 는 17로 맞춰놓은 상태입니다.