묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결인터랙티브 개발 실무 끝장내기 [역량 강화편]
title.querySelectorAll('div')[i]에 대해 질문 있습니다.
title의 하위 div에 각각 ".text"라는 클래스를 부여하고 .text 클래스를 titleText라는 변수에 할당했습니다. 그리고나서 텍스트 모션을 위한 for문을 동작하는데 트윈맥스가 작동하지 않아 질문드립니다. 첫 번째, 제가 작성한 코드는 어떤 오류때문인가요. f12에는 아무것도 나타나지 않았습니다. 두 번째, for문을 작성하실 때, title의 하위 div 속성을 변수로 할당해서 간편히 작성하신게 아니라 일부로 title.querySelectorAll('div').length와 title.querySelectorAll('div')[i]처럼 길게 작성하셨습니다. 따로 이유가 있으실까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증 질문 입니다
1. 필요한 검증 애노테이션이 존재하지 않는 경우 직접 구현하는데 강의에서 오브젝트 오류를 Controller 내부에서 구현한 것처럼 Controller 내부에서 구현하나요? 2. 1번이 답이 아니라면 Validator 인터페이스를 상속받아 구현한 검증기를 사용하여 검증하나요? 제가 jsp로 공부했을때 회원 가입시 비밀번호확인 하는 로직을 구현했을때 사용자 정의 Validator를 구현한게 생각나서 질문 드립니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
passport 사용 시 localstrategy 부분에서 오류가 나는 것 같습니다
안녕하세요. passport local 로그인 실습을 하다가 막히는 부분이 있어 질문드립니다. 현재 postman으로 실험 시 회원가입은 정상적으로 진행이 되는 것 같은데, postman으로 로그인 시도 시 다음과 같은 오류코드가 발생합니다. Error: Invalid value <ref *1> IncomingMessage { _readableState: ReadableState { objectMode: false, highWaterMark: 16384, buffer: BufferList { head: null, tail: null, length: 0 }, length: 0, pipes: [], flowing: true, ended: true, endEmitted: true, reading: false, sync: false, needReadable: false, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: true, autoDestroy: false, destroyed: false, errored: null, closed: false, closeEmitted: false, defaultEncoding: 'utf8', awaitDrainWriters: null, multiAwaitDrain: false, readingMore: false, decoder: null, encoding: null, [Symbol(kPaused)]: false }, _events: [Object: null prototype] { end: [Function: clearRequestTimeout] }, _eventsCount: 1, _maxListeners: undefined, socket: Socket { connecting: false, _hadError: false, _parent: null, _host: null, _readableState: [ReadableState], _events: [Object: null prototype], _eventsCount: 8, _maxListeners: undefined, _writableState: [WritableState], allowHalfOpen: true, _sockname: null, _pendingData: null, _pendingEncoding: '', server: [Server], _server: [Server], parser: [HTTPParser], on: [Function: socketListenerWrap], addListener: [Function: socketListenerWrap], prependListener: [Function: socketListenerWrap], _paused: false, _httpMessage: [ServerResponse], _peername: [Object], [Symbol(async_id_symbol)]: 78, [Symbol(kHandle)]: [TCP], [Symbol(kSetNoDelay)]: false, [Symbol(lastWriteQueueSize)]: 0, [Symbol(timeout)]: null, [Symbol(kBuffer)]: null, [Symbol(kBufferCb)]: null, [Symbol(kBufferGen)]: null, [Symbol(kCapture)]: false, [Symbol(kBytesRead)]: 0, [Symbol(kBytesWritten)]: 0, [Symbol(RequestTimeout)]: undefined }, httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, headers: { 'content-type': 'application/json', 'user-agent': 'PostmanRuntime/7.29.0', accept: '*/*', 'postman-token': '667cd00d-55cb-434f-80ee-6800fe7e4d60', host: 'localhost:3000', 'accept-encoding': 'gzip, deflate, br', connection: 'keep-alive', 'content-length': '76', cookie: 'connect.sid=s%3Atv5OOUthLZaPN8ZQChSAm4qaJB0CZbgU.MrtvXtMcWOoYkXGY0dY4H%2F6tGs25VsY8vJoRPQvx%2FMI' }, rawHeaders: [ 'Content-Type', 'application/json', 'User-Agent', 'PostmanRuntime/7.29.0', 'Accept', '*/*', 'Postman-Token', '667cd00d-55cb-434f-80ee-6800fe7e4d60', 'Host', 'localhost:3000', 'Accept-Encoding', 'gzip, deflate, br', 'Connection', 'keep-alive', 'Content-Length', '76', 'Cookie', 'connect.sid=s%3Atv5OOUthLZaPN8ZQChSAm4qaJB0CZbgU.MrtvXtMcWOoYkXGY0dY4H%2F6tGs25VsY8vJoRPQvx%2FMI' ], trailers: {}, rawTrailers: [], aborted: false, upgrade: false, url: '/login', method: 'POST', statusCode: null, statusMessage: null, client: Socket { connecting: false, _hadError: false, _parent: null, _host: null, _readableState: [ReadableState], _events: [Object: null prototype], _eventsCount: 8, _maxListeners: undefined, _writableState: [WritableState], allowHalfOpen: true, _sockname: null, _pendingData: null, _pendingEncoding: '', server: [Server], _server: [Server], parser: [HTTPParser], on: [Function: socketListenerWrap], addListener: [Function: socketListenerWrap], prependListener: [Function: socketListenerWrap], _paused: false, _httpMessage: [ServerResponse], _peername: [Object], [Symbol(async_id_symbol)]: 78, [Symbol(kHandle)]: [TCP], [Symbol(kSetNoDelay)]: false, [Symbol(lastWriteQueueSize)]: 0, [Symbol(timeout)]: null, [Symbol(kBuffer)]: null, [Symbol(kBufferCb)]: null, [Symbol(kBufferGen)]: null, [Symbol(kCapture)]: false, [Symbol(kBytesRead)]: 0, [Symbol(kBytesWritten)]: 0, [Symbol(RequestTimeout)]: undefined }, _consuming: true, _dumped: false, next: [Function: next], baseUrl: '/auth', originalUrl: '/auth/login', _parsedUrl: Url { protocol: null, slashes: null, auth: null, host: null, port: null, hostname: null, hash: null, search: null, query: null, pathname: '/login', path: '/login', href: '/login', _raw: '/login' }, params: {}, query: {}, res: ServerResponse { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: false, chunkedEncoding: false, shouldKeepAlive: true, _defaultKeepAlive: true, useChunkedEncodingByDefault: true, sendDate: true, _removedConnection: false, _removedContLen: false, _removedTE: false, _contentLength: null, _hasBody: true, _trailer: '', finished: false, _headerSent: false, socket: [Socket], _header: null, _keepAliveTimeout: 5000, _onPendingData: [Function: bound updateOutgoingData], _sent100: false, _expect_continue: false, req: [Circular *1], locals: [Object: null prototype] {}, _startAt: undefined, _startTime: undefined, writeHead: [Function: writeHead], __onFinished: [Function], end: [Function: end], [Symbol(kCapture)]: false, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] }, _startAt: [ 779390, 642704127 ], _startTime: 2022-02-06T14:57:51.132Z, _remoteAddress: '::1', body: { email: 's2s2ss@naver.com', name: 'ddd', password: '12343' }, _body: true, length: undefined, secret: 'nodepracticesecret', cookies: {}, signedCookies: [Object: null prototype] { 'connect.sid': 'tv5OOUthLZaPN8ZQChSAm4qaJB0CZbgU' }, _parsedOriginalUrl: Url { protocol: null, slashes: null, auth: null, host: null, port: null, hostname: null, hash: null, search: null, query: null, pathname: '/auth/login', path: '/auth/login', href: '/auth/login', _raw: '/auth/login' }, sessionStore: MemoryStore { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, sessions: [Object: null prototype] {}, generate: [Function (anonymous)], [Symbol(kCapture)]: false }, sessionID: '8oW9NcDPX2SJzfB5KT6guRURg59uUftq', session: Session { cookie: [Object] }, flash: [Function: _flash], _passport: { instance: [Authenticator] }, logIn: [Function (anonymous)], login: [Function (anonymous)], logOut: [Function (anonymous)], logout: [Function (anonymous)], isAuthenticated: [Function (anonymous)], isUnauthenticated: [Function (anonymous)], _sessionManager: SessionManager { _key: 'passport', _serializeUser: [Function: bound ] }, route: Route { path: '/login', stack: [Array], methods: [Object] }, [Symbol(kCapture)]: false, [Symbol(RequestTimeout)]: undefined } at Object.escape (/Users/macintosh/Desktop/node_practice/node_practice/node_modules/sequelize/dist/lib/sql-string.js:52:11) at MySQLQueryGenerator.escape (/Users/macintosh/Desktop/node_practice/node_practice/node_modules/sequelize/dist/lib/dialects/abstract/query-generator.js:709:22) at MySQLQueryGenerator.whereItemQuery (/Users/macintosh/Desktop/node_practice/node_practice/node_modules/sequelize/dist/lib/dialects/abstract/query-generator.js:1733:102) at /Users/macintosh/Desktop/node_practice/node_practice/node_modules/sequelize/dist/lib/dialects/abstract/query-generator.js:1646:25 at Array.forEach (<anonymous>) at MySQLQueryGenerator.whereItemsQuery (/Users/macintosh/Desktop/node_practice/node_practice/node_modules/sequelize/dist/lib/dialects/abstract/query-generator.js:1644:35) at /Users/macintosh/Desktop/node_practice/node_practice/node_modules/sequelize/dist/lib/dialects/abstract/query-generator.js:1752:30 at Array.map (<anonymous>) at MySQLQueryGenerator._whereGroupBind (/Users/macintosh/Desktop/node_practice/node_practice/node_modules/sequelize/dist/lib/dialects/abstract/query-generator.js:1751:21) at MySQLQueryGenerator.whereItemQuery (/Users/macintosh/Desktop/node_practice/node_practice/node_modules/sequelize/dist/lib/dialects/abstract/query-generator.js:1702:19) (node:8940) UnhandledPromiseRejectionWarning: TypeError: done is not a function at Strategy._verify (/Users/macintosh/Desktop/node_practice/node_practice/passport/localStrategy.js:30:13) (Use `node —trace-warnings …` to show where the warning was created) (node:8940) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `—unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) (node:8940) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. PromiseRejectionWarning 부분이 async await 에러 핸들링을 안 해줘서 생긴다고 하는데, 교재에 나와있는대로 localstrategy부분의 에러 핸들링 부분은 교재와 비슷하게 적은 것 같은데...왜 오류가 나는지 잘 모르겠습니다ㅠㅠ //localStrategy.js const passport = require('passport'); const localStrategy = require('passport-local').Strategy; const bcrypt = require('bcrypt'); const { user } = require('../models'); module.exports = () => { passport.use(new localStrategy({ passReqToCallback : true, usernameField:'email', passwordField:'password', }, async (email, password, done) => { try{ const exUser = await user.findOne({where:{email}}); if (exUser) { const result = await user.findOne({where:{password}}); // const result = await bcrypt.compare(password, exUser.password); if(result){ done(null, exUser); } else { done(null, false, {message:'비밀번호가 불일치'}); } } else { done(null, false, {message:'가입되지 않은 회원입니다'}); } } catch (err) { console.error(err); done(err); } } )); }; 위의 코드는 passport/localStrategy.js 파일이며, 아래 코드는 routes/auth.js 파일입니다. const express = require('express'); const passport = require('passport'); const bcrypt = require('bcrypt'); const { isLoggedIn, isNotLoggedIn } = require('./middlewares'); const { user } = require('../models'); const router = express.Router(); //회원가입 라우터 router.post('/join', isNotLoggedIn, async (req,res,next) => { const { email, name, password } = req.body; try { const exUser = await user.findOne({where:{ email }}); if (exUser) { req.flash('joinError', '이미 가입된 이메일입니다') return res.redirect('/join') } await user.create({ email, name, password, }); return res.redirect('/'); } catch (error) { console.error(error); return next(error); } }); //db 확인 router.get('/list', async(req,res)=>{ try{ const rows = await user.findAll(); if (rows) return res.status(200).json({result : rows}); else throw console.log(error); } catch(err){ console.error(err); } }); //로그인 라우터 router.post('/login', isNotLoggedIn, (req,res,next)=>{ //로컬 로그인 전략 성공 시 수행되는 매서드 passport.authenticate('local', {session: false}, (authError, user, info)=>{ if (authError){ console.error(authError); return next(authError); } if (!user) { req.flash('login-error', info.message); return res.redirect('/'); } console.log(user); return req.login(user, (loginError) =>{ if (loginError) { console.error(loginError); return next(loginError); } return res.redirect('/'); }); })(req, res, next); }); //로그아웃 라우터 router.get('/logout', isLoggedIn, (req,res)=>{ req.logOut(); req.session.destroy(); res.redirect('/'); }); module.exports = router;
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
RemoveAt 질문
16:33초 부터 진행하는 RemoveAt 관련 질문입니다. _data[i] = _data[i+1] 뒤에 있던 친구들이 앞으로 들어가는 부분은 이해했는데 17:45분 부터 18:20 말씀하시는 for문의 조건 Count, Count -1의 범위 부분을 제대로 이해하지 못하겠습니다 ㅠㅠ
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
condition_variable 파트 질문입니다.
강사님 제가 이해한 부분이 맞는지 궁금합니다. 제가 처음에 이해한 부분입니다. 1. Consumer에서 먼저 잡은 lock을 한 경우 unlock 후 대기, Producer에서 lock을 하고 push한 후, cv.notify_one()을 실행한다. 2. Consumer에서 먼저 잡은 경우는 cv.wait()에서 lock을 걸고 진행하고, 늦게 잡은 경우도 unique_lock에서 lock을 건다. 3. Consumer에서 끝나면 Producer는 이미 계속 lock을 걸려고 하고 있으므로, 1, 2번을 반복한다. 위의 경우라면 큐의 사이즈가 0 1 0 1 0 1...이 반복되서 결과 값이 0 0 0 0... 이 된다고 생각했습니다. 하지만 결과 값은 확 늘었다가 1씩 줄어들다가 또 확 늘었다가 1씩 줄어들다를 반복하였습니다.(결과적으로 몇천, 몇만, 몇십만까지 증가하였습니다.) 코드의 첫 번째 주석대로 Producer를 기준으로 큐의 사이즈 값을 출력하니 0 0 0 0... 까지는 아니지만 모든 수가 4미만으로 나옵니다. Producer에서 lock을 해제할 경우 Consumer에서 접근이 가능하지만 조건이 걸려있어 0미만으로는 가지 않을 것이고, Consumer에서 lock을 해제할 경우 Producer에서 여러 번 값을 넣는 경우라면 이해는 갑니다. 위 경우를 생각하여 Producer에게 sleep_for 함수를 적용해서 코드의 두 번째 주석을 넣고 실행하니 기존 답에서 모든 수가 4미만으로 나왔습니다. 말이 길었습니다.. 질문입니다. 제가 이해한 경우가 맞는지 아니면 멀티쓰레드 쪽의 개념이 포괄적으로 이해해야 될까요? 강사님이 말씀하신대로 뇌가 말랑해지기위해 노력중입니다. mutex m; queue<int32> q; condition_variable cv; void Producer() { while (true) { { unique_lock<mutex> lock(m); q.push(100); } cv.notify_one(); //cout << q.size() << endl; //this_thread::sleep_for(0.001ms); } } void Consumer() { while (true) { unique_lock<mutex> lock(m); cv.wait(lock, []() {return q.empty() == false; }); int32 data = q.front(); q.pop(); cout << q.size() << endl; } }
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
고급반 서브쿼리 해커랭크 challenges 문제 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 해설에서는 count(*)를 사용했는데 count(challenge_id)를 사용하면 왜 값이 다른지 이해가 잘 되지 않습니다. 부연 설명으로 max(challenge_id)를 하면 50이 나오게 되어 같은 원리로 select hacker_id, count(challenge_id) as cnt from challenges group by hacker_id ) as suq_t2 group by cnt having count(challenge_id) = 1 을 하게 되면 hacker_id 당 카운트가 1번인 걸 뜻하는 걸로 나올 거라 예상했는데 횟수가 1번인 것만 나오게 되네요. select hacker_id, count(challenge_id) as cnt from challenges group by hacker_id ) as suq_t2 group by cnt having count(cnt) = 1 아래는 쿼리 전문을 첨부합니다. /* Enter your query here. */ select h.hacker_id ,h.name ,count(challenge_id) as cnt from Hackers as h inner join Challenges as c on h.hacker_id = c.hacker_id group by h.hacker_id,h.name having cnt in ( select max(cnt) from ( select hacker_id, count(challenge_id) as cnt from challenges group by hacker_id) as suq_t1) or cnt in ( select cnt from ( select hacker_id, count(challenge_id) as cnt from challenges group by hacker_id ) as suq_t2 group by cnt having count(challenge_id) = 1 ) order by 3 desc , 1 asc
-
미해결엑셀 매크로와 VBA 기초부터 실무활용까지 완전 정복
2강 (행 숨기기) 매크로
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요?2강 강의를 보고 업무에 활용하려는 직장인입니다. 다름이 아니라 2강에서 행 숨기기 매크로를 실행하니까 여러 행을 스크롤 안 해도 데는 장점이 있어서요제가 매일 입력하는 파일도 지점별/품목별(고정)/수량/금액 계산식 이렇게 스크롤할께 많습니다. 즉, 매번 입력을 하는데 짜증을 유발합니다. 그래서 강의에 알려주신 행숨기기 매크로를 활용할려고 합니다. 그런데그 엑셀파일이 모든 구성원과 공유해야햐는 파일이어서요 혹여 제가 실수를 할 수 도 있어서 먼저 질문 드립니다. 1. 행숨기기 매크로 파일에서 자료를 입력하고 저장후(매크로 파일 형태로 저장 후 ) 수정또는 내용 삭제가 가능할까요?!2. 매크로가 전체/지점 여러군데 만들건데요전체 매크로 실행후 ->통합엑셀파일(확장자 .xlsx)로 별도로 저장 후 업무 공유를 하는게 바람직할까요?즉, 매크로 파일과는 별도로 업무에 올리는 파일은 엑셀파일(매크로)제외 파일로 만드는게 안전하겠죠?!제가 입사한지 얼마 안되었지만 이 강의를 수강하는 목표도 업무를 빠르게 하고 잘 하고 싶어서 그렇습니다. 그런데 제가 배운지 얼마 안 되었는데 실수할까봐 걱정이 되서요 답변 부탁드리겠습니다! 연관 태그 # 매크로# VBA
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@Entity와 @Table 질문드립니다
지금 강의 내용과는 조금 다르긴 합니다만 이해가 잘 안가서요 @Entity를 붙이면 해당 객체는 JPA가 관리하는게 되고, @Table을 붙이면 해당 객체의 필드를 바탕으로 db에 자동으로 테이블이 만들어지는 건가요? 그리고 만들어진 테이블이 엔티티와 매핑되는게 맞을까요? @Table의 name속성을 지정하지 않으면 테이블이 만들어질 때 이름이 엔티와 똑같이 되는거고, 지정해주면 해당 이름으로 테이블이 만들어져서 엔티티와 매핑이 되는건지 궁금합니다
-
미해결홍정모의 따라하며 배우는 C++
resize 함수 작성 중 문제가 있어 질문드립니다.
resize함수 작성 중에 위와 같이 배열의 길이를 저장하는 length의 길이를 변경하는 코드를 넣으면 아래와 같은 런타임 에러가 발생합니다 힙 버퍼 종료 후에 메모리에 작성을 했다는데, 어떤 의미인지 이해가 되지 않아서 질문 드립니다. 전체 코드 : class IntArray { private: int m_length = 0; int* m_ptr = nullptr; public: //Constructors IntArray(const int &length) :m_length(length) { m_ptr = new int[length]; } IntArray(const std::initializer_list<int>& list) : IntArray(list.size()) { int count = 0; for (auto& e : list) { m_ptr[count++] = e; } } //Destructors ~IntArray() { delete[] m_ptr; } //reset void reset() { delete[] m_ptr; m_ptr = new int[m_length]; } //resize void resize(const int& x) { if (m_length == x) return; else if (m_length < x) { int* temp = new int[x]; for (int i = 0; i < m_length; i++) { temp[i] = m_ptr[i]; } //m_length = x; delete[] m_ptr; m_ptr = temp; } else if (m_length > x) { int* temp = new int[x]; for (int i = 0; i < x; i++) { temp[i] = m_ptr[i]; } //m_length = x; delete[] m_ptr; m_ptr = temp; } } //insertBefore(const int & value , const int & ix); void insertBefore(const int& value, const int& ix) { resize(m_length + 1); for (int i = m_length; i > ix; i--) { m_ptr[i] = m_ptr[i - 1]; } m_ptr[ix] = value; } //remove(const int & ix); void remove(const int& ix) { for (int i = ix; i < m_length-1; i++) { m_ptr[ix] = m_ptr[ix + 1]; } } //push_back(const int& value); void push_back(const int& value) { resize(m_length + 1); m_ptr[m_length] = value; } friend std::ostream& operator << (std::ostream& out,const IntArray& intarr) { for (int i = 0; i <intarr.m_length ; i++) { out << intarr.m_ptr[i] << " "; } out << std::endl; return out; } }; int main() { IntArray my_arr {1,3,5,7,9}; my_arr.insertBefore(10, 1); //1,10,3,5,7,9 //my_arr.remove(3); //1,10,3,7,9 //my_arr.push_back(13); //1,10,3,7,9,13 std::cout << my_arr << std::endl; }
-
미해결Angular, 앵귤러 100분 핵심강의
클래스 수업 내용 중 오류 질문
두가지 파일에서 오류가 있습니다. 참고로 하기 환경에서 작업을 하고 있습니다. Angular CLI: 13.2.2 Node: 16.13.2 Package Manager: npm 8.1.2 OS: win32 x64 Angular: 13.2.1 클래스로 만든 Item.ts 클래스에서도 강사님하고 동일하게 작성하면 오류가 납니다. export class Item { id: String; name: String ; available: boolean ; } 오류 내용: 속성 'id'은(는) 이니셜라이저가 없고 생성자에 할당되어 있지 않습니다.ts name, available 다 동일한 오류가 뜹니다. 해결 방법이 있을까요? item.component.html <div> <label> <input [(ngModel)]="item.id" placeholder="ID"/> </label> </div> <div> <label> <input [(ngModel)]="item.name" placeholder="Name"/> </label> </div> <button (click)="saveItem()">Save</button> ngModel = item.id /item.name 의 item에서 모두 오류가 납니다. Property 'item' is private and only accessible within class 'ItemComponent'.ngtsc(2341) item.component.ts(11, 4): Error occurs in the template of component ItemComponent. Property 'item' is private and only accessible within class 'ItemComponent'.ngtsc(2341) item.component.ts(11, 4): Error occurs in the template of component ItemComponent. 문제 보기 빠른 수정을 사용할 수 없음
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
Atom과 vscode에서 파이썬 연동과 추가 프로그램들 installing 하는데 문제가 있습니다
Atom에서는 Installing “autocomplete-python@1.17.0” failed.Show output… Compiler tools not found Packages that depend on modules that contain C/C++ code will fail to install. Read here for instructions on installing Python and Visual Studio. Run apm install --check after installing to test compiling a native module. 문구가 뜨며 install이 안되고 Vscode에서도 python인식을 못하며 다운로딩이 안됩니다. 군인이라 사지방컴퓨터라 제한적인 것인지 문제가 뭔지 모르겠습니다. atom에서 해결법을 알 수 있을지 궁금합니다.
-
미해결버그헌팅과 시나리오 모의해킹 전문가 되기
강의자료
Kioptrix에 해당하는 강의 자료는 제공이 안되나요?
-
미해결
# extra_args>0 에러
앞 질문들에서 # extra_args >0 에러를 다루고 있는 것을 보고 저도 질문을 하게되었습니다. 그 질문들을 토대로 제가 코드를 고쳐보려했지만 해결이 되지 않는 군요ㅠㅠㅠ 도와주세요ㅠㅠ
-
미해결쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
Scrapy 다양한 사용법: Scrapy 로 네이버 Open API 크롤링하기2 [12:12]
궁금한게 있어서 여쭤봅니다. re.sub 정규표현식을 써서 b태그 처리된것을 없앴습니다.<b></b> 근데 뒤에 아이폰 내용중에 대괄호로 시작하는 내용들은 안없어지나요? 대괄호도 특수문자 아닌가요? ----> [자급제]
-
미해결예제로 배우는 딥러닝 자연어 처리 입문 NLP with TensorFlow - RNN부터 BERT까지
안녕하세요. 강의 잘듣고있습니다!
transformer를_이용한_포루투칼어_영어_기계번역.ipynb 에서 처음 라이브러리 다운받을때 pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. 해당 에러가 발생하고 Tensorflow Dataset을 가져올때 Failed to import TensorFlow. Please note that TensorFlow is not installed by default when you install TensorFlow Datasets. This is so that users can decide whether to install the GPU-enabled TensorFlow package. To use TensorFlow Datasets, please install the most recent version of TensorFlow, by following instructions at https://tensorflow.org/install. 해당에러가 발생하는데 해결 방법을 알수있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
델리게이트 문법이 잘 이해가 안됩니다.
_onAcceptHandler += onAcceptHandler; args.Completed += new EventHandler<SocketAsyncEventArgs>(OnAcceptComplated); 어셉트핸들러에 = 를 해주는 것과 += 를 해주는 것과 어떤차이인지 궁금합니다. 또 최초로 실행되는게 RegisterAccept인지 OnAcceptComplated인지 궁금합니다
-
해결됨풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)
Query 중첩 질문.
강의 8분부터 schema폴더에서 index,js를 구성하는과정에서 질문드립니다! query ,mutation의 중복을 피하기위해 linkSchema를 정의해서 type Query, type Mutation을 의미없는 값을 설정후에 extend를 사용하면 중복을 피할 수 있다 라고 이해를 했는데 이게 message.js, user.js라는 각각분리된 파일안에서 query가 정의되어도 중복이 발생해서 이렇게 설정해주신건가요??
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
리뉴얼된 챕터 1 강의 질문
Rookiss/Inflearn_DX12: 인프런 DX12 강의 소스코드 (github.com) 에서 소스코드를 받아서 시작하려 했는데 해당 오류가 발생합니다. 'Engine.lib' 파일을 열 수 없습니다. (해당 오류는 Client 프로젝트의 참조 우클릭 - Engine 프로젝트 체크후 적용하면 해결은 되지만 강의에서 나오지 않았던걸로 보아 정상적인 방법은 아닌걸로 보입니다.) 'DirectXTex\DirectXTex_debug.lib' 파일을 열 수 없습니다. (해당 파일은 lib 파일이라 깃허브에 안올라간듯 합니다) 경로 설정 문제인줄 알고 확인해보니 링커-일반 에 경로도 정상적이고 실제로 해당 경로에 Engine.lib 파일도 정상적으로 컴파일 되어 있습니다. 혹시 깃허브에 이있는 소스코드를 받아서 진행하는게 아닌가요?
-
미해결홍정모의 따라하며 배우는 C언어
영어 사용 이유
강의 중간에 Visual Studio를 설치할 때 가급적이면 한국어 말고 영어를 선택해서 쓰라고 하셨는데 왜 그런지 알고싶습니다. 한국어로 하면 어떤 문제가 생기나요?
-
미해결대세는 쿠버네티스 (초급~중급편)
로드밸런싱 관련 질문드립니다
Service로 로드밸런싱을 해도 되고 Ingress로 로드밸런싱을 해도 될 것으로 생각되는데 각각 어떤 장단점을 가질까요? 무엇보다, Service가 이미 로드밸런싱 가능한 오브젝트인데 Ingress라는 걸 앞에 한단계 더 붙여야 할 필요성이 아직 와닿지 않아서 질문 드려봅니다!