묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
KStreamJoinKTable 에서
ADDRESS_TABLE에서 기존의 key에 주소를 새로 작성했을 때에는, consumer에 메시지가 새로 뜨지 않고, ORDER_STREAM에서 기존의 key에 새로운 value를 작성했을 때에만 consumer에 메시지가 새로 뜨는 이유는 무엇인가요?
-
해결됨카프카 완벽 가이드 - 코어편
Kafka에 설정값이 엄청 많은데요
이직하는 회사가 Kafka 기반으로 MSA간 통신을 해서max.in.flight.~ 강의까지 열심히 듣는 중입니다 ㅎㅎ보다보니까 설정할 수 있는 영역이 엄청 많은데요~보통 실무에서 로드테스트 등을 통해서 서비스에 적합한 값을 찾아가나요?어느정도 경험이 없다면 최적의 설정값을 찾기가 어려울 것 같아서요 ㅎㅎ
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
강의와 다른 출력에 대한 내용 정리
[internal] load .dockerignore: .dockerignore 파일을 로드하는 단계입니다. .dockerignore 파일은 Docker 이미지를 빌드할 때 무시할 파일 또는 디렉토리를 지정하는 파일입니다.[internal] load build definition from dockerfile: Dockerfile을 로드하는 단계입니다. Dockerfile은 이미지 빌드에 필요한 설정과 명령어들을 정의하는 파일입니다.[internal] load metadata for docker.io/library/alpine:latest: Docker Hub에서 Alpine Linux의 최신 이미지에 대한 메타데이터를 로드하는 단계입니다. FROM docker.io/library/alpine 명령어에서 사용된 "alpine" 이미지를 가져오기 위한 작업입니다.[1/1] FROM docker.io/library/alpine: Alpine Linux를 기반으로 이미지를 생성하는 단계입니다. FROM 명령어는 이미지의 베이스로 사용할 이미지를 정의하는데, 여기서는 Docker Hub의 Alpine Linux 이미지를 사용합니다.exporting to image: 이미지를 빌드하고 있는 단계가 끝났으며, 이미지를 내보내는 단계입니다.=> exporting layers: 이미지의 레이어를 내보내는 단계입니다. Docker 이미지는 여러 레이어로 구성되어 있으며, 각 레이어는 변경된 파일들을 포함하고 있습니다.=> writing image sha256:c85225625fb8e8572c14c74944213a43a1b92fe78b270278bde228: 최종 이미지를 기록하는 단계입니다. 이미지의 SHA256 해시값을 보여주며, 해당 해시값으로 이미지를 식별할 수 있습니다
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker rm `docker ps -a -q` 명령어 안 먹으시는 분들에게
강사님은 mac 환경에서 진행 하셔서 cmd 에서 ` 백틱으로 사용하십니다. 윈도우 환경에서는 ` 대신 $() 사용을 해야하고 해당 기호도 powershell에서만 적용이 됩니다. docker rm $(docker ps -a -q)위의 명령어를 powershell에 입력 하시면 됩니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
ElasticBeanStalk생성 후 보안그룹 적용
EB -> 구성 -> 보안그룹을 누르면 위와 같은 에러가 발생합니다. 이유가 무엇인가요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
ElasticBeanstalk생성시 질문입니다.
플랫폼에 docker를 누르는 부분이 나와있지않습니다. 바로 생성이 나오는데 그냥 생성버튼을 눌러야할까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
프로젝트 중인데 빠른답변 부탁드립니다..ㅜㅜ
현재 프론트와 백 나눠서 프로젝트를 진행중입니다.강의에서는 하나의 레파지토리에 프론트폴더, 백앤드폴더, docker-compose.yml 파일이 있던데저희는 오가니제이션으로 사용중이며, 프론트레파지토리, 백앤드레파지토리 나뉘어져있는 상황입니다. 강의처럼 Docker, Travis ci를 이용해서 자동배포를 할 예정인데,1. 이 상황에서는 docker-compose.yml파일과 nginx를 위한 Dockfile이 어느곳에 위치하게 되나요?2. 또, 강의에서는 mysql을 도커이미지로 만들고있던데, 만약 로컬에 이미 mysql이 깔려있고, AWS RDS를 이용중이라면 mysql에 대한 도커파일이 필요없는게 맞을까요?jwt토큰기반으로 프로젝트를 진행중이라 AT를 저장하기위해 redis를 사용중인데 이 상황이라면 redis에 대한 도커파일도 필요한건가요? 만약필요하다면 도커파일을 어떤식으로 작성해야하나요? ㅠㅠ또 강의에서는 travis ci를 하나의 레파지토리(프론트 폴더와 백앤드폴더)로 하여 자동배포중이던데 1번에서 언급한것처럼 두개의 레파지토리로 나뉘어져있을 경우 travis ci에는 두개로 등록하여 빌드 및 테스트하는게 맞을까요??
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
몽고 db를 백업방법을 부탁합니다.
mongodump로 로컬에 설치된 몽고 db를 백업하려 하는데 아래의 오류가 나옵니다.해결방법을 부탁합니다.- (mongodump.exe)를 별도로 다운받아야 하나요?-최신버전에는 mongodump.exe파일이 설치되어 있지 않습니다.[오류메세지]'mongodump'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
프로젝트 중인데 강사님 질문입니다 ㅜㅜ
현재 프로젝트 진행중입니다. 전 백앤드담당이긴한데, 여튼 프론트분들의 프로젝트를 로컬에서 실행해보려고하는데요. 자꾸 이렇게 오류가 납니다.. 왜이런건가요? 다음은 Dockerfile.dev파일입니다.강의대로 Dockerfile.dev를 작성하였습니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
실습자료 복원
안녕하세요. 윈도우 11 사용하고 있습니다. 실습 자료를 복원하는데 아래와 같은 문구가 나오면서 안 됩니다 .. 해결방법이 있을까요 ? unrecognized win32 error code: 123pg_restore: error: could not open input file "C:\Users\DS\Documents\???\????_?????_????\data_schema.backup": Invalid argument
-
해결됨Data Engineering Course (1) : 빅데이터 하둡 직접 설치하기
노트북 램이 8GB 인데 괜찮나요?
서버를 계속 켜두고 싶어서 사용하지 않는 노트북에 2gb ubuntu desktop을 설치했는데, 강의를 진행하는데 문제 없을까요? 해당 노트북은 다른 용도로는 전혀 사용하지 않고, 강의내용은 다른 pc에서 Xshell과 크롬 데스크톱 화면 공유를 활용하면서 실행하려고 해요.
-
해결됨ELK 스택 (ElasticSearch, Logstash, Kibana) 으로 데이터 분석
Elasticsearch 버전 8 | mappsing, data file
curl -XPUT 'localhost:9200/basketball/_mappings' -d @basketball_mapping.json -H 'Content-Type:application/json'{ "properties" : { "team" : { "type" : "text", "fielddata" : true }, "name" : { "type" : "text", "fielddata" : true }, "points" : { "type" : "long" }, "rebounds" : { "type" : "long" }, "assists" : { "type" : "long" }, "blocks" : { "type" : "long" }, "submit_date" : { "type" : "date", "format" : "yyyy-MM-dd" } } } curl -XPOST 'localhost:9200/_bulk' --data-binary @bulk_basketball.json{ "index" : { "_index" : "basketball", "_id" : "1" } } {"team" : "Golden States Warriors","name" : "Stephen Curry", "points" : 30,"rebounds" : 3,"assists" : 4, "blocks" : 5, "submit_date" : "2016-10-11"} { "index" : { "_index" : "basketball", "_id" : "2" } } {"team" : "Golden States Warriors","name" : "Stephen Curry","points" : 32,"rebound" : 5,"assist" : 8, "blocks" : 5, "submit_date" : "2016-10-13"} { "index" : { "_index" : "basketball", "_id" : "3" } } {"team" : "Golden States Warriors","name" : "Stephen Curry","points" : 28,"rebound" : 2,"assist" : 3, "blocks" : 1, "submit_date" : "2016-10-17"} { "index" : { "_index" : "basketball", "_id" : "4" } } {"team" : "Golden States Warriors","name" : "Stephen Curry","points" : 36,"rebound" : 1,"assist" : 2, "blocks" : 1, "submit_date" : "2016-11-20"} { "index" : { "_index" : "basketball", "_id" : "5" } } {"team" : "Golden States Warriors","name" : "Stephen Curry","points" : 36,"rebound" : 1,"assist" : 2, "blocks" : 1, "submit_date" : "2016-11-25"} { "index" : { "_index" : "basketball", "_id" : "6" } } {"team" : "Golden States Warriors","name" : "Stephen Curry","points" : 32,"rebound" : 1,"assist" : 4, "blocks" : 1, "submit_date" : "2016-11-28"} { "index" : { "_index" : "basketball", "_id" : "7" } } {"team" : "Utah Jazz","name" : "Rudy Gobert", "points" : 3,"rebounds" : 11,"assists" : 4, "blocks" : 7, "submit_date" : "2016-10-12"} { "index" : { "_index" : "basketball", "_id" : "8" } } {"team" : "Utah Jazz","name" : "Rudy Gobert","points" : 4,"rebound" : 13,"assist" : 8, "blocks" : 5, "submit_date" : "2016-10-14"} { "index" : { "_index" : "basketball", "_id" : "9" } } {"team" : "Utah Jazz","name" : "Rudy Gobert","points" : 8,"rebound" : 10,"assist" : 3, "blocks" : 6, "submit_date" : "2016-10-18"} { "index" : { "_index" : "basketball", "_id" : "10" } } {"team" : "Utah Jazz","name" : "Rudy Gobert","points" : 12,"rebound" : 9,"assist" : 2, "blocks" : 6, "submit_date" : "2016-11-10"} { "index" : { "_index" : "basketball", "_id" : "11" } } {"team" : "Utah Jazz","name" : "Rudy Gobert","points" : 12,"rebound" : 14,"assist" : 2, "blocks" : 7, "submit_date" : "2016-11-22"} { "index" : { "_index" : "basketball", "_id" : "12" } } {"team" : "Utah Jazz","name" : "Rudy Gobert","points" : 8,"rebound" : 10,"assist" : 4, "blocks" : 5, "submit_date" : "2016-11-27"} { "index" : { "_index" : "basketball", "_id" : "13" } } {"team" : "Washington Wizards","name" : "John Wall","points" : 8,"rebound" : 1,"assist" : 13, "blocks" : 2, "submit_date" : "2016-10-18"} { "index" : { "_index" : "basketball", "_id" : "14" } } {"team" : "Washington Wizards","name" : "John Wall","points" : 13,"rebound" : 2,"assist" : 12, "blocks" : 3, "submit_date" : "2016-11-10"} { "index" : { "_index" : "basketball", "_id" : "15" } } {"team" : "Washington Wizards","name" : "John Wall","points" : 15,"rebound" : 3,"assist" : 12, "blocks" : 3, "submit_date" : "2016-11-22"} { "index" : { "_index" : "basketball", "_id" : "16" } } {"team" : "Washington Wizards","name" : "John Wall","points" : 22,"rebound" : 4,"assist" : 14, "blocks" : 3, "submit_date" : "2016-11-27"}
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
강의안 그림 안보여요!
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.mysql_basic 강의안 노트북에서 https://www.fun-coding.org/00_Images 여기서 가져오는 이미지들이 다 안보이는데 저만 그런걸까요..?
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
인덱스 생성시점
선생님, 안녕하세요! 좋은 강의 정말로 감사드립니다!이번 강의를 보면서, 궁금한 게 생겼는데요.이번강의에서 인덱스를 생성하면서, 탐색속도가 훨씬 빨라진다는 걸 알게되었습니다. 기존에 생성되어있는 (인덱스가 걸려있지 않은)데이터들에도 인덱스를 걸어주면 더 빨라지는 걸로 보이는데요. 그런데, 이번 강의에서 인덱스를 걸고 데이터를 생성하면, 인덱스를 걸지않았을 때보다 생성시간이 오래걸리는 부분이 있었습니다. 그렇다면 기존에 인덱스가 걸려있지않은 데이터들에 새로 인덱스를 걸 때는 기존 데이터들에 인덱스를 새로 걸어주는 건가요?
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
$pull 문법에 대한 질문
선생님, 안녕하세요. 좋은 강의 너무 감사드립니다. 답변도 잘해주셔서 너무 감사드려요!이번 강의를 들으면서,Blog.updateMany( { "comments.user": userId }, { $pull: { comments: { user: userId } } } )이 구문이 나왔는데요. 여기서 updateMany의 첫번째 변수인{ "comments.user": userId },는 comments배열의 user가 userId인 객체를 찾는거고,{ $pull: { comments: { user: userId } } }여기서도 comments배열안의 user가 userId인 객체를 찾는 거라서, 사실상 같은거를 두번 써준 게 아닌가요??그래서 const [user] = await Promise.all([ User.findOneAndDelete({ _id: userId }), Blog.deleteMany({ "user._id": userId }), Blog.updateMany( { "comments.user": userId } // { $pull: { comments: { user: userId } } } ), Comment.deleteMany({ user: userId }), ]);이런식으로 updateMany의 두번째 변수만 Blog.updateMany( { "comments.user": userId } // { $pull: { comments: { user: userId } } } ),이런식으로 주석처리를 해줬습니다. 그러자 { "err": "Cast to ObjectId failed for value \"2023-07-03T10:17:04.313Z\" (type Date) at path \"user\" because of \"BSONError\"" }이런 에러가 나왔어요. 그래서 확인해보니, User.findOneAndDelete({ _id: userId }), Blog.deleteMany({ "user._id": userId }), Comment.deleteMany({ user: userId }),updateMany말고 다른 구문들은 다 실행이 됬더라구요. 그래서 user도 삭제되고 블로그도 삭제되고, comment도 삭제되었지만 blog안의 user가 작성한 comment는 pull되지 않아서 그대로 남아있었습니다. 그런데 여기서 궁금한게, promise.all로 묶어서 같이 실행하면, 하나라도 에러가 나면 바로 실행을 중단하고 에러를 배출한다고 배운 것 같은데, Blog.updateMany의 아래 구문인, Comment.deleteMany가 실행됬더라구요. 트랜잭션까지는 아니더라도 updateMany에서 에러가 나면 Comment.deleteMany는 실행이 안될 줄 알았는데, 이거까지 실행된 거를 보면, Promise.all에서는 전부 순서없이 비동기로 동시에?실행되는 걸까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
원본도표자료 pdf 깨짐
위 이미지처럼 파일 열어보니 대부분 다 잘려있는데 병합된 버전으로 다시 업데이트해서 올릴 계획이 있으실까요?
-
미해결제주 하간디 이신 데이터들 Python으로 몬딱 분석해불게
cleaning함수를 작성해서 데이터를 추리는 이유는 무엇인가요?
제주지역에 해당하는 데이터만 뽑는 과정을 def cleaning(location): if location == '제주': return location else: return np.nan로 하셨는데,raw_log[raw_log['지역(시도)']=='제주'].reset_index(drop=True)로 하면 안되나요? 혹시 함수를 작성하는 경우가 메모리 상에서 좀 더 효율적인건가요?
-
해결됨[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
멱등성 프로듀서, 컨슈머 질문
안녕하세요 멱등성 프로듀서를 사용할꺼면기본 값이 retry가 INTEGER MAX, acks=all로 설정이 되는데꼭 이 기본 값을 같이 사용해야지만 멱등성 프로듀서를 사용할 수 있는건가요??강의 마지막에 Consumer에서 단 한 번만 데이터를 처리할 수 있게 만들 수 있다고 하셨는데 이건 어떻게 하는 건지 알 수 있을까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
참조 관련 질문있습니다.
안녕하세요. 질문이 두 가지 있습니다.강의에선 node_modules가 호스트에 없어서 참조에서 제외하고, 나머지 소스코드는 존재하여 전부 참조하는식으로 진행이 되었는데,그럼 docker build시 COPY ./ ./ 이부분은 아예 필요가없는거 아닌가요? 이미지에 이미 소스가 존재할텐데, 강의처럼 볼륨참조 설정을 넣어주면 컨테이너 생성 시, 이미 존재하는 소스는 호스트에서 가져와서 덮어쓰기된다고 이해하면 될까요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
파티션 개수 늘리기
파티션 개수를 늘리면프로듀서의 처리량이 늘어나는 게 맞을까요?이게 맞다면 왜 파티션 개수를 늘리면프로듀서의 처리량이 늘어나는 지 알 수 있을까요?파티션이 2개라고 했을 때 프로듀서의 데이터를 넣는 게파티션 A 넣고 파티션 B 넣고 파티션 A 넣고 이렇게 되면파티션 하나 일 때랑 별 차이가 없을 것 같아서 질문 드립니다.