묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결야곰의 iOS 프로그래밍
configure 메소드의 DispatchQueue.main
디스패치큐와 메인스레드에 대해 질문이 있습니다 🥲 Request.swift image 메소드 구현부에서 DispatchQueue.main.async { completion(image) }로 메인스레드에서 클로저를 실행하도록 만들어주었었는데 FriendTableViewCell.swift configure 메소드 내부의Request.image 메소드 호출부를 보면 completion 클로저에서도 또 메인스레드를 부르게 되어있어서 아래처럼 같은 일(메인스레드 부르는 일)을 중복으로 하게 되는 게 아닌지 궁금합니다! 제가 이해한 게 맞다면 이렇게 만들어주어야 하는 이유가 있을까요? DispatchQueue.main.async { DispatchQueue.main.async { guard let cell: FriendTableViewCell = tableView.cellForRow(at: indexPath) as? FriendTableViewCell else { return } cell.profileImageView.image = image } }
-
미해결UX/UI 시작하기 : Adobe XD 입문(Inflearn Original)
adobeXD를 활용해서 프론트개발을 할 때...
안녕하세요 어도비XD를 통해 정말 도움이 되었습니다. 궁금한 것이 있습니다. 홈페이지를 만들고 싶은데 어도비XD에서 작업한 것을 Html + CSS +JS로 추출을 할 수 있을까요?
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
아직도 에러가뜨나보네요?
Traceback (most recent call last): File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\__main__.py", line 181, in fmt_streams extract.apply_signature(stream_manifest, self.vid_info, self.js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\extract.py", line 409, in apply_signature cipher = Cipher(js=js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 43, in __init__ self.throttling_plan = get_throttling_plan(js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 405, in get_throttling_plan raw_code = get_throttling_function_code(js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 311, in get_throttling_function_code name = re.escape(get_throttling_function_name(js)) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 297, in get_throttling_function_name caller="get_throttling_function_name", pattern="multiple" pytube.exceptions.RegexMatchError: get_throttling_function_name: could not find match for multiple During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\hansol ju\Desktop\Work\section2\youtube-downloader.py", line 4, in <module> videos = yt.streams.all() File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\__main__.py", line 296, in streams return StreamQuery(self.fmt_streams) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\__main__.py", line 188, in fmt_streams extract.apply_signature(stream_manifest, self.vid_info, self.js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\extract.py", line 409, in apply_signature cipher = Cipher(js=js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 43, in __init__ self.throttling_plan = get_throttling_plan(js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 405, in get_throttling_plan raw_code = get_throttling_function_code(js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 311, in get_throttling_function_code name = re.escape(get_throttling_function_name(js)) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 297, in get_throttling_function_name caller="get_throttling_function_name", pattern="multiple" pytube.exceptions.RegexMatchError: get_throttling_function_name: could not find match for multiple [Finished in 5.204s]
-
미해결이더리움 디앱(dApp) 개발과 프로젝트, 블록체인 스마트 컨트랙트
강의자료 피피티
강의자료 피피티도 올려주시면 감사하겠습니다.
-
미해결이더리움 디앱(dApp) 개발과 프로젝트, 블록체인 스마트 컨트랙트
노션 워크스페이스 접근권한
노션에 접근권한이 없다고 나옵니다.
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
강의버전 업데이트좀 해주세요...
강의 버전을 업데이트하실 생각은 없으신가요? 완전 초보라 하나하나 따라하는데 3년전 예제와 버전들이라 헷갈릴때가 많네요...ㅠ 돈주고 산 강의인데 ㅠ
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
컴포넌트 구조 질문
안녕하세요. 강의를 잘 듣고 있습니다. 6:49 부모 컴포넌트에서 데이터를 자식 컴포넌트로 이동하는데 만일 자식끼리 데이터를 useState로 해야 한다면 redux를 이용하면 될까요?
-
미해결우디의 포토샵 강좌
shift+F5+Enter
shift+F5 단축키 사용해서 지우기까지는 되는데 enter를 눌러도 로쏘툴이 그대로 남아 있어요.
-
미해결우디의 포토샵 강좌
사진이 캔버스 안으로 들어가요
사진을 움직이면 캔버스 밖에 있는 부분은 안보이는데 캔버스에 딱 붙은 것처럼 하려면 어떻게 하나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 목록에서 에러가 뜹니다!
org.hibernate.QueryException: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode \-[IDENT] IdentNode: 'i' {originalText=i}라는 오류가 나는데, 어떤 것인지 모르겠습니다.
-
미해결Vue.js - Django 연동 웹 프로그래밍 (실전편)
안녕하세요 선생님 추가 질문이요 ㅠㅠ
강의에는 없는 내용인데 vue+django로 웹페이지를 만들다가 궁금증이 생겨서 질문 드립니다. 페이지에 Django DB로 요청하는 데이터가 많다보니 페이지 새로고침할때 속도가 점점 느려지는데, 새로고침 할때마다 DB를 건드리지 않게 html 파일을 만들어서 보여주게 하려면 어떤 방식으로 해야 될까요??
-
미해결<M.B.I.T> 테스트 페이지 만들기! with Django
제출 클릭 시 result로 못넘어가는 오류
모두 정상인데, 여기서만 문제가 생깁니다. 다 체크하고 제출을 누르면, result로 넘어가지를 못하네요. views.py의 best_developer.count때문이라는데, 찬찬히 봐도 잘 모르겠습니다. 혹시 오타때문인가 싶어 노션에 올라온 코드를 그대로 가져다가 돌려봐도 동일한 문제가 발생합니다. 비슷한 질문이 이전에 올라왔지만 답변이 올라오지 않아 제가 다시 질문드립니다..
-
미해결마케터를 위한 구글 애널리틱스 실무
PDF 강의북 요청드립니다
안녕하세요 PDF 강의북 요청드립니다. danbi7474@gmail.com 감사합니다 :)
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
아마존 S3로 이미지 외부저장소에 업로드하기
강의에선 네이버 클라우드를 외부저장소로 사용해서 저는 아마존 S3 버킷 사용할려 하는데 인터넷에 자료가 너무 많이있어서 뭘 따라야 될지 모르겠어서 이 점에 대해서 궁금점과 질문을 남깁니다. (참고로 저는 해외라서 네이버 클라우드는 사용이 불가해서 질문합니다!)
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
안녕하세요 감정일기 글 수정간 slice is not a function 으로 나와서 진도가 막혀있네요 ㅠ slice(0,25)부분에 에러가뜹니다
DiaryItem.js부 import MyButton from "./MyButton"; import {useNavigate} from "react-router-dom"; const DiaryItem = ({ id, emotion, content, date}) => { const env = process.env; env.PUBLIC_URL = env.PUBLIC_URL || ""; const navigate = useNavigate(); const strDate = new Date(parseInt(date)).toLocaleDateString(); const goDetail = ()=>{ navigate(`/diary/${id}`); } const goEdit = ()=>{ navigate(`/edit/${id}`); } return( <div className="DiaryItem"> <div onClick={goDetail} className={[ "emotion_img_wrapper", `emotion_img_wrapper_${emotion}`, ].join(" ")}> <img src={process.env.PUBLIC_URL + `assets/emotion${emotion}.png`}></img> </div> <div onClick={goDetail} className="info_wrapper"> <div className="diary_date">{strDate}</div> <div className="diary_content_preview">{content.slice(0,25)}</div> </div> <div className="btn_wrapper"> <MyButton onClick={goEdit} text={"수정하기"} /> </div> </div> ); }; export default DiaryItem; --------------------------------------------------------------------------------------------------- DiaryEditor.js import {useNavigate} from "react-router-dom"; import {useState,useRef,useContext, useEffect} from "react"; import {DiaryDispatchContext} from "./../App.js"; import MyButton from './MyButton'; import MyHeader from './MyHeader'; import EmotionItem from "./EmotionItem"; export const getStringDate = (date) => { let year = date.getFullYear(); let month = date.getMonth() + 1; let day = date.getDate(); if (month < 10) { month = `0${month}`; } if (day < 10) { day = `0${day}`; } return `${year}-${month}-${day}`; }; const emotionList = [ { emotion_id : 1, emotion_img : process.env.PUBLIC_URL + `/assets/emotion1.png`, emotion_descript:'완전 좋음', }, { emotion_id : 2, emotion_img : process.env.PUBLIC_URL + `/assets/emotion2.png`, emotion_descript:'좋음', }, { emotion_id : 3, emotion_img : process.env.PUBLIC_URL + `/assets/emotion3.png`, emotion_descript:'보통', }, { emotion_id : 4, emotion_img : process.env.PUBLIC_URL + `/assets/emotion4.png`, emotion_descript:'나쁨', }, { emotion_id : 5, emotion_img : process.env.PUBLIC_URL + `/assets/emotion5.png`, emotion_descript:'매우 나쁨', }, ] const DiaryEditor = ({isEdit,originData}) => { const navigate = useNavigate(new Date(getStringDate)); const contentRef = useRef(); const [content,setContent]=useState(""); const [emotion,setEmotion] =useState(3); const [date, setDate] = useState(getStringDate(new Date())); const {onCreate,onEdit} = useContext(DiaryDispatchContext); const handleClickEmotion = (emotion)=>{ setEmotion(emotion); }; const handleSubmit = () => { if(content.length <1){ contentRef.current.focus(); return; } if(window.confirm( isEdit? "일기를 수정하시겠습니까?" :"새로운 일기를 작성하시겠습니까?")){ if(!isEdit) { onCreate(date,content,emotion); } else { console.log(originData); onEdit(originData.id, date, content, emotion); } } navigate("/",{ replace : true }); }; useEffect(() => { if(isEdit){ setDate(getStringDate(new Date(parseInt(originData.date)))); setEmotion(originData.emotion); setContent(originData.content); } }, [isEdit, originData]); return( <div className="DiaryEditor"> <MyHeader headText = {isEdit ? " 일기수정하기 " : " 새 일기쓰기 "} leftChild = { <MyButton text={"< 뒤로가기"} onClick={()=>navigate(-1)}/> } /> <div> <section> <h4>오늘은 언제인가요?</h4> <div className="input_box"></div> <input className="input_date" value={date} onChange ={(e)=>setDate(e.target.value)} type="date" /> </section> <section> <h4>오늘의 감정</h4> <div className="input_box emotion_list_wrapper"> {emotionList.map((it)=> ( <EmotionItem key={it.emotion_id} {...it} onClick={handleClickEmotion} isSelected={it.emotion_id === emotion} /> ))} </div> </section> <section> <h4>오늘의 일기</h4> <textarea placeholder="오늘 하루 어땠어요?" ref={contentRef} value={content} onChange={(e)=>setContent(e.target.value)}/> </section> <section> <div className="control_box"> <MyButton text={"취소하기"} onClick={() => navigate(-1)}/> <MyButton text={"작성하기"} type={'positive'} onClick={handleSubmit}/> </div> </section> </div> </div> ); } export default DiaryEditor;
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
argocd 로 배포한 것 삭제 질문 있어요
argoCd 를 이용해 CD를 구성했습니다. sync 하여 예제 app 을 배포한 후 해당 app의 CD 를 제거 했습니다. 제가 생각했던 결과물은 "CD를 제거 하면 worker node에서 예제 app이 제거 되는 것" 이었습니다. 하지만 deploy, svc, pod 전부 그대로 떠 있더라구요. 원인이 무엇일까요? 제가 잘못 한 부분이 있는 것일까요 아니면 argoCd에선 CD를 삭제해도 CD만 제거될 뿐 worker node에 띄워진 app은 건드리지 않는 것인가요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
모든 종류의 상품을 한번에 DTO로 출력할 수 있을까요?
안녕하세요, 다름이 아니라 강의를 마치고 단일 테이블 전략으로 구성된 상품목록을 한번에 DTO로 만들어서 출력해보고 싶은데 이것이 가능한 방법일까요? 테스트의 구성은 아래와 같습니다. @Test public void dtoMappingTest() throws Exception{ //given Book book = createBook("JAVA PERSISTENCE API", 10000, 10, "AUTHOR", "ISBN"); Movie movie = createMovie("MOVIE", 10000, 3, "ACTOR", "DIRECTOR"); Album album = createAlbum("ALBUM", 5000, 20, "ARTIST", "INFO"); //when List<Item> list = itemRepository.findAll(); //then // 책, 영화, 앨범 각각의 정보를 포함한 DTO를 한 리스트에? } 이렇게 전체 아이템 리스트를 받아 온 다음 아래와 같은 DTO 클래스에 해당 상품 종류에 맞는 정보를 매핑해서 하나의 리스트 형태로 리턴하는것이 가능할까요? @Getter @Setter @Builder @JsonInclude(Include.NON_EMPTY) public class ItemDto { private Long id; private String name; private int price; private int stockQuantity; private List<Category> categories; private String artist; private String etc; private String director; private String actor; private String author; private String isbn; } 시간이 늦어서 아직 구현은 안 해보았지만 제가 생각한 해결책은 Item 클래스에 DTO를 생성해주는 추상 메소드를 생성하고 각각의 상품 종류별 클래스에 그 추상 메소드를 직접 구현하는 방법입니다. 이 방법이 현실성이 있는지 아니면 다른 방법이 있는 것인지 아예 불가능한 이야기인지 정말 궁금합니다. 감사합니다.
-
미해결실무에서 바로 쓰는 영어 이메일
강의 자료 요청드립니다.
안녕하세요, 강의자료 hyunjin.yoo@halla.com 전달 부탁 드리겠습니다!
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
크롬이 자동화된 테스트 소프트웨어에 의해 제어되고있습니다
크롬이 자동화된 테스트 소프트웨어 에의해 제어되고 있습니다 라고 뜨면서 창이 꺼집니다 잘되고 로그인까지 되고다른싸이트도 문제없이되는데 바로꺼지네요 구글에 찾아서 코드 복붙해봐도 잘안되네요 방법이 없을까요
-
미해결[따라하면 취업되는 게임기획]MORPG 게임밸런스 기획
이 다음 내용(성장, 경제)도 강의할 예정이실까요?
강의 너무 좋아서 추천도많이했습니다!! 이 다음 내용. 특히 경제 부분도 강의할 계획이 있으실까요? 그리고 현재 방치형 게임을 개발중입니다. 강의해주신 내용을 방치형 게임에 접목하는데 있어서 주의해야할 점이 있을까요??