묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결SQL 개발자 (SQLD) 자격증 따기 Part.4
기출 37회 교안에 22번부터 답표시가 안되어있어요
기출 37회 교안에 22번부터 답표시가 안되어있어요
-
해결됨프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 1
lazy적용하였는데 네트워크탭에 분리하여 보이지 않습니다
안녕하세요,강의와 같이 lazy를 적용하였는데, 페이지 이동 후 네트워크 탭에서 새로 받는 청크파일이 표시되지 않는데 따로 설정이 필요한걸까요?코드import React, { Suspense, lazy } from 'react'; import { Switch, Route } from 'react-router-dom'; import './App.css'; const ListPage = lazy(() => import('./pages/ListPage/index')); const ViewPage = lazy(() => import('./pages/ViewPage/index')); function App() { return ( <div className="App"> <Suspense fallback={<div>Loading...</div>}> <Switch> <Route path="/" component={ListPage} exact /> <Route path="/view/:id" component={ViewPage} exact /> </Switch> </Suspense> </div> ); } export default App; 네트워크 탭(전체로 선택하여 확인)게시글 목록 -> 상세로 페이지 이동후에 새로운 청크 받아지는 것이 보이질 않습니다 실행 환경OS: Mac OS크롬버전: 111개발툴: vscode
-
해결됨스프링 부트 - 핵심 원리와 활용
한글이 깨지고 로그가 안찍히네요 ㅠ
톰켓 설정 강의에서 하라는 대로 실행을 하였더니 페이지는 잘 뜨는데 한글이 깨지고 TestServlet.service 로그가 안찍히는데 왜그러는지 모르겠어요 ㅠ
-
해결됨한국인이 좋아하는 속도로 때려넣는 파이썬
Ipython 설치가 안되어용 ㅠ
설치를 강의순서대로 맞게 했는데 자꾸 오류가 나서 문의드립니다.참고로 외부망 내부망따로 쓰는 피씨에서 업무하고, 설치한건 외부망에서 한건데 안되어서 문의드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-M 순열 재귀, next_permutation
안녕하세요 큰돌님!문제를 보고 괄호추가하기와 같은 패턴으로 풀면 될것같아서 풀어보았습니다. 재귀를 사용해서 순열을 만들어 풀이한것이 통과가 되어서 next_permutation으로 만들어봤습니다. 그런데 생각대로 잘 되지가 않네요...ㅠㅜnext_permutation으로 풀려면 어떤 방식으로 접근해야할까요?? 좋은 강의 해주셔서 감사합니다:)http://boj.kr/dd36ea0097404bbf8cdb802ca843eacd
-
미해결스프링 부트 - 핵심 원리와 활용
외부 파일 주입
안녕하세요, 외부 파일 경우, application.properties를 만들어두고,서 강의와 같이 url=dev.db.com23 username=dev_user23 password=dev_pw23를 저장해 두었더니, 2023-03-18T10:44:03.240+09:00 INFO 17556 --- [ main] hello.EnvironmentCheck : env url=dev.db.com232023-03-18T10:44:03.240+09:00 INFO 17556 --- [ main] hello.EnvironmentCheck : env username=um9502023-03-18T10:44:03.240+09:00 INFO 17556 --- [ main] hello.EnvironmentCheck : env password=dev_pw23 라고 출력이 됩니다. username만 제대로 나오지 않는데요, 현재 출려고딘 um950이 제 윈도우 계정이거든요...뭔가 더 높은 우선순위로 잡혀있는 것 같은데 이 부분은 어디서 고치거나/확인 할 수 있을까요...?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
Credentials 설정 후 origin: true를 줘도 헤더 결과값이 안들어가요
안녕하세요!Credentials 설정 후 origin을 'http://localhost:3060' 으로도, true 로도 변경해봤지만 계속해서 해당 오류가 뜨는데 이유를 모르겠습니다. ㅠㅠ 제로초님의 오류와 다른 부분이 있는 것 같습니다.Access to XMLHttpRequest at 'http://localhost:3065/user/login' from origin 'http://localhost:3060' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.제 코드는 현재 이렇습니다.[app.js]const express = require("express"); const session = require("express-session"); const cookieParser = require("cookie-parser"); const cors = require("cors"); const passport = require("passport"); const dotenv = require("dotenv"); const postRouter = require("./routes/post"); const userRouter = require("./routes/user"); const db = require("./models"); const passportConfig = require("./passport"); const app = express(); dotenv.config(); passportConfig(); //서버 실행할 때 db sequelize 연결도 함께 실행 db.sequelize .sync() .then(() => { console.log("db 연결 성공"); }) .catch(console.error); // router보다 위에 작성해야 함 app.use( cors({ // origin: 'https://nodebird.com' // 설정된 웹페이지에서 오는 요청만 허용 // origin: "*" // 전체 허용 // origin: "http://localhost:3060", // withCredential: true 일 때 보안이 더 철저해져서 정확한 주소를 적어야 함 origin: true, // 요청을 보낸 곳의 주소가 자동으로 들어가 허용 credientials: true, }) ); // CORS 에러 처리법 2 (npm i cors) app.use(express.json()); // front에서 json형식으로 데이터를 보냈을 때 json형식의 데이터를 req.body로 넣어줌 app.use(express.urlencoded({ extended: true })); // form을 submit했을 때 urlencoded 방식으로 데이터가 넘어옴 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.get("/", (req, res) => { res.send("hello express"); }); app.get("/posts", (req, res) => { res.json([ { id: 1, content: "hello1" }, { id: 2, content: "hello2" }, { id: 3, content: "hello3" }, ]); }); app.use("/post", postRouter); app.use("/user", userRouter); app.listen(3065, () => { console.log("서버 실행중!!!!"); }); [sagas - index.js]import axios from "axios"; import { all, fork } from "redux-saga/effects"; // take 는 1회용이기 때문에 while(true) {} 문으로 감싸준다. 하지만 직관적이지 않으므로 take 대신에 takeEvery를 사용한다. // takeLatest 는 클릭이 두번되었을 때 두 번 실행되지 않기 위해 마지막 것만 실행되도록 하는 effect 이다. (요청은 취소되지 않고 응답만 취소되므로 서버에는 두개가 저장됨(치명적단점)) // takeLeading 은 첫번째 것만 실행되도록 하는 effect 이다. // throttle 은 시간제한을 두어 그 시간동안에 한번만 실행되도록 요청하는 것이다. (특수한 경우에 사용, 디도스 공격을 막을 때 좋음) import userSaga from "./user"; import postSaga from "./post"; axios.defaults.baseURL = "http://localhost:3065"; axios.defaults.withCredentials = true; // function* : generator 는 yield(중단점)가 있는 곳에서 멈춤 export default function* rootSaga() { // all 은 fork 나 call 을 동시에 실행시켜준다. yield all([ // fork !== call // fork 는 비동기 함수 호출 , call 은 동기 함수 호출 fork(userSaga), fork(postSaga), ]); } 어디서 잘못된 걸까요..? 오류를 보면 header in the response is '' 로 헤더의 결과 값이 없는 것같은데...origin 을 true 로 변경했는데 왜 안들어갈까요...
-
해결됨스프링 배치
JdbcBatchItemWriter Query
안녕하세요 선생님!JdbcBatchItemWriter 에서 발생하는 Query 가batch query 로 나가지 않는 것 같아서 질문 드립니다! 혹시 jdbc 에서 batch query 로 보내더라도 optimizer 에 의해단일쿼리로 변경되어서 나갈수도 있나요?! 감사합니다. 위 사진은 MySQL 의 Query Log 입니다. 제 설정은 아래와 같습니다@Configuration class HelloJobConfiguration( private val jobBuilderFactory: JobBuilderFactory, private val stepBuilderFactory: StepBuilderFactory, private val dataSource: DataSource, ) { @Bean fun job(): Job { return jobBuilderFactory.get("job") .incrementer(RunIdIncrementer()) .start(step1()) .build() } @Bean fun step1(): Step { return stepBuilderFactory.get("step1") .chunk<Customer, Customer>(5) .reader(customItemReader()) .writer(customItemWriter()) .build() } @Bean fun customItemReader(): ItemReader<Customer> { return JdbcPagingItemReaderBuilder<Customer>() .name("jdbcPagingItemReader") .dataSource(dataSource) .pageSize(5) .rowMapper(BeanPropertyRowMapper(Customer::class.java)) .queryProvider(queryProvider()) .build() } @Bean fun queryProvider(): PagingQueryProvider { return SqlPagingQueryProviderFactoryBean().apply { setDataSource(dataSource) setSelectClause("SELECT id, firstName, lastName, birthdate") setFromClause("FROM customer") setSortKeys(mapOf("id" to Order.ASCENDING)) }.`object` } @Bean fun customItemWriter(): ItemWriter<Customer> { return JdbcBatchItemWriterBuilder<Customer>() .dataSource(dataSource) .sql("INSERT INTO customer2 values(:id, :firstName, :lastName, :birthdate);") .beanMapped() .build() } }
-
미해결코딩테스트 [ ALL IN ONE ]
커리큘럼 질문
강의 진행이 잘 이해가 안되는데 디스코드에 올라온 문제는 모두 커리큘럼에 풀이영상이 올라오는 것은 아닌건가요? 디스코드에 있는 문제가 어떤 강의를 듣고 풀어야 하는지 잘 모르겠습니다. (7주차부터)
-
미해결스프링 핵심 원리 - 기본편
수업 내용 이게 맞을까요?
@Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final MyLogger myLogger; @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) { String requestURL = request.getRequestURL().toString(); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK"; } }1. 위 코드가 에러가 나는 이유@RequiredArgsConstructor 이 코드로 생성자 자동 주입을 실행빈 라이플 사이클 생성자 주입특징으로 객체 생성 과정과 의존관계주입이 한번에 일어나니MyLogger 객체가 setRequestURL 세터 메서드로인해 (외부에서 입력 받아야하니) 정보를 못담아서 에러가 나는거 맞을까요? @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) { String requestURL = request.getRequestURL().toString(); MyLogger myLogger = myLoggerProvider.getObject(); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK"; } }코드가 실행되는 이유빈 라이플 사이클 중 Setter와 Field 주입은 객체 생성 후 의존관계 주입으로 나뉘어져있으므로logDemo메서드가 실행하면 Provider.getObject()가 나올떄까지 빈 생성을 지연시키다가 request요청을 받은후 Provider.getObject()로 객체를 생성하고setRequestURL()로 의존관계를 주입하는사이클 맞을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-G 문제의 풀이방식이 궁금해서 질문 드립니다
안녕하세요! 7-G 문제 공부 후에 프로그래머스의https://school.programmers.co.kr/learn/courses/30/lessons/154538숫자 변환하기를 풀어 보았습니다!딱 문제를 보자마자, 여러번(무제한) 쓸 수 있고dp 문제라는 생각이 들어 7-G 문제 접근 방식이 생각나서 아래와 같이 처음에 접근 했었습니다!arr[x] = 0; for(int i=n; i<= y; i++) { arr[i] =min(arr[i],arr[i-n]+1) ; } for(int i = 3*x; i<= y; i++) { if(i%3 == 0) arr[i] = min(arr[i],arr[i/3] +1); } for(int i=2*x; i<=y; i++) { if(i%2 == 0) arr[i] = min(arr[i],arr[i/2]+1); } 이렇게 for문을 나누어서 왼쪽부터 오른쪽으로 더해가면서 구하게 하였습니다. 그랬는데 틀렸다는 메세지가 나와서 혹시나 싶어서 for문을 하나 사용하여 모든 조건을 동시에 검사하게 하였더니 즉arr[x] = 0; for(int i= x; i<=y; i++) { if(i%3 == 0) arr[i] = min(arr[i], arr[i/3]+1); if(i%2 == 0) arr[i] = min(arr[i],arr[i/2]+1); if(i-n >=0) arr[i] =min(arr[i],arr[i-n] +1) ; } 위와 같이 제출 하였더니 이번엔 정답 처리되었습니다!아무리 생각을 해 보아도 최솟값을 구하는 것이기 때문에, 같이 검사하나 따로따로 검사하나 문제가 없을 것이라고 생각하였는데, 곱하기나 나누기의 경우라서 다른 걸까요 아니면 비슷한 문제이지만, 접근 방식이 아예 다른 걸까요?? 위의 두가지 방식에서 달라지는 반례를 찾아보려고 계속 생각해 봤는데, 제 머리로는 잘 모르겠어서 고민 끝에 질문 드립니다!감사합니다!혹시나 몰라 아래에 정답으로 제출된 코드 전부 첨부했습니다!#include <string>#include <vector>#include <bits/stdc++.h>using namespace std;int arr[1000002] ={0};int solution(int x, int y, int n) { fill(arr,arr+1000002,987654321); arr[x] = 0; for(int i= x; i<=y; i++) { if(i%3 == 0) arr[i] = min(arr[i], arr[i/3]+1); if(i%2 == 0) arr[i] = min(arr[i],arr[i/2]+1); if(i-n >=0) arr[i] =min(arr[i],arr[i-n] +1) ; } cout<< arr[y]<<endl; if(arr[y]== 987654321) return -1; else return arr[y];}
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
onSuccessChanged? 의 의미가 어떤것인가요?
Task.cs를 보면아래와 같은 코드가 있던데 혹시 onSuccessChanged에 ?가 붙은 것은 어떤 의미인가요? if (currentSuccess != prevSuccess) { State = currentSuccess == needSuccessToComplete ? TaskState.Complete : TaskState.Running; onSuccessChanged?.Invoke(this, currentSuccess, prevSuccess); }
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 조언을 얻고싶습니다.
제가 강의를 보면서 토이 프로젝트로 게시판을 만들고 있습니다.그래서 엔티티 관계도를 만들어봤고 아래는 제가 구현해 놓은 관계도 입니다.그런데 여기서 궁금한 점이 있습니다.이렇게 해도 괜찮은가요? Question, Answer, Comment가 SiterUser에 너무 의존하는거 같아서 의구심이 듭니다. 셋 다 작성자, 추천 필드로 인해 과도하게 연관을 지었나 싶습니다.마이페이지에서 해당 유저의 작성글과 댓글을 모으는 부분도 구현하려고 하는데 그러면 SiteUser부분에 questionList, AnswerList, CommentList를 추가해 양방향으로 볼 수 있도록 할지 아니면 DB에서 그냥 유저의 아이디와 일치하는 글들을 끌어오는 방식을 할지 고민이 됩니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K팰린드롬 문제. 맞는 것 같은데 틀렸어요
안녕하세요 1-k 1213 팰린드롬 문제를 풀었는데요, devc++로 코드 작성해서 테스트 해봤을 때 맞는 것 같아요. 그런데 백준에 제출하면 틀렸다고 뜨는데 어디가 틀린건지 모르겠어요. 도와주세요ㅠㅠ#include<bits/stdc++.h> using namespace std; string name, ret; int alpha[27]; int odd, oddnum; int main() { cin>>name; for(int i=0; i<name.size(); i++) { alpha[name[i]-'A'+1]++; } for(int i=1; i<=26; i++) { if(alpha[i]) { if(alpha[i]%2 ==1) { odd++; oddnum = i; if(odd>=2) { cout<<"I'm Sorry Hansoo\n"; break; } else for(int j=0; j<alpha[i]/2; j++) ret += (char)(i+'A'-1); } else { for(int j=0; j<alpha[i]/2; j++) ret += (char)(i+'A'-1); } } } for(int i=0; i<ret.size(); i++) cout<<ret[i]; if(oddnum && odd<2) cout<<(char)(oddnum+'A'-1); for(int i=ret.size()-1; i>=0; i--) cout<<ret[i]; }
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
mac 주소와 호스트 주소의 차이점이 궁금해요.
하나의 네트워크 주소에 장치들이 여러개 맞물려서 사용하는 거잖아요. 스위치가 ip를 각각 컨버팅 해주고요. 그래서 이 장치들이 수신 받을 때 ARP가 왔을 때 본인의 호스트 주소와 비교해서 RARP를 던지고 서로 통신하면 되는 거 아닌가요? 혹시 그런 가상의 호스트 주소가 장치의 mac 주소를 기반으로 만들어지나요?
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
실무에서의 @Column 명시
안녕하세요 좋은 강의 잘 듣고 있습니다. @Entity 에서 각 필드들을 정의할 때@Column 으로 컬럼 매핑을 하잖아요?그런데 사실 @Column 으로 하나하나 명세를 쓰지 않아도 동작을 하는 실무 프로젝트들을 해왔는데, 물론 회사, 팀마다 다 다르겠지만 흔히 말하는 빅테크 에서는 @Column 들을 다 명세해주는 경향인지 궁금합니다. 또는 플러그인으로 DB에서 자동으로 읽어와서 붙여주는 기능도 있다고 알고 있습니다. 감사합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
하나의 테스트 메서드에 assert 문이 많은 경우는 어떻게 받아들이면 좋을까요?
안녕하세요 강의의 상품주문() 테스트 코드를 보고 궁금증이 생겨 질문드립니다.저는 단위테스트를 하면 assert 문이 하나여야 한다고 생각했습니다. 다시 말해, 한 번에 하나를 검증하는 것이 좋다. 고 이해하고 있었어요.그런데 현재 서비스 테스트 코드에서는 assert 문이 많이 사용되고 있습니다. 이 이유가 orderService.order() 에서 많은 일을 하고 있어서 assert문이 많은 것으로 이해해도 될까요? (orderService.order() 로써 파생되는 결과를 모두 검증해야하므로 assert문이 많아질 수 밖에 없다라는 느낌일까요?)
-
미해결Autocad 버전에 관계없이 완성하기
오토데스크 캐드 다운관련
오토데스크에서 캐드 파일을 다운받았는데 시리얼 넘버하고 프러덕트키 넘버가 안맞다고 뜨는데 접속할수 있는 방법이 있나요?
-
미해결리눅스 커맨드라인 툴 (Full ver.)
tail 관련 질문 드립니다.
tail -F 는 file 이 삭제되거나, 생성됐을때를 following하는 것으로 알고 있는데, 수업에서 처럼 파일이 삭제되거나, 만들어졌다는 문구가 나오지 않습니다. man 페이지를 찾아봐도 following 내용 출력 옵션이 추가로 있지 않는거 같은데 혹시 이제 더이상 지원하지 않는 기능일까요? 사용하는 운영체제는 mac os, shell은 bash5.2입니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
자식엔티티, 부모엔티티
강의를 보다보면 자식엔티티, 부모엔티티라는 말이 많이 나오는데 ManyToMany OneToOne ManyToOne OneToMany에서 자식엔티티, 부모엔티티를 어떻게 구분하나요?