묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스케치앱 마스터 과정[Sketch App]
앱을 캡쳐해서 분석하는데 질문이 있어요.
안녕하세요. 강의를 보면서 공부 중인 취준생입니다. 최근 인스타그램 어플을 캡쳐하여 분석하는데 궁금한 것이 있어 질문 남깁니다. 제 폰은 안드로이드 xxxhdpi(564 ppi, 5.7 in)에 1440*2880px인데요. 제 폰으로 인스타그램을 캡쳐하여 dp 해상도인 가로 360px에 맞게 줄여보니 캡쳐 원본(1440*2880px)에선 1px이던 선이 줄인 해상도에서는 0.25px 정도로 수치가 나왔어요. 두가지 여쭤보고싶습니다. 선생님이 강의해주신 내용에서 소숫점을 쓰지 말라고 하셔서 이런 고민은 처음입니다;; 1. 그러면 0.25px이 1배수 디자인 상의 선 수치에 가깝다고 생각하면 되는 걸까요? (스케치에서 0.25pt) 2. 앱과 웹에서의 최소 표현단위가 차이가 있는지도 궁금합니다.(앱에서는 0.25같은 단위를 많이 사용하는지도요..)
-
미해결[R] KOSPI/KOSDAQ 전 종목 데이터 수집 및 관리
단일 열로 이루어진 데이터의 열이름 변경
안녕하세요 colnames()로 주식명 넣고 확인해 보던 중에 열이 하나인 주식데이터의 경우 이름이 바뀌지 않고 있는 것을 확인했습니다. 에러는 다음과 같습니다. Error in `colnames<-`(`*tmp*`, value = "test") : attempt to set 'colnames' on an object with less than two dimensions 구글로 찾아봐도 당췌 안나오네요.
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
AWS CodeBuild vs Travis
AWS에서 제공하는 CodeBuild에서 도커를 연동하고 빌드테스트를 할 수 있는걸로 아는데요, Travis랑 비교했을 때 어떤 차이점이 있을까요~?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Transactional -> Repository클래스
안녕하세요 테스트 클래스가 아닌 Service클래스에서 @Transactional 애노테이션을 사용하면 RollBack이 수행되는 것이 아닌 데이터 가공 작업의 원자성(?)을 보장하기 위한 수단으로 사용된다는 것으로 알고 있는데요 Service클래스 안의 각 메소드가 각각의 논리적으로 독립된 비즈니스적 역할을 의미하니 이 각 메소드의 수행을 기반으로 @Transactioanl을 잡는 것과 이렇게 말고 Repository클래스에서 @Transactional을 사용해도 문제 없는지 알고 싶습니다. 즉, Service클래스에서의 @transactional 애노테이션 사용과 Repository클래스에서의 @Transactional 애노테이션 사용 차이의 의미를 여쭤보고 싶습니다. 감사합니다.
-
해결됨프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
안녕하세요 웹팩플러그인 중 BannerPlugin설정 관련 문의드립니다.
안녕하세요 강사님 좋은 강의로 실무에서도 웹팩을 다룰수있게 해주셔서 감사하며 궁금한점이 있어서 질문드립니다. 강의 중 알려주신 BannerPlugin을 적용하려고하는데 production 환경에서는 주석이 제거되서 BannerPlugin이 적용되지않습니다.https://github.com/react-boilerplate/react-boilerplate/tree/master/internals/webpack (현재 저는 위에있는 리액트 보일러플레이트 프로젝트를 커스터마이징해서 사용중입니다) 위 URL에 보이는 내용과같이, 저는 웹팩플러그인 설정파일을 사용중인데, production에서는 TerserPlugin 옵션중 output: {comments: false}가 주석을 제거해서 production에서는 main 청크파일에서 BannerPlugin에 설정한 정보가 보이지 않는 문제가 있습니다. (comments: true로 변경하면 정상적으로 main청크파일에서 BannerPlugin에서 설정한 정보를 지우진않습니다) production 환경에서도 BannerPlugin을 사용하고싶은데, 어떻게하면 좀더 좋은방법이 될지 문의드립니다. 제가 찾아본 솔루션은 TerserPlugin의 옵션중 terserOptions중 preamble을 추가하는것인데 혹시 더 좋은 방법이 있을지 궁금합니다ex) terserOptions: { output: { preamble: "/* 넣고싶은 버전정보 */" comments: false } (https://github.com/terser/terser) // webpack.base.babel.js 은 전역(모든 NODE_ENV 환경에서 작동하는) 웹팩플러그인 설정파일입니다 webpack.base.babel.js plugins: options.plugins.concat([ new webpack.DefinePlugin({ 'process.env': { ... }, }), new webpack.BannerPlugin({ banner: ` Build Date: ${new Date().toLocaleString()} Commit Version: ${commitHash} `, }),]), webpack.prod.babel.js optimization: { minimize: true, minimizer: [ new TerserPlugin({ terserOptions: { warnings: false, compress: { comparisons: false, }, parse: {}, mangle: true, output: { comments: false, ascii_only: true, }, }, parallel: true, cache: true, sourceMap: true, }), ], nodeEnv: 'production', sideEffects: true, concatenateModules: true, runtimeChunk: 'single', splitChunks: { chunks: 'all', maxInitialRequests: 10, minSize: 0, cacheGroups: { vendor: { test: /[\\/]node_modules[\\/]/, name(module) { const packageName = module.context.match( /[\\/]node_modules[\\/](.*?)([\\/]|$)/, )[1]; return `npm.${packageName.replace('@', '')}`; }, }, }, },},......
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
%ls data 오류
Volume in drive C is OS Volume Serial Number is C6A9-CB6E Directory of C:\Users\yangm\inflearn\open-data-analysis-basic-master\open-data-analysis-basic-master\data 12/29/2020 12:34 AM <DIR> . 12/29/2020 12:34 AM <DIR> .. 12/28/2020 09:41 PM 2,163 ?? ?? ????(2013? 9??? 2015? 8???).csv 12/28/2020 09:41 PM 162,510 ????????_?? ?? ????(2019? 12?).csv 2 File(s) 164,673 bytes 2 Dir(s) 315,259,756,544 bytes free------------------------------------------------------%ls data 를 했을 때 생기는 오류입니다.직접 탐색기에서 파일을 이동시킨 후, 파일의 목록을 보기위해 ls명령어를 입력하였는데, 위와같은 오류가 생기네요.어떻게 해결할 수 있을까요? 답변 미리 감사합니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
예제 5 질문입니다.
똑같이 따라했는데 write2.csv 파일에 아무것도 출력이 되지 않습니다.
-
미해결정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)
valueStack, Math.max, 소스코드 문의 드립니다.
안녕하세요 강의 잘 보고 있습니다~ 1. valueStack DFS 솔루션에서는 value값을 저장하는 스택을 따로 만드셨는데 저는 정수형 변수 하나로 풀어보니까 정답이 나오더라구요. value 값을 저장하는 스택을 따로 만드신 이유가 있는지 궁금합니다. 2. Math.max Math.max를 이용하여 count의 최댓값을 리턴하게 되어있는데요. 논리적으로 생각해보고, 디버깅도 해봤는데 굳이 Math.max를 쓰지 않고 count값을 리턴해도 정답이 되는 것 같습니다. Math.max를 생략해도 무관하지 않을까요? 3. 소스코드 Depth of Binary Tree 문제 3가지 솔루션(재귀 호출, DFS, BFS)들이 깃허브에 없더라구요. 혹시 업데이트 해주실 수 있는지 궁금합니다. 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문 수량이 재고를 넘어섰을 때
주문 수량이 재고를 넘어섰을 때,현재는 Error가 발생해서 whitelabel ErrorPage가 뜨는데요, 이 대신 MemberForm처럼 BindingResult를 걸어 hasError() -> 폼에 message를 표시해주는 것과 같은 기능을 넣고 싶은데, 혹시 어떻게 할 수 있을 지 힌트를 주실 수 있으실까요..?
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
iplot import 관련 질문
선생님, 안녕하세요. iplot을 사용하려면 다음과 같은 코드를 작성해야 한다고 말씀하셨습니다. import chart_studio.plotly as py import cufflinks as cf cf.go_offline(connected=True) 상기 코드가 각각 어떤 의미를 가지고 있는 것인지 알고 싶습니다. 어떻게 iplot과 연결되어 있는지 잘 모르겠습니다. iplot이란 패키지를 가져오지도 않았고, iplot을 따로 객체로 만들지 않았는데, 어떻게 데이터프레임에서 iplot이란 메서드를 사용할 수 있는지 알고 싶습니다. 항상 고맙습니다. 따뜻한 연말 되시길 바라겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Getter, @Setter 관련질문드립니다
안녕하세요 강사님, 항상 좋은 강의 감사드립니다. @Getter, @Setter를 통해 Hello hello = new Hello(); hello.setData("hello"); 를 할 때에 setData 부분에서만 계속 오류가 납니다. lombok 설정을 다 하여도 오류가 나서, getter/setter를 직접작성하여 실행해 보아도 오류가 납니다... 혹시 예상가는 오류 원인이 있으신지 질문드립니다. 스프링 버전은 2.4.1 / java11을 사용하고 있습니다. 감사합니다.
-
미해결배틀로얄 게임을 만들어보며 배우는 언리얼 게임 개발
네트워크 오류 나시는 분들 보세요
https://www.wysilab.com/GetVersion_Download_Mirror.php?action=DownloadAction 미러링 링크가 사이트에 있네요. 저는 이 링크로 하니까 다운로드 됬습니다. 메인화면 다운로드 버튼 밑에 있습니다.
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
질문이 있습니다.
1분 36초 경 클래스를 선언하실때 단축키를 누르신건가요??
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
그래프 생성 관련 질문입니다.
그래프 생성 강의에서 List<int> 배열로 그래프를 만드셨는데 아래와 같이 List<int[]> 에 Add()로 int 배열을 넣는 것과 어떤 차이가 있는지 궁금합니다. List<int[]> adj2 = new List<int[]>(); adj2.Add(new int [ ] { 1, 3}); adj2.Add(new int [ ] { 0, 2, 3 }); adj2.Add(new int [ ] { 1 }); adj2.Add(new int [ ] { 0, 1, 4 }); adj2.Add(new int [ ] { 3, 5 }); adj2.Add(new int [ ] { 4 });
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
powershell 관련 문장이 같이 출력됩니다
튜터님 화면과 다르게 제 화면에는 Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 새로운 크로스 플랫폼 PowerShell 사용 https://aka.ms/pscore6 이 구문이 위에 붙어서 같이 출력되는데 이게 뭔가요? 이대로 그냥 사용해도 되는지 아니면 어떻게 없애는지 궁금합니다
-
미해결실전! 웹사이트제작! Step by Step! ('돕다' 사이트제작_Basic Course)
text-align
강사님 저는 text-align을 block 요소안에 있는 inline요소를 정렬하는 것으로 알고있는데, section.global에 text-align : center을 줬을 때 h2태그인 title 클래스 안에있는 <h2>Global Concierge Services</h2> 이것이 왜 가운데 정렬되는지 모르겠습니다 ㅠㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
./certbot-auto 실행시 에러가 발생합니다.
실행시 에러가 나네요. 혹시나 싶어서 파이썬 최신버전 설치 했는데도 같더라구요.. 더 이상 certbot 지원도 안된다고 메세지도 떠있네요. 혹시나 싶어서 certbot.eff.org에 들어가봤네요 .밑에 사진처럼........... 어떻게 하면될까요? (뭔가 밑에 방법으로 바뀐거 같은......)
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
똑같이 했는데 req.session undefined가 뜨네요..
chat.on('connection', (socket) => { console.log('chat 네임스페이스에 접속..'); const req = socket.request; ////////////// 이 부분 누락? 복구.. 그래도.. //console.log('req: ', req); const { headers: { referer } } = req; console.log('referer: ', referer); // 추천에 따라 출력해 봄.. console.log('req.session', req.session); // req.session undefined???? // 주소에서 룸id를 추출하는 부분.. const roomId = referer .split('/')[referer.split('/').length - 1] .replace(/\?.+/, ''); socket.join(roomId); ((1)) // 2. socket.to(방 아이디) 메서드로 특정 방에 데이터를 보낼 수 있음. 조금 전 세션 미들웨어와 Socket.IO를 연결했으므로 // 웹 소켓에서 세션을 사용할 수 있음. 방에 참여할 때 방에 누군가가 입장했다는 시스템 메시지를 보냄. socket.to(roomId).emit('join', { user: 'system', chat: `${req.session.color}님이 입장하셨습니다.`, // TypeError: Cannot read property 'color' of undefined }); ////////////////////////////////////////// 8005 번 포트에서 대기중 몽고디비 연결 성공 room 네임스페이스에 접속 새로운 room.on 접속: ::1 h6N5SLM0D46UmyPoAAAB undefined room 네임스페이스에 접속 새로운 room.on 접속: ::1 9dyP8hILc4_NIhx_AAAD undefined check req.sessioh.color.. req.session.color: #3a7861 room 네임스페이스 접속 해제.... check req.sessioh.color.. Mongoose: rooms.insertOne({ max: 10, _id: ObjectId("5fe9ddab4360bd497033234d"), title: '나', owner: '#3a7861', password: '', createdAt: new Date("Mon, 28 Dec 2020 13:29:15 GMT"), __v: 0}, { session: null }) check req.sessioh.color.. Mongoose: rooms.findOne({ _id: ObjectId("5fe9ddab4360bd497033234d") }, { projection: {} }) Mongoose: chats.find({ room: ObjectId("5fe9ddab4360bd497033234d") }, { sort: { createdAt: 1 }, projection: {} }) req.session.color: #3a7861 chat 네임스페이스에 접속.. referer: http://localhost:8005/room/5fe9ddab4360bd497033234d?password= req.session undefined chat: `${req.session.color}님이 입장하셨습니다.`, // TypeError: Cannot read property 'color' of undefined ^ TypeError: Cannot read property 'color' of undefined
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
질문있습니다.
질문1. commentForm.js에서 댓글을 작성하고 버튼을 누르면 밑의 코드가 실행됩니다. const onSubmitComment = useCallback(() => { dispatch({ type: ADD_COMMENT_REQUEST, data: { content: commentText, postId: post.id, userId: id }, }); }, [commentText, id]); 여기서 인자로 userId를 보내주었는데 리듀서와 사가를 거쳐 백엔드에서 router.post('/:postId/comment', isLoggedIn, async (req, res, next) => { // POST /post/1/comment try { const post = await Post.findOne({ where: { id: req.params.postId }, }); if (!post) { return res.status(403).send('존재하지 않는 게시글입니다.'); } const comment = await Comment.create({ content: req.body.content, PostId: parseInt(req.params.postId, 10), UserId: req.user.id, }) const fullComment = await Comment.findOne({ where: { id: comment.id }, include: [{ model: User, attributes: ['id', 'nickname'], }], }) // console.log("fullComment::::",JSON.stringify(fullComment),"enddddd"); res.status(201).json(fullComment); } catch (error) { console.error(error); next(error); } }); 위의 라우터가 실행되잖아요? 그런데 여기서 인자로 보내준 userId는 안쓰이고 req.user.id즉 세션에 저장되어 있는것을 쓰셨는데 그렇다면 위에서 userId를 인자로 넘겨준 이유가 무엇인지 궁금합니다. 질문2. FollowButton.js입니다 팔로우 버튼을 누르면 const FollowButton = ({ post }) => { const dispatch = useDispatch(); const { me, followLoading, unfollowLoading } = useSelector((state) => state.user); const isFollowing = me?.Followings.find((v) => v.id === post.User.id); console.log(isFollowing); const onClickButton = useCallback(() => { if (isFollowing) { dispatch({ type: UNFOLLOW_REQUEST, data: post.User.id, }); } else { dispatch({ type: FOLLOW_REQUEST, data: post.User.id, }); } }, [isFollowing]); if (post.User.id === me.id) { return null; } return ( <Button loading={followLoading || unfollowLoading} onClick={onClickButton}> {isFollowing ? '언팔로우' : '팔로우'} </Button> ); }; 위의 코드가 실행되잖아요? 그런데 이때 console.log(isFollowing);으로 로그를 찍어 보았습니다. 그런데 팔로우 버튼을 누르면 console에서 {id: 9} id: 9 __proto__: Object 이렇게 아이디만 뜨고 다시 새로고침을 해주어야 {id: 9, Follow: {…}} Follow: {createdAt: "2020-12-28T13:26:05.000Z", updatedAt: "2020-12-28T13:26:05.000Z", FollowingId: 9, FollowerId: 7} id: 9 __proto__: Object 아이디와 아이디에 속해있는 Follow 객체를 불러오는데요... 왜 팔로우 버튼을 누른 후에는 (새로고침 하기전에는 ) id만 받아 오는것인지 궁금합니다!
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
Burp Suite외에 다른 인증서나 도구로도 가능할까요?
안녕하세요! 완강 후 SSL Pinning 학습 중에 궁금한 점이 생겼습니다. Burp Suite외에 다른 인증서나 다른 도구를 이용하여 해당 SSL Pinning 우회가 가능할까요? 가능하다면 혹시 대표적인 사례가 어떤 것이 있는지 궁금합니다.