묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
안녕하세요 질문있습니다.
실제로 MySQL에서 Stored Procedure, Function, Trigger나 Cursor를 지원하는데 (물론 실무에서는 많이 안쓸거라 믿습니다 ㅎㅎ) JPQL에서도 이들을 지원해주나요?
-
해결됨실전 리액트 프로그래밍
componentWillUnmount() 이 정확히 이해가 가지 않아서 질문 드립니다!
강사님 안녕하세요 강의 듣고 '실전 리액트 프로그래밍' 책도 사서 보고 있는데 개인적으로 강의 보다 책 내용이 훨씬훨씬훨씬 좋아서 만족스럽게 정독하고 있습니다 ㅎㅎ 다만 공부하는 중에 책이랑 리액트 공식 사이트를 봐도 이해가 안가는게 있어서요! componentWillUnmount()이나, 그와 비슷한 useEffect 훅의 return 값에서 clearInterval 같이 클리어 해주는 패턴은 알지만, 정확히 이해를 못하고 있어요 https://ko.reactjs.org/docs/react-component.html#componentwillunmount 리액트 사이트에서 componentWillUnmount를 설명하는 내용 중에 정확히 '컴포넌트가 마운트 해제되어 제거되기 직전' 이 어떤 때일까요...? 마운트가 해제된다는 말은 DOM 에서 아예 삭제되기 전이라는 말일까요? 그렇다면 clear를 해주는 의미가 없지 않나요 어차피 DOM에서 날라간다면... 아니면 컴포넌트가 최초 렌더링 -> 마운트 -> 업데이트 -> 렌더링 후에 업데이트 될일이 없으면 언마운트 처리가 되는건가요? 마운트 해제의 의미와 마운트 해제가 언제, 어떤 것에 의해서 일어나는지를 도통 모르겠어요 혹시 자세히 알고 계신다면 답변 부탁드립니다 ㅠㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
TLS에 관하여
만일 게임서버를 제작할때 유저들의 위치정보들을 전달할때도 TLS를 통해서 모아서 쓰나요? 아니면 따로 쓰는게 있나요? 아니면 TLS를 쓸필요가 없나요?
-
미해결유니티 2D 로그라이크 게임 만들기 [한글자막]
키보드 입력에 대한 질문
영상에는 없지만 이동 시 한박자 늦게 이동되는데 어째서 이렇게 되는지 알 수 있을까요? private void Update() { // 플레이어의 턴인지 체크 if (!GameManager.instance.playerTurn) return; // 플레이어 턴이 아니면 이하 코드들이 안돔 // 이동 구현 int horizontal = 0; // 가로 방향 int vertical = 0; // 세로 방향 horizontal = (int)Input.GetAxis("Horizontal"); vertical = (int)Input.GetAxis("Vertical"); if (horizontal != 0) vertical = 0; // 가로로 움직이면 세로로 움직임 정지, 대각선 이동 방지 // 둘 중에 하나가 0이 아니면 플레이어가 움직임 // 일반형 변수 Wall을 넣은 이유는 상호작용할 수 있는 벽에 닿을지도 모르기에... // 이런 식으로 일반형 T는 함수를 호출할 때 상호작용할 컴포넌트를 특정할 수 있음 // 적의 경우 플레이어와 상호작용할 것이 예상되니 특정할 수 있을 것 if (horizontal != 0 || vertical != 0) AttemptMove<Wall>(horizontal, vertical); } 플레이어 이동 시 키보드 입력을 받는 부분은 위와 같습니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
why?_2
X = Y.to_dict('__') 언더바에 들어가는 함수가 list, series, dict 등등 여러가지가 있던데 하는 역할이 따로 있나요?? ++ X = pd.DataFrame.to_dict(Y) 를 해도 같은값이 나오던데 다른건가요?
-
해결됨스프링 핵심 원리 - 기본편
강사님 질문있습니다~~
언제나 양질의 강의 잘 보고 있습니다!! 어제도 답변 감사드리면서 ㅎㅎ 한가지만 더 여쭙겠습니다!! @Component 를 붙일 때 "구현체" 에만붙였는데 인터페이스에는 안붙여도 되는건가요? 그렇다면 실무에서도 마찬가지로 구현체에만 @Component를 붙이나요? 미리 답변 감사합니다!!
-
해결됨프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
pop 함수 / 리스트 내 마지막 m 개 제거 관련 질문
안녕하세요 현재 파이썬 기초 자료형 - 리스트 까지만 수업을 들은 상태입니다. 수업 내용 중 pop 함수가 리스트 내 마지막 element 추출하는 함수라고 이해했습니다. (예시 - a = [5,2,3,1,4] print('a - ', a.pop()) -> a - 4 ) . . . 그런데 제가 하고 싶은건 예를 들어 이겁니다. a = [5,2,3,1,4] 이런 리스트가 있을 때 마지막 세 개를 제거한 결과가 나오게끔 하는 함수를 알고 싶습니다. (예시 - 선언 a = [5,2,3,1,4] => 함수 => [5,2] ) 반복문을 이용해야 할 것 같아서 강의에 나온 반복문 + 구글링 (python + pop +iterate + several elements) 해서 시도해 본 것이 아래와 같습니다. . . . a = [5,2,3,1,4] while len(a) > 2: data = a.pop() print(a) 이렇게 하면 원하는 결과가 나오기는 하는데 말 그대로 반복문이라 원하는 결과가 나오기까지 여러 행을 시행 해야 해서 다른 방법이 없을지요... 질문을 쓰는 과정에서 구글링 해서 a = [5,2,3,1,4] for elm in list(a): if elm in a[2:] : a.remove(elm) print(a) 을 해서 원하는 결과를 얻긴 했습니다.. 만 더 간단한 연산이 없을지요....
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
.square span의 width와 height값
안녕하세요 강의 잘 보고 있습니다. 궁금한 점이 하나 생겼는데요. 영상 8:00분쯤에 .square span{}에 width와 height값을 주셨는데요 span은 inline-level인데 어떻게 width와 height값이 먹는거죠 ? 따로 dispaly를 준것이 아닌데요 ㅠㅠ position속성을 주면 block요소로 바뀌는 건가요 ??
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
상위클래스를 이용하는 방식
메인에서 객체를 생성할 때 상위클래스를 이용하는 것이 좋다고 하셨는데 , 그렇게 되면 하위클래스만의 메소드 이용할 때 편한 방법은 따로 없나요?Animal d = new Dog();d.eat();((dog)d).night(); 이런 식으로 상위클래스에 없는 메소드를 사용할 때는 매번 ((dog)d). 이렇게 접근해야 하는건가요?복붙하면 된다고는 하지만, 번거로움도 있는거 같아서요..!
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
리스트 초기화에 있어서 질문있습니다
안녕하세요 강의를 듣던 중 궁금한 점이 생겨 질문드리게 되었습니다. 질문1) new List<int>() { }; 형식의 컬렉션 이니셜라이져는 IEnumerable인터페이스를 구현하고 Add 메소드를 정의한 클래스 대상으로 사용할 수 있는 문법이 맞나요? (앞선 강의에선 list 참조 변수의 Add함수를 호출하여 값을 넣는 것을 보여주셨는데, 같은 것인가요?) 질문2) new List<int>() {} 와 new List<int> {} 는 동일하게 동작하는 것인가요? (중괄호의 차이) 구글링한 내용이 맞는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
선생님 그 단축기를 까먹어서 그런데...
선생님 그 단축기를 까먹어서 그런데...8:00에 ac.getBeansOfType(~~)입력을 하는데 갑자기 Map<String,DiscountPolicy)가 붙는데.. 어떤 단축키를 이용했는지 모르겠습니다! 도와주세요!
-
미해결홍정모의 따라하며 배우는 C언어
10분 30초경의 (*(parr + j))[i] 부분이 잘이해가 안가네요.
교수님 화면의 16번쨰 줄에 위치한 (*(parr + j))[i]부분이 잘이해가 안가네요. 저는 맨 바깥 괄호를 빼서 *(parr + j)[i] 이렇게 써도 분명 작동할거 같은데 실제 실행 시켜보면 오류가 납니다. *(parr + j)[i] 에서 연산자 우선순위를 따지면 []가 가장 높지만 parr+j가 괄호 안에 묶여있으니까 *(parr + j)[i]에서 가장 먼저 실행되는 것은 parr+j 일것입니다. 그러면 그이후 *() 부분이 실행이 되고 *(parr + j) 는 arr0 그리고 arr1이 될 것이며 그이후 [i] 부분이 실행이 될텐데 즉 arr0[0]과 arr1[1] 이될텐데 왜 정상 작동 하지 않을까요? 제가 연산자 우선순위를 잘못 생각하고 있는걸까요?
-
Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
똑같이 따라했는데 왜안되죠
삭제된 글입니다
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
질문있습니다.
안녕하세요 제로초님 팔로워 팔로잉 기능을 유저와 포스트 관계로 응용하려 합니다. 그래서 User모델에 db.User.belongsToMany(db.Post, { through: 'Follow', as: 'Followings', foreignKey: 'FollowerId' }); Post모델에 db.Post.belongsToMany(db.User, { through: 'Follow', as: 'Followers', foreignKey: 'FollowingId' }); 이런식으로 해주고 LOAD_MY_INFO_REQUEST,액션으로인해 router.get('/', async (req, res, next) => { // GET /user try { if (req.user) { const fullUserWithoutPassword = await User.findOne({ where: { id: req.user.id }, attributes: { exclude: ['password'] }, include: [ { model: Post, attributes: ['id'], }, { model: User, as: 'Followers', attributes: ['id'], }, { model: Post, as: 'Followings', attributes: ['id'], } ] }) // console.log("fullUserWithoutPassword::::::::::::",JSON.stringify(fullUserWithoutPassword),"enddddddddddddd"); res.status(200).json(fullUserWithoutPassword); } else { res.status(200).json(null); } } catch (error) { console.error(error); next(error); } }); 라우터가 실행되면 백엔드에서 EagerLoadingError [SequelizeEagerLoadingError]: User is not associated to User! 유저와 유저가 연결되어 있지 않다고 뜹니다. 그래서 { model: User, as: 'Followings', attributes: ['id'], }, { model: Post, as: 'Followers', attributes: ['id'], } 이런식으로 바꿔줘도 오류는 똑같습니당.. 뭐가 잘못된걸까요... 밑에는 데이터베이스 형태입니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
제로초님
강의와는 크게 관련은 없는 질문이지만요.. 제가 웹사이트를 개발해서 최종적으론 앱으로 만들고 싶은데요 그럴려면 아마도 웹사이트+모바일페이지+앱 이렇게 세파트를 만들어야 하는데 react node mysql 에 추가적으로 무엇을 배워야 하나요? 모바일페이지를 만들고 react-native를 배우면 웹사이트를 앱처럼 그냥 쉽게 덮어씌운뒤 앱의기능(알림)등을 사용할 수있나요? 모바일페이지도 한번도 만들어본적이 없어서 막막하네요 ㅠ 혹시 관련 기술들의 커리큘럼 좀 알 수 있을까요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL 테이블 만들 때
여기서 ORDERS보시면 ORDER_ID(FK)가 아니라 MEMBER_ID(FK)여야 하는거 아닌가요?
-
미해결홍정모의 따라하며 배우는 C언어
4:30초경의 설명에 질문있습니다.
교수님께서 " *ptr 이int 기 때문에 이렇게 선언한다고 하셨는데요." 앞에서부터 강의를 계속 복습하면서 들었는데 처음 포인터를 선언하는 방법을 알려주실때는 그냥 int *ptr 처럼 포인터를 선언한다고 만 하셨구 왜 *ptr이 int인지 에대한 부분은 설명을 안해주셨었던거 같습니다. 해당부분에대한 설명을 알려주실수 있을까요? 9.12 강을 다시들어도 잘 설명이 되지 않은거 같습니다. 해당부분이 이해가 되지 않다보니 int (*(*pptr)) = &ptr;로 작동하는 부분도 잘 이해가 안되네요 ㅜㅜ;;;
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
67번
안녕하세요 선생님 선생님 코드에서 int i; 를 DFS 함수와 main 함수 각각 따로 선언하지 않고 전역변수로 잡았더니 답이 13이 아니라 22가 나왔습니다. 저는 어차피 둘 다 i가 나와서 한번에 전역변수로 잡자고 생각했는데 안되네요. 왜 안되는지 설명부탁드립니다. #include<stdio.h> #include<vector> #include<algorithm> using namespace std; int map[30][30], ch[30], n, cost=2147000000; int i; void DFS(int v, int sum){ if(v==n){ if(sum<cost) cost=sum; } else{ for(i=1; i<=n; i++){ if(map[v][i]>0 && ch[i]==0){ ch[i]=1; DFS(i, sum+map[v][i]); ch[i]=0; } } } } int main(){ //freopen("input.txt", "rt", stdin); int m, a, b, c; scanf("%d %d", &n, &m); for(i=1; i<=m; i++){ scanf("%d %d %d", &a, &b, &c); map[a][b]=c; } ch[1]=1; DFS(1, 0); printf("%d\n", cost); return 0; }
-
미해결해커를 위한 iOS 앱 모의 해킹 전문 과정
DVIA 앱 패치 후에 바이너리를 바꿔서 다시 실행하면 앱 시작 화면이 뜨고 앱이 종료돼버리네요..
제목과 같이 Application Patching 1 수업에서 한 것과 같이 패칭 후 바이너리를 바꿔서 앱을 다시 실행시키면 앱 로고가 뜬 후 바로 종료가 돼버리네요.. 무결성 검증을 하고 있는 것도 아닐텐데,, 왜 그런 것일까요..? ------------------------------------------------ ios 13.3 iPhone6s Unc0ver 탈옥 ------------------------------------------------
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
babel polyfill 적용관련해서 질문드려도 될까요?
안녕하세요. 장기효님강의 모두 듣고 실제 프로젝트중 입니다. 그런데 SSR때문에 Nuxt를 이용해서 작업중인데요, 거의다 왔는데 IE11 에서 테스트 결과 몇몇 컴포넌트가 나오지 않습니다. IE에서 에러는 SCRIPT438: 개체가 'includes' 속성이나 메서드를 지원하지 않습니다. 라고 나오는데요... store.js 의 아래코드에서 에러발생합니다. if (VUEX_PROPERTIES.includes(moduleName)) { 검색해보니 바벨 폴리필 문제같아서 이것저것 시도해보고 있는데 3일째 해결이 안되고 있습니다.;;; 제가 뭘 잘못하고 있는건지 너무 답답해서 질문드립니다. 일단 저는 nuxt.config.js 파일의 build 부분에 아래처럼 설정했습니다. build: { extend(config, ctx) { config.module.rules.push({ enforce: 'pre', test: /\.(js|vue)$/, loader: 'eslint-loader', exclude: /(node_modules)/, options: { fix: true, }, }); }, babel: { presets(env, [preset, options]) { const envTargets = { client: { browsers: ['last 2 versions'], ie: 11 }, server: { node: 'current' }, }; return [ [ '@nuxt/babel-preset-app', { useBuiltIns: 'entry', targets: envTargets[env.envName], corejs: { version: 3 }, polyfills: ['es.array.iterator', 'es.promise', 'es.object.assign', 'es.promise.finally', 'es.array.includes', 'es.symbol'], }, ], ]; }, }, transpile: ['@nuxtjs/axios', 'gsap', 'swiper', 'vue-awesome-swiper', 'nuxt-fullpage.js', 'vue-datetime', 'vue-daum-postcode', 'vue-advanced-cropper'], }, 의존성은 아래처럼 설치했구요. 이것저것 해보면서 바벨관련해서 여러가지 설치한것 같아요. "dependencies": { "@babel/runtime": "^7.12.5", "@nuxtjs/axios": "^5.12.2", "@nuxtjs/moment": "^1.6.1", "babel-core": "^6.26.3", "babel-polyfill": "^6.26.0", "cookie-universal-nuxt": "^2.1.4", "gsap": "^3.5.1", "luxon": "^1.25.0", "nuxt": "^2.14.6", "nuxt-fullpage.js": "0.0.3", "regenerator-runtime": "^0.13.7", "swiper": "^5.4.5", "vue-advanced-cropper": "^0.17.9", "vue-awesome-swiper": "^4.1.1", "vue-datetime": "^1.0.0-beta.14", "vue-daum-postcode": "^0.9.0", "weekstart": "^1.0.1" }, "devDependencies": { "@babel/plugin-transform-runtime": "^7.12.10", "@babel/preset-env": "^7.12.11", "@babel/runtime-corejs3": "^7.12.5", "@nuxt/babel-preset-app": "^2.14.12", "@nuxtjs/eslint-config": "^3.1.0", "@nuxtjs/eslint-module": "^2.0.0", "babel-eslint": "^10.1.0", "babel-loader": "^8.2.2", "core-js": "^3.8.2", "eslint": "^7.10.0", "eslint-config-prettier": "^6.12.0", "eslint-plugin-nuxt": "^1.0.0", "eslint-plugin-prettier": "^3.1.4", "prettier": "^2.1.2", "whatwg-fetch": "^3.5.0" }, 제 설정에 무슨 문제가 있을까요? 오픈은 다가오는데 답답하네요.;;; 감사합니다!