통합테스트와 단위 테스트
미해결
실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
강사님은 통합테스트랑 단위테스트 둘다 빡시게 하시는 편이신가요? 아니면 강약 조절 하시나요? 어느 쪽에 좀더 중요도를 두시는지도 궁금합니다.
- tdd
- spring-boot
- pojo
- 소프트웨어-테스트
- api
176만명의 커뮤니티!! 함께 토론해봐요.
미해결
실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
강사님은 통합테스트랑 단위테스트 둘다 빡시게 하시는 편이신가요? 아니면 강약 조절 하시나요? 어느 쪽에 좀더 중요도를 두시는지도 궁금합니다.
해결됨
코딩테스트 [ ALL IN ONE ]
설명 감사드립니다. 섹션 4 '[코테 적용] 👉 [2번 문제] key in (후반부) ' 2:45 부분을 공부중입니다. 두 가지 질문이 있습니다. 1. 이 내용 설명에 의하면 Big O notation에 대해 for num in num_dict: => O(n) if num -1 not in num_dict: => O(1) while targer in num_dict: => O(1) 이렇게 되는건가요? 2. if 또는 while + 딕셔너리 사용은 항상 Big O notation이 O(1)이 되는건가요? 아니면 상황에 따라 if 또는 while + dict의 시간복잡도가 달라질 수도 있는건가요? 감사합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요 코딩이 초보라 열심히 따라하고 있는데 f1_score 값이 위의 그림과 같이 error가 났네요 . 뭐가 잘못되었을까요 ? 확인 부탁드립니다
해결됨
[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
안녕하세요. 공부하다가 또 질문이 생겨 다시 한 번 질문 드립니다...리스트를 조회하는 것보다 딕셔너리를 조회하는 것이 더 빠를 거 같아서 문제의 그래프를 딕셔너리 자료형으로 바꿔주고 있는데요.제가 작성한 코드가 로컬에서 예시를 넣었을 때는 잘 되는데 백준에서는 틀린 답이라고 나옵니다..코드를 첨부하여 질문 드리고 싶은데, 멘토링 부분이 어디있는지 알려주시면 감사하겠습니다!
미해결
비트코인 선물거래 자동매매 시스템(저자직강)
역추세 메매로 돌리고 있는데 베이지안 최적화로 전체도 돌려보고 특정 부분도 돌려보면서 여러 값을 실제로 돌려봤는데 하루 동안 돌려도 거래를 아예 안 하더라구요. 리플로 했고 값은 아래와 같이 넣었습니다. revenue_rate = 0.08521445990492697 #익절 비율(Tunning) max_loss_rate = 0.014943429883010916 #손절 비율(Tunning) open_cnt_limit = 5.468906689466588 #최대 오픈 건수(Tunning)
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요, 문제에서 보면 제출 csv 파일형식 예시라고 해서 pred 결과값이 0,1 값으로 구성되어 있는데, pred 확률값으로 제출하는게 맞는지 궁금합니다. 문제에서는 남성을 예측하라 / 여성을 예측하라는거 없이 성별 예측결과를 저장하라고 되어있습니다. 그럼 predict_proba가 아닌 predict 함수를 써야되는게 아닌가 싶어서요 roc_auc_score 평가시에는 반드시 predict_proba를 사용해야되는게 맞을까요? (roc_auc_score 평가시 predict로도 일단 코드는 돌아갑니다.)
미해결
대세는 쿠버네티스 (초급~중급편)
arm64 에서도 사용 가능하게 변경해주실수 있나요 .. CrashLoopBackOff이 발생하는데 CPU 아키텍처가 안맞아서 그런거 같아서요
해결됨
클론코딩에서 알려주지 않는 것들 (보안, DDD, 마이크로서비스) 2편
질문 드립니다! 질문1) 강의내용을 생각해보면 Bounded Context 단위도 하나의 서버가 될 수 있고 Aggregate 단위도 하나의 서버가 될 수 있는 것으로 보이는데 제가 이해한게 맞을까요? 질문2) 또한 Aggregate 와 마찬가지로 Bounded Context 도 다른 도메인으로의 요청은 Event 사용을 해야하는 걸까요? 질문3) 주문 Entity - 주문 아이템 Entity 관계가 Aggregate 로 연상됩니다... Bounded Context 개념이 적용된 코드가 Aggregate 쪽 코드와 다를까요?
미해결
대세는 쿠버네티스 (초급~중급편)
안녕하세요. 예전에 동영상 아래에 수업 자료 받을 수 있는 링크 있었는데, 업데이트 됐는지 보이질 않네요. 실습할 때 보는 자료 어디서 받을 수 있나요?
미해결
비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
const {studentName} = req.query; const {studentIdx} = req.params; 여기서 req.query와 req.params의 차이가뭔가요?
미해결
비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
들어가서 찾아보고 싶은게 있는데 새소식에 없어져서요..
해결됨
자바 ORM 표준 JPA 프로그래밍 - 기본편
안녕하세요. User, Company class 에서 모두 BasicColumn 을 상속받아 사용할때에 둘다 sId 라는 기본키를 가진다고 하면 해당 컬럼도 BasicColumn 내에 작성해도 되는지 궁금합니다! 공통된 컬럼을 @MappedSuperclass에 작성할 때에 기본키/외래키에 관계없이 작성해도 되는건가요? User.java @Entity public class User extends BasicColumn { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name="S_ID", updatable=false) private Long sId; ... } Company.java @Entity public class Company extends BasicColumn { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name="S_ID", updatable=false) private Long sId; ... } BasicColumn.java @MappedSuperclass public abstract class BasicColumn { ...// 이부분에 sId작성 후 User/Company 내에서 제거해도 되나요? }
미해결
생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. @Service public class SocialLoginApiServiceFactory { private static Map<String,SocialLoginApiService> socialLoginApiServices; public SocialLoginApiServiceFactory(Map<String,SocialLoginApiService> socialLoginApiServices) { SocialLoginApiServiceFactory.socialLoginApiServices = socialLoginApiServices; } public static SocialLoginApiService getSocialLoginApiService(MemberType memberType){ String socialLoginApiServiceBeanName = ""; if(MemberType.KAKAO.equals(memberType)){ socialLoginApiServiceBeanName = "kakaoLoginApiServiceImpl"; } return socialLoginApiServices.get(socialLoginApiServiceBeanName); } } 여기서 생성자로 socialLoginApiServices 를 주입해서 사용 하는 것 같은데 주입하는 부분이 보이지 않아서 질문 드립니다 어디서 주입 되는 것일까요?
미해결
스프링 핵심 원리 - 기본편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. Geforce Experience 앱 삭제해봐도 안되고 별 검색 다 해보다가 오른쪽 마우스 클릭하니 refactor 가 떡하니 있었어요 alt + shift + m 이었네요 왜 저만 다른걸까요? 설정을 해야하는건가요?
해결됨
클론코딩에서 알려주지 않는 것들 (보안, DDD, 마이크로서비스) 2편
이전 강의에서 Product 와 Brand 를 join 하지 않고 각각 Select 함으로서 성능상의 불이익이 있었는데 Aggregate 단위로 묶여있었기 때문이군요. 데이터의 일관성을 위해 Aggregate Root 를 통해 접근가능하도록 연습 많이 해보도록 하겠습니다!
미해결
따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
라우터 돔 사이트에서 베이직이 안보이는데 어떤걸 복사하면되는건가요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 unamed:0 칼럼에 대해 질문드립니다. (사진에서 첫번째 칼럼) unamed:0 칼럼은 시험 때 제출해야할 ID와 관련된 것이 아닌가요? ㅜㅜ 중간에 test_id 안 만드셔서 의문점이 들었어요.
미해결
[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
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
안녕하세요! SPI contoller ch.5 소스 코드에서 궁금한 점이 있어 질문 남깁니다. timing 규격상 sck_index 값이 48일 때 send -> done 로 transition이 일어난다고 알고 있는데요 49까지 count 되는 경우에 delay 문제가 없는지 궁금합니다. 감사합니다.