묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨PHP 7+ 프로그래밍: 객체지향
AuthService::logout 메소드에서 Session 데이터를 비우는 방법에 대한 질문입니다.
안녕하세요, '로그아웃' 구현 부분에서 세션을 비우는 처리에 대해 질문드립니다. 만약, 운영중인 사이트를 이용한다고 가정했을 때 아래와 같이 대부분이 로그인 및 로그아웃 절차가 진행된다고 생각합니다. 1. 홈페이지 로그인: 세션에 유저 데이터 생성 2. 홈페이지 이용 3. 브라우저를 닫거나 로그아웃 버튼 클릭: 세션이 완전이 사라지거나, 세션은 있되 세션에서 유저 정보가 비워짐 3번 항목에서 보통 PHP에서 세션을 비울 때(삭제할 때) 아래 두 함수를 쓰는 모습을 볼 수 있었는데요. 1. session_destory() => 전체 세션을 삭제(예로 세션 저장소(파일시스템의 세션 파일 또는 DB의 세션 관리 Table의 세션 데이터)) 2. session_unset() => 세션에서 변수만 삭제(CODE E) $_SESSION = array();) 이 외 세션에서 '유저' 정보만 비우는 경우(CODE EX) $_SESSION['user'] = array();)에는 어떤 경우가 있는지 알 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
통합 테스트 시에 오류가 발생합니다.
현재 통합테스트 모든 메서드가 실패를 하고 있습니다. Wrong user name or password 에러 때문에 아예 h2 데이터베이스에 접속조차 안되고 있는 것 같습니다. 현재 application.properties 파일에서는 username 또한 sa 로 설정하였고 끝에 공백 또한 없는 것을 확인했습니다. 왜 이런 오류가 발생하는 걸까요...? ㅠㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
RIP 레지스터
안녕하세요 다름이 아니라 rip 레지스터에 대해서 궁금한 게 있는데 rip 레지스터의 정의에 대해서 검색을 하니 1. 현재 수행 중인 명령의 주소를 가리키는 레지스터 2. 다음 수행 명령의 주소를 가리키는 레지스터로 나와있는데 2가지 의미가 동일한 의미인 것인가요? 아무리 생각해도 1번과 2번이 동일한 의미로 생각되지가 않습니다...
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
너무 답답해요 ㅠㅠ POST http://localhost:3000/api/video/uploads net::ERR_FAILED 라고만 뜹니다.
다른 에러 로그도 안 뜨니 사람 미치고 팔짝 뛸 노릇이네요. 몇시간째 삽질 중인데 해결방책이 안 나와요. 검색해봐도 cors관련 에러 해결만 뜨고.... server/index.js const express = require('express'); const router = express.Router(); const multer = require('multer'); //var ffmpeg = require('fluent-ffmpeg'); //const { Video } = require("../models/Video"); //const { Subscriber } = require("../models/Subscriber"); //const { auth } = require("../middleware/auth"); const storage = multer.diskStorage({ destination: (req, file, cb) => { cb(null, 'uploads/') }, filename: (req, file, cb) => { cb(null, `${Date.now()}_${file.originalname}`) } }) const fileFilter = (req, file, cb) => { // mime type 체크하여 원하는 타입만 필터링 if (file.mimetype == 'video/mp4' ) { cb(null, true); } else { cb({msg:'mp4 파일만 업로드 가능합니다.'}, false); } } const upload = multer({ storage: storage, fileFilter: fileFilter }).single("file") router.post("/uploads", (req, res) => { upload(req, res, err => { if (err) { return res.json({ success: false, err }) } else { return res.json({ success: true, filePath: res.req.file.path, fileName: res.req.file.filename }) } }) }); module.exports = router; [routes/video.js] const express = require("express"); const app = express(); const bodyParser = require("body-parser"); const cookieParser = require("cookie-parser"); const config = require("./config/key"); // const mongoose = require("mongoose"); // mongoose // .connect(config.mongoURI, { useNewUrlParser: true }) // .then(() => console.log("DB connected")) // .catch(err => console.error(err)); const mongoose = require("mongoose"); const connect = mongoose.connect(config.mongoURI, { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('MongoDB Connected...')) .catch(err => console.log(err)); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.use(cookieParser()); app.use('/api/users', require('./routes/users')); app.use('/api/video', require('./routes/video')); //app.use('/api/subscribe', require('./routes/subscribe')); //app.use('/api/comment', require('./routes/comment')); //app.use('/api/like', require('./routes/like')); //use this to show the image you have in node js server to client (react js) //https://stackoverflow.com/questions/48914987/send-image-path-from-node-js-express-server-to-react-client app.use('/uploads', express.static('uploads')); // Serve static assets if in production if (process.env.NODE_ENV === "production") { // Set static folder app.use(express.static("client/build")); // index.html for all page routes app.get("*", (req, res) => { res.sendFile(path.resolve(__dirname, "client", "build", "index.html")); }); } const port = process.env.PORT || 5000 app.listen(port, () => { console.log(`Server Running at ${port}`) }); [VideoUploadPage.js] import React, { useState } from 'react'; import { Typography, Button, Form, message, Input, icon } from 'antd'; import Dropzone from 'react-dropzone'; import * as axios from 'axios'; import icons from '@ant-design/icons'; const { TextArea } = Input; const { Title } = Typography; const PrivateOptions = [ {value: 0, label: "Private"}, {value: 1, label: "Public"} ]; const CategoryOptions = [ {value: 0, label: "Film & Animation"}, {value: 1, label: "Autos & Vehicles"}, {value: 2, label: "Music"}, {value: 3, label: "Pets & Animals"} ]; function VideoUploadPage(props) { const [VideoTitle, setVideoTitle] = useState(""); const [Description, setDescription] = useState(""); const [Private, setPrivate] = useState(0); const [Category, setCategory] = useState("Film & Animation"); const onTitleChange = (e) => { setVideoTitle(e.currentTarget.value); } const onDescriptionChange = (e) => { setDescription(e.currentTarget.value); } const onPrivateChange = (e) => { setPrivate(e.currentTarget.value); } const onCategoryChange = (e) => { setCategory(e.currentTarget.value); } const onDrop = (files) => { let formData = new FormData; const config = { header: { 'content-type': 'multipart/form-data' } } //console.log(files) formData.append("file", files[0]) axios.post('/api/video/uploads', formData, config) .then(response => { if(response.data.success) { console.log(response.data); } else { alert('Video upload failed'); } }) } const onSubmit = () => { console.log('submit'); } return ( <div style={{ maxWidth: '700px', margin: '2rem auto' }}> <div style={{ textAlign: 'center', marginBottom: '2rem' }}> <Title level={2}>Upload Video</Title> </div> <Form onSubmit> <div style={{ display: 'flex', justifyContent: 'space-between' }}> {/* Drop zone */} <Dropzone onDrop={onDrop} multiple={false} maxSize={800000000}> {({ getRootProps, getInputProps }) => ( <div style={{ width: '300px', height: '240px', border: '1px solid lightgray', display: 'flex', alignItems: 'center', justifyContent: 'center' }} {...getRootProps()} > <input {...getInputProps()} /> <icon type="plus" style={{ fontSize: '3rem' }} /> </div> )} </Dropzone> {/* Thumbnail */} <div> <img src alt /> </div> </div> <br /> <br /> <label>Title</label> <Input onChange={onTitleChange} value={VideoTitle} /> <br /> <br /> <label>Description</label> <TextArea onChange={onDescriptionChange} value={Description} /> <br /> <br /> <select onChange={onPrivateChange}> {PrivateOptions.map((item, index) => ( <option key={index} value={item.value}>{item.label}</option> ))} </select> <br /> <br /> <select onChange={onCategoryChange}> {CategoryOptions.map((item, index) => ( <option key={index} value={item.value}>{item.label}</option> ))} </select> <br /> <br /> <Button type="primary" size="large" onClick={onSubmit}> Submit </Button> </Form> </div> ); } export default VideoUploadPage;
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
verilog HDL 강의노트 질문드립니다.
안녕하세요 맛비님 Verilog HDL 굉장히 잘 듣고있습니다! 혹시 verilog HDL을 강의하시면서 사용하신 강의 노트도 제공이 될까요? 인프런 특성상 캡처가 안되서 노트에 적을 때 직접 그리려니 조금 힘이 드네요 ㅎㅎ. 항상 감사드립니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
머신러닝을 활용한 추출데이터 검증 질문
안녕하세요! 피처별 중요도를 보고 실무에서 이런식으로 활용해보면 어떨까 궁금하여 질문드리게 되었습니다. ( 검색해도 원하는 정보가 안나와서요) 각 질문들에 대해 답변해주시면 정말 감사하겠습니다! 1) 어떤 가설을 세우고 필요하다고 생각되는 데이터를 추출 후, 추출한 데이터들의 피처 중요도를 구해서 내가 의미있는 데이터를 추출했는지 확인하는 용도로 써도 되나요 ? (정확도가 좋고 레이블이 달려있다고 가정) 2) 만약 분류기의 정확도가 낮으면 아직 데이터의 추출이 적절하지 못하고 부족하다고 판단해도 될까요? (레이블이 달려있다고 가정) 3) 만약 각 피처별 중요도를 계산했으나, 결국 각 피처별 중요도 비율이니까 정확도나 정밀도 재현율도 함께 고려하여 또 다시 데이터의 적절성이나 부족함을 판단할 수 있을까요? 답변주시면 정말 감사하겠습니다 ㅜㅜ
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
ModuleNotFoundError: No module named 'django-pydenticon'
늘 친절한 답변 감사합니다!! django-pydenticon을 활용한 디폴트 이미지 구현에서 pip install pydenticon 을 하고, 써드앱에 추가 하고, url도 맞게 쓴것 같은데 오류가 나네요. ModuleNotFoundError: No module named 'django-pydenticon' 라고 뜨는데 pip로 설치를 했고, common에 앱 이름을 맞게 입력했는데 왜 없는 모듈이라고 나올까요? ㅠ
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
batch size
안녕하세요 강의 듣다가 질문이 생겼는데 batch size가 커지면 왜 gpu에서 계산속도가 빨라지나요? 데이터 개수가 커지면 느려져야 정상아닌가요?
-
미해결스프링 핵심 원리 - 기본편
지금 영한님이 하시는 강의에 대한 질문입니다
혹시 지금 따라치는 이 강의의 예제코드들이 테스트 주도 개발 느낌인건가요?
-
해결됨PHP 7+ 프로그래밍: 객체지향
'34-프로바이더(Providers)' 강의 07:00 ~ 07:10 부분에서 주의할 점 공유합니다.
안녕하세요. '34-프로바이더(Providers)' 강의 07:00 ~ 07:10 부분에서 주의할 점 공유합니다. 위 영상 시간 내에 편집의 흔적인지는 몰라도 /resource 디렉토리 내 /resources/views 디렉토리가 생성되는 것을 볼 수 있습니다. 이 부분을 놓치고 넘어가는 경우 '36강-메인(Index)' 강의를 듣다가 View를 출력하는 부분에서 헤맬 수 있으니 주의하시기 바랍니다.
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
안녕하세요 배열필터 궁금한점이 있습니다
강의 잘 보고 있어요 질문 너무 자주 남겨 죄송합니다 ..(_ _) 필터를 걸지않고 그냥 검색하려고 했는데 안되는 이유를 도저히 모르겠어서 질문 남깁니다 다른 조건 없이 아이디만 일치하는 조건으로 검색해보려고 시도 해보니 안되더라구요 .. await Blog.updateMany( { 'comments.user._id': userId }, { 'commnets.$.user': user }, { new: true } ); 배열필터로 하면 잘 됩니다 그 이유가 뭘까요 ㅠㅠ await Blog.updateMany( { 'comments.user._id': userId }, { 'comments.$[co].user': user }, { arrayFilters: [{ 'co.user._id': userId }] } );
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
실무에서도 TCHAR 형을 쓰나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 좋은 강의 감사드립니다(_ _) 강의에서 보통 실무에서 문자셋을 약속을 하고 쓴다고 하셨는데 THCAR를 쓰게 되면 딱히 고려하지 않아도 될 부분 같아 보입니다. THCAR를 안 쓴다면 그 이유가 있을까요? 모든 문자열 함수를 사용할 때 tchar를 지원하는 함수를 쓰게 돼서 가독성이 떨어져서 일까요? 혹은 바이트 단위 연산을 하게 될때 가변적인 문자셋을 가정하고 코딩하는게 힘들어서 일까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
SV_Position과 Position의 차이는 이건가요?
위 사진처럼 되었을 때, 빨간색이 화면이고 검정색이 물체이며 초록색에서 현재 픽셀 셰이더가 돌아간다고 했을 때 Position은 저 초록색 픽셀의 동차 좌표를 나타내며, SV_Position은 저 초록색 픽셀의 픽셀 좌표를 나타내는건가요? 코드는 다음과 같습니다 struct VS_IN { float3 pos : POSITION; }; struct VS_OUT { float4 pos : SV_Position; float4 clipPos : POSITION; }; VS_OUT VS_Main(VS_IN input) { VS_OUT output = (VS_OUT)0.f; output.pos = mul(float4(input.pos, 1.f), g_matWVP); output.clipPos = output.pos; return output; } float4 PS_Main(VS_OUT input) : SV_Target { return float4(input.clipPos.z / input.clipPos.w, 0.f, 0.f, 0.f); }
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
vsc built-in powershell에서 docker run docker-react-app을 실행후 turn-off하는 방법이 뭔가요?
그 자리에서 ctrl-c해도 안 꺼져서 다른 terminal을 열어서 docker kill하고 있습니다. 어떤 설정을 해 줘야 하나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
질문있습니다.
coco dataset의 index정보는 어디서 확인할수 있나요 ??
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
로그인시 수퍼유저만 로그인이 됩니다.
아래와 같이 아이디와 비번을 만들었습니다만, 로그인을 하면 실패합니다.. 다만 슈퍼유저인 gimseung-gyu는 로그인이 됩니다... 대략 어느 부분이 문제인지 알면 그 부분 코드를 확인할텐데 감이 안옵니다... signup.js common.py accouts/urls.py 항상 감사드립니다!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
삼각형이 한개만 뜹니다 ㅠㅠ
직면한 문제는 이렇습니다. 강의대로 따라가며 실행해보았는데 이번 강의마지막 결과처럼 삼각형이 2개로 보이지 않고 여전히 한개입니다. 코드를 다운받아 그대로 실행 해도 이상태 입니다. 현재 사용하고 있는 환경은 3060이 내장된 게이밍노트북입니다. 궁금한점은 혹시 PC환경에 따라 달리해줘야하는 부분이 존재한가요? 만약 그렇다면 그런 이유때문에 삼각형이 여전히 한개로만 보이는건가요? 무엇부터 의심을 해봐야할까요?
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
FirebaseAuth.instance.authStateChanges() 오류
아래처럼.. 오류가 나는데요.. 이거 다른 사용방법이 있을까요?? SVN에 올리신것도 확인해보면.. 오류가 나네요.. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
reducers/user.js 에서 에러발생합니다.
온라인 강좌 보면서 한글자 한글자 그대로 따라했는데도 안되네요 github주소 가서 -> revised > user.js파일 참고하려고 하니 인프런 강좌에서 가르쳐주시는거랑 코드가 달라서 다른오류가 나더라구요. github 강좌별로 제대로 참고할수 잇는 코드가 잇으면 좋겠습니다. 온라인 강좌에서 reduce -> saga , saga -> reduce계속 왔다갔다 하면서 따라치려고 했는데 계속 오류나네요 도와주세요 https://github.com/ZeroCho/react-nodebird/blob/revised/ch4/front/reducers/user.js
-
미해결실무에서 바로 쓰는 영어 이메일
교재 문의 드립니다.
안녕하세요 강사님, 이번에 새롭게 강의를 수강하게 된 수강생입니다. 교재는 어디서 다운받을 수 있는지 문의 드립니다.