묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
video 재생관련
위에 빨간 부분을 누르면 동영상이 잘나오는데 동영상 파일 이미지 클릭이나 seelect를 이용해 재생하면,위와 같은 화면에서 움직이지 않고, 아래와 같이 터미널에 출력 됩니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
celery을 이용해서 비동기처리를 수행하는데 질문입니다!
안녕하세요 진석님! 현재 강의를 들은 다음 웹페이지를 만들고 있는데 사진과 함께 포스팅을 하면 사진에 있는 글자를 인식하여 번역하고 따로 필드에 저장하는 것을 구현하고 있습니다.(google cloud visionAI, translationAPI 이용)현재 celery을 사용하는 방법은 따로 찾아봐서 잘 알게되엇는데(https://realpython.com/asynchronous-tasks-with-django-and-celery/)#views.py from .tasks import process_image_ocr_and_translation class PostViewSet(ModelViewSet): queryset = Post.objects.all() serializer_class = PostSerializer permission_classes = [AllowAny] def perform_create(self, serializer): post = serializer.save(author=self.request.user) tag_list = post.extract_tag_list() post.tag_set.add(*tag_list) process_image_ocr_and_translation.delay(post.id) # tasks.py from celery import shared_task from .models import Post from module.API import detect_text, translate_text @shared_task def process_image_ocr_and_translation(post_id): post = Post.objects.get(pk=post_id) post.photo.file.open() image_path = post.photo.path detected_text = detect_text(image_path) translated_text = translate_text(detected_text) post.ocr_text = translated_text post.save() #celery.py import os from celery import Celery # Set the default Django settings module for the 'celery' program. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "backend.settings.dev") app = Celery("backend") # Using a string here means the worker doesn't have to serialize # the configuration object to child processes. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. app.config_from_object("django.conf:settings", namespace="CELERY") # Load task modules from all registered Django apps. app.autodiscover_tasks() @app.task(bind=True) def debug_task(self): print(f"Request: {self.request!r}") #common.py # Celery settings # 베포를 할때는 이부분이 변경이 되어야 한다? CELERY_BROKER_URL = "redis://localhost:6379" #: Only add pickle to this list if your broker is secured #: from unwanted access (see userguide/security.html) # CELERY_ACCEPT_CONTENT = ["application/json"] CELERY_RESULT_BACKEND = "redis://localhost:6379" # CELERY_TASK_SERIALIZER = "json"#module.API from google.cloud import vision import io from google.cloud import translate def detect_text(path): """Detects text in the file.""" client = vision.ImageAnnotatorClient() with io.open(path, "rb") as image_file: content = image_file.read() image = vision.Image(content=content) response = client.text_detection(image=image) if response.error.message: raise Exception( "{}\nFor more info on error messages, check: " "https://cloud.google.com/apis/design/errors".format(response.error.message) ) texts = response.text_annotations return texts[0].description # Initialize Translation client def translate_text(text, project_id="myproject-capston"): """Translating Text.""" client = translate.TranslationServiceClient() location = "global" parent = f"projects/{project_id}/locations/{location}" # Translate text from English to French # Detail on supported types can be found here: # https://cloud.google.com/translate/docs/supported-formats response = client.translate_text( request={ "parent": parent, "contents": [text], "mime_type": "text/plain", # mime types: text/plain, text/html "source_language_code": "en-US", "target_language_code": "ko", } ) # Display the translation for each input text provided for translation in response.translations: print("Translated text: {}".format(translation.translated_text)) 번역된 결과물 자체는 잘 나오는거 같으나(python -m celery -A backend worker실행화면에서 translate_text()함수에 결과값을 print하도록 설정했더니 "Translated text: ~~~~ " 이렇게 콘솔에 잘 나타납니다) post.ocr_text필드상에 null값이 입력이 됩니다...post.ocr_text필드속성에 null=True, blank=True 로 되어있고 비동기처리하기전에도 계속 null값이 들어가서(visionai와 translation이 시간이 좀 걸리다보니?) 비동기로 처리할려고 했는데도 여전히 null값이 들어가네요ㅜㅜ 어떻게 해결해야 할까요?? post.save()위치를 tasks.py안이나 views.py에서 비동기 작업은 조건문을 거는 방식 등등을 해보았으나 때에 따라서는 "ocr_text": "5f69b757-0f24-4cc4-947c-f8c624b48dde", 이런식으로 결과가 나오기도 하네요... 똑같은 사진인데도 매번 다른 16진수가 들어가던걸 확인했는데 번역된 결과값은 아닌거 같습니다...아 추가적으로 코드를 바꿀때마다 celery worker은 매번 재시작하였습니다
-
미해결대세는 쿠버네티스 (초급~중급편)
join.sh의 내용이 없으며 localhost:8080 was refused 에러가 뜹니다.
Kubernetes Cluster 설치 v1.22를보고 설치 하였는데,설치 후 master node에 join하는 과정에서 join.sh파일은 생서되었으나 내용물이 없고, kubectl명령어를 써보면The connection to the server localhost:8080 was refused - did you specify the right host or port? 에러가 뜹니다. 신속하게 해결 하고 싶은데 답변 부탁드립니다. 참고로 vagrant up 실행시 아래와 같은 에러가 발생됩니다 ==> k8s-master: Running provisioner: shell...k8s-master: Running: inline scriptk8s-master: I0329 11:04:29.670608 14429 version.go:255] remote version is much newer: v1.26.3; falling back to: stable-1.22k8s-master: [init] Using Kubernetes version: v1.22.17k8s-master: [preflight] Running pre-flight checksk8s-master: [preflight] WARNING: Couldn't create the interface used for talking to the container runtime: docker is required for container runtime: exec: "docker": executable file not found in $PATHk8s-master: error execution phase preflight: [preflight] Some fatal errors occurred:k8s-master: [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not existk8s-master: [ERROR FileContent--proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forward contents are not set to 1k8s-master: [preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...k8s-master: To see the stack trace of this error execute with --v=5 or higherk8s-master: failed to load admin kubeconfig: open /root/.kube/config: no such file or directoryk8s-master: To see the stack trace of this error execute with --v=5 or higherk8s-master: cp: cannot stat ‘/etc/kubernetes/admin.conf’: No such file or directoryk8s-master: chown: cannot access ‘/root/.kube/config’: No such file or directory
-
미해결성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]
클론강의 tableViewCell
8:17 에 데이터모델을 받는 변수를 왜 굳이 함수로 만드는 이유를 자세히 알려주세요20:10 에 왜 movieModel처음에 nil에 할당 되어 있다가 바로 movieMoel 데이터가 안담겨지나요 ? 비동기적으로 처리한 데이터를 movieModel에 넣었을때, collectionView를 reloadData를 한 이유를 컨트롤러 생성 과정을 통해 자세히 알려주세요
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
Mybatis 학습을 위해 실행 도중 오류에 대한 해결방법이 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]프로젝트를 따라 실행하며 학습하기위해itemservice-db 프로젝트를 받아 실행해봤지만앞서 학습내용을 건너 뛴 탓에 에러가 떴습니다.처음엔 H2가 실행되어있지 않는 오류로 떠서 해결하고보니 이런 오류가 뜹니다..테이블 ITEM 이 없다는 내용같은데앞에 강의내용을 건너뛰고 Mybatis 부분을 학습하고 싶은데 (지금 공부에 목표가 Mybatis 라서 해결 후에 완강을 해야겠다고 목표하고 있습니다.)영한님의 강의에서 Mybatis 부분을 문제없이 듣고 따라하기 위해선 어떤부분을 빠르게 수정해야 하는지 알려주시면 감사하겠습니다.
-
미해결FreeRTOS 프로그래밍
freeRTOS도 GDB 사용이 가능할까요?
고수님 안녕하세요?FreeRTOS 디버깅이 GDB로 가능하다면 해보려고 하는데,가능할지 여쭙고 싶습니다.미리 답변 감사합니다. 좋은 하루 되세요 :)
-
미해결타입스크립트 입문 - 기초부터 실전까지
정의된 타입으로 타입을 제한하기 질문 드립니다.
선생님, 안녕하세요. 강의 잘 듣고 있습니다.궁금한 것이 두 가지가 생겨서 질문하려고 합니다.dropdown 예제에서 DropdownItem의 value가 어떤 타입이든 들어올 수 있어서 toString()에 밑줄이 그어지는 것으로 알고 있는데요,이를 해결하기 위해a. DropdownItem<T>에서 T를 string과 number로 제한해야 되는 것인지, 아니면b. 강의 예제처럼 toString()에 타입을 제한하는 것인지 모르겠습니다.위의 두 사진에서 보면 34번째 줄에 selectTag에 에러가 뜨는데요, 이유가 궁금합니다.감사합니다.
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
마스터 노드 초기화 단계에서 kubeadm init 명령어 사용시 에러 발생
마스터 노드 초기화 단계에서 kubeadm init 명령어 사용시 container runtime이 동작하지 않는다는 아래와 같은 에러코드 발생하여 문의드립니다. [init] Using Kubernetes version: v1.26.3[preflight] Running pre-flight checkserror execution phase preflight: [preflight] Some fatal errors occurred: [ERROR CRI]: container runtime is not running: output: time="2023-03-29T08:31:55Z" level=fatal msg="validate service connection: CRI v1 runtime API is not implemented for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService", error: exit status 1[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...To see the stack trace of this error execute with --v=5 or higher
-
해결됨그림으로 쉽게 배우는 운영체제
프로세스 동기화 - 뮤텍스, 세마포
안녕하세요.프로세스 동기화에서 뮤텍스, 세마포 부분 공부 중 궁금한 게 생겨 질문 올리게 되었습니다. 두 프로세스가 임계 구역 코드를 실행하려고 하는데 이를 동기화 하기 위해 뮤텍스 도구를 사용한다고 하였을 시, 뮤텍스는 전역 변수를 하나 두고 해당 전역 변수의 값이 false면 실행하고 true면 반복문으로 계속 해당 전역 변수의 값을 확인하다가 false로 바뀌면 실행하는 것인데 만약에 두 프로세스가 동시에 전역 변수를 가져와서 CPU 레지스터에 세팅한다고 하면 의미가 없는 거 아닌가요?확률적으로는 매우 희박하겠지만 이런 확률은 고려하지 않는 것인지 궁금하네요.동일 프로세스 내에서 스레드 간에 발생하는 거라면 Java의 Synchronized 키워드를 붙인다고 하면 이해가 가겠는데 다른 프로세스 간에 발생하는 거라면 기본적으로는 자원을 공유하지 않으니까 공유 메모리에 있는 변수를 이용할 것 같은데이런 경우에도 Java의 Synchronized 키워드 같은 게 있는 걸까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
UpdateValuesMissingError
import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm/repository/Repository'; import { User } from '../users/entities/user.entity'; import { Payment, POINT_TRANSACTION_STATUS_ENUM, } from './entities/payment.entity'; @Injectable() export class PaymentService { constructor( @InjectRepository(Payment) private readonly paymentRepository: Repository<Payment>, @InjectRepository(User) private readonly userRepository: Repository<User>, ) {} async create({ impUid, amount, currentUser }) { const pointTransaction = await this.paymentRepository.create({ impUid, amount, user: currentUser, status: POINT_TRANSACTION_STATUS_ENUM.PAYMENT, }); await this.paymentRepository.save(pointTransaction); const user = await this.userRepository.findOne({ id: currentUser.id }); console.log(amount); await this.userRepository.update( { id: user.id }, // where { point: user.point + amount }, ); return pointTransaction; } } payment 과제 중 payment.service.ts 코드입니다.결제는 문제없이 처리가 되었고, payment 테이블에 거래기록이 저장되어야 하는데 이러한 에러가 발생합니다.[Nest] 288 - 03/29/2023, 7:34:01 AM ERROR [ExceptionsHandler] Cannot perform update query because update values are not defined. Call "qb.set(...)" method to specify updated values. 여러 시도를 해봤지만 해결되지 않아 커뮤니티에 글 남깁니다!
-
미해결실전! Querydsl
조인을 통해서 값을 가고올 수 있는거는 알겠습니다
근데 만약QMemberTeamDto에List<String> 형식이 있을 땐이 값을 어떻게 해야 갖고올 수 있는 건가요?
-
미해결중상급 퍼블리싱을 위한 CSS3의 모든 것
hover 가상클래스 ( hover로 만드는 버튼 디자인, 드롭다운 네비게이션 & 컨텐츠) 강의중
안녕하세요 강사님 강의를 듣다 질문이 생겨 질문드립니다.드롭다운 컨텐츠 강의 중 23분경에 마우스 호버 이벤트가 p태그나 image가 위치하는 곳에 마우스가 올라가도 이벤트가 발생하는 문제가 있다고 말씀하셨는데요 그러면서 tour-item 에 border 가 그려진 영역이 마우스 반응영역이라고 하시면서 부모요소에 position :relative 자식요소에 position:absolute를 주시고 border영역을 제한하셨는데요이렇게 border영역이 줄어들어도 실제로 마우스border가 그려진 영역 밖에 올려도 hover 이벤트가 발생을 하는데요 border영역 밖에서는 hover이벤트가 발생하지 않는것을 보여주시는거라 생각했는데 그게 아니라서 혼돈이 와서 질문드립니다 제가 뭔가 놓친 부분이 있나요? 최초 border영역에서만 hover 이벤트를 발생시키고 tour-content영역이 보여질때는 마우스가 tour-content영역에 있으면 tour-content를 계속 보여주고 싶은데요 여러가지 방법을 시도해보았는데 컨텐츠 내용이 사라질때 transition이 적용안되는 반쪽짜리 해결법이라 다른방법이 있나 궁금합니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8-X
// 가장자리에 있는 hole을 통해 최소값을 잡는다. for(int i = 0; i <= n + 1; i++){ //가장 왼쪽, 오른쪽 확인 if(hole[i][0][1] != -1) enqueue(i, 1, hole[i][0][1]); if(hole[i][m + 1][3] != -1) enqueue(i, m, hole[i][m + 1][3]); } for(int i = 0; i <= m + 1; i++){ //가장 위쪽, 아래쪽 확인 if(hole[0][i][2] != -1) enqueue(1, i, hole[0][i][2]); if(hole[n + 1][i][0] != -1) enqueue(n, i, hole[n + 1][i][0]); }한 좌표를 기준으로 위쪽 0, 오른쪽 1, 아래쪽 2, 왼쪽 3으로 설정했는데가장자리 hole을 찾을 때는 가장 왼쪽의 경우위 코드처럼 if hole[i][0][3] != -1 으로 확인 해야 하는 것이 아닌가요..?왜 모두 반대 방향을 확인하는지 이해가 잘 되지 않습니다 .. ㅜ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
react-query 적용
제로초쌤 혹시 swr 대신에 react-query로 적용한 버젼을 따로 강의해주시거나 그럴 의향있으신가요!? swr은 slack 강좌랑 nodebird 강좌를 통해서 감을 잡아가고 있는데 react-query 는 공식문서를 보면서도 반밖에 잘 이해가 안가서 어떻게 적용하는지 궁금합니다..!
-
미해결대세는 쿠버네티스 (초급~중급편)
vagrant up 설치 오류 문의요...
맥 환경에서 하고 있고 Apple M1 Pro 맥북 사용하고 있습니다. vagrant up 설치에서 아래와 같은 오류가 발생하는데 해결방법 문의드립니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
컬럼명 앞에 테이블명 붙이는 방법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]테이블 명이 member이고 컬럼명이 name이면 테이블이 생성될때 컬럼명이 member_name으로 모든 컬럼 앞에 테이블명이 자동으로 생성되는 어노테이션을 들었던 기억이 있는데 어떤 어노테이션이었는지 기억이 잘 안납니다.. 도와주실 수 있을까요?
-
미해결퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
vercel 설치과정 경고 질문입니다
선생님 터미널에서 npm i -g vercel으로설치중아래의 경고 문구가 있었고 CLI Login Failed창이 바로 나와요~ 경고와 관련이 있는건가요?아니면 다른 문제로 봐야할까요? (github로 login 했습니다)
-
해결됨Flutter 앱 개발 기초
cocoapods 설치오류 질문입니다.
cocoapds 설치진행중, 터미널에 sudo gem install cocoa pods 설치커맨드 입력시 생기는 오류입니다.
-
미해결홍정모의 따라하며 배우는 C++
6.17강의 중 2:40 질문있습니다.
for 문을 보다 예전 c++강의 자료나 책을 보면 선생님 처럼 코드를 구현하시던데, 실무에서도 자주쓰이는지 개인적으로 궁금해서 질문드립니다.//c++ style for(auto n : test) //c style for(int i = 0; i < 5; i++) 제가 직접 찾아본 바로는 현재 Microsoft 공식 홈페이지에서도 c 스타일인 방식으로 구현을 해놓은 것으로 확인했는 데, 실제로 어떤 방식을 자주 사용하나요??
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
컨피그 백업 및 복구(붙여넣기) 방법
안녕하세요. 넷가이버 강사님.너무 유용하게 강의 잘 듣고 있습니다.회사에서 급작 스럽게 네트워크를 담당하게 되어서 cisco C1000 장비를 도입 하게 되었습니다.컨피그 백업 및 복구(붙여넣기) 방법에 대해서 강의 추가 해주실 수 있나요?혹시 강의 추가가 어렵다면... 설명 해주시면 감사하겠습니다.장비는 putty로 접속 가능합니다.