묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
list가 안보여요...
<App.vue> <template> <div id="app"> <TodoHeader></TodoHeader> <Todoinput v-on:addTodoItem="addOneItem"></Todoinput> <TodoList v-bind:propsdata="todoItems" v-on:removeItem="removeOneItem"></TodoList> <TodoFooter></TodoFooter> </div> </template> <script> import TodoHeader from "./components/TodoHeader.vue"; import TodoFooter from "./components/TodoFooter.vue"; import Todoinput from "./components/Todoinput.vue"; import TodoList from "./components/TodoList.vue"; export default { data: function() { return { todoItems: [] }; }, methods: { addOneItem: function() { var obj = { completed: false, item: this.todoItem }; localStorage.setItem(this.todoItem, JSON.stringify(obj)); this.todoItems.push(obj); }, removeOneItem: function(todoItem, index) { localStorage.removeItem(todoItem.item); this.todoItems.splice(index, 1); } }, created: function() { if (localStorage.length > 0) { for (var i = 0; i < localStorage.length; i++) { if (localStorage.key(i) !== "loglevel:webpack-dev-server") { this.todoItems.push( JSON.parse(localStorage.getItem(localStorage.key(i))) ); } // this.todoItems.push( // JSON.parse(localStorage.getItem(localStorage.key(i))) // ); } } }, components: { TodoHeader: TodoHeader, TodoFooter: TodoFooter, TodoList: TodoList, Todoinput: Todoinput } }; </script> <style> body { text-align: center; background-color: #f6f6f6; } input { border-style: groove; width: 200px; } button { border-style: groove; } .shadow { box-shadow: 5px 10px 10px rgba(0, 0, 0, 0.03); } </style> <TodoList.vue> <template> <div> <ul> <li v-for="(todoItem, index) in propsdata" v-bind:key="todoItem.item" class="shadow"> <button class="checkBtn" v-bind:class="{checkBtnCompleted: todoItem.completed}" v-on:click="toggleComplete(todoItem)" >V</button> <span v-bind:class="{textCompleted: todoItem.completed}">{{ todoItem.item }}</span> <!-- <span class="removeBtn" v-on:click="removeBtn(todoItem, index)"> <i class="fas fa-trash-alt"></i> </span>--> <button class="removeBtn" v-on:click="removeTodo(todoItem, index)">delete</button> </li> </ul> </div> </template> <script scoped> export default { props: ["propsdata"], methods: { removeTodo: function(todoItem, index) { this.$emit("removeItem", todoItem, index); }, toggleComplete: function(todoItem) { todoItem.completed = !todoItem.completed; localStorage.removeItem(todoItem.item); localStorage.setItem(todoItem.item, JSON.stringify(todoItem)); } } }; </script> <style> ul { list-style-type: none; padding-left: 0px; margin-top: 0; text-align: left; } li { display: flex; min-height: 50px; height: 50px; line-height: 50px; margin: 0.5rem 0; padding: 0 0.9rem; background: white; border-radius: 5px; } .removeBtn { margin-left: auto; color: #de4343; } .checkBtn { line-height: 45px; color: #62acde; margin-right: 5px; } .checkBtnCompleted { text-decoration: line-through; color: #b3adad; } .textCompleted { text-decoration: line-through; color: #b3adad; } </style> dd 똑같이 따라했고, 다른 분 질문 내용도 확인하고 인덴트도 다 없앴는데도 계속 리스트가 안나오네요.... 삭제도 되고 추가도 되는데 리스트 내용만 안나와서 너무 답답해요... 에러가 안뜨니 어디가 어떻게 잘못된건지도 잘 모르겠습니다....
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
jquery-1.12.4.js 파일은 어디서 구해서 저장합니까?
시험시엔 오픈 소스에 jquery-1.12.4.js 사용하면 되는데 강의 연습 땐 jquery-1.12.4.js 어디서 구해서 합니까?
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
오류
vue.runtime.esm.js?2b0e:619 [Vue warn]: Unknown custom element: <Mdoal> - did you register the component correctly? For recursive components, make sure to provide the "name" option. found in ---> <TodoInput> <App> at src/App.vue <Root> slot으로 만들어준 cusotm header만 출력이 됩니다. 버튼이나 배경 모달창은 뜨지 않습니다. 어떻게 해결해야되나요?
-
미해결화이트해커가 되기 위한 8가지 웹 해킹 기술
동영상 에러
안녕하세요. 강의 잘 듣고 있습니다. 갑자기 어제 오후부터 manifestLoadError 뜨고 재생이 안되네요. 확인 좀 부탁 드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
연결 리스트 강의에서 Remove 함수 문의드립니다
섹션1 - '연결 리스트 구현 연습' 강의에 대한 질문입니다. 위와 같이 Remove를 구현했습니다. (강의에서 head, tail에 해당하는 변수명은 first, last로 선언했습니다) 1) 삭제하려는 방이 첫 번째 요소인지와 이전 방이 null인지를 두 번 체크하는데, 그렇게 하지 않으면 예외가 발생하지 않는지 궁금합니다. (즉 위와 같이 if문을 작성하면 에러가 날 수 있나요?) 2) 삭제하려는 방을 따로 null처리할 필요는 없나요? room = null을 적어보니 사용되지 않는 코드처럼 회색으로 떠서요.
-
미해결코알못에서 웹서비스 런칭까지 : 2021 제주 코딩 베이스캠프(Django)
break_continue 강좌 1분 10초
안녕하세요 1분 10초에서 num++;가 실행이 안된다고 하시는데 이해가 되지 않아요. while문일때는 document.write 후 num++; 순서로 와도 num++;가 실행되었었는데요..
-
미해결웹 게임을 만들며 배우는 React
Hooks 사용시 setState를 하면 무조건 함수가 재실행되는 것인가요??
아래의 코드대로 한번 짜보았는데, 재생각엔 setComputer 가 실행되면 state가 변경되기때문에 PRS 함수가 다시실행되면서 num = 0 으로 고정되어 제대로 작동하지 않을 것같은데... 제대로 잘 작동하더라구요... const PRS = () => { const [gameResult, setGameResult] = React.useState(''); const [computer, setComputer] = React.useState(''); let num = 0; const readyGame = () => { if (num % 3 == 0) { setComputer('scissors'); } else if (num % 3 == 1) { setComputer('paper'); } else { setComputer('rock'); } if(num == 12) { num = 0; } else { // console.log('num', num); num++; } console.log('num', num); }
-
미해결프로그래밍, 데이터 과학을 위한 파이썬 입문
main 함수만 failed
터미널에서 파이썬 python fahrenheit_converter.py 로 확인하면 오류없이 결과가 제대로 나오는데 과제제출 결과에선 메인함수만 틀렸다고 나옵니다. 어느부분이 잘못된건가요?
-
미해결[기초스피치] 14년차 아나운서에게 배우는 말 잘하는 방법!
복식호흡 질문있습니다!
복식호흡을 연습하다보면 어지러운 증상도 생기는데 복식호흡을 잘 못해서 생기는 것일까요 아니면 자연스러운 현상인가요?-?
-
해결됨홍정모의 따라하며 배우는 C++
질문있습니다.
9:00 int x = 0; int y = 1; if ((!x) == y) { cout << " x does not equal y" << endl; } else cout << " x equals y" << endl; 위 식에서 if는 x,y 중 하나만 false의 값을 가졌을때 true가 되며 나머지는 항상 false입니다. 0이 아니면 true인데 y가 2 이상이 되면 false가 됩니다. 왜이런가요?
-
미해결누구나 할 수 있는 안드로이드 앱 개발 - 1 (Kotlin)
<LinearLayout>에 에러가 발생합니다..
영상 그대로 따라 했는데 에러가 발생하네요.. 그리고 저는 영상과 달리 처음 부분에 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"이렇게 나와있는데 이것때문에 그런건가요?? 처음 초반부터 이렇게 막히니깐 답이 없어버리네요..
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의 따라하다가 보니 출력 값이 이상해졌어요.ㅠㅠ
print까진 정상적으로 출력되서 잘 따라가고 있었는데, print('Learn Python',file=sys.stount)이거 입력하고 나서는 밑에 파일명처럼만 출력되고... 다른거 입력해도 정상적으로 메세지가 출력이 안됩니다. 뭐가 잘못된 걸까요?... 도움을 주실 선배님 구합니다.ㅠ_ㅠ힝...
-
미해결Node.js를 이용해 웹 애플리케이션 만들기
지금은 jade에서 pug로 업데이트 되었네요
npm install jade --save 로 설치하면 에러가 발생하고 npm install put --save 로 설치해야 하네요, 그 사이 업데이트 되었나봐요.
-
해결됨홍정모의 따라하며 배우는 C언어
.exe파일이 생성되었다가 조금 있으면 삭제됩니다.
컴퓨터를 껐다 켜고 나서 CTRL + F5 키를 눌러서 실행해보니 .exe파일이 생성되었다가 조금 지나니까 .exe파일이 지워지는 현상이 발생하는 거네요. 그러다가 조금 있으면 아래와 같은 에러 메시지창이 나타나기도 하고요. 이런 현상은 제 컴퓨터에서만 나타나는 현상일까요? 아님 일반적으로 나타나는 현상일까요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
PDF 교재 강의 질문입니다.
해당 강의를 매우 만족스럽게 듣고 있습니다. S사 , F사 온라인 강의 둘다 너무빠른속도에 초심자라고 홍보해놓고 설명하지도 않은 코드를 엄청난 타이핑속도로 써내려가서 실망했었는데 이 강의는 너무 만족합니다. PDF 교재파일도 구매하고 싶은데 궁금한점이 해당 교재파일과 이 강의 이론부분 강의와 연동이 되어 있는건가요? 아니면 해당 강의의 커리큘럼이 아닌 별도로 작성하신 PDF파일인가요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
deleteAllByMemberId 결과확인 문의(삭제가 안됨)
Member, MemberAuth 테이블이 있습니다. Member (1) : MemberAuth (N) 의 관계이고, MemberAuth의 데이터를 삭제하려고 아래와 같이 했는데 실제로 삭제가 되지 않네요. 서비스에서 삭제결과는 제대로 디버깅에서 확인이 되는데요. MemberAuthRepository.java @Repositorypublic interface MemberAuthRepository extends JpaRepository<MemberAuth, Long> { List<MemberAuth> findByMemberId(Long memberId); int deleteAllByMemberId(Long memberId);} MemberService.java : changeRole에서 기존 Role을 삭제하는 부분입니다. @Transactional public void changeRole(MemberDto memberDto, List<MemberAuthDto> memberAuthDtos) throws Exception { Member member = memberRepository.findByEmail(memberDto.getEmail()); if(member==null) { throw new UsernameNotFoundException(memberDto.getEmail()); } //기존 ROLE을 찾아서 모두 지운다. int iDel= memberAuthRepository.deleteAllByMemberId(member.getId()); //ToDo :: 넘어온 ROLE 을 생성한다. } 디버깅으로 보면 iDel 값이 확인이 됩니다. 그런데 데이터베이스 확인하면 값이 지워지지 않고있네요. 어찌해야 하는걸까요?
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
아이디 치라고 합니다 ㅠㅠ
git push 를 할때 자꾸 인증을 해줘야하는데 강의에서는 인증을 안하던데 어떻게 해야할까요?? 자꾸 인증할라니까 성가시네요.. 아 그리고 저는 .git 파일이 안보이는데 어떻게 보이게 할까요??
-
미해결[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
삭제가 안되네요..
db.employees.deleteMany( { age: { $lt: 30 } }) 썼는데 삭제가 안되고 에러창이 뜹니다...왜 그럴까요...? 다른 명령어는 됩니다...find나 insert나..
-
미해결React로 NodeBird SNS 만들기
안녕하세요 ide 관련 질문드립니다
안녕하세요 npm run dev를 끈 상태에서는 일시멈춤 현상이 없는데, npm run dev를 킨 상태에서는 웹스톰이 계속 버벅거립니다. 듀얼모니터를 쓰고 있고, 웹스톰 화면 상에서는 마우스, 키보드 커서가 안 움직이는데, 옆 화면에서는 잘 보입니다. 코드에 수정사항이 반영될 때마다, 2~3초 정도 멈춤현상이 지속적으로 일어나고 있습니다. ide는 웹스톰(정품)을 쓰고 있고, 그램 2019 (램 8기가, 윈10, ssd 500기가)입니다 edit custom vm options에서 메모리 할당의 최대치를 4096메가로 설정해 놓았고, 자바2D가속 기능도 꺼 놓았습니다. 추가로, 플러그인 설치 및 삭제, 웹스톰 재설치, 테마 변경...많은 시도를 했는데, 잘 안되네요 혹시 이와 관련해서 도움 받을 만 한게 있을까요?
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
오류가 나서 질문을 드립니다.
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, nick, password } = req.body; try { const exUser = await User.find({ where: { email } }); if (exUser) { req.flash('joinError', '이미 가입된 이메일입니다.'); return res.redirect('/join'); } const hash = await bcrypt.hash(password, 12); await User.create({ email, nick, password: hash, }); return res.redirect('/'); } catch (error) { console.error(error); return next(error); } }); router.post('/login', isNotLoggedIn, (req, res, next) => { passport.authenticate('local', (authError, user, info) => { if (authError) { console.error(authError); return next(authError); } if (!user) { req.flash('loginError', info.message); return res.redirect('/'); } 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; app.js 입니다. const express = require('express'); const path = require('path'); const cookieParser = require('cookie-parser'); const morgan = require('morgan'); const session = require('express-session'); const flash = require('connect-flash'); const passport = require('passport'); require('dotenv').config(); const indexRouter = require('./routes/page'); const authRouter = require('./routes/auth'); const { sequelize } = require('./models'); const passportConfig = require('./passport'); const app = express(); sequelize.sync(); passportConfig(passport); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'pug'); app.set('port', process.env.PORT || 8002); app.use(morgan('dev')); app.use(express.static(path.join(__dirname, 'public'))); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser(process.env.COOKIE_SECRET)); app.use(session({ resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, secure: false, }, })); app.use(flash()); app.use(passport.initialize()); app.use(passport.session()); app.use('/', indexRouter); app.use('/auth', authRouter); app.use((req, res, next) => { const err = new Error('Not Found'); err.status = 404; next(err); }); app.use((err, req, res, next) => { res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; res.status(err.status || 500); res.render('error'); }); app.listen(app.get('port'), () => { console.log(app.get('port'), '번 포트에서 대기중'); });