묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
플렉스(Flex) 반응형 웹사이트 포트폴리오(The World's Best Cities)
반응형 모바일 레이아웃 변환 가로스크롤 질문드립니다
삭제된 글입니다
-
미해결스프링 핵심 원리 - 기본편
안녕하세요 프로젝트 관련해서 궁금하게 있습니다.
안녕하세요 jpa부터 스프링까지 좋은 강의 만들어주셔서 많이 배우고 있습니다. 감사합니다. 제가 플랫폼을 2개 만들려고하는데요 예를들어 inflearn.com -> 교육 플랫폼competition.inflearn.com -> 대회 플랫폼이렇게 두 플랫폼을 만든다면, 예를들어 교육플랫폼에서 인공지능을 공부하고 대회 플랫폼에서는 배운 인공지능을 활용해서 서로 경쟁을 하는것입니다. 위 두개의 플랫폼을 만든다고 한다면,, 서로 분리된 프로젝트로 나눠야할것같은데.. 교육플랫폼 회원은 별도의 회원가입없이 대회플랫폼도 이용하게 하고싶고, 쪽지기능, 채팅기능, 게시판기능등 겹치는 기능이 많을것 같습니다. 만약 두개의 프로젝트를 나눠서 개발하게되면 엄청난 복붙을 해야할거같고 에러가 많이 발생할것같습니다.. 또 하나로 하자니 비대해지고 두 플랫폼의 성향이 많이 달라 다른 프로젝트로 나누는게 깔끔할것같습니다.. 위 같은 상황에서는 어떻게 하시나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
리액트 크롬 확장툴이요!
제가 중간에 놓친것같은데.. inspector? 데이터 확인하는 부분있던데.. 크롬확장툴 이름이 뭘까요? :) 3:33초에 나왔습니다!
-
해결됨스프링 핵심 원리 - 기본편
Spring의 Bean주입 관련 질문입니다
안녕하세요 영한님 이번 강의를 듣고 궁금증이 생겨 이렇게 질문드립니다. 1. 첫번째 질문입니다. 평소에 의존성 주입을 할때 의존성을 주입할 객체를 private final로 선언한후에 Lombok의 @RequiredArgsConstructor를 사용하거나 final로 선언된 객체를 생성자를 통하여 받아 주입을 하였습니다. 근데 강의를 듣다보니 영한님같은 경우는 @Autowired를 생성자에 사용하고 계신데 로그상으로 봣을때는 @Autowired가 있고 없고가 차이가 없어 보입니다. 혹시 @Autowired의 사용 유무에 따라서 내부적으로 차이점이 있는건가요? 2. 두번째 질문은 14:40 구간에 스프링 빈저장소 그림을 보다가 문득 생각났는데요 Bean객체가 빈 저장소에 등록되는 순서가 존재하는 걸까요? MemberService의 경우는 MemberRepository의 의존성을 주입 받아야하는데 MemberService가 먼저 빈저장소에 등록되고 이후에 MemberRepository에 등록되는 경우는 MemberService가 생성될때 MemberRepository의 빈정보는 빈 저장소에 없는 상태인데 이럴경우는 어떻게 해당 객체를 생성자를 통하여 주입후 MemberService가 생성되는지 궁금해졌습니다. 그래서 제가 스스로 생각해본 내용은 전체의 빈을 먼저 스캔한후 주입받을 내용이없는 빈을 먼저 빈저장소에 등록후 이후에 주입받을 빈이 있는 객체를 생성하여 빈저장소에 저장한다. 라고 생각도 해보았는데 로그상으로 보면 Creating shared instance of singleton bean 'AClass' Creating shared instance of singleton bean 'BClass' Autowiring by type from bean name 'AClass' via constructor to bean named 'BClass' 이 순서대로 빈이 생성되어 주입되는듯하네요 그래서 또 다른 생각은 SpringMVC같은 경우는 컨트롤러에서 요청된 내용을 reflection을 통하여 해당하는 요청의 메소드를 invoke시키는 것으로 배웠는데 그렇다면 빈들을 먼저 빈 저장소에 저장후에 그 이후에 저장된 빈에서 주입이 안된 객체를 찾아 꺼내고 reflection을 통하여 생성자의 파라미터에 주어진 객체를 저장해줄까 라는 생각도 해보았습니다. 스프링에서는 내부적으로 빈이 어떻게 주입이 되는지가 궁금합니다. ㅎㅎ!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중간중간 타입확인할 때 나오는 단축키 ??
중간중간 (8:35 초 등)에 나오는 Optional 형 등 타입 확인할 때 나오는 단축키 이름이 뭔가요??
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
네비 질문
사진과 같이 네비 부분에 3번째 4번째 서브메뉴 같은 경우엔 항목이 3개라서 빈부분이 생겨버려서 깔끔한 모양이 안나오는데 저런 경우 어떻게 해줘야 되는건가요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
시퀄라이즈 DB 테이블 생성제한방법
시퀄라이즈를 사용하면서 기존에 이미 있는 DB를 연결만 시켜서 사용할수도 있을까요?? 이미 사용중인 DB에(데이터도 있습니다) sql 쿼리를 작성해서 사용하던걸 시퀄라이즈로 대체하려고 하는데, DB테이블을 생성이나 변경 없이 사용할 수 있을까요??
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
'우분투에 MySQL 설치하기'에서 EC2 back 서버에 404 ERROR가 뜹니다
mysql 설치해서 db연결하는 것까지는 성공했습니다. 그런데 back server에 접속하면 404 에러가 나와서요ㅜㅜ. 왜 그런지 감도 못잡고 있는 초보입니다. 도와주세요~ ubuntu@ip-172-31-47-106:~/Ymillonga/back$ sudo mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 42 Server version: 8.0.22 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use react-nodebird; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +--------------------------+ | Tables_in_react-nodebird | +--------------------------+ | Follow | | Hashtags | | Like | | PostHashtag | | comments | | images | | posts | | users | +--------------------------+ 8 rows in set (0.00 sec) mysql> exit; Bye app.js const express = require('express'); const cors = require('cors'); const session = require('express-session'); const cookieParser = require('cookie-parser'); const passport = require('passport'); const dotenv = require('dotenv'); const morgan = require('morgan'); const path = require('path'); const hpp = require('hpp'); const helmet = require('helmet'); const postRouter = require('./routes/post'); const postsRouter = require('./routes/posts'); const userRouter = require('./routes/user'); const hashtagRouter = require('./routes/hashtag'); const db = require('./models'); const passportConfig = require('./passport'); dotenv.config(); const app = express(); db.sequelize.sync() .then(() => { console.log('db연결 성공'); }) .catch(console.error); passportConfig(); if (process.env.NODE_ENV === 'production') { app.use(morgan('combined')); app.use(hpp()); app.use(helmet()); } else { app.use(morgan('dev')); } app.use(cors({ origin: ['http://localhost:3060', 'nodebird.com', 'http://52.79.186.162'],//'http://nodebird.com', 해당 주소에서 온 요청만 허용 credentials: true,//true: cookie를 다른 도메인(3060 port에서 3065 port로 전달하는 경우)으로 전달하게 함 })); app.use('/', express.static(path.join(__dirname, 'uploads')));// '/' => 'localhost:3065/모모.png',__dirname(현재폴더:back), __dirname + 'uploads'로 적지 않는다. 운영체제마다 /(맥),\(윈도우) 경로설정 다른 것을 자동으로 해준다. app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use(cookieParser(process.env.COOKIE_SECRET)); app.use(session( { saveUninitialized: false, resave: false, secret: process.env.COOKIE_SECRET, } )); app.use(passport.initialize()); app.use(passport.session()); app.use('/posts', postsRouter); app.use('/post', postRouter); app.use('/user', userRouter); app.use('/hashtag', hashtagRouter); // app.use((err, req, res, next) => { // //에러 처리 미들웨어를 특별하게 보이도록 하고 싶을 때 따로 만들어주기 // }); app.listen(80, () => { console.log('서버 실행 중'); });
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
함수 호출 순서 보는 코드
코드만 봐서 이해가 안가서 프린트문으로 보이도록 짜봄 이래하면 result = n * factorial(n-1) 부분에서 다시 함수 호출, 호출 하면서 5번 더 내려가고 1에 도달하면 1*2*3*4*5*6 식으로 올라오면서 하나씩 함수 닫고 마지막에 결과값 반환하고 함수 종료 def factorial(n): '''Factorial Fucntion -> n: int''' if n == 1: print('n: ', n) return 1 else: print('n: ', n) result = n * factorial(n-1) print(n, result) return result
-
미해결WEB2 - PHP
바로바로 브라우저창에 업로드가안되요..
코드수정하고 확인하는데 html 할때는 바로바로 수정확인이되는데 이건 바로바로수정확인이안되요 ㅠㅠ 원래그런가요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
jquery 작성 관련입니다.
html 작성시에,그냥 a태그로만 안하고 ul과 li를 사용하는 이유가,글자에만 영역을 잡으려고 한다고 하셨습니다. 그렇게 하지 않으면 보더를 그렸을때 아래사진처럼, 글자 옆으로 영역이 더 발생하기에 그렇게 한다고 하셨고,아, 그런의도구나라고 이해했습니다. 그렇다면, jquery 식을 보면, $('.navi li').mouseenter(function(){ var changeImage = $(this).attr('data-image') $('.photo').css({"background-image" : "url("+ changeImage +")"}) }) $('.navi li').mouseleave(function(){ var changeImage = $(this).attr('data-image') $('.photo').css({"background-image" : ""}) }) 이렇게 되면,".btn li"를 눌렀을 때가 되고, 결국 li의 영역은위의 사진처럼 영역이 똑같아 지게 됩니다. 따라서, '.navi li a' 여기에 mouseenter와 mouseleave가 있어야 합니다.그러나 이렇게 되면 changeImage의 data-image경로가 꼬여버리기 때문에data-image를 li가 아닌 a에 주던가, 혹은 아래처럼, $('.navi li').mouseenter(function(){ var changeImage = $(this).parent().attr('data-image') $('.photo').css({"background-image" : "url("+ changeImage +")"}) }) $('.navi li').mouseleave(function(){ var changeImage = $(this).parent().attr('data-image') $('.photo').css({"background-image" : ""}) }) parent()를 넣어줘서 해야,영역이 아래 그림처럼 잡히고 그안에서만 반응하도록선생님께서 의도한 기능이 구현되는 것 같습니다. 제가 말씀드리는 부분이 이해가 가시나 모르겠습니다. 주제넘게 이런거 올려서 죄송합니다.보다 정확하게 하고 싶은 마음과, 선생님께 제가 이렇게 생각한걸 보고 피드백도 받고 싶은 마음,그리고 제가 짚어낸 부분이 맞다면, 다른분들도 같이 참고 했으면 하는 마음이 있어서 그랬습니다. 피드백 기다리겠습니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Queued 상태
저도 해당 질문과 같이 Queued 상태가 나와 질문올립니다. Travis CI에서 Job 안에 View Config를 봤을떄, 대략 다음과 같은 얘기가 나와서 우선 수정해봤습니다. 이제 Build Configuration은 체크로 뜨는데, 계속 Queued에서 멈춰 여쭤봅니다.sudo don't affect anymore root : os missing, use linux root : dist missing, use xenial (수정 .traivs.yml) language: generic dist: xenial os: linux services: - docker before_install: - echo "create docker image" - docker build -t bapbodanbbang/docker-react-app -f Dockerfile.dev . script: - docker run -e CI=true bapbodanbbang/docker-react-app npm run test -- --coverage after_success: - echo "Test Success!" after_failure: - echo "Test Fail!"
-
미해결실전! Querydsl
요청받는 객체의 이름도 dto로 네이밍 해야할까요??
강의를 들을때는 반환하는 경우가 대부분이라 문제 없었는데, 포폴을 만들다보니 요청받을때 파라미터를 제가 별도로 만든 클래스로 받는다면 해당 클래스 네이밍을 어떻게 해야하는지 모르곘습니다. 네이밍이야 어떻게 하든 돌아는 가겠지만 왠만하면 어느정도 실무에서 통용되는게 있다면 그걸 쓰고 싶은데 그런게 있나요?? 현재는 요청받을때, 반환할때 둘다 땡땡땡DTO 이런식으로 하고 있긴한데 용도가 다름에도 똑같이 이름짓는다는게 너무 찜찜해요=_=
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
질문이요!
1. header에 position 주면은요. header가 붕떠서 head-inner는 높이값을 잃어서 접혀야 되는데 왜 그대로 있지요? 2.헤더에 포지션렐러티브있는 상태에서, sub-back에 포지션엡솔루트 주면 기본값이 left0 top0 이라고 하셨는데 저 값을 줘도 서브백이 그자리에 그대로 있었는데 왜 그런거지요? 음.
-
미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 고급 3단계
getExternalStoragePublicDirectory() 안드로이드 10
앞으로는 10 을 기준으로 만들어야 하는데 getExternalStoragePublicDirectory대신 사용할수 있는 방법이 있나요?
-
미해결반응형 웹사이트 포트폴리오(Architecture Agency)
재문의 드립니다.
바로 밑밑 게시글에 전체 섹션 완성후 home 섹션 처음 로딩될 때 라는 제목으로 5일정도 전에 문의 드렸었는데, 처음 로딩될 때 온갖 태그들이 합쳐진 상태로 난잡하게 보여진 후 그다음 애니메이션이 실행되는 걸로 질문을 드려서, 알아 보신후에 재답글 주신다고 하셨는데 아직 재답글이 안달려서 재문의 드립니다.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
강사님 항상 좋은 강의 감사드립니다. 코드 리뷰 부탁드립니다.
아래 코드처럼 시간복잡도 O(N)으로 처리하였는데 이 경우 반례가 생길 여지가 있을까요? 정답 제출시 100점이라고는 뜹니다. #include <iostream> #include <algorithm> using namespace std; int n, mx; int tmp = 1; int arr[100005]; int main() { freopen("input.txt", "rt", stdin); scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } /* 9 5 7 3 3 12 12 13 10 11 [0], [1].... i = 1 arr[0] <= arr[1] i = 2 arr[1] <= arr[2] i = 3 arr[2] <= arr[3] i ... arr[i-1] <= arr[i] */ for (int i = 1; i < n; i++){ if(arr[i-1] <= arr[i]) { tmp++; } else { tmp = 1; } mx = max(mx, tmp); } printf("%d", mx); return 0; }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
status가 400이 나옵니다.ㅠㅠ
몽고디비에는 잘 등록되는데 왜 status가 400이 나오는지 모르겠습니다. 몇번이나 반복해서 보았는데 postman에서 이렇게 에러가 나오네요ㅠㅠ 왜일까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
EntityManager api관련 질문입니다.
안녕하세요 김영한님 강의 JPA강의와 스프링 강의 잘 보고 있습니다. 다름아니라 EntityManager api중에 merge()메소드가 있는 데 1차캐시에서 관리되고 있지 않는 엔티티 타입 객체를 A라고 하면 A객체가 PK값 들고 있을 경우 merge를 호출하면 1차 캐시의 엔티티를 A값으로 덮어버리는 것 같더라구요. 그래서 궁금했던게 강의에서는 엔티티의 필드 하나를 업데이트 하려면 업데이트하려는 엔티티 필드의 메서드를 호출해서 값을 변경해 주는 것으로 업데이트를 처리했지만, 엔티티의 업데이트를 해줘야하는 필드값이 많다면 merge를 쓰면 손쉽게 한 엔티티의 여러필드를 동시에 업데이트가 가능하더라구요. 하지만, 강의에서는 merge를 사용하지 않으신거 보면 뭔가 리스크가 있어서 그렇것 같은데.. 이것 사용함으로써 발생하는 위험요인이 혹시 있을까요? 그리고 사용하기 권장하지 않는다면 어떤 이유에서 권장하지 않으신지 궁금합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
npm run dev 오류
npm run dev실행 시 오류때문에 아무것도 안됩니다; dependencies 문제인가 하여 uninstall하고 다시 설치했는데도 오류가 뜹니다 어떻게하져..아무것도 못하고있네요