묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
강사님~ AWS의 ECS와 EKS에 대한 강의도 만들어 주시면 감사하겠습니다.
안녕하세요, 강사님 덕분에 도커 강의 잘 듣고 있습니다. 부탁이 있는데요 AWS의 ECS(Elastic Container Service)와 EKS(Elastic Kubernetes Service)도 강의로 만들어서 제공해주시면 감사하겠습니다. 강사님이라면 충분히 가능할 것 같습니다. 그럼 부탁 드리겠습니다.
-
미해결모던 안드로이드 - 코틀린과 Jetpack 활용
데이터 바인딩시
받아온 데이터를 분기를 해줄 경우 BindingAdapter를 사용하는데,만약 받아온 데이터들 중 하나가 없는값이 넘어올 경우에는 어떤식으로 처리해줘야하나요?마찬가지로 바인딩 어댑터를 이용해서데이터가 없는경우로 나눠줘야하는건가요..? 예를들어 서버에서 [ {name:약국1, addr:111, remain:1}, {name:약국2, addr:222, remain:2}, {name:약국3, addr:null, remain:3} ] 의경우, 약국 이름과 주소는 @{store.000}으로 지정해서 쓰는데 약국3의 경우 넘오오는 값이 없을경우가 있을때는 어떻게 처리되는지 궁금합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
이미지 넣을때 이미지 업로드는 백으로 잘가는데 이미지 이름들이 안들어가지ㄴ네여ㅠㅠㅠ
선생님 지금 ts+next로 선생님이 알려주신거에서 응용하면서 다시 만들어보고있는데 이미지들 업로드 하면 빈배열로 되는데 어디서 부터 잘못된건지도 모르겟네요 ;ㅅ;
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
jsonwebtoken으로 token을 생성하지 못하는 것 같습니다.
postman으로 login 정보를 보내면 자꾸 err가 뜹니다. code는 모두 동일하게 친 것 같은데 어디가 문제인지 모르겠습니다ㅜㅜ
-
미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
원격 mqtt broker 연결
제가 mqtt broker를 친구 집에 있는 라즈베리 파이에 설치했어요. 그리고 우리 집에서 아두이노와 컴퓨터로 친구 집에 있는 라즈베리 파이에 putty로 접속해서 mqtt broker를 원격으로 둬서 통신을 하고 싶어요. 그래서 아두이노 프로젝트에서 const char* mqtt_server 이 부분을 putty로 연결한 mqtt broker의 ip 주소를 연결했고 web app을 돌릴 컴퓨터에는 const client = mqtt.connect("mqtt://mqtt broker ip주소"); 로 연결을 했어요. 근데 둘 다 접속을 못 했는데 어떻게 해결을 하면 좋을까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
GraphDef 가 궁금합니다.
안녕하세요 강사님 몇가지 질문이 있습니다. 구글링에도 잘 찾을 수 없어 질문글 남깁니다. #inference graph를 읽음. . with tf.gfile.FastGFile(os.path.join(default_rcnn_dir, 'pretrained/faster_rcnn_resnet50_coco_2018_01_28/frozen_inference_graph.pb'), 'rb') as f: graph_def = tf.GraphDef() graph_def.ParseFromString(f.read()) with tf.Session() as sess: # Session 시작하고 inference graph 모델 로딩 sess.graph.as_default() tf.import_graph_def(graph_def, name='') 1. 여기서 'rb'란 binary 타입으로 read? 인가요? 왜 이렇게 쓰이는지 궁금합니다. 2. tf.GraphDef() 가 무엇을 의미하는지 왜 쓰이는지 궁금합니다. 3. tf.import_graph_def(graph_def, name='') 이 함수도 어떤 역할을 수행하는지 궁금합니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
딕셔너리로는 크롤링 명령을 못내리나요?
안녕하세요. 바로 실전 크롤링해보기: 네이버 쇼핑 사이트 크롤링하기의 8분 48초에 대해 질문 있습니다. site list에 여러 사이트를 넣어두고 반복했는데, 이떄 헷갈리지 않게 위에 사이트명을 print(site)로 적으셨잖아요. 저는 사이트 명 대신 패션이나 인테리어같이 한글로 적고 싶은데요. 어떻게 반복문 와중에 각각의 사이트주소를 한글로 대치할 수 있을까 고민하다가 딕셔너리로는 되지 않을까 해서 해봤는데요. 키값인 한국어를 불러오기도전에 변수명.values에서부터 오류가 먹네요. site_list={'패션':'https://search.shopping.naver.com/best100v2/detail.nhn?catId=50000000'} from bs4 import BeautifulSoup import requests res = requests.get(site_list.values()) soup = BeautifulSoup(res.content,'html.parser') items = soup.select('#productListArea > ul > li > p > a') for item in items: print(item.get_text()) 아무래도 No connection adapters were found for "dict_values(['https://search.shopping.naver.com/best100v2/detail.nhn?catId=50000000'])" 로 뜬걸로 보아 안되는 것 같은데 앞서 말씀드린 것처럼 사이트주소를 한글로 바꾸려면 어떤 방법이 있을까요?
-
해결됨따라하며 배우는 TDD 개발 [2023.11 업데이트]
TypeError: res.status is not a function
안녕하세요! test가 계속 실패하는데 원인을 못 찾고 있어요.. 무엇이 문제일까요?.. 깃헙주소와 에러화면 첨부합니다!! <Github> <에러화면>
-
미해결생활코딩 - Redux
vscode 기능 질문
05:00 쯤에 한번에 선택하는거 어떻게 하신건가요.. ?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
addImages와 files가 js에서
이렇게 못알아먹는데 어캐해야하나요 ;ㅅ;
-
해결됨남박사의 파이썬 기초부터 실전 100% 활용
특정 문자 입력 시 프로그램 종료 방법 문의 드립니다.
import random import os import sys def input_check(msg, casting=int): while True: try: user_input = int(input("몇 일까요?(1 ~ 99 사이의 정수만 입력하세요) : ")) if user_input == "n": sys.exit() return user_input except: continue chance = 10 os.system("cls") print("1부터 99까지의 숫자를 10번의 시도 안에 맞춰보는 게임입니다") def game(): global count count = 0 number = random.randint(1, 99) while count < chance: count += 1 user_input = input_check("몇 일까요?(1 ~ 99 사이의 정수만 입력하세요) : ") if user_input == number: print("성공! {}이(가) 맞습니다.".format(number)) print("{}번만에 성공하셨습니다.".format(count)) break elif count == chance: print("실패, 정답은 {}입니다.".format(number)) break elif user_input < number: print("{}보다 큽니다.".format(user_input)) elif user_input > number: print("{}보다 작습니다.".format(user_input)) game() while True: print("게임을 계속 하시겠습니까?(Y/N) : ", end='') answer = input() if answer == "y" or answer == "Y": game() elif answer == "n" or answer == "N": print("게임을 종료합니다.") break 위 코드는 제가 일부 기능을 추가 한 상태입니다. 그런데 숫자를 입력 받을 때 사용자가 n을 입력하면 게임이 종료되게끔 이런 저런 시도를 해봤는데 안되더라고요 그래서 user_input = input("몇 일까요?(1 ~ 99 사이의 정수만 입력하세요) : ") if user_input == "n": sys.exit() 마지막으로 input_check 안에 이런식으로 해봤는데도 의도대로 안되더라고요. 무엇이 문제인지 잘 모르겠습니다. 어떻게 하면 n을 입력받았을 때 프로그램이 종료될까요? 아주 단순한 문제인거 같은데 답을 모르겠습니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
안녕하세요 존안님! 에러가있어서 문의남깁니다!
생활코딩 node부분다하고 이제 다시시작하고있어서 좀늦엇네요! 잘지내고계시죠^^ㅎㅎ 일단 로그인까지는 토큰잘생성되있고 , 로그인도됩니다. 그후, 미들웨어추가하고 오늘 로그아웃까지해서 실행시키니까 자꾸 이런에러가 떠서요... 이유를 모르겠습니다 . user 객체를 가져올수없다? 그래서 require 부분확인했는데 똑같고그래서요... 오타인가싶어서 존안님 깃허브 코드를 가져와서사용했는데도 똑같이떠서요.. Error: Cannot find module './models/User' Require stack: - C:\Users\마정한\Documents\boiler-plate\middleware\auth.js - C:\Users\마정한\Documents\boiler-plate\index.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:831:15) at Function.Module._load (internal/modules/cjs/loader.js:687:27) at Module.require (internal/modules/cjs/loader.js:903:19) at require (internal/modules/cjs/helpers.js:74:18) at Object.<anonymous> (C:\Users\마정한\Documents\boiler-plate\middleware\auth.js:2:16) at Module._compile (internal/modules/cjs/loader.js:1015:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10) at Module.load (internal/modules/cjs/loader.js:879:32) at Function.Module._load (internal/modules/cjs/loader.js:724:14) at Module.require (internal/modules/cjs/loader.js:903:19) at require (internal/modules/cjs/helpers.js:74:18) at Object.<anonymous> (C:\Users\마정한\Documents\boiler-plate\index.js:8:16) at Module._compile (internal/modules/cjs/loader.js:1015:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10) at Module.load (internal/modules/cjs/loader.js:879:32) at Function.Module._load (internal/modules/cjs/loader.js:724:14) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\마정한\\Documents\\boiler-plate\\middleware\\auth.js', 'C:\\Users\\마정한\\Documents\\boiler-plate\\index.js' ] } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! boiler-plate@1.0.0 start: `node index.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the boiler-plate@1.0.0 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\마정한\AppData\Roaming\npm-cache\_logs\2020-11-12T11_02_54_835Z-debug.log PS C:\Users\마정한\Documents\boiler-plate> 요건 https://github.com/MaJunghan/node 깃허브주소입니다.
-
해결됨스프링 데이터 JPA
findById() 메소드 관련 질문입니다.
기선님의 jpa 강의를 듣고 jpa 를 활용해보기 위한 연습용 프로젝트를 진행하고 있는 중입니다. DB에 데이터가 들어가 있는 상태에서 스프링 데이터 jpa 의 findById() 메소드를 활용해 select 쿼리를 보내봤습니다. 그런데 이상하게도 값이 받아와지지 않아 두번 연속 요청을 보냈더니 그 다음부터는 값을 받아오는데 이게 가능한 일인지 궁금해서 여쭤봅니다 .. 기본적으로 이런 일은 발생하지 않는게 맞고 어디선가 제가 코드를 잘못 작성해놓은거겠죠..? orderDetailRepository 에 findById() 를 재정의 하거나 다른 메서드를 구현해놓지도 않은 상태입니다 .
-
쉽게 배우고, 포트폴리오로 만드는 반응형 웹! #설화수
안녕하세요 강의내용과 다르지만 미디어쿼리에 관해서 질문좀 할수 있을까요ㅠㅠ
삭제된 글입니다
-
미해결타입스크립트 시작하기
오버로딩에서 오류가 뜨는 이유
function add (x:string,y:string):string; function add (x:number,y:number):number; function add (x:number|string,y:number|string):number|string { if (typeof x === 'number' && typeof y === 'number') { return x+y; } else { let result = Number(x) + Number(y); return result; } } const v1:number = add(10,20); const v2:string = add('1','2'); const v3 = add(1,'10'); 강의 잘 보고 있습니다! 1.v3에서 Number('10')을 했을 때 NaN이 나오고 따라서 리턴값이 NaN이지만, typeof NaN === number로 알고 있고 리턴값 타입 때문에 오류가 뜨는 것 아닌 것 같은데 어떤 부분에서 오류가 뜨는지 더 자세히 알 수 있을까요? 2.그리고 v3값은 3번째로 정의한 function add(x,y)를 따라 실행된다 보면 될까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Retinanet 오류
pretrained model를 load_model로 불러올때 아래와 같은 오류가 나옵니다. 이전에는 아무런 문제없이 잘 되었는데.... --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-17-3a306d3fab4b> in <module> 4 # pretrained coco 모델 파일을 retinanet 모델로 로딩. 5 from keras_retinanet import models ----> 6 retina_model = models.load_model(model_path, backbone_name='resnet50') ~\AppData\Roaming\Python\Python36\site-packages\keras_retinanet\models\__init__.py in load_model(filepath, backbone_name) 81 """ 82 import keras.models ---> 83 return keras.models.load_model(filepath, custom_objects=backbone(backbone_name).custom_objects) 84 85 C:\anaconda3\envs\tf115\lib\site-packages\keras\engine\saving.py in load_wrapper(*args, **kwargs) 490 os.remove(tmp_filepath) 491 return res --> 492 return load_function(*args, **kwargs) 493 494 return load_wrapper C:\anaconda3\envs\tf115\lib\site-packages\keras\engine\saving.py in load_model(filepath, custom_objects, compile) 582 if H5Dict.is_supported_type(filepath): 583 with H5Dict(filepath, mode='r') as h5dict: --> 584 model = _deserialize_model(h5dict, custom_objects, compile) 585 elif hasattr(filepath, 'write') and callable(filepath.write): 586 def load_function(h5file): C:\anaconda3\envs\tf115\lib\site-packages\keras\engine\saving.py in _deserialize_model(h5dict, custom_objects, compile) 271 if model_config is None: 272 raise ValueError('No model found in config.') --> 273 model_config = json.loads(model_config.decode('utf-8')) 274 model = model_from_config(model_config, custom_objects=custom_objects) 275 model_weights_group = h5dict['model_weights'] AttributeError: 'str' object has no attribute 'decode'
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
transform_features(X_titanic_df)
2장에서 타이타닉 예제를 공부할 때 만들었던 함수가 3장에서 그대로 이용가능하다는 것은 이 함수가 전역함수인건가요...?ㅠㅠ
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
pendulum설치오류
위와 같은 오류가 계속 발생합니다. pip install --upgrade pip을 해도 비슷한 오류가 나오네요
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
persist() 호출 시 시퀀스로 기본 키 값이 초기화 되는 원리가 궁금합니다.
안녕하세요. 강의 너무 잘 듣고 있습니다. 이해가 잘 되도록 설명을 정말 잘해주셔서 재밌게 공부하고 있습니다. 강의를 듣던 중 의문이 생겨 질문드립니다. member의 아이디가 1로 출력됩니다. MySQL을 사용할 때(Oracle로 시퀀스를 만들어도 동일합니다.) persist를 호출하는 시점에서 memebr가 id로 1로 초기화가 되는데 내부적으로 setter를 호출해서 초기화되는 것이라고 생각했었습니다. 근데 setter를 지워도 초기화가 되는 것이 신기합니다. private 제어자로 설정했기 때문에 member.id = 1; 이렇게 할 수 도 없을텐데 어떤 과정으로 초기화가 되는건지 궁금합니다.
-
해결됨실전! Querydsl
multi-value insert 처리에 대하여 질문 드립니다.
영한님 안녕하세요. Spring Data JPA 로 리파지토리를 만들고 테스트하다가 나온 사항에 대해 궁금증이 있어 문의를 드립니다. 질문사항은 다음과 같습니다. ㅇ 목적: 여러 개의 row를 한 번에 insert할 때의 성능을 최적화하려고 함 (여러 개의 row를 넣는 테이블의 pk는 직접 입력을 받아 넣는 id 형식입니다.) ㅇ 구현 의도: multi-value insert (insert into table values(...), (...), ... , (...) ) ㅇ 시도 - JpaRepository의 saveAll() 메서드를 사용 (MySQL의 경우 multi-value insert 시 jdbc 옵션으로 rewriteBatchedStatements=true를, PostgreSQL의 경우 reWriteBatchedInserts=true를 주면 되는 것으로 알고 있습니다. h2 DB는 그런 것이 있는지 모르겠네요. 일단 format_sql=true로 했을 때 남겨진 로그로는 해당 내역을 확인하기 힘들었습니다.) - saveAll() 시 isNew 필드를 통해 persist, merge 분기를 타기 때문에 성능에 이슈가 있을 것으로 보고, 부가적인 select문 실행을 막기 위해 isNew 필드값을 아래와 같이 true로 만들었습니다. @Transientprivate boolean isNew = true;@Overridepublic ClassId getId() { return ClassId.builder() .pk1(pk1) .pk2(pk2) .pk3(pk3) .pk4(pk4) .pk5(pk5) .build();}@Overridepublic boolean isNew() { return true;}@PrePersist@PostLoadpublic void markNotNew(){ isNew = false;} - bulk insert를 위한 batch_size 등의 옵션 추가 (추가한 옵션은 spring.jpa.properties 하위입니다.) jdbc: batch_size: 1000 batch_versioned_data: trueorder_inserts: trueorder_updates: true ㅇ 의문점 1. 일단, 찍히는 sql이 insert into table values(...), (...), ... , (...) 과 같이 찍히지 않습니다. 과연 bulk로 모아서 실행이 되는 것인지가 궁금합니다. 물론 batch_size가 0일때보다 200일 때의 성능 개선이 있긴 한데 약간 미미하다는 생각이 들어서요... 2. em.persist를 n 번 수행한 뒤 flush한 결과보다 성능이 못한데, 이것이 무엇 때문에 나오는 결과인지 궁금합니다. (SimpleJpaRepository.class를 보니 saveAll 함수 내부 로직에서 save를 n 번 호출하고 save 함수 내에서 isNew를 체크하는데 여기서 오는 차이인지..) 3. 원래 100000 정도의 데이터를 insert 할 시에 이 정도의 성능이 나오는 것인지 궁금합니다. (테스트 결과는 아래에 있습니다.) 4. batch_size마다 saveAll()를 해 주고 리스트를 초기화 시켜주는 것이 성능상으로 의미가 있을 지 궁금합니다. (아래 성능 테스트에서는 리스트에 꽉 채운 뒤에 마지막에 saveAll을 호출했었습니다. 궁금하여 batch_size마다 saveAll을 호출하고 리스트를 초기화 시켰보았지만 시간 차이가 거의 나지 않았습니다. 제가 테스트를 잘못한 것인지...)참고 링크: https://persistencelayer.wixsite.com/springboot-hibernate/post/the-best-way-to-batch-inserts-via-saveall-iterable-s-entities 성능 테스트 data size = 100000 1. batch_size = 0 em.persist 사용: 6807 ms JpaRepository.saveAll() 사용: 7861 ms 2. batch_size = 200 em.persist 사용: 5547 ms JpaRepository.saveAll() 사용: 7187 ms 3. batch_size = 500 em.persist 사용: 5452 ms JpaRepository.saveAll() 사용: 6489 ms 4. batch_size = 1000 em.persist 사용: 5684 ms (배치 사이즈가 증가했음에도 더 오래 걸림) JpaRepository.saveAll() 사용: 6360 ms 5. batch_size = 5000 em.persist 사용: 5815 ms (배치 사이즈가 증가했음에도 더 오래 걸림) JpaRepository.saveAll() 사용: 6659 ms (배치 사이즈가 증가했음에도 더 오래 걸림) 보통 영한님은 여러 row를 한 번에 insert하려고 할 때 어떻게 구현을 하시는지 궁금합니다. 답변 부탁드리겠습니다. 긴 내용 읽어주셔서 감사합니다 :)