묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
pm2 error
const express = require("express"); const cookieParser = require("cookie-parser"); const morgan = require("morgan"); const session = require("express-session"); const router = express.Router(); const path = require("path"); const dotenv = require("dotenv"); const passport = require("passport"); const app = express(); const passportConfig = require("./passport"); const redis = require("redis"); const RedisStore = require("connect-redis").default; dotenv.config(); const redisClient = redis.createClient({ url: `redis://${process.env.REDIS_HOST}:${process.env.REDIS_PORT}`, password: process.env.REDIS_PASSWORD, legacyMode: false, }); redisClient.connect().catch(console.error); const authRouter = require("./routes/auth"); const pageRouter = require("./routes/page"); const postRouter = require("./routes/post"); const userRouter = require("./routes/user"); const commentRouter = require("./routes/comment"); const updateRouter = require("./routes/update"); const deleteRouter = require("./routes/delete"); const helmet = require("helmet"); const hpp = require("hpp"); const { sequelize } = require("./models"); const logger = require("./logger"); passportConfig(); app.set("port", process.env.PORT || 8005); sequelize .sync({ force: false }) .then(() => { console.log("데이터베이스 연결 성공"); }) .catch((err) => { console.error(err); }); if (process.env.NODE_ENV === "production") { app.use( helmet({ contentSecurityPolicy: false, crossOriginEmbedderPolicy: false, crossOriginResourcePolicy: false, crossOriginOpenerPolicy: false, originAgentCluster: false, }) ); app.use(hpp()); app.use(morgan("combined")); } else { app.use(morgan("dev")); } app.use(express.json({ limit: "10mb" })); var cors = require("cors"); const { deepStrictEqual } = require("assert"); app.use(cors()); app.use("/img", express.static(path.join(__dirname, "uploads"))); app.use("/profileImg", express.static(path.join(__dirname, "profileImg"))); app.use(express.json()); app.use(express.urlencoded({ limit: "10mb", extended: false })); app.use(cookieParser(process.env.COOKIE_SECRET)); const sessionOption = { resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, secure: false, }, store: new RedisStore({ client: redisClient }), }; if (process.env.NODE_ENV === "production") { sessionOption.proxy = true; } app.use(session(sessionOption)); app.use(passport.initialize()); app.use(passport.session()); app.use(express.static(path.join(__dirname, "prototype-client/build"))); app.get("/", (req, res) => { res.sendFile(path.join(__dirname, "prototype-client/build/index.html")); }); app.use("/page", pageRouter); app.use("/auth", authRouter); app.use("/post", postRouter); app.use("/user", userRouter); app.use("/comment", commentRouter); app.use("/update", updateRouter); app.use("/delete", deleteRouter); //react에서 react-router-dom으로 다룰 수 있게 app.get("*", function (req, res) { res.sendFile(path.join(__dirname, "/prototype-client/build/index.html")); }); //에러 처리 담당 app.use((req, res, next) => { const error = new Error(`${(req, method)} ${req.url} 라우터가 없습니다.`); error.status = 404; logger.info("hello"); logger.error(error.message); next(error); }); app.use((err, req, res, next) => { console.error(err); res.locals.message = err.message; res.locals.erorr = process.env.NODE_ENV !== "production" ? err : {}; res.status(err.status || 500); res.render("error"); }); module.exports = app;이렇게 코드를 실행하면 sudo pm2 monit의 server log에 2가지 에러가 나옵니다. server > [Error: ENOENT: no such file or directory, stat │ ││ server > errno: -2, │ ││ server > code: 'ENOENT', │ ││ server > syscall: 'stat', │ ││ server > path: '/home/bitnami/Whats-up/prototype-client/bu ││ ││ server > expose: false, │ ││ server > statusCode: 404, │ ││ server > status: 404 │ ││ server > } 에러 메시지를 봤을때 해당 경로에 대한 파일을 찾을 수 없다고 하는데 ls를 입력했을때 잘 있는걸 확인 할 수 있는데 왜 이런 에러가 발생하는지 모르겠습니다..2번쨰는 server > Error: No default engine was specified and no ││ server > at new View (/home/bitnami/Whats-up/node_module │ ││ server > at Function.render (/home/bitnami/Whats-up/node │││ server > at ServerResponse.render (/home/bitnami/Whats-u │ ││ server > at /home/bitnami/Whats-up/app.js:127:7 │ ││ server > at Layer.handle_error (/home/bitnami/Whats-up/n │ ││ server > at trim_prefix (/home/bitnami/Whats-up/node_mod │ ││ server > at /home/bitnami/Whats-up/node_modules/express/ ││ server > at Function.process_params (/home/bitnami/Whats 이런 에러가 발생합니다. 에러 메세지를 봤을떄는 view engine관련된 에러같은데 react랑 express연동할때는 따로 view engine 설정을 주지 않고 express.static으로 리액트 코드를 전달하면 되는거 아닌가요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
게시글 묶음(?)별 선택 질문
안녕하세요.현시점 섹션5. vue3 내장 컴포넌트 -> Modal까지 시청했습니다.다른건 이상없이 다 되는데.. 3개씩 보기? 6개씩 보기 선택시 반응이 없습니다.공부겸 해결해보고 싶은데 어디파일로 가서 해결해 볼 수 있을까요?components > posts > PostFilter.vue 파일에서 해결해보면 될까요?
-
미해결Verilog FPGA Program 1 (Arty A7-35T)
SPI master testbench 질문
안녕하세요! SPI contoller ch.5 소스 코드에서 궁금한 점이 있어 질문 남깁니다.timing 규격상 sck_index 값이 48일 때 send -> done 로 transition이 일어난다고 알고 있는데요49까지 count 되는 경우에 delay 문제가 없는지 궁금합니다.감사합니다.
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
그래프 초기화
안녕하세요. 선생님 덕분에 멋진 강의를 듣고 있는 학생입니다.이제 유형 1을 다 수강했는데, graph를 초기화할 때 보통 N의 개수가 적으면 불리언 2차원 배열로 선언하고, N의 개수가 많으면 빈리스트로 구성된 2차원 리스트로 선언하는데요.그냥 모든 문제에 빈리스트로 구성된 2차원 배열을 선언하지 않는 이유가 N의 개수가 적으면 배열로 선언하고 조회하는 게 더 빠르기 때문인지 여쭤봐도 될까요?
-
해결됨클론코딩에서 알려주지 않는 것들 (보안, DDD, 마이크로서비스) 2편
소스코드
안녕하세요 😀혹시 강의 때 사용하신 코드 제공이 가능할까요?아직 Service 와 useCase 와의 경계에 대해 감이 안잡혀서 코드로 확인해 보고 싶습니다PS. 강의에서 Service class 와 useCase 모두 Repository 를 참고하고 있어서 어떠한 다른점이 있는지도 질문드립니다
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
12신살은 어떻게 구할까요?
비견 겁재 등등 이런 거 말고 지살, 년살, 월살, 망신살, 장성살, 반안살 등등 십이신살을 구하는 방법이 있을까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
여성인 확률을 물어볼 경우 문의 (roc_auc)
혹시 질문에서 여성(0값)일 확률을 물어볼 경우, pred[:,0]으로 roc_auc_score이나 DataFrame 결과값 때 값을 넣으면 될까요??
-
해결됨OpenStack을 활용한 클라우드 환경 구축하기
오픈스택 인스턴스 로그인 불가 문제 (6강 15분 41초)
openstack을 설치하고 알려주신 링클에 따라서 이미지를 다운받았습니다. focal-server-cloudimg-amd64.img 2023-08-23 22:18 611M QCow2 UEFI/GPT Bootable disk image이미지를 실행하여 인스턴스를 생성했는데 버전이 달라서 그런가요?root : kaisec123으로 접속이 안되네요 ㅜ 제가 비밀번호가 틀렸나요?
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
숫자야구 코드를 짜 봤는데 뭔가 이상합니다.
# v2: 안 보고 만들기 (23.11.21)from random import randintfrom os import systemanswer = []num = str(randint(0, 9))for i in range(3): while num in answer: num = str(randint(0, 9)) answer.append(num)strikes = 0balls = 0system('cls')while strikes < 3: user_input = str(input("3자리 숫자를 입력해 주세요.")) if len(user_input) != 3: print("3자리 자연수를 입력해주세요.") continue if not user_input.isdigit(): print("문자 말고 숫자를 입력해주세요.") continue if user_input[0] == user_input[1] or user_input[1] == user_input[2] or user_input[0] == user_input[2]: print("중복된 숫자 없이 입력해주세요.") continue strikes = 0 balls = 0 # 숫자 비교 for i in user_input: for j in answer: if i in answer and i == j: strikes += 1 if i in answer and i != j: balls += 1 if strikes != 3: print(f"{strikes} 스트라이크, {balls} 볼") else: print("성공!") 37, 39에서 저는 i in answer를 써 봤는데요. 막 2 스트라이크 4 볼이 나오고 그런 현상이 생깁니다ㅠㅠ
-
해결됨Microservice 설계(with EventStorming,DDD)
도메인 영역에 대한 질문
클린 아키텍처와 헥사고날 아키텍처 모두 개발자가 비즈니스에 집중할 수 있도록 하는 구조인데, 이때 도메인 모델을 풍부한 도메인 모델이 아닌 빈약한 도메인 모델로 가져가고, 트랜잭션 스크립트 패턴을 사용해도, 클린 아키텍처와 헥사고날 아키텍처라고 할 수 있는건가요?
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
PatchMeBasketDto 서버 에러 급합니다.
안녕하세요. 섹션 16 -> Postman API 테스트 부분을 듣고 있는 수강생입니다.하나씩 강의 영상대로 따라하면서 공부하고있습니다.로그인 요청을 보내서 로그인 토큰을 받고GET /restaurant 으로 레스토랑 리스트 받아오고받아온 레스토랑 id를 기반으로 restaurant/:rid 에 rid 키로 상세 페이지를 요청하였습니다.그 후 user/me/basket의 productId 상세페이지에서 나온 id를 입력했는데 서버에서 아래와 같은 오류가 나옵니다. 강사님의 빠른 답변 기다리겠습니다. 좋은 강의 감사합니다. ==== 포스트맨 에러{ "statusCode": 500, "message": "Internal server error" } ==== NextJS 에러 {}PatchMeBasketDto {}[Nest] 6648 - 2023. 11. 21. 오후 4:21:06 ERROR [ExceptionsHandler] Cannot read properties of undefined (reading 'map')TypeError: Cannot read properties of undefined (reading 'map') at UserService._mapBasketDtoToProduct (D:\FlutterProject\restapi\src\user\user.service.ts:74:21) at UserService.addToBasket (D:\FlutterProject\restapi\src\user\user.service.ts:66:24) at UserController.patchMeBasket (D:\FlutterProject\restapi\src\user\user.controller.ts:87:29) at D:\FlutterProject\restapi\node_modules\@nestjs\core\router\router-execution-context.js:38:29 ==== 단계별 스크린샷1. 레스토랑 리스트 요청2. 상세 레스토랑 정보 요청3. PATCH 장바구니 요청4. 서버 에러
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
2번만 RuntimeError가 뜨는데요
package twopointers; import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class CommonElements { static ArrayList<Integer> solution(int n, int m, int[] arr, int[] arr2) { ArrayList<Integer> list = new ArrayList<>(); Arrays.sort(arr); Arrays.sort(arr2); int p1 = 0; int p2 = 0; while (p1 < n && p2 < m) { if (arr[p1] == arr2[p2]) { list.add(arr[p1]); p1++; p2++; } else if (arr[p1] < arr2[p2]) { p1++; } else { p2++; } } return list; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } int m = sc.nextInt(); int[] arr2 = new int[n]; for (int i = 0; i < m; i++) { arr2[i] = sc.nextInt(); } for (int result : CommonElements.solution(n, m, arr, arr2)) { System.out.print(result + " "); } } } 뭐가 문제일까요??
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
학습 순서 문의
컴퓨터 구조 부분을 학습하지 않고 운영체제부터 학습 가능한가요??
-
미해결[Pytorch] 파이토치를 활용한 딥러닝 모델 구축
IMDBDataset 파일 다운로드가 안되는데 어떻게 받을 수 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.IMDBDataset 파일 다운로드가 안되는데 어떻게 받을 수 있을까요? > !gdown https://drive.google.com/uc?id=1RFs-jV18dy9I3cWQ2M80kHfON-fDCerg ------------------------------------------- Access denied with the following error: Cannot retrieve the public link of the file. You may need to change the permission to 'Anyone with the link', or have had many accesses. You may still be able to access the file from the browser: https://drive.google.com/uc?id=1RFs-jV18dy9I3cWQ2M80kHfON-fDCerg
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 기출유형 작업형2 질문입니다.
# 데이터 불러오기 import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") y_train = train.pop('price') X_train = train X_test = test #print(X_train.head(3)) #print(y_train.head(3)) #print(X_test.head(3)) #print(X_train.info()) X_train = X_train.drop(columns = ['model', 'transmission', 'fuelType']) X_test = X_test.drop(columns = ['model', 'transmission', 'fuelType']) #print(X_train.info()) #print(X_test.info()) from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor() model.fit(X_train, y_train) model_pred = model.predict(X_test) #print(model_pred) pd.DataFrame({'pred':model_pred}).to_csv('수험번호.csv', index=False) 수험번호 = pd.read_csv("수험번호.csv") print(수험번호.head())선생님 안녕하세요 위와 같이 가장 기본형으로 작업을 했습니다. 맨 마지막에 파일을 불러오니 정수형이 아닌 소숫점까지 나오더라구요.이걸 정수형으로 바꾸려면 어디에서 int를 씌워야 할까요?(참고로 선생님께서도 소수점으로 제출하셨지만, 만약에 정말 시험이라면 정수로 제출해야겠죠?)int(model_pred)해도 오류가 나오고, 맨 위에서 아얘 처음부터 해도 오류가 나오네요... 2 코딩을 선생님께 배운지 2주도 채 되지 않아 가장 기본형으로 진행하려고 합니다. 보통 기본형으로 해도 30점 이상 받을 수 있을까요? 일반적으로 후기에 따르면 어느정도일지 궁금하네요. 매번 감사드립니다 ^^
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2 신버전
알려주신대로 풀어보았습니다import pandas as pdtrain = pd.read_csv("data/customer_train.csv")test = pd.read_csv("data/customer_test.csv")train= train.fillna(0)test= test.fillna(0)from sklearn.preprocessing import LabelEncodercols = ['주구매상품','주구매지점']for col in cols:le = LabelEncoder()train[col]=le.fit_transform(train[col])test[col]=le.transform(test[col])target = train.pop('성별')from sklearn.model_selection import train_test_splitX_tr,X_val,y_tr,y_val=train_test_split(train,target,test_size=0.2,random_state=0)from sklearn.ensemble import RandomForestClassifiermodel=RandomForestClassifier()model.fit(X_tr,y_tr)pred=model.predict_proba(X_val)from sklearn.metrics import roc_auc_score# print(roc_auc_score(y_val,pred[:,1]))pred=model.predict_proba(test)submit = pd.DataFrame({'pred': pred[:,1]})submit.to_csv("result.csv",index=False) 이렇게 제출했는데1.# print(roc_auc_score(y_val,pred[:,1]))이부분은 값을 확인만하고 주석처리하는것이죠?2.from sklearn.metrics import roc_auc_score이렇게만 해도 roc-auc 평가가 적용되나요?3.문제풀때 프린트문은 다 주석처리 하면될까요4.test_size=0.2,random_state=0숫자는 아무거나 적어도 되나요? 5. model=RandomForestClassifier() 이부분에도 랜덤스테이트를 넣으면 좋다고 하셧는데 위와 동일한 랜덤스테잌트인 0을 넣으면 되나요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
Array.sort 사용 구분
앞 문제에서 Collection.sort를 쓰면 문제에서 효율적이지 못하다는 댓글을 봐서 처음부터 Array.sort를 해서 정렬하는 방법을 생각을 못했는데 어떤 문제에선 사용하고 사용하지말고 구분이잘 안되는데 이럴땐 어떻게 하나요...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
drop(), dropna(),fillna() 관련 질문
좋은 강의 감사합니다. 제목에 기재한 메소드들에 대해 실습하다 헷갈리는게 있어서,개념 정립차원에서 정리글을 작성해봤는데, 맞는지 확인 좀 부탁드려도 될까요? ////////////////////////////////////////////////////////////////////////////////////////////예: trian데이터 셋에서 작업, "A","B" 칼럼에 결측치 있다고 가정 @@@ drop() // 삭제 메소드@1개의 특정 칼럼(열) 삭제train = train.drop(["A"], axis=1)# "A" 로 해도 진행 됨.@1개의 특정 (칼럼에 해당 하는) 행 삭제train = train.drop(인덱스값, axis=0) @ 복수의 특정 칼럼(열) 삭제train = train.drop(["A","B"], axis=1)@ 복수의 특정 (칼럼에 해당 하는) 행 삭제train = train.drop([인덱스값들], axis=0) @@@ dropna() // 결측치 삭제 메소드@ 결측치 존재하는 칼럼 전체삭제train = train.dropna(axis=1)@ 결측치 존재하는 행 전체삭제train = train.dropna(axis=0) #axis=0 은 기본값이라 생략가능. @ 복수의 결측치 존재 칼럼(열) 삭제train = train.dropna(["A","B"], axis=1)에러 : TypeError: DataFrame.dropna() got multiple values for argument 'axis'@ 복수의 (특정 칼럼 내) 결측치 존재 행 삭제train = train.dropna(subset=["A","B"], axis=0)# train이라는 데이터 셋을 대상으로( train. ), 결측치가 있는 것들 행(axis=0 이 기본)을 제거할 것인데( dropna() ), 그 결측치 우뮤의 기준은 "A","B"칼럼이다 (subset=["A","B"]) @@@ fillna() // 결측치 채움 메소드train.fillna(0) # train데이터셋의 결측치를 전부 0으로 채움 @특정 칼럼의 결측치들을 특정 값으로 동일하게 채움train["A"] = train["A"].fillna(0) # "A" 칼럼의 결측치를 모두 0으로 채워 train의 "A"칼럼에 대입하고, 결과를 동일이름의 변수로 적용@특정 행의 결측치들을 특정 값으로 동일하게 채움# 어떤 인덱스(행)이 갖는 여러 칼럼을 동일한 값으로 채우는 경우는 사실상 없으므로, 알 필요 없음(...??)//////////////////////////////////////////////////////////////////////////////// 일단 여기까지 정리한게 다인데, @ 복수의 결측치 존재 칼럼(열) 삭제train = train.dropna(["A","B"], axis=1) 이렇게 하면 오류 발생해서...dropna() 메소드로 결측치 존재하는 특정 칼럼만 지정해서 삭제하려면 어떻게 해야하나요? 그리고 fillna()메소드에서 @특정 행의 결측치들을 특정 값으로 동일하게 채움이런 경우는 없을테니, 그냥 넘어가도 괜찮은지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출문제 질문
선생님 안녕하세요! 기출 등에서 궁금한 점이 있어 질문드립니다. 1. 기출 1회 작업형 2에서 train데이터와 test데이터의 고유데이터 수가 다르다면 set을 사용하여 어떤 부분이 다른지 알 수 있는 방법을 알려주셨는데 그럼 이 부분을 어떻게 하면되는것일까요? 강의에서는 뭐가 나온건지만 알려주시고 따로 처리를 하시거나 그러지 않으신것같아서요! 2. 기출 2회 작업형 1에서 문제를 푸는데 아래와 같은 에러?워닝?이 떴는데 이유를 잘 모르겠습니다! 이걸 제거하려면 어떻게 해야할까요?3. 작업형 1의 경우에 답을 꼭 마지막에 print()문으로 표시를 해줘야하는 것 맞을까요? 작업형 1,3 모두 따로 답변하는 란이 있는것같았는데 그럼 1,3 모두 풀이과정을 쓰는 곳에선 문제 각각 print()문으로 답을 표시해야 할까요??
-
해결됨스프링 시큐리티 OAuth2
PasswordOAuth2AuthorizedClientProvider @Deprecated
안녕하세요 선생님.최신 시큐리티 6.x 버전에서는 PasswordOAuth2AuthorizedClientProvider 클래스에 "The latest OAuth 2.0 Security Best Current Practice disallows the use of the Resource Owner Password Credentials grant" 라고 적혀있는데 그럼 더이상 Resource Owner Password Flow 방식을 사용하면 안되는건가요?