묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결습관부터 바꿔주는 Node.js & Express 기초
프리즈마 git repository 질문
이 전 강의에서 프리즈마 실습에 필요한 코드들을 git repoistory 에 올리신다고, 포크 하라고 하셨는데, 깃 계정이름도 바뀌시고, 찾아 들어갔는데 관련 레포지토리를 찾지 못하였습니다 ㅜㅜ 혹시 알 방법이 있을까요??
-
해결됨Practical Testing: 실용적인 테스트 가이드
내부적으로 orderProduct생기는 이유
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. [공지] 제가 9/27 ~ 10/9 약 2주간 해외 여행을 가게 되어, 해당 기간 동안은 질문에 대한 답변이 불가합니다. 🥲 질문을 남겨주시면 10/10 이후로 순차적으로 확인하고 빠르게 답변드릴 수 있도록 하겠습니다. 너른 양해 부탁드리며, 강의를 수강해주시는 분들 모두 항상 감사드리고, 또 응원합니다. 🙌🏻 다시 코드를 보니 헷갈리는게 있어서 질문 드립니다!OrderService에서 createOrder를 할때 내부적으로 중간 매핑 엔티티인 OrderProduct가 생기는 이유가 Order엔티티에 있는 create메서드를 호출 빌더로 Order객체를 생성할때 orderProducts리스트 초기화orderProducts는 casecade = CasecadeType.ALL이 되어있으므로 2번 과정으로 인하여 객체가 생성되고 db에 저장이 맞을까요? 감사합니다!
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
데이터 영역과 method area는 무슨 차이인가요?
Q. static키워드는 왜 사용하며 단점은 무엇인가요?위 강의에 해당하는 질문입니다.검색해보니 운형체제가 제공하는 메모리 공간 중 데이터 영역에 static변수, 전역변수가 저장된다는 말도 있는데.. 보는 관점의 차이일까요?데이터 영역 안에 method area가 포함되는 것인지요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
Chapter03에서 Beautifulsoup에서 원하는 결과가 안나오네요
Chapter03에서 Beautifulsoup라이브러리를 실습을 해보는데 결과가 <div class="talk_area" id="topTalkArea"></div>이렇게 div 밖에 안나오는데 뭔가 잘 못된건가요? 물론 id를 사지고 해봤네요..word = soup.select_one('#topTalkArea') 라고 했는데 <div class="talk_area" id="topTalkArea"></div> 이렇게밖에 안나왔네요...
-
해결됨배달앱 클론코딩 [with React Native]
React native nmap 잘못된 클라이언트 ID를 지정 . 콘솔에서 앱 Bundle Identifier를 잘못 등록함
pod 'NMapsMap','3.16.0'xcode는 14.2 버전이고 react-native : 0.72.5 버전, NMapsMap은 3.16.0 버전이고 nmap 설치까지는 깃헙 이슈보고 해결했는데 빌드클린하고 빌드 해도 잘못된 클라이언트 ID 지정이라고 계속 나오는데 iOS Bundle Identifier가 인식이 안되는걸까요? 혹시라도 문자 틀렸을까봐 복붙까지했는데 안되네요ㅠ 해결: Xcode에서 Info에 Bundle Identifier를 직접 넣어서 해결했습니다
-
미해결
엔티티 클래스에서 예외..
@Entity(name = "tbl_question") class Question( id: UUID?, @Column(name = "title", columnDefinition = "varchar(100)", nullable = false) var title: String, @Column(name = "content", columnDefinition = "varchar(1000)", nullable = false) var content: String, @Column(name = "is_public", columnDefinition = "BIT(1) default 0", nullable = false) var isPublic: Boolean, @Column(name = "is_replied", columnDefinition = "BIT(1) default 0", nullable = false) var isReplied: Boolean, @Column(name = "user_id", columnDefinition = "BINARY(16)", nullable = false) val userId: UUID ) : BaseEntity(id) { fun validateWriter(user: User) { if (this.userId != user.id) { throw FeedWriterMismatchException } } }다음 엔티티처럼 Writer를 유효성 체크하는것을 엔티티 내부에 두어 나름 캡슐화를 잘 했구나! 생각했는데 다른 리뷰어님이 별로 좋지 않은 코드라고 생각하셔서, 다른 분들은 어떻게 생각하는지 궁금합니다. 이유가 있었으면 좋겠어요
-
해결됨[기초]코딩 무경험자도 가능! 90분에 뽀개는 구글 시트 업무 자동화
주석 처리하는 단축키는 무엇인가요?
강의 유익하게 잘 보고 있습니다. 중간 중간 주석처리 하실 때, 드래그로 선택하신 뒤 무언가 단축키를 누르시는 것 같은데요. 어떻게 하시는 건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
softdelete는 어떤 식은 test 코드를 짜야할까요?
jest 를 이용하여 테스트코드를 짜고 있는데 처음이라 너무 어렵네요. softdelete는 어떤식으로 테스트코드를 짜야될까요?그리고 조인해서 결과 값을 뽑을 때 테스트코드를 어떻게 짜야할지 감이 안옵니다.구글링해도 자료가 별로 없네여...
-
미해결디지털포렌식전문가 2급 필기 핵심 요약집[전자책]
어떤식으로 공부
제가 포렌식협회에서 9월에 만든 문제집을 샀는데 요약집에 없는 내용이 문제로 출제가 되는거 같은데 이런부분은 어떤식으로 공부를 해야 맞는 방법이죠?? 요약집은 5과목에 포렌식 기초 실무 내용이 없는거 같아서요
-
해결됨Practical Testing: 실용적인 테스트 가이드
Mock Test에 관련한 질문
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. [공지] 제가 9/27 ~ 10/9 약 2주간 해외 여행을 가게 되어, 해당 기간 동안은 질문에 대한 답변이 불가합니다. 🥲 질문을 남겨주시면 10/10 이후로 순차적으로 확인하고 빠르게 답변드릴 수 있도록 하겠습니다. 너른 양해 부탁드리며, 강의를 수강해주시는 분들 모두 항상 감사드리고, 또 응원합니다. 🙌🏻 안녕하세요 우빈님! 강의 수강 중 궁금한 점이 생겨서 질문드립니다!지금까지 작성한 테스트들은 Production Code가 제대로 동작하기 위해서 ~~했을때 이러한 결과가 나와야한다! 식의 검증을 제대로 한다는 느낌을 받았습니다. 그래서 후에 코드를 수정하고 테스트를 다시 돌려보며 로직이 제대로 실행하는지를 검증하며 테스트의 이점을 잘 활용할 수 있겠다라고 생각하였습니다. 하지만 Mock에 대해 학습을 하면서는 이 테스트가 효과적인 테스트인가? 하는 의문이 조금씩 들기 시작하였습니다.물론 지난 시간 학습하였던 OrderStatisticsService 의 경우 테스트의 주된 목적은 총 금액 확인이었으므로 sendEmail 메서드의 Stubbing은 왜 하는지 이해하였습니다. 이번 강의를 들으면서 몇가지 의문점이 생겼는데 다음과 같습니다!sendEmail을 Stubbing하면 당연히 반환되는 값은 Ture 일 것Mock객체의 defaultAnswer에 의해서 mailSendHistoryRepository.save()의 반환값이 null이어도 테스트가 성공함로직을 원하는대로 수행하기 위해 메서드가 몇번 호출되는지 검증을 할 필요가 있는가? 전체적으로 Stubbing을 얼마나 잘하는지에 대한 테스트를 한다는 느낌을 받았습니다!혹시 기능에 대한 사용법을 알려주시려고 한것인지 아니면 실무에서도 이러한 테스트를 작성하는지, 작성한다면 verify()를 사용할때 메서드 호출횟수를 검증하여 얻고자 하는것은 무엇인지, 그리고 모든 메서드를 Sutbbing하게 되면 해당 코드에서 무엇을 검증하는것인지 궁금합니다! 감사합니다!
-
해결됨홍정모의 따라하며 배우는 C++
2.5부동소수점수(29분:43초) isnan 함수
안녕하세요. 아래의 코드에서 isnan(posinf)는 왜 1이 나오고, isnan(neginf)는 왜 0이 나오는 지 모르겠습니다.posinf는 양의 무한대로 발산하고, neginf는 음의 무한대로 발산하는 것 아닌가요? 왜 둘의 결괏값이 다른 건지 이해가 가지 않는데, 자세한 설명해주시면 정말 감사하겠습니다.#include <iostream>#include <iomanip>#include <limits>#include <cmath>using namespace std;int main(){ double zero = 0.0; double posinf = 5.0 / zero; double neginf = - 5.0 / zero; cout << std::isnan(posinf) << endl; cout << std::isnan(neginf) << endl;}
-
해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
DB 생성시 발생 에러 관련! "Can't create table" "Error No 150. "Foreign key constraint is incorrectly formed")
선생님께서 올려주신 SQL 문 기준으로 확인해보니 하기와 같습니다.SQL 문에서 order_list 테이블에는 VARCHAR(100) 타입의 cust_id 열이 있으며, 이것은 cust_info 테이블의 cust_id 열을 참조하려고 합니다. 이 cust_id 열도 VARCHAR(100) 타입입니다. 따라서 데이터 유형이 일치하므로 이건 패스...그러나 외래 키에는 기본적인 규칙이 있고, 해당 규칙은: 참조하려는 열(상위 테이블의)은 고유 제약 조건을 가져야 하거나 기본 키여야 합니다. cust_info 테이블에서 cust_id 열은 고유 제약 조건이 없습니다.이 문제를 해결하려면 cust_info 테이블의 cust_id 열에 고유 제약 조건을 추가해야 합니다. 다음과 같이 할 수 있습니다:ALTER TABLE cust_info ADD UNIQUE (cust_id);위의 문장을 실행한 후 외래 키를 추가하기 위해 ALTER TABLE 문을 실행할 수 있습니다:ALTER TABLE order_list ADD CONSTRAINT fk_cust_id FOREIGN KEY (cust_id) REFERENCES cust_info(cust_id);이 단계를 거치면 해당 제약 조건에 대한 "Foreign key constraint is incorrectly formed" 오류를 더 이상 만나지 않아야 합니다. 즉 cust_info의 cust_id를 유니크 상태로 만들고 나서 늦부장님께서 올려주신 DB작성하면 해결 됩니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
ssh-keygen 하는 이유
강의를 보면 젠킨스 마스터 서버에서 slave 서버로 ssh 접속하기 위해 ssh keygen 과 copy-id 를 해서 비밀번호 없이 ssh 접속을 할 수 있도록 설정했습니다. 근데 젠킨스 웹페이지에서 slave 노드 정보를 추가할 때 계정과 패스워드를 또 추가하는 이유가 무엇인가요?? 어차피 없어도 이미 ssh 정보가 있어서 들어갈 수 있지 않나요 ? bash 끼리 통신하는거랑 어플리케이션에서 통신하는 거랑은 별도의 계정 정보가 필요한 걸까요?? 아니면 그냥 젠킨스 페이지에서만 설정하면 되는데 굳이 copy-id 를 하는 이유가 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-E 반례 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/39c15e9338ad4585955d4d9f7453c741 나름의 방법대로 구현해봤는데, 반례를 찾기 어려워 질문드립니다. 좋은 강의 감사드립니다!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
insert 시에 오류가 발생합니다.
안녕하세요. 강의를 듣고 변형해서 개발해 보고 있습니다. drifrt를 통한 insert 시에 오류가 발생합니다. [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Bad state: GetIt: Object/factory with type LocalDataBase is not registered inside GetIt. 어떤 오류인지 검색을 해도 나오지가 않네요. 문제가 뭐인지 확인 좀 부탁드립니다. 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Hibernate5Module 관련 질문
Hibernate5Module 애가 빈으로 등록되어 있기 때문에아래 코드에서 프록시 객체인 상태를 getUsername()로 프록시 초기화 시켜 바로 api로 반환 가능한건가요? List<Order> all = orderRepository.findAllByCriteria(new OrderSearch()); for (Order order : all) { order.getMember().getUsername(); } return all; }
-
미해결스프링 핵심 원리 - 기본편
컴포넌트 스캔 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. package hello.core; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; @Configuration @ComponentScan( basePackages = "hello.core", excludeFilters = @ ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class)) public class AutoAppConfig { }package hello.core; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class CoreApplication { public static void main(String[] args) { SpringApplication.run(CoreApplication.class, args); } }package hello.core; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.MemberRepository; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.member.MemoryMemberRepository; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { @Bean //MemoryMemberRespository 객체로 초기화된 MemberServiceImpl 객체 반환 public MemberService memberService() { System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { System.out.println("call AppConfig.orderService"); return new OrderServiceImpl ( memberRepository(), discountPolicy() ); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public DiscountPolicy discountPolicy() { return new RateDiscountPolicy(); } } ㅇCoreApplicaton 클래스(@SpringBootApplicaton)을 실행하면, @SpringBootApplicaton 에 @ComponentScan이포함되어 있기 때문에 CoreApplication 의 패키지 하위를전부 scan 합니다.그 과정에서 AppConfig 와 AutoAppConfig 를 만날텐데@ ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class)) AutoAppConfig에 @Configuration 은 스캔하지 말라고 되어있습니다. Q1. 그러면 AppConfig 는 스캔 되지 않고 빈으로 생성되지 않는 건가요?Q2. AutoAppConfig도 @Configuration이 등록되어있는데그렇다면 AutoAppConfig도 빈으로 생성되지 않는건가요?Q3. @Configuration public class AppConfig { @Bean //MemoryMemberRespository 객체로 초기화된 MemberServiceImpl 객체 반환 public MemberService memberService() { System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { System.out.println("call AppConfig.orderService"); return new OrderServiceImpl ( memberRepository(), discountPolicy() ); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public DiscountPolicy discountPolicy() { return new RateDiscountPolicy(); } }AppConfig 를 컴포넌트 스캔 대상에서 제외해버리면 AppConfig의 수동 빈 등록 내용도 전부 무시되어 얘네들이빈으로 생성되지 않는건가요? Q4.CoreApplicaotn 에도 @Configuration 이,AutoAppConfig에도 @Configuration이 설정되어있는데이 경우 충돌이 일어나지는 않나요? Q5.만약 Q4에서 충돌이 일어나지 않는다면, 두개의 Configuraiton 내용이 둘다 프로젝트에 적용되는 건가요?
-
미해결대세는 쿠버네티스 (초급~중급편)
curl -O 해당 함수에서 인증서에 대한 파기 여부를 검사하지 못했습니다.
며칠 전에 같은 질문으로 했었는데 답변이 varantfile 내용을 올려달라고 하셨는데, 강사님이 올려주신 URL 로 접근하면 다운받아지는 파일 내용을 복사해서 올리겠습니다. NodeCnt = 2Vagrant.configure("2") do |config| # config.vbguest.installer_options = { allow_kernel_upgrade: true } config.vm.box = "centos/7" config.vm.provider :virtualbox do |vb| vb.memory = 3072 vb.cpus = 4 end config.vm.provision :shell, privileged: true, inline: $install_common_tools config.vm.define "k8s-master" do |master| master.vm.hostname = "k8s-master" master.vm.network "private_network", ip: "192.168.56.30" master.vm.provision :shell, privileged: true, inline: $provision_master_node end (1..NodeCnt).each do |i| config.vm.define "k8s-node#{i}" do |node| node.vm.hostname = "k8s-node#{i}" node.vm.network "private_network", ip: "192.168.56.#{i + 30}" end endend$install_common_tools = <<-SHELL# ssh password 접속 활성화sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_configsed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config;systemctl restart sshd.service# 방화벽 해제systemctl stop firewalld && systemctl disable firewalldsystemctl stop NetworkManager && systemctl disable NetworkManager# Swap 비활성화swapoff -a && sed -i '/ swap / s/^/#/' /etc/fstab# br_netfilter 모듈 로드cat <<EOF | tee /etc/modules-load.d/k8s.confbr_netfilterEOF# Iptables 커널 옵션 활성화cat <<EOF > /etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOFsysctl --system# permissive 모드로 SELinux 설정(효과적으로 비활성화)setenforce 0sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config# 쿠버네티스 YUM Repository 설정cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=0gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpgexclude=kubelet kubeadm kubectlEOF# Centos Updateyum -y update# Hosts 등록cat << EOF >> /etc/hosts192.168.56.30 k8s-master192.168.56.31 k8s-node1192.168.56.32 k8s-node2EOF# 도커 설치yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum install -y containerd.io-1.4.9-3.1.el7 docker-ce-3:20.10.8-3.el7.x86_64 docker-ce-cli-1:20.10.8-3.el7.x86_64mkdir /etc/dockercat > /etc/docker/daemon.json <<EOF{ "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ]}EOFmkdir -p /etc/systemd/system/docker.service.d# 도커 재시작systemctl daemon-reloadsystemctl enable --now docker# 쿠버네티스 설치yum install -y kubelet-1.22.0-0.x86_64 kubeadm-1.22.0-0.x86_64 kubectl-1.22.0-0.x86_64 --disableexcludes=kubernetessystemctl enable --now kubeletSHELL$provision_master_node = <<-SHELL# 쿠버네티스 초기화 명령 실행kubeadm init --apiserver-advertise-address 192.168.56.30 --pod-network-cidr=20.96.0.0/12kubeadm token create --print-join-command > ~/join.sh# 환경변수 설정mkdir -p $HOME/.kubecp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/config# Kubectl 자동완성 기능 설치yum install bash-completion -ysource <(kubectl completion bash)echo "source <(kubectl completion bash)" >> ~/.bashrc# Calico 설치kubectl create -f https://raw.githubusercontent.com/kubetm/kubetm.github.io/master/yamls/k8s-install/calico.yamlkubectl create -f https://raw.githubusercontent.com/kubetm/kubetm.github.io/master/yamls/k8s-install/calico-custom.yamlcurl https://docs.projectcalico.org/manifests/calico.yaml -Okubectl apply -f calico.yaml# Dashboard 설치kubectl apply -f https://kubetm.github.io/yamls/k8s-install/dashboard-2.3.0.yamlnohup kubectl proxy --port=8001 --address=192.168.56.30 --accept-hosts='^*$' >/dev/null 2>&1 &SHELL 공부를 시작하고 싶은데 설치에서 계속 막혀서 진도를 못 나가고 있습니다..
-
미해결반응형 웹사이트 포트폴리오(Architecture Agency)
브라켓 자동 줄바꿈
자동으로 위로 줄이 올라가는데 어떻게 해결해야 하나요?..
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
삼항연산자를 이용해서 풀어 보았습니다
삼항 연산자를 이용하여 가장 큰 수 를 구하고, 전체 수를 더한값을 뺀 후 나머지 2개의 숫자의 합을 구해서 비교하여 "YES"와"NON"를 구해 보았습니다.<!-- 삼각형 판별하기 --> <html> <head> <meta charset="UTF-8" /> <title>출력결과</title> </head> <body> <script> function solution(a, b, c) { let answer; const longLine = a > b ? (a > c ? a : c) : b > c ? b : c; const totalLine = a + b + c; const remainder = totalLine - longLine; answer = longLine < remainder ? "YES" : "NO"; return answer; } console.log(solution(7, 5, 2)); </script> </body> </html>