묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
쿠키 만료
프론트나 백엔드 서버를 껐다가 다시 켜거나, 브라우저를 아예 껐다가 다시 켜면 쿠키도 만료되는 건가요? application 안쪽에 쿠키는 남아있는데 쿠키를 이용해 사용자 정보를 가져오려고 하면 null 값이 뜹니다(쿠키가 없거나 로그인 중인 사용자가 없을 때 null을 반환하도록 작성해두었습니다).
-
미해결퍼블리셔 취업을 위해 제대로 배워보는 html과 css, 그리고 웹표준
속성을 닫을때 작은따옴표로 쓰면 안될까요?
예를들어서 'utf-8' 이렇게요..! 나중에 차질이 있을까요? 감사합니다!
-
미해결실전! Querydsl
Spring Sort를 QueryDSL 변환 적용하는 방법 문의
안녕하세요. 강사님 QueryDSL 재미있게 배웠습니다. 정렬기준을 아래와 같이 받았을 때 pageable 파라미터를 이용해서 QueryDSL에 적용하는 방법에 대해서 고민입니다. 정렬기준 입력 형태: URI?sort=field1,asc&sort=field2,desc org.springframework.data.domain.Sort 방법1. pageable 값을 얻어와 직접 queryDSL에 OrderSpecifier로 지정 if (pageable != null) { query.offset(pageable.getOffset()); query.limit(pageable.getPageSize()); for (Sort.Order o : pageable.getSort()) { PathBuilder<Object> orderByExpression = new PathBuilder<Object>(Object.class, "object"); query.orderBy(new OrderSpecifier(o.isAscending() ? com.mysema.query.types.Order.ASC : com.mysema.query.types.Order.DESC, orderByExpression.get(o.getProperty()))); } } 방법2. applyPagination() 함수로 매핑 getQuerydsl().applyPagination(pageable, jPQLQuery); 결과적으로 방법2가 더 깔끔해 보이는데 원본 엔티티와 DTO객체가 달라서 org.hibernate.hql.internal.ast.QuerySyntaxException이 발생하는 이슈가 있습니다. 현재까지 결론은 방법1을 사용해야할 것으로 보이는데 더 좋은 방법을 아시는지 문의드립니다. 감사합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
EF 업데이트 관련 질문.
안녕하세요. EF 관련해서 질문이 있어 글을 적습니다. 우선 DB관련 강의는 구매 해놓고 아직 보지 않은 상태에서 본 강의의 EF 내용을 기준으로 여쭤보는 부분 죄송합니당. ORM의 경우 코드에서 객체의 값을 바꾸고 Save함으로써 그 내용이 DB에 적용되기 때문에 작업자가 매우 편리하게 사용할 수 있는 것으로 이해하였는데요. 그런데 저 Save의 경우 실제 DB의 모든 값을 바꾸게 되는것일까요? 아니면 변경된 부분만을 EF가 알아서 판단하여 Update해 주는 방식인 것일까요? 전자의 경우 바뀐 값은 하나인데 모든 데이터를 통째로 갈아 치운다면, Update하는 것보다 상대적으로 DB 트래픽 낭비 또한 심하게 될것 같은데 제 생각이 맞는 것일까요? 답변 부탁 드리겠습니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
타임리프 보기만해도 어려워보였는데
스프링부트랑 연동해서 웹에 에러메시지 띄우는거보고 입이 "떠억" 벌어졌네요. 진짜 엄청난 물건이군요... 공부할게 점점 늘어만 갑니다 ㅜㅜ
-
미해결제주코딩베이스캠프 Code Festival: Python 100제
선택정렬 최솟값_인덱스 부분 질문입니다.
def 최솟값_인덱스(l): 인덱스 = 0 비교값 = l[0] for i in range(len(l)): if l[i]>비교값: 인덱스 = i return 인덱스 print(최솟값_인덱스([5,10,66,77,54,1,32,11,15,2])) 동영상에선 인덱스 = 0 부분이 없지만 파이썬으로 실행을 해보려 하니깐 전에 선언을 해야된다는 오류가 뜨는 것 같아요 그리고 영상에서는 print(최솟값(입력값))으로 보여주는데 함수명은 최솟값_인덱스로 되어있어서 혼란스럽네요 어떤 원리로 되는건가요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
antd Button 컴포넌트의 loading 구현 관련 질문
안녕하세요 제로초님 강좌에서 antd Button 컴포넌트 prop으로 loading={addPostRequest} 처럼 제가 따로 Button 컴포넌트를 구현해봤는데 아래 이미지와 같이 버튼 하나만 눌렀는데도, 버튼 옆에 한꺼번에 로딩중이라고 뜨게 되더라구요 각각 버튼을 눌렀을때, 누른 버튼 옆에만 로딩중이라고 뜨게 하려면 어떻게 해야 할까요...? 바쁘시겠지만 조언 부탁드립니다ㅠㅠ 아래 소스가 있는데, List 컴포넌트 내부에 Button 컴포넌트를 사용하고 있습니다. 자식 Button.js function Button ({ dataId, event, loading, children }) { return ( <> <button data-id={dataId} onClick={e => event(e.target.dataset.id)}> {children} </button> {loading && <span>로딩중..</span>} </> ); } export default Button; 부모 List.js (props로 배열로 된 lists 를 부모로부터 받고 있습니다.) function List ({ lists, tit, done, del }) { const dispatch = useDispatch(); const addDoneListRequest = useSelector(state => state.todoList.addDoneListRequest); const deleteTodoListRequest = useSelector(state => state.todoList.deleteTodoListRequest); const onClickDone = useCallback((id) => { dispatch(addDoneList(id)); }, []); const onClickDel = useCallback((id) => { dispatch(deleteTodoList(id)); }, []); return ( <ListLayout> {tit && <h2 className="tit">{tit}</h2>} <ul className="list"> {lists.length > 0 && lists.map(list => ( <li key={list.id}> <p>{list.content}</p> {done && <Button dataId={list.id} event={onClickDone} loading={addDoneListRequest} >완료</Button> } {del && <Button dataId={list.id} event={onClickDel} loading={deleteTodoListRequest} >삭제</Button> } </li> )) } </ul> {lists.length === 0 && <p className="not">리스트가 없습니다.</p>} </ListLayout> ); } export default List;
-
미해결홍정모의 따라하며 배우는 C언어
22분 코드 논리 연산 관련해 질문있습니다.
22분 작은 버퍼를 반복해 사용해 큰 버퍼를 사용하는 것처럼 보이는 코드입니다. int main() { char small_array[5]; puts("Enter long strings:"); while (fgets(small_array,5, stdin) != NULL && small_array[0] != '\n') fputs(small_array, stdout); } 여기서 while (fgets(small_array,5, stdin) != NULL && small_array[0] != '\n') 를 안쪽의 &&대신에 || 을 사용해봤습니다. 제 예상은 엔터만 입력할시 종료되는것이었는데, 엔터를 치니 그냥 엔터로 받고 출력까지 하는것을 보았습니다. 왜 그런 건가요? ------------------------------------------------------------ 조금 더 고민해봤습니다. 제가 이해한 바로는 && : NULL이거나 엔터거나 둘중 하나면 아웃. || : NULL이거나 엔터거나 둘다 만족하면 아웃. ||일때 엔터 치면 못빠져나오고 반복하는 것을 보아, NULL 이 아니거나, small_array[0]가엔터가 아니어서 만족을 못한다는 것인데, 둘 중에 뭘 만족 못하는지 모르겠습니다. -------------------------------------------------------- 코드를 살짝 고쳐가면서 보아 엔터만 쳤을때는 NULL 이 아닌것을 확인했습니다. 왜 엔터를 쳤을땐 아무 입력도 없는데 NULL값이 아닌가요? fgets를 써서 \n이 자동으로 없어지지 않아서 그런건가요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
xgboost
아나콘다를 python 3.8버전으로 설치하다보니 xgboost와 호환지 되지 않더군요,, 해결 방법이 없을까요..?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
class 관련 질문
1. f.func1() 의 코딩이 오류가 나는데, 원래 클래스 메소드는 클래스가 전체 공유하는 거잖아요?, f도 Selftest 클래스에 속해있는데 왜 func1() 함수를 사용 못하는 건가요?
-
미해결화이트해커가 되기 위한 8가지 웹 해킹 기술
xampp 브라우저 실행이 안되네요.
안녕하세요. '8가지 웹해킹 기술' 강의 듣다가 '모의 해킹 완전정복'을 먼저 들어보려고 합니다. 1. 저는 vmware pro를 쓰고있어서 그냥 vmware pro에 칼리 리눅스 최신 버전을 설치했는데요. 수업 듣는데 문제는 없을까요? 2. xampp는 다운로드 받고 실행 중 '기본 웹 브라우저로 실행에 실패했습니다' 창이 뜨고 터미널에서도 running firefox as root in a regular user's session is not supported 라고 뜨네요. 해결 방법은 뭘까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
multipart file array 표현하는 방식의 표준이 있나요?
김영한님 안녕하세요? 딱 필요했던 정보를 재밌고 알차게 정리해주셔서 HTTP 강의 즐겁게 보고 있습니다 :) 제가 영한님의 HTTP 강의를 들어야겠다고 다짐하게 된 에피소드가 있는데요, 네트워크 통신 관련하여 백그라운드가 얕아서 인터넷에 검색해봐도 원하는 결과를 찾지 못했습니다. 관련하여 조언이나 힌트를 얻고자 질문 드립니다. 글 읽어주셔서 미리 감사드리고, 답변 주신다면 도움이 많이 될 것 같습니다! --- Flutter 클라이언트에서 네트워크 통신을 위해 `DIO`라는 라이브러리를 사용하고 있는데, 해당 라이브러리에서 multipart 필드가 array면 필드명(ex:files)에 '[]'를 추가하여(ex:files[]) 하여 서버로 통신하고 있습니다. 해당 라이브러리의 설명으로는 대부분의 백엔드 서버에서 필드명에 []를 붙이지 않으면 multipart file array를 인식하지 못하기 때문에 편의(?)를 위해 이런 내부 동작이 있는 것 같습니다. https://pub.dev/packages/dio#multiple-files-upload // Flutter 클라이언트 샘플 코드 FormData.fromMap({ "files": [ MultipartFile.fromFileSync("./example/upload.txt", filename: "upload.txt"), MultipartFile.fromFileSync("./example/upload.txt", filename: "upload.txt"), ] }); 클라이언트에서 files라고 필드를 정의해도, 서버에서 확인해보면 files[]라고 보내고 있습니다 :) 사실 네트워크 통신 시 필드명에 배열을 표현하는 방식은 언어마다 다양한 것 같은데, 클라이언트에서 사용하는 네트워크 라이브러리에서 배열 표현에 `[]`를 붙이는 걸 보면 제법(?) 강력한 표준인 게 아닐까 추측하고 있습니다. 서버에서는 'files'로 보내도 multipart file 배열을 인식할 수 있지만, 그래도 multipart 필드명에 []를 붙여두었습니다. files => files[] 혹시 관련된 표준 내용을 확인하려면 어디서 알아봐야할까요? 이게 일반적인 표준이긴 한가요? --- 제가 아직 챕터 2까지 밖에 안들어서 강의 내용에 있는데도 성급하게 질문 드린것이라면 죄송합니다^^;
-
미해결Vue로 Nodebird SNS 만들기
localStorage에 대해서 문의 드립니다.
언어 변경 기능을 추가하려고 localStorage 를 사용하려고 하는데요. localStorage.setItem('lang') 이거는 되는데 localStorage.getItem('lang')을 하려고 하는데 localStorage is not defind 라는 오류가 계속 뜹니다. 구글에서 찾아보니깐 서버사이드 렌더링에서는 localStorage 를 다르게 사용해야 한다는것 같은데 nuxt 에서는 localStorage 사용법이 다른가요 혹시?
-
미해결UX UI 디자이너의 연봉 올려주는 프로토타이핑 툴, 프린서플
찜하기 인터렉션 관련 궁금한 점이 있습니다.
하트 아이콘을 누르면 찜하기 인터렉션 창이 뜨고 다시 아이콘을 누르면 없어지게 하는 방법을 알려주셨는데요! 하트를 다시 누르지 않아도 2-3초 후 자동으로 창이 사라지게 보여주려면 어떤 기능을 활용하면 되나요? 창이 떴다가 사라지는 예시는 없는거 같아서 응용이 잘 안되어 고민하다 여쭈어봅니다 ㅠㅠ
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Client.Timeout exceeded while awaiting headers
AWS EC2 리눅스 환경으로 실습을 잘하고 있었는데요, 포트 binding 해주는 실습 한 이후에 갑자기 docker hub에서 img pull 이 안되는것 같아요. node 받는것부터.. 구글링해서 dns 주소 확인, 재시작 등 했는데도, 해결이 안되서 실습이 안되네요. 혹시 조언 가능하실까요? ^^ Unable to find image 'hello-world:latest' locally docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers). See 'docker run --help'.
-
미해결UX UI 디자이너의 연봉 올려주는 프로토타이핑 툴, 프린서플
import로 불러올때 2배로 불러오시는 이유가 있을까요?
스케치 작업 후 프로토타이핑을 위해 불러올때 2배로 불러오시는 이유가 궁금합니다. 녹음 저장시에도 2배로 저장되어 해상도 퀄리티를 위해 그러시는 걸까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
환경변수를 어디에 세팅해야 되나요?
forest admin 알려주셔서 정말 감사합니다. 아주 유용하게 쓸수있을것 같습니다. 근데 forest admin 배포서버에 적용하려고 하니 environment variables 를 세팅하라고 뜨잔항요? 근데 어디에 세팅해야 되는건가요? /etc/profile 에 세팅해놓고 재부팅까지 해봤는데 여전히 아래 화면이 뜨네요
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Entity와 스프링의 @ResponseEntity의 의미
안녕하세요 이 강의와 크게 관련은 없지만 문득 궁금한점이 있어 질문 남깁니다 스프링의 애노테이션중에 @ResponseEntity라는 것이 존재하는 것으로 알고 있습니다 여기서 Entity가 의미하는것이 이 강의에서 언급되는 Entity와 동일한 것이며, HTTP표준스펙이 개정되어 Entity가 Representation으로 명칭이 변경되었음에도 @ResponseEntity라는 이름을 그대로 갖는건 이미 기존에 사용되는곳이 많기 때문인가요?
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
p.157 스레드풀 관련
강의에서 스레드풀을 설명해주실때 자기 코어개수에 맞게 늘려주기위해 UV_THREADPOOL_SIZE=8 명령어를 이용한다 하셨는데 강의에서 본인 컴퓨터에서는 코어가 6개라고 하셨는데 어떻게 동시에 8개가 실행되었나요? 6개 2개씩 출력 되어야 되지않나요?
-
미해결그리드(Grid) 핵심이론 및 실전 활용
div*6{$} 가 먹히지 않습니다!
설명해주신것 같이 div를 여러개 생성할때요. div*6{$} 탭키를 쳤을때 div*6{<1></1>} 이렇게만 생성되는데 뭐가 문제일까요??ㅠ