묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
스크린의 높이를 680으로 설정했을 때 오류?
제가 코드를 짤 때 실수로 스크린의 높이를 680으로 설정해 놓고 만들었었는데 이때 똥의 의미지가 화면 밑에 계속해서 쌓이는 현상이 일어났었습니다. 그래서 똥의 이미지를 계속해서 밑으로 내려가게끔 해보았는데 이러한 상황에서 똥의 이미지가 스크린 하단에서 멈춰 있었습니다. 그리고 스크린 높이를 다시 640으로 수정하니 이러한 상황이 없어졌습니다. 이러한 현상이 일어나는 이유를 알 수 있을까요??? 그리고 항상 좋은 강의 잘 듣고 있습니다. 감사합니다.
-
미해결실전! Querydsl
@Embeddable 관련질문
안녕하세요 질문이 있습니다. 기존 존재하는 컬럼을 변경하면 안되는 DB에 접속해서 사용을 하고 있습니다. team-member 일대다 관계이고 team 정보를 가져올때 member정보를 리스트로 가져오려고 합니다. @Entitypublic class team { @JoinColumn(name = "team_id")private List<member> members; } DTO를 따로 선언해서 가져옵니다. QueryResults<TeamResponse> results = queryFactory .select(new QTeamResponse( team.members )) .from(team) 그런데 에러가 발생하였습니다. nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: not an entity 위의 에러가 떠서 확인을 하였더니 member 클래스가 @Embeddable입니다. 이 문제때문에 위 에러가 발생하는것 같습니다. @Entity로 선언하자니 PK가 있어야한다는데 변경할수는 없고 어떻게 해야 리스트를 가져올수 있을가요? 리스트를 제외했더니 에러없어 잘 가져오는걸 보니 리스트 문제가 맞습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReadLock부분에서 이해한게 맞는지 확인하고 싶습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이부분에서 Interlocked.CompareExchange 조건문에 예상값과 비교후에 +1을 해주는데 일반적인 상황은 아니겠지만 ReadCount범위를 초과하게 되면 어떻게 되는거지 라고 생각을 해보니 결국 WriteCount영역에 도달을 하게 되지만 ReadCount최대값의 +1 까지만 접근 가능하고 더이상은 WriteCount가 올랐기 때문에 더이상 접근할수 없게되고, 그 이후에 ReadUnLock() 실행이 되면 WriteCount에서 빠지고 그 뒤로는 이전처럼 동작하게 구조가 맞는거죠 이해한게 맞는지 확인하고 싶어서 글 올려봅니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
let newImages 및 splice() 질문 + 삭제질문
선생님 안녕하세요, new images에 질문이 있습니다~ 1. let newImages = [...images]; newImages.splice(currentIdx, 1); setImages(newImages); 선생님이 써 주신 상단의 원래코드에서 let newImages = [...images].splice(currentIdx, 1); setImages(newImages); 이렇게 줄일 수 있지 않을까 싶어 저렇게 코드를 짰더니반대로 클릭한 것만 남고 나머지가 사라지더라구요. 찾아보니까 splice()를 하면 삭제한 값이 return되는 것 같은데, 리턴한 값으로(=즉 내가 클릭한 인덱스) images가 새롭게 정의되어서 그런게 맞나요??? 그렇다면 원래 코드와의 차이는 미리 선언을 하고 이후에 splice()를 하느냐 아니냐인 것인데, 선언을 먼저한 배열은 리턴 값이 아닌, 이미 선언되었던 배열이라 splice로 삭제된 값만 남고, 리턴 값은 그대로 리턴이 되는건가요?.. 정리하자면 1. 배열 선언 먼저 -> 선언된 배열에서 splice함 -> 삭제한 idx제외하고 배열에 남음 -> 배열은 배열대로 남아있고 삭제한 값은 리턴으로 출력할수잇음(?) 2. 배열 선언과 splice 동시 -> 배열을 splice한 return값이 배열로 선언됨 -> 나머지값은 그냥 없어짐(?).. 이게 맞나요....???? 대충 감은 알겠지만 확실한 차이를 잘 몰라서 질문드립니다 ㅜ... 제 질문을 부디 이해하셨으면 ....! 참고용으로 테스트했던 콘솔이미지 첨부드려요! 2. 추가질문 images.splice(currentIdx, 1); setImages([...images]); 이렇게도 시도해봤는데 원래 코드와 똑같이 동작하더라구요.newImages 배열을 새로 만들어 사용하는 이유는 원본은 그대로 두고 객체(?)처럼 쓰려고 하신게 맞는건가요?? 3. 밑에 다른 분 질문에서 서버 사진 삭제관한 질문인데요 ----------- 파일 삭제는 노드 부분에서 const fs = require('fs') const path = 'yourPath(경로)' try { fs.unlinkSync(path) } catch(err) { console.error(err) } ---------- 이렇게 답변 주셨었는데 노드부분은 혹 production.js를 말하는건가요?좀 더 자세히 알려주시면 감사드리겠습니다.. :) 답변 기다리겠습니다~ 고맙습니다!~!
-
미해결C로 배우는 자료구조 및 여러가지 예제 실습
포인터 참조 질문
names가 point형으로 선언되어 있고, names[i]에 이름이 저장된 메모리의 주소값이 저장된 것으로 이해했습니다. printf("%s", name[i])을 하면 바로 name 주소 값이 아니라 입력했던 string이 나오는게 잘 이해가 안됩니다. 역참조로 *name[i]를 해야 이름이 나올 것 같은데 아닌게 좀 이해가 안됩니다.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
오류 질문입니다
오류가 계속 이렇게 뜨는데 왜 그런건가요? src/auth/auth.service.ts:18:58 - error TS2554: Expected 0 arguments, but got 1. 18 const cat = await this.catsRepository.findCatByEmail(email); ~~~~~ src/auth/auth.service.ts:20:10 - error TS1345: An expression of type 'void' cannot be tested for truthiness. 20 if (!cat) { ~~~ src/auth/auth.service.ts:27:11 - error TS2339: Property 'password' does not exist on type 'never'. 27 cat.password, ~~~~~~~~ src/auth/auth.service.ts:34:46 - error TS2339: Property 'id' does not exist on type 'never'. 34 const payload = { email: email, sub: cat.id }; ~~ src/auth/jwt/jwt.strategy.ts:18:43 - error TS2339: Property 'findCatByIdWithoutPassword' does not exist on type 'CatsRepository'. 18 const cat = await this.catsRepository.findCatByIdWithoutPassword( ~~~~~~~~~~~~~~~~~~~~~~~~~~ [오후 9:01:08] Found 5 errors. Watching for file changes.
-
해결됨Redux vs MobX (둘 다 배우자!)
runInAction 에 비동기
mobx react next 로 하고 있는데 runInAction 에서 비동기처리를 하려면 어떻게 해야되나요? Component.tsx const store = useIndexStore(); useEffect(() => { const fetchData = async () => { await store.loadNewMemberData(); console.log(store.newMember) } fetchData(); }, []) 일단 훅스 컴포넌트에서 useEffect에서 store 에 저장된 정보를 불러와야되는데 Promise 기때문에 따로 함수를 만들어줘서 호출을 했고요. useEffect 뜯어보니 함수 리턴타입이 void|Destructor(?) 라 Promise 타입을 못받아서 저렇게 만들었습니다. 1. useEffect 에서 비동기 작업을 할때 저렇게 async 함수 만들어서 호출해야되는건가요? 2. async 함수를 만들었으면 꼭 await 으로 호출안해도 되는건가요? store.ts class IndexStore { root; repository rtrMenu: MenuItem[] = []// constructor(root: RootStore, repository: BaseRepository) { this.root = root this.repository = repository makeAutoObservable(this) } loadRealtimeRequestData = async (): Promise<void> => { runInAction(() => { this.rtrMenu =this.repository.getRealTimeRequestItem() }); } } store에선 loadRealtimeRequestData() 함수에서 네트워크 요청한 결과를 받습니다. await this.repository.... 여기가 await axios.get() 이런 역할을 하게 되는데 then 을 하면 쉽게 해결될문제지만 async awiat 으로 runInAction 안에서 처리할려면 어떻게 해야되나요?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
app.js를 server.js로 분리한 이유
만일 그대로 app.js에서 서버를 실행해버리면, 요청이 올때마다 app.js로 와 온갖 미들웨어를 실행하기 때문에, listen만 하기 위해서 나눠 논 것인가요?
-
미해결스프링 핵심 원리 - 기본편
IntelliJ 자동완성 관련
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네[질문 내용]스프링으로 전환하기 4:05 구간을 보시면 applicationContext.getBean(~)에 Bean 이름을 입력하십니다. 신기하게도 텍스트일 뿐인데 IntelliJ가 추정해서 Bean 이름을 제안해주네요. 제 IntelliJ는 자동완성이 안되는데 따로 설정법이 있나요? 구글링을 해봐도 해당 내용을 찾기 어렵군요. IntelliJ IDEA 최신 버전을 사용 중입니다.
-
미해결버그헌팅과 시나리오 모의해킹 전문가 되기
20:40 hosts 파일 관련
호스트 파일은 아이피와 도메인 이름만을 연결해주는 것 인가요 ? 만약 이름만을 연결해주는 것이라면, 왜 아이피만을 입력했을 때는 예쁜 브라우저가 나오지 않고 이름만 바꿔주었을 뿐인데 예쁜 브라우저가 나오는 것 일까요 ?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
컬렉션과 스토어
제가 이해하기로는 컬렉션은 서버가 클라이언트로부터 다양한 목적을가진 데이터를 전달받을탠대 이때 클라이언트가 전달할 URI( 경로 )는 서버가 관리하고있는 리소스 디렉토리까지만 지목한다 그렇게 데이터 전달로 지정된 URI( 경로 ) 디렉토리를 컬렉션이라고 부른다 스토어는 클라이언트가 서버에 전달한 데이터가 처리될 리소스 디렉토리를 클라이언트가 미리 그 경로를 지정하여 요청에 함께 전달한다 따라서 클라이언트가 지정 , 관리하는 리소스 디렉토리를 스토어 라고한다 라고 이해하였는데요 질문은 컬렉션과 스토어의 하위디렉토리가 존재할수있나요? 그리고 스토어의 하위디렉토리가 서버에서 만들어지면 스토어는 클라이언트에서 관리되고있는것이 아니게 되어지나요?
-
미해결Vuetify Admin Template 만들기 - 기본편 (Based Vue2)
vueint
vue template 만드실 때 vueint 입력하면 template 기본틀이 작성 되던데요! 어떻게 하신건지 궁금합니다!
-
미해결그림으로 배우는 HTML/CSS, 입문!
질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
에러가 나는데 조치방법을 모르겠어서.. 문의남김니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. vue : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\cki60\AppData\Roaming\npm\vue.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https:/ /go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오. 위치 줄:1 문자:1 + vue init webpack-simple vue-todo + ~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
분기문 강의 5분대 isDead의 설명이 이해가 안갑니다.
안녕하세요 강의 정말 잘 보고있습니다. 한가지 의문이 생겨서 문의드립니다. 분기문 강의 중 5분대에서 어셈블리어로 코드를 실행해서 보여주시는데 여기서 isDead에 대해서 전역변수 라고 말씀해주시는데 isDead라는 변수는 main함수 내에서 선언이 되어있으니 전역변수가아니라 스택 영역내에있는 지역변수가 아닌가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
서비스 디스커버리 관련 질문입니다.
안녕하세요. 수업 잘 듣고있습니다. 서비스 디스커버리 관련 질문인데요, 스프링 유레카를 클라우드에 올릴때, 1개의 서버(팟)에만 올려야 하는지요? 여러개의 팟에 올려서 등록된 인스턴스가 공유가 가능한건가요? 서버1개에서만 유레카가 돌면 서비스디스커버리 자체의 트래픽이 높아져, 혹은 커넥션이 꽉차 장애가 나는경우가 있지 않을까 해서요. 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
스프링 시큐리티 관련 보안문제
만약 이 예제에서 브라우저에서 암호화한다음 서버로 보내줘도, 결국 서버 메모리 안에서 decoding하는 과정에서 메모리에는 개인정보가 남을텐데 어떻게 해결할 수 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
포인터 기초#2 궁금한점입니다.
포인터 기초#2 강의에서 int 자료형인 number를 캐스팅을 이용하여 __int64 포인터 변수인 *ptr2로 집어넣고 *ptr2 에 0x0000AABBCCDDEEFF를 집어넣어서 메모리가 밀리는 현상을 보여주셨는데, number의 주소에 가보면 (number의 주소) : ccddeeff 한 칸 높은 주소 : 0000aabb 로 되어 있는 이유가 리틀-엔디안 방식이기 때문인건 알겠습니다. 근데 저장이 될 때 한칸 낮은 주소 : ccddeeff ( number의 주소) : 0000AABB 의방식으로 저장되지 않는 이유가 궁금합니다. 스택 프레임은 높은 주소에서 낮은 주소로 쌓이는 형식으로 되어있고, main함수 안의 변수도 스택 메모리를 차지하는 입장이므로 변수의 크기가 주소를 넘어가면 더 낮은 메모리에 저장되야 하지 않나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
server side rendering 시 END 에 관한 질문
[getServerSideProps - 코드] export const getServerSideProps = wrapper.getServerSideProps((store) => async ({ req, res, ...ets }) => { console.log('getServerSideProps req.headers: ', req.headers); const cookie = req ? req.headers.cookie : ''; console.log('cookie: ', cookie); axios.defaults.headers.Cookie = ''; // 서버에서 다른 사람과 cookie가 공유되는 문제를 방지하고자 초기화를 해준다. if (req && cookie) { axios.defaults.headers.Cookie = cookie; // 서버에서 요청일때랑 cookie가 있으면 설정한 cookie를 넣어준다. console.log('axios.defaults.headers.Cookie: ', axios.defaults.headers.Cookie); } store.dispatch({ type: LOAD_MY_INFO_REQUEST, }); store.dispatch(END); await store.sagaTask.toPromise(); }); 로그인 페이지에서 로그인 시 성공적으로 홈으로(index.js) 이동하게 됩니다. 1. front server에 console을 확인하면 REQUEST 후 SUCCESS까지 잘 받아옵니다. [Front: Application - Cookies] [API Server: Application - Cookies] 2. 페이지를 새로고침 시 로그인이 풀리는 문제 발생 SSR을 통해 다시 REQUEST 후 다음으로 넘어가질 못합니다. [Front: Application - Cookies] [API Server: Application - Cookies] axios 통해 header에 동일한 Cookie를 담아 잘 넘길텐데 request 후 success까지 넘지길 못하고 user state me에 user 정보를 왜 담아오지 못하는지 원인을파악하지 못했습니다. END를 통해 요청과 응답까지 기다려주는 것으로 알고있는데왜 기다리질 못하고 끝나버리는지 궁금합니다. 계속해서 구글링과 흐름을 파악하고 console을 살피는데도문제해결에 어려움을 겪고있습니다.. 도와주시면 감사하겠습니다
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
jesf.fn() 과 jest.mock() 차이점
jest.fn() : 개별적으로 하나하나씩 모킹 함수 해줄때 사용. User 객체는 안에 많은 메소드들을 내포하고 있다.만일 jest.fn()을 통해 모킹화 하면 User.fineOne = jest.fn(); User.findOrCreate = jest.fn(); 이런식으로 하나하나 일일히 지정해야 한다. 따라서, jest.mock("..."); const User = require("..."); 이렇게 User 객체에 있는 모든 엘리먼트를 그룹 모킹화 하기위해 사용하기 위해 jest.mock()를 사용하는 것이다. (jest.mock는 사실 순서는 상관없음. import나 function같이 위로 자동으로 올라감)제가 이해한게 맞는지 검증 부탁드립니다.