Hue(휴) 설치중 에러
미해결
15일간의 빅데이터 파일럿 프로젝트
(사진)
- 빅데이터
- hadoop
- kafka
- zookeeper
- redis
- flume
- impala
- 데이터-엔지니어링
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
15일간의 빅데이터 파일럿 프로젝트
(사진)
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.mysql:mysql-connector-j' implementation project(':common:snowflake') } 이렇게 설정 하고 gradle 싱크를 맞췄을때 A problem occurred evaluating project ':service:article'. > Project with path ':common:snowflake' could not be found in project ':service:article'. 이렇게 에러가 발생합니다.
미해결
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
vscode (windows)사용 기존) mydjango02 폴더--> django 설치 --> startproject --> manage.py 생성 질문 1) mydjango 03 폴더 --> django 설치 --> django runserver가 돌아가지 않습니다. 질문 2) 이전에 따라하기에선 django runserver가 돌아갔었는데 디버그시 mydjango.py가 나타나지 않았습니다. 그래서 실습을 기존에 설치된 manage.py로 했는데 제가 어느 부분에서 실수 할 가능성이 있을까요?
미해결
직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
일코님, 안녕하세요. 오랜만에 질문 올립니다. 여러 장이 있는 hwp파일의 첫 페이지부터 한 페이지 씩 1.hwp, 2.hwp, 3.hwp, ... 로 저장하는 코드를 작성해 보았는데요. 한 가지 문제점만 빼면 원하는 대로 작동합니다. 한 가지 문제점은, 코드 실행 후 저장된 1.hwp 파일 속에 1페이지가 아닌 전체 페이지가 들어가 있다는 점입니다. 그거 외에 다른 페이지는 문제 없이 작동되고 있습니다. 이거 왜 그럴까요? 코드를 반복해서 살펴봐도, 논리적으로는 저장되는 1.hwp 파일에는 원본파일의 첫 페이지만 들어가 있어야 할 거 같은데.. 그렇게 안되는 이유가 궁금합니다. 전체 코드는 아래와 같습니다. import os from pyhwpx import Hwp hwp = Hwp() target_dir = r"D:\magicfolder" os.chdir(target_dir) hwp.add_tab() hwp.switch_to(0) # 탭0: 카피해 올 원본 파일용 hwp.open("D:\magicfolder\페이지분할대상.hwp") hwp.switch_to(1) # 탭1: 한 페이지씩 붙여서 저장할 일종의 작업공간 hwp.open("D:\magicfolder\페이지분할대상.hwp") hwp.switch_to(0) for j in range(1, hwp.PageCount + 1): hwp.goto_page(j) hwp.CopyPage() hwp.switch_to(1) hwp.HAction.Run("SelectAll") hwp.HAction.Run("Delete") hwp.MoveDocBegin() hwp.PastePage() # 바로 위에서 hwp.PastePage()할 때 페이지가 넘어가서 붙으므로, 앞 페이지로 당겨 붙이기 위해서 맨 위 페이지로 커서 옮기고 Del 2번 해 준 것임. hwp.MoveDocBegin() hwp.HAction.Run("Delete") hwp.HAction.Run("Delete") hwp.save_as(target_dir + "\\" + str(j) + ".hwp") hwp.switch_to(0) hwp.Close() hwp.FileClose() 코드를 많이 짜봐야 늘텐데 정말 오랜만에 시도해 본 거 같습니다. ^^ㅋ
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
강사님께서는 실무에서 JPA를 잘 사용하지 않으신다고 하신 걸 댓글에서 봤습니다. 그러면 MyBatis나 JDBC를 주로 사용하시는 건가요? 아니면 JPA는 사용하시는데 쿼리 메소드 기능 대신 @Query로 직접 native query를 작성하시는 건가요?
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 페이지 넘버 쿼리 무한 스크롤 쿼리 안녕하세요 위 두 쿼리 모두 (board_id, article_id)를 인덱스로 설정해놔서 secondary index만 접근해도 될 것 같은데 페이지 넘버 쿼리에서 clustered index도 접근하는 것은 offset의 특성(?) 때문일까요? 무한 스크롤 쿼리에서는 secondary index의 정보(board_id, article_id)만으로 기준점을 찾아내고, limit 개수만큼 clustered index에 접근하는 것 같아서 페이지 넘버 쿼리에서도 secondary index의 정보(board_id, article_id)만으로도 offset의 위치를 찾을 수 있을 것 같은데 왜 clustered index까지 접근하는 걸까요??
미해결
파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
똑같이 코딩한거같은데 Uncaught InvalidStateError: Failed to execute 'send' on 'WebSocket': Still in CONNECTING 이런 문제가 생겨 connect()에서 console.log로 this.ws 찍어보니까. readystate가 0에서 바뀌지 않고 onsubmit()에서도 0인걸 확인했습니다. 그래서 웹소켓이 연결되지 않았으니, this.ws.send()에서 걸리는것이라고 생각은하는데, 어디를 고쳐야 될지 모르겠습니다. {# Chat room #} {% extends "chat/base.html" %} {% block extra-style %} <style> .chat-message > div { background-color: #3b3b3b; color: #e1e1e1; border-radius: 0.8em; padding: 0.4em; margin: 0.4em 0; display: inline-block; white-space: pre-wrap; max-width: 80%; word-wrap: break-word; } </style> {% endblock %} {% block content %} <h2>채팅방 :{{ room_name }}</h2> {# 웹소켓으로 실시간 채팅 기능 구현하기 #} <div class="container"> <div class="row"> <div class="col-sm-12"> <div class="card" style="height: 600px;"> <div class="card-header"> 채팅방:{{ room_name }} </div> <div class="card-body overflow-hidden"> <div id="chat_messages" class="w-100 h-100 border-0 overflow-hidden overflow-scroll"></div> </div> <div class="card-footer"> <form id="message_form"> <input type="text" name="message" class="form-control" autofocus autocomplete="off" /> </form> </div> </div> <hr class="my-3" /> <a href="{% url 'chat:index' %}" class="btn btn-primary"> 대기실로 이동 </a> </div> </div> </div> {% endblock %} {% block extra-script %} <script> const handler = { chat_messages_tag: null, ws: null, retry: 0, init(){ console.log("handler.init() 실행됨"); this.chat_messages_tag= document.querySelector("#chat_messages"); document.querySelector("#message_form").addEventListener("submit", this.onsubmit.bind(this)); }, connect(ws_url){ if(this.ws) { this.ws.close(); } this.ws = new WebSocket(ws_url || this.ws?.url); console.log(this.ws, "연결1.") this.ws.onopen = this.onopen.bind(this); this.ws.onclose = this.onclose.bind(this); this.ws.onerror = this.onerror.bind(this); this.ws.onmessage = this.onmessage.bind(this); }, reconnect() { this.connect(); }, onopen(){ console.log("웹소켓 서버와 접속, : Room_chat"); this.retry = 0; }, onclose(event){ if (!event.wasClean) { console.error("웹소켓이 죽었거나, 네트워크 에러"); if (this.retry < 3) { this.retry++; setTimeout(() => { this.reconnect(); console.log(`[${this.retry}] 접속 재시도 ...`); }, 1000 * this.retry) } else { console.log("웹소켓 서버에 접속할수 없습니다. 메인페이지로 이동합니다."); window.location.href = "{% url 'chat:index' %}"; } } }, onerror(){ console.log("웹소켓 에러 발생. 메인페이지로 이동합니다."); window.location.href = "{% url 'chat:index' %}" ; }, onmessage(event){ const message_json = event.data; console.log("메세지 수신 :", message_json); const { type, message } = JSON.parse(message_json); switch (type){ case "chat.message": this.append_message(message); break; default: console.error('Invalid message type: &{type}'); } }, append_message(message){//인자로 받은 채팅 메세지 로그에 추가 const element = document.createElement("div"); element.className = "chat-message"; const wrapper = document.createElement("div"); wrapper.textContent = message; element.appendChild(wrapper); this.chat_messages_tag.appendChild(element); this.chat_messages_tag.scrollTop = this.chat_messages_tag.scrollHeight; }, onsubmit(event){ //입력된 채팅 메세지 문자열을 획득하고, 메세지 로그에 추가. event.preventDefault(); const form_data = new FormData(event.target); //폼필드의 값을 오브젝트로 변환하여 props로 저장하고, 폼필드는 리셋합니다. const props = Object.fromEntries(form_data); event.target.reset(); // reset form const { message } = props; console.log("웹소켓으로 전송할 메세지: ", message); console.log(this.ws, "onsubmit"); {#this.append_message(message);#} this.ws.send(JSON.stringify({ type: "chat.message", message: message, })) } }; handler.init(); const protocol = location.protocol === 'https:' ? 'ws:' : 'wss:'; const ws_url = protocol + "//" + location.host + "/ws" + location.pathname; handler.connect(ws_url); </script> {% endblock %} from django.urls import path from chat import consumers websocket_urlpatterns = [ path("ws/chat/<str:room_name>/chat/", consumers.ChatConsumer.as_asgi()), ] import os from channels.routing import ProtocolTypeRouter, URLRouter from django.core.asgi import get_asgi_application import app.routing import chat.routing os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') django_asgi_app = get_asgi_application() application = ProtocolTypeRouter({ "http" : django_asgi_app, "websocket" : URLRouter( chat.routing.websocket_urlpatterns + app.routing.websocket_urlpatterns, ) }) from django.shortcuts import render # Create your views here. def index(request): return render(request, "chat/index.html") def room_chat(request, room_name): return render(request, "chat/room_chat.html",{ "room_name": room_name, })
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 먼저 강의 들으면서 정말 많은 것을 배우고 있습니다. 감사합니다. 아직 index나 쿼리에 대해 이해도가 많이 부족하다 보니 궁금한 점이 있는데요. 실제 게시글이나 댓글 삭제 시 물리적 삭제가 아닌 논리적 삭제(soft delete)를 구현하게 되는 경우가 많았는데요. 이때 isDeleted같은 필드를 두고 true, false 의 boolean 값으로 관리했습니다. 이후 데이터를 조회할 때는 isDeleted가 false인 것들만 조회하는 방식이었는데, 이때도 isDeleted를 복합 index의 키값으로 넣어서 관리를 하는 경우가 많을까요? 성능 향상에 많은 도움이 될 지가 궁금하네요.
미해결
입문자를 위한 LangChain 기초 — v1.0+ 업데이트
멀티체인 부분에서 chain1의 답변이.. 길게 나옵니다. 한 단어로 'future'라는 답변이 나와야 사실 chain2에 english_word라는 변수에 알맞는 값이 들어가는 걸텐데요. 문장으로 답이 나와서 이상한 상황입니다. 무슨 문제가 있어서 이렇게 invoke 결과값이 달라지는지 제가 뭘잘못했는지 모르겠습니다. 제 잘못이 아니라면 이게 무엇 때문인지, 어떻게 해결할 수 있을지 궁금합니다. (chain2도 답변을 영어로 하는 문제도 있습니다.)
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
일단 해당 영상 강의에서 article_like 이라는 독립 데이터베이스 기준으로 질문 드리도록 하겠습니다. 여기를 보면 강의 내용에서 각각 테이블 따라 샤드키 기준 컬럼이 다른것을 확인 되었습니다. 예를들어서 'article_like' 테이블 경우 샤드키는 article_id 컬럼 으로 이용하고 당연히 연관관계 테이블인 'article_like_count' 테이블 경우도 샤드키를 article_id 컬럼으로 하고 있습니다. 그런데 outbox 테이블 경우는 'shard_key' 컬럼으로 해주고 있는데요. 여기서 질문은 client (애플리케이션) 에서 일단 곧장 해당 특정 샤드 데이터베이스로 보내지 않고 router 를 이용해서 정해진 샤드키 통해 어디 샤드로 전송할지 역활을 할텐데요. router 역활의 개념을 이해가 되었지만 구체적으로 어떻게 구현되어 있는것인지 잘 몰라서 질문 드립니다. 각각의 테이블 마다 샤드키에 해당되는 컬럼명이 다 다르기 때문에 이때 router 에서는 각각 어떻게 분기해서 알맞게 특정 샤드키에 해당되는 컬럼명을 추출해 특정 샤드 데이터베이스로 보내는지 궁금합니다. 그냥 무식하게 if else 조건문으로 'outbox' 테이블은 'shard_key' 컬럼값을 추출해 분기 처리하고 'article_like' 테이블하고 'article_like_count' 테이블은 'article_id' 컬럼값을 추출해 분기 처리해서 특정 샤드 데이터베이스로 보내는지 궁금 합니다!
해결됨
실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
질문은 많으시면 많을수록 좋습니다. 가능한 빠른 답변 드리겠습니다. 원활한 답변을 위해, 자세한 질문 사항 부탁드려요 😋 [33초] 각 단어에 맞는 영어 번역이 잘못된 것 같습니다. 환경 / 구성 / 설정 Environment / Configuration / Setting 로 이해하면 될까요?
미해결
개발자라면 알아야 할 redis 기본
안녕하세요, 강사님. 좋은 강의를 예제부터 실무적인 부분까지 고려해서 강의 만들어주셔서 감사합니다. streams 강의 16:55초경을 듣다가 궁금한 점이 생겨 질문드립니다. 주문서비스에서 상품서비스에게 "상품 재고를 변경해주세요"라고, 메시지를 발행하는 것을 비동기로 처리한다고 말씀해주셨습니다. 상품서비스에서 재고 변경 이벤트를 구독해서, 상품 재고 변경이 처리되기 전에, 다른 요청이 똑같은 상품을 조회하는 경우, 상품의 재고가 없지만 상품의 재고가 마치 있는 것처럼 조회가 될 수 있는 동시성 문제가 발생할 수 있다고 생각합니다. 실무 내용을 짧은 강의내에 녹여내는 것이 어려워 일부 내용을 생략하셨다고 생각이 들지만서도, 어떻게 동시성 문제를 예방할 수 있는지 궁금하게 되어 질문 드립니다.
미해결
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
안녕하세요 제공해주신 깃허브 홈페이지 url의 경우는 페이지가 넘어갈 때마다 'url/page{page_num}' 형식으로 변하게 되는데 제가 살펴본 네이버 카페의 경우(링크 아래 첨부)는 페이지 수를 넘겨도 페이지 수가 변하지 않았습니다. 네이버 카페 url: https://cafe.naver.com/cantsb 혹시 이러한 경우 페이지 수에 따른 크롤링을 어떻게 하는지 궁금합니다.
미해결
Prompt Engineering: 완벽 가이드
[ Advanced Prompt Technique: Thought Generation - Theory] 18:26 ~ 21:29 간 음성이 누락되어 있습니다.
해결됨
개발자라면 알아야 할 redis 기본
혹시 kafka나 rabbitMQ 강좌 예정 없으신가요?
미해결
[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
안녕하세요 강사님 최근에 YOLO를 이용해 이것 저것 연습을 하는데 궁금한 점이 있습니다. 데이터셋의 크기가 너무 커서(2TB) 일단 필요한 부분만 선택해서 학습을 했습니다. 그런데 이렇게 하면 새로운 데이터셋을 추가해서 학습을 시키려면 <기존 1TB + 새로운 데이터셋> 이렇게 합친 데이터셋을 다시 학습을 해야 하나요...? 예를 들어 a, b, c, d를 탐지할 수 있게 학습을 하고 추가적으로 ㄱ, ㄴ, ㄷ, ㄹ도 탐지할 수 있게 데이터를 추가해서 총 a, b, c, d, ㄱ, ㄴ, ㄷ, ㄹ을 모두 탐지할 수 있도록... 마지막 출력 계층만 새롭게 학습을 하는 방법은 기존 데이터셋에 대한 성능이 떨어질 수 있어 좋은 선택은 아닌가요...?
미해결
프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)
d = {'USA': 36, 'Germany': 17,'France':32, 'Australia': 77, 'South Africa': 99, 'India': 108, 'South Korea': 200, 'South Japan':300} print(d.get("France")) t = input("You won't search of contury?").title() print(t,"<<입력값") def add_space(a): if 'South' in a: print(a.find('South')) i = a.find('South') # print(a[i:i+5]) a = a[i:i+5]+' '+a[i+5:len(a)].title() return a # if 'East' in a: # --- # if 'Wset' in a: # --- # if 'North' in a: # --- t = add_space(t) if t == "Usa": t = "USA" else: print(a) country = d.get(t) if not country: print('No results were found for your search.') else: print(country) 안녕하세요 강의 수강 중 궁금한 점이 있어서 질문드립니다. 강의 7:33에서 key가 소문자인 형태로 새로운 dict을 생성하신 이유가 궁금합니다. 문제 해결을 위한 생성 이외에 원본 변수인 'd'의 수정을 방지하기 위함과 지금 예제는 눈으로 모든 값을 확인할 수 있지만 많은 데이터를 가진 시퀀스의 경우에는 어떠한 예외가 발생할지 모르니 그에 대한 대비 제가 생각해 본 이유가 맞는지 또한 다른 이유가 있으신지 궁금합니다. 또한 제 코드에서 'add_space'함수를 매번 실행하는 게 비효율적이라는 생각이 들지만 필요하다고도 생각돼서 선생님의 의견을 여쭤봅니다.
미해결
공공데이터로 파이썬 데이터 분석 시작하기
안녕하세요! 교육 차근차근 따라하면 듣고 있는데요.. seaborn 시각화 생성되지 않아 문의 드립니다. 제가 놓친 것이 있을지요.. 아래 코드 참고 부탁 드려요
미해결
[개정판] 파이썬 머신러닝 완벽 가이드
기존 14:20초 부근에서 titanic_df['Pclass'].value_counts().reset_index() 를 실행했을때 출력되는 모양(그냥 텍스트 형태)로 나오는 것과 15:18 부근 코드는 같은데 테이블 형태로 나오는 것의 차이는 무엇인가요?
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 10:30초 쯤부터 설명해주시는 내용이 잘 이해가 안가서 질문드립니다. article 테이블에 insert 문과 update 문을 동시에 실행한다고 하더라도 서로 다른 레코드에 대한 작업이어서 update문이 실행될 때 x-lock이 걸리는 레코드는 insert하는 레코드와 상관 없을 거라고 생각했는데 게시글 쓰기와 좋아요 수 쓰기 작업을 할 때 어떻게 동일한 레코드에 락이 걸릴 수 있는지 상황이 잘 안그려지네요.. 게시글을 새로 작성하는 경우가 아니라 게시글 수정 - 좋아요 수 업데이트 간에 동일한 레코드에 대한 락이 잡힐 수 있는 상황을 말씀하신 건가요??