묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
compose-up 에러시
docker compose up 시 에러 날 때server.jsconst express = require("express"); const redis = require("redis"); //레디스 클라이언트 생성 const client = redis.createClient({ // url: 'redis://redis:6379' // or socket: { port: 6379, host: 'redis-container' } }); const app = express(); app.get('/', async (req, res) => { await client.connect(); let number = await client.get('number'); if (number === null) { number = 0; } console.log('Number: ' + number); res.send("숫자가 1씩 올라갑니다. 숫자: " + number) await client.set("number", parseInt(number) + 1) await client.disconnect(); }) app.listen(8080); console.log('Server is running'); ymlversion: "3" services: redis-server: image: redis container_name: redis-container restart: unless-stopped expose: - 6379 node-app: depends_on: - redis-server build: context: . dockerfile: Dockerfile container_name: node-app restart: on-failure ports: - "5000:8080"
-
미해결카프카 완벽 가이드 - 코어편
클러스터 환경구성시 replication factor 1일때 메시지전송 관련 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 공부하다가 궁금한게 생겨서 질문드립니다. 현재 클러스터 구성으로 실습을 진행중인데 broker 3개의 cluster에서 replication factor를 1로설정하였습니다. 여기서3번 브로커에 test라는 토픽을 생성후에 bootstrap-server 에 1,2번 서버를 넣고 토픽조회시 test 토픽이 조회가 되던데 복제본이 존재하지않는 상황에서 어떻게 조회가 되는건가요? 클러스터 구성시 자동으로 토픽을 공유하는건가요?3번 브로커에 test라는 토픽을 생성하였고 복제본도 존재하지않고 리더파티션과 통신하는걸로 알고있는데 리더파티션이 3번에 존재함에도 불구하고 브로커 1번이나 2번을 기준으로 topic에 붙어서 producer에서 메시지가 보내지는 이유가 궁금합니다. 감사합니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
'작년 대비 동월 매출 비교 SQL로 구하기' 문의 드립니다.
작년 대비 동월 매출 비교 SQL로 구하기 부분에서lag 함수로 12 row 이전의 데이터를 가져오셨는데,실제 데이터가 특정 월에 매출이 발생하지 않는 케이스를 포함할 경우에는 어떻게 해야할지 문의 드립니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
운영환경 도커 이미지를 위한 Dockerfile 작성하기 마지막 부분 오류
11:55 부분에서 이미지 명을 명시하지 않으셨는데12:57 부분에서 run할때는 docker-react-app 이미지를 사용하셔서 이전에 만들어진 이미지가 run 된 것 같습니다!
-
미해결다양한 사례로 익히는 SQL 데이터 분석
DAU, WAU, MAU를 SQL로 구하기-02 관련 질문드립니다.
withtemp_00 as (select generate_series('2016-08-02'::date, '2016-11-01'::date, '1 days'::interval)::date as current_date)select b.current_date, count(distinct user_id) as daufrom ga_sess across join temp_00 bwhere visit_stime >= (b.current_date - interval '1 days') and visit_stime < b.current_dategroup by b.current_date 위 SQL문에서where visit_stime >= (b.current_date - interval '1 days') and visit_stime < b.current_date이 부분이 이해가 가지 않습니다.current_date가 2016-08-02일 경우visit_stime이 2016-08-02보다는 작아야 하고,2016-08-01보다는 크거나 같다는 말인데..그럼 즉, 2016-08-01 00:00:00 ~2016-08-01 23:59:59 라는 건데요..그럼 이게 2016-08-01의 DAU가 아닌가요?..select 절에서는 current_date로 group by를 해서추출된 데이터는 2016-08-02의 DAU로 추출이 되더라구요..실제 csv파일로 받아서 보아도,2016-08-01의 dau가 1569로 확인이 되는거 같기두 하구요.. withtemp_00 as (select generate_series('2016-08-01'::date, '2016-11-01'::date, '1 days'::interval)::date as current_date)select b.current_date, count(distinct user_id) as daufrom ga_sess across join temp_00 bwhere visit_stime >= b.current_date and visit_stime < (b.current_date + interval '1 days')group by b.current_date withtemp_00 as (select generate_series('2016-08-01'::date, '2016-11-01'::date, '1 days'::interval)::date as current_date)select b.current_date, count(distinct user_id) as waufrom ga_sess across join temp_00 bwhere visit_stime >= (b.current_date - interval '6 days') and visit_stime < (b.current_date + interval '1 days')group by b.current_date; withtemp_00 as (select generate_series('2016-08-01'::date, '2016-11-01'::date, '1 days'::interval)::date as current_date)select b.current_date, count(distinct user_id) as maufrom ga_sess across join temp_00 bwhere visit_stime >= (b.current_date - interval '29 days') and visit_stime < (b.current_date + interval '1 days')group by b.current_date; 이렇게 구하는게 맞는거 아닌지 문의드립니다 !
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
`node_modules` 폴더는 마운트 해서 사용하지 않는 이유가 무엇인가요?
node_modules 폴더는 마운트 해서 사용하지 않는 이유가 무엇인가요?특별한 이유가 있는지 궁금합니다.
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
베이스이미지가 `node:10` 이라는 것을 어떻게 검색할 수 있나요?
베이스이미지가 node:10 이라는 것을 어떻게 검색할 수 있나요?도커허브에서 검색을 해보았는데 from 에서 어떻게 사용하는지?또한 버전은 몇부터 몇까지 있는지 명확하게 나온게 없는 것 같습니다.https://hub.docker.com/_/node
-
미해결15일간의 빅데이터 파일럿 프로젝트
실습하면서 문득 궁금해진점
안녕하세요.강의를 들으며 jar 프로그램(자바 기반 프로그램)들이 플럼에 의존되는것을 확인할 수 있었는데,이것을 파이썬 코드로 바꿔서 conf를 변경해도 동작이 되는걸까요?
-
미해결데이터베이스 중급(Modeling)
SEQ auto increment
안녕하세요 강사님! 강의 재밌게 수강하고 있습니다.OpenLecture테이블에서 Seq를 auto Increment를 해주었더니 오류가 뜹니다.. 왜 그런건가요??
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
도커 이미지(컨테이너) 하나에 여러개의 앱을 설치해도 되나요? (mysql, express, react 등)
도커 이미지(컨테이너) 하나에 여러개의 앱을 설치해도 되나요? 만약, 웹을 만든다고하면 대부분 DB 가 필요할텐데, mysql, express, react, nginx 를 한번에 같은 컨터이너에 띄우는게 좋은가요?아니면 각각 구분해서 띄우는게 좋은가요?
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
pymysql 사용해 테이블, 데이터 저장하는 연습문제에 오류가 납니다
강의 : 패턴으로 익히는 파이썬과 MySQL - 데이터 삭제와 총정리가장 마지막에 언급하신 연습 문제를 하고 있는데, 자꾸 에러가 뜹니다 코드--------------------------------------------- import pymysqldb = pymysql.connect(host='localhost', port=3306, user='root', passwd='Qpspelrxm34*', db='ecommerce', charset='utf8')cursor = db.cursor()SQL = """ CREATE TABLE corw3 ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, model_num VARCHAR(15) NOT NULL, model_type VARCHAR(30) NOT NULL, PRIMARY KEY(id) ); INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', '7700', 'Kaby Lake'); INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', '7500', 'Kaby Lake'); INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', '7700K', 'Kaby Lake'); INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', 'G4600', 'Kaby Lake'); INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', '7600', 'Kaby Lake'); """cursor.execute(SQL)result = cursor.fetchall()for record in result: --- print(record)db.commit()db.close() 에러 메세지------------------------- ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', '7700', 'Kaby Lake'' at line 9") 에러에서는 INSERT INTO 부분이 이상하다고 하는 것 같은데,mysql에서는 해당 공식으로 테이블을 바꿔서 입력해도 그 테이블에 데이터가 잘 저장이 되어서요 코드에 혹시 문제가 있는건지 여쭤보고 싶습니다아니라면 데이터베이스나 다른 테이블에 문제가 있는 건지 제가 더 고민해보도록 하겠습니다.. ㅜㅜㅎㅎ 저같은 코린이도 어떻게든 해볼 수 있게 친절하고이해가 쏙쏙 되게 가르쳐주셔서 감사합니다!!
-
미해결15일간의 빅데이터 파일럿 프로젝트
VT-x/AMD-V 하드웨어 가속을 사용할 수 없습니다.
가상머신을 돌리려는데 이런 오류가 뜹니다. "시스템에서 VT-x/AMD-V 하드웨어 가속을 사용할 수 없습니다. 64비트 게스트가 64비트 CPU를 인식할 수 없으며 부팅할 수 없을 것입니다." 혹시 해결하신분 계실까요?
-
미해결카프카 완벽 가이드 - 코어편
테스트 환경 관련 질문입니다.
안녕하세요 강사님. 유익한 강의 감사드립니다. 맥 M1 사용하고 있어, 해당 테스트 환경을 VM 우분트가 아닌 도커로 우분트 서버를 구성해서 진행해도 강의 내용 학습 및 테스트에 큰 무리가 없을까요?
-
미해결RDBMS Modeling 실습
1. stored procedure 는 언제 쓰면 좋은가요 ? / 2. 대댓글 테이블 설계
안녕하세요. 지금 5~6강 정도를 진행중인 수강생입니다.평소 웹 개발을 하고 있지만 stored procedure 에 대해 생소한 부분이 많아 질문 드리려 합니다.1. stored procedure 를 설계/적용 하는 것은 항상 하는 일은 아닌것 같습니다. 언제 하면 좋을까요? 혹은 언제 쓰면 안되는 걸까요?가령, 현재 저는 jpa 를 이용한 개발을 하고 있는데, stored procedure 는 적용이 되지 않은 db 에서 작업을 하고 있습니다.반대로, stored procedure 를 써서 약간의 성능 향상을 누리거나 정해진 방법 이외의 방법으로 쿼리를 못날리게 하고 싶을땐 stored procedure 를 만들어두고 사용을 권장하는 방법도 있다고 들었습니다.아직 제가 stored procedure 의 사용처에 대해 확신이 들지 않는데, 이런 부분에 대해 알려주시면 감사하겠습니다.2. 대댓글 설계에 참고할 만한 사항이 있을까요 ?이것은 강의와 직접 관련한 내용은 아니지만 조언을 구하고 싶습니다. 간단하게 페이지에 대한 칼럼을 추가하고 순환 참조를 허락한 테이블을 만들면 되지만 "순환 참조를 이용한 테이블은 나쁠 것이다" 라는 편견(?)도 있어서요. 참고할만한 자료나 교수님 생각을 알려주시면 감사하겠습니다.새해복 많이 받으세요 .
-
미해결15일간의 빅데이터 파일럿 프로젝트
강의 수강 연장 부탁드립니다
강사님 안녕하세요,제가 대학원과 직장을 병행하다보니 강의를 신청해놓고 신경쓰지 못했습니다ㅠㅠ 연장해주신다면 꼭 완강하고싶습니다! 감사합니다, 새해복 많이받으세요!!!
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
INSERT 이용해서 가격(lowest_price) 데이터 추가는 불가능한가요?
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 섹션 3SQL로 데이터 삭제하고, 다양한 SQL 활용하기 강의 내용 중 10분 54초에서 제품의 가격(lowest_price)들을 UPDATE 함수 이용해서 추가하셨는데, 혹시 INSERT 를 사용해서 추가는 불가한 건가요??INSERT INTO mytable (lowest_price) VALUES (28170);했는데 안 되네요 ㅎㅎㅎINSERT는 VALUES에 모든 column의 값이 다 들어가 있어야만 추가할 수 있는 함수인 건지 궁금합니다
-
미해결다양한 사례로 익히는 SQL 데이터 분석
쿼리 질문
안녕하세요, 도움을 받고자 글 올립니다.97년 이후 nw데이터의 '국가/ 기준월 / 대표제품명 / 구매고객수 / 동시구매 고객 수 / 구매 횟수 / 동시구매 횟수 / 동시구매율' 을 구해보았는데 결과가 나오긴 하는데 맞는지 알 수가 없어서 코드리뷰 부탁드립니다. 더불어 더 좋은 코드가 있을지 여쭙습니다.새해 복 많이 받으세요 with uu as (select customer_id, product_id, order_id, product_name, order_date, ship_addressfrom(select c.product_id, c.product_name, a.amount, b.order_date, b.ship_address , b.customer_id, b.order_idfrom order_items a join orders b on a.order_id = b.order_idjoin products c on a.product_id = c.product_idwhere extract(year from b.order_date) >= 1997) tt), xx as (select ww.customer_id, ww.product_id as prd_01, vv.product_id as prd_02, ww.order_date, ww.ship_addressfrom uu ww join uu vv on ww.customer_id = vv.customer_id), temp_01 as (select customer_id, prd_01, prd_02, extract(year from order_date) as year_ord, extract(month from order_date) as month_ord, ship_address as countryfrom xxwhere prd_01 != prd_02group by 1,2,3,4,5,6order by 1,2,3,4,5,6)---------------구매자 id, 대표제품 id, 동시구매제품 id, 년, 월, 국가, temp_03 as (select prd_01, prd_02, count(*) as cnt_prd_prdfrom temp_01group by 1,2order by 1, 3 desc) -----------------대표제품 id, 동시구매제품 id, 동시구매 횟수, temp_04 as (select distinct product_id, count(customer_id) as cnt_prdfrom order_items oi join orders o on oi.order_id = o.order_idgroup by 1order by 1)-------------------- 대표제품 id, 구매고객수, temp_05 as (select prd_01, prd_02, count(customer_id) as cnt_prd_customerfrom temp_01group by 1,2order by 1,3)-------- 동시구매 고객 수, temp_06 as (select customer_id, count(order_id) as cnt_customerfrom ordersgroup by 1)------ 구매횟수, temp_07 as (select distinct t5.prd_01, t5.prd_02, cnt_prd_customer as 동시구매고객수, sum(cnt_customer) as 구매횟수, cnt_prd_prd as 동시구매횟수, cnt_prd_prd/sum(cnt_customer) as 동시구매율from temp_01 t1 join temp_05 t5 on t5.prd_01 = t1.prd_01 and t5.prd_02 = t1.prd_02join temp_06 t6 on t1.customer_id = t6.customer_idjoin temp_03 t3 on t1.prd_01 = t3.prd_01 and t1.prd_02 = t3.prd_02group by 1,2,3,5order by 1,5 desc) ---/ 동시구매 고객 수 / 구매 횟수 / 동시구매 횟수 / 동시구매율, temp_08 as (select distinct country, year_ord , month_ord , prd_01, cnt_prd as 구매고객수from temp_01 t1 join temp_04 t4 on t1.prd_01 = t4.product_idorder by 1,2,3,4)---국가/ 기준월 / 대표제품명 / 구매고객수select distinct t8.*, prd_02, 동시구매고객수, 구매횟수, 동시구매횟수, 동시구매율from temp_08 t8 join temp_07 t7 on t8.prd_01 = t7.prd_01;