묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
ARP 강의 질문있습니다
ARP(24강) 강의를 듣다가 궁금한게 생겨서 질문드립니다.ip주소가 192.168.0.100인 host에서 ip주소가 3.3.3.3인(예시) naver로 request를 할 때 frame 단위에서 mac 주소의 dst는 gw의 mac 주소, src는 host의 mac 주소가 담긴다고 하셨는데요, 위의 gw를 gw1이라고 가정하면 이 gw에서 또 다른 gw로 패킷을 전달 전달 전달... 해서 결국에 naver에 도달하게 될텐데 gw1에 도달했을 때 이 frame이 decapsulation 되면서 gw1은 ip packet의 destination(3.3.3.3 == naver)을 확인하고 이를 알고있는 또 다른 gw의 mac 주소를 dst로, 자신의(gw1) mac 주소를 src로 다시 encapsulation(frame) 하여 전달하고 .. 이러한 방식으로 진행되는 것이 맞나요?endpoint가 아닌 gw끼리의 통신은 L3(packet) 통신이 맞나요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
SSH 환경 Set-Up 및 TEST 시..(강사님 제발 좀...)
위(①)와 같이 docker images는 잘 결과가 나옴에도 불구하고 status 명령 시 ②과 같이 "inactive"로 나옵니다. 그래서 강의 처럼 "systemctl start docker"를 실행 하였으나...위와 같이 안되었습니다. 강사님 정말 부탁드리는데요....왜 이 강의만... 강의대로 환경 세팅 후 실행을 했을 때 에러가 자꾸 나와서 그와 관련 에러 해결에 혼자서 따로 1시간 이상씩 구글링을 해야 하나요? 솔직히 스트레스 받습니다.강의 하단부에 "Windows ) SSH 서버 (with 도커) ~" 두 가지 방법 모두 해보았습니다. 그래도 저래요... 강사님 제발 좀... 강의를 만드실 때 여러 환경에 따른 사전 에러나는 것을 알아보시고 안내가 자세히 되어 있어야죠... 하루 종일 이거 issue trouble shooting 중입니다....docker images를 했을 때 image list만 나오면 그럼 inactive여도 상관 없는 건가여? 이런거 강의 때 말씀 안해주셨자나요... 다음 강의에서 시키는 대로 해보면... 실제 ssh 에 파일이 '0'개 옮겨 졌다고 나옵니다.(④)Docker Jenkins에는 실제 target 폴더에 hello-world.war가 생성이 되었고요.... Jenkins > 시스템 설정 > Publish Over SSH > Test Connection 시도 시 정상적으로 success 떴습니다. 도대체... 왜... 파일이 0개 전송되며... system status docker 상태가 inactive이며... 왜 systemctl start docker 해도 안되나여? 강사님이 수강생이여도... 화가 나지 않을까여? 하루 왠종일 이거 trouble shooting 중이여면요.
-
미해결장박사의 블록체인 이해와 구조
안녕하세요 선생님. 강의자료 부탁드리고자 합니다!
좋은 강의 만들어주신 노고에 감사드립니다.yourjini@gmail.com 으로 공유해 주십사 부탁드립니다!
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
L2에서 distribution 스위치로 가는것도 업링크인가요??
L2에서 distribution 스위치로 가는것도 업링크인가요??아니면 L2 -> L3의 경우만 업링크인가요?
-
미해결
React 새 창으로 열리는 팝업
제목처럼 팝업 같지만 윈도우 창에서 열리는 페이지를 만들고 싶습니다. items.js에서<button type="button" className="item_btn purchase_btn" onClick={() => { window.open('./Purchase', '_blank', 'width=800, height=800')}}>구매</button>위 코드를 사용해서 새로운 창 열리기는 성공했는데 (Purchase.js)열리게 했던 Purchase 컴포넌트는최하단으로 이동했습니다. 여기서 items.js 컴포넌트 내용을 없애고 Purchase.js 컴포넌트만 팝업 새창으로 띄우는 방법을 알고싶습니다.똑똑이 개발자분들 도와주세요~~~~~/(ㄒoㄒ)/~~
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문제 풀이 내용 기록
안녕하세요 강사님 강의 잘 듣고 있습니다.문제를 풀면서 아래와 같이 주석만 담고 개인적으로 풀이한 내용을 깃허브에 올려도 괜찮을까요? 문제 내용은 따로 작성하지 않고 리드미에 강의 링크를 걸어두려 합니다. 문제들을 직접 만드신 것 같아 문의드립니다. /** * className : Q02 * author : eeesnghyun * date : 2023/02/27 * description : 02-02 보이는 학생 * =========================================================== * DATE AUTHOR NOTE * ----------------------------------------------------------- * 2023/02/27 eeesnghyun 최초 생성 */ public class Q02 {
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
bootstrap.yml 파일의 "encrypt.key-store.password" 암호화
spring config를 적용하면 설정 값들에 암호화를 수행하여 "{cipher}..." 구문으로 적용할 수 있는데, bootstrap.yml 파일의 "encrypt.key-store.password", "encrypt.key-store.secret" 항목의 값은 암호화를 어떻게 할 수 있는지 방법 부탁드립니다.
-
미해결[코드캠프] 훈훈한 Javascript
savedWeatherData 조건문
안녕하세요. 마지막 강의까지 잘 듣고 있습니다.강의 중 조건문에서 savedWeatherData 사용하셨는데, 그 전에 변수로 선언해준적이 없어서 에러가 나고 있어요어디부분에 선언을 하면 되는건지 궁금합니다.
-
해결됨Verilog FPGA Program 2 (MicroBlaze, Arty A7-35T)
한 페이지가 안보입니다.
개발보드가 도착하기전에 한번 전체페이지를 돌려보았는데, 딱하나 아래 페이지가 안보입니다.저만그럴까요?? 섹션 7. lwIP활용lwIP 활용 - 11
-
미해결취미로 해킹#2(해커의 컴퓨팅)
교재
안녕하세요 강의 들으면서 보시는 교재 받고싶은데 혹시 공유가능한가요 ? 학습자료를 못찾았습니다.
-
해결됨GetX 기반 Flutter 앱 만들기
onChangeNavBar 질문
7:07에서 bottomNavigationBar 의 속성으로onDestinationSelected: controller.onChangeNavBar를 했는데, onChangeNaveBar 의 파라미터인 idx는 어떻게 전달이 되는건가요?
-
미해결[핵집] 2025 빅데이터 분석기사(필기)_과목 1~2
통합 강의 교안 요청드립니다.
안녕하세요! 통합 강의 교안 요청드립니다. jmseo@hyundai-autoever.com 입니다! 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
MessageSource 질문입니다.
자료에서"MessageSource 를 스프링 빈으로 등록하지 않고, 스프링 부트와 관련된 별도의 설정을 하지 않으면 messages 라는 이름으로 기본 등록된다. 따라서 messages_en.properties , messages_ko.properties , messages.properties 파일만 등록하면 자동으로 인식된다" 라는 말은 messages_en.properties , messages_ko.properties , messages.properties 파일등록과 상관없이 application.properties에spring.messages.basename=messages가 기본으로 등록되있고 MessageSource 도 스프링 부트를 사용하면 자동으로 스프링 빈으로 등록되있기 때문에 파일만 등록해서 사용하면 된다.라고 이해하면 될까요??
-
미해결대세는 쿠버네티스 (초급~중급편)
워커노드 재기동 시 추가작업 문의드립니다.
워커 노드를 reboot now 명령어로 재기동한 경우[root@0I ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master Ready control-plane,master 24h v1.22.0이렇게 마스터만 보이고 워커노드가 보이지 않습니다.노드 재기동 시 따로 실행해야하는 설정이 있는걸까요?
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
인텔리제이환경 강의 배포일에 대해 문의 드립니다
안녕하세요 박메일님 JavaTPC강의로 강사님께 입문하고 열심히 배우는 학생입니다.다름이 아니라 다른분 문의글에 인텔리제이 버전으로도 찍어서 3월말에 배포해주신다는 답변을 보아서 구매를 결심하게되었는데 혹시 언제쯤 배포하실계획이실까요?더 늦어지실까요?
-
미해결스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
Preflight Request 네트워크 탭에 노출되지 않음
엣지랑 크롬으로 테스트해봤는데 Preflight 헤더가 보이지 않습니다. 검색해보니 OPTIONS 요청은 네트워크 탭에 보이지 않게 되었다고 하는 글들이 많은데 어떻게 보이게 하는지 알고 싶습니다.https://stackoverflow.com/questions/57410051/chrome-not-showing-options-requests-in-network-tab이 flag 옵션도 현재는 보이지 않네요.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
cascade option 적용 후 부모 객체 삭제시 쿼리의 수 질문
1.코드상황Member(부모), Latter(자식)의 양방향 연관관계로 매핑되어있고 Member 1개에 Latter2개가 저장되어 있는데 이를 지우는 과정에서의 쿼리 개수가 예상과 다른 상황입니다."delete from latter where latter_member_id = ?" 하나가 나와 다 지울 줄 알았으나"delete from latter where latter_id = ?""delete from latter where latter_id = ?"총 2번 쿼리가 나갑니다. 2.코드Latter.classpackage dev.devpool.domain; import dev.devpool.domain.enums.IsCheck; import javax.persistence.*; import static javax.persistence.EnumType.STRING; @Entity public class Latter { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "LATTER_ID") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "MEMBER_ID") private Member member; private String body; @Enumerated(STRING) private IsCheck isCheck; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Member getMember() { return member; } public void setMember(Member member) { this.member = member; } public String getBody() { return body; } public void setBody(String body) { this.body = body; } public IsCheck getIsCheck() { return isCheck; } public void setIsCheck(IsCheck isCheck) { this.isCheck = isCheck; } } Member.classpackage dev.devpool.domain; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "MEMBER_ID") private Long id; private String name; private String nickName; private String email; private String password; public Member() { } public Member(String name, String nickName, String email, String password) { this.name = name; this.nickName = nickName; this.email = email; this.password = password; } @OneToMany(mappedBy = "member", cascade = CascadeType.ALL) private List<Certificate> certificates = new ArrayList<>(); @OneToMany(mappedBy = "member", cascade = CascadeType.ALL, orphanRemoval = true) private List<Latter> latters = new ArrayList<>(); public List<Latter> getLatters() { return latters; } public void setLatters(List<Latter> latters) { this.latters = latters; } public void setId(Long id) { this.id = id; } public List<Certificate> getCertificates() { return certificates; } public void setCertificates(List<Certificate> certificates) { this.certificates = certificates; } public Long getId() { return id; } public void setId(long id) { this.id = id; } public void setName(String name) { this.name = name; } public String getName() { return name; } public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } /** * 편의 메서드 */ public void addCertificate(Certificate certificate) { certificate.setMember(this); certificates.add(certificate); } public void addLatter(Latter latter) { latter.setMember(this); latters.add(latter); } } MemberService의 deleteByIdpublic void deleteById(long memberId) { Member findMember = em.find(Member.class, memberId); if (findMember != null) { em.remove(findMember); } } Test코드@Test public void 쪽지삭제ByMember() { transactionTemplate.execute(status -> { //given Member member = new Member(); Latter latter1 = new Latter(); Latter latter2 = new Latter(); member.addLatter(latter1); member.addLatter(latter2); memberService.join(member); em.flush(); em.clear(); //when memberService.deleteById(member.getId()); em.flush(); em.clear(); //then List<Latter> latters = latterService.findAllByMemberId(member.getId()); assertEquals(0, latters.size()); return null; }); } 쿼리 결과Hibernate: select member0_.member_id as member_i1_2_, member0_.email as email2_2_, member0_.name as name3_2_, member0_.nick_name as nick_nam4_2_, member0_.password as password5_2_ from member member0_ where member0_.email=?Hibernate: insert into member (member_id, email, name, nick_name, password) values (default, ?, ?, ?, ?)Hibernate: insert into latter (latter_id, body, is_check, member_id) values (default, ?, ?, ?)Hibernate: insert into latter (latter_id, body, is_check, member_id) values (default, ?, ?, ?)Hibernate: select member0_.member_id as member_i1_2_0_, member0_.email as email2_2_0_, member0_.name as name3_2_0_, member0_.nick_name as nick_nam4_2_0_, member0_.password as password5_2_0_ from member member0_ where member0_.member_id=?Hibernate: ***select certificat0_.member_id as member_i3_0_0_, certificat0_.certificate_id as certific1_0_0_, certificat0_.certificate_id as certific1_0_1_, certificat0_.body as body2_0_1_, certificat0_.member_id as member_i3_0_1_ from certificate certificat0_ where certificat0_.member_id=?Hibernate: select latters0_.member_id as member_i4_1_0_, latters0_.latter_id as latter_i1_1_0_, latters0_.latter_id as latter_i1_1_1_, latters0_.body as body2_1_1_, latters0_.is_check as is_check3_1_1_, latters0_.member_id as member_i4_1_1_ from latter latters0_ where latters0_.member_id=? *** ***Hibernate: delete from latter where latter_id=?Hibernate: delete from latter where latter_id=? ***Hibernate: delete from member where member_id=?Hibernate: select latter0_.latter_id as latter_i1_1_, latter0_.body as body2_1_, latter0_.is_check as is_check3_1_, latter0_.member_id as member_i4_1_ from latter latter0_ where latter0_.member_id=? 3.질문Q1) *** *** 부분에서 cascade 및 양방향으로 걸려있는 것들에 대해 다시 select 쿼리가 날라가는 이유가 무엇인가요? Q2) 왜 latter_id를 바탕으로 쿼리가 2개 나가나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
/hello 페이지 Whitelabel Error
안녕하세요? 4강 진행하면서 HelloController 생성 및 hello 메소드까지 작성하여 static/index.html에 연결하였습니다.이후 재기동까지 수행했지만, /hello 페이지 진입 시, 500 오류와 함께 Whitelabel Error가 발생합니다.서버 Console에서 발생하는 오류 메시지는 아래와 같습니다.2023-04-05 15:52:05.474 ERROR 24049 --- [nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: Error resolving template [hello], template might not exist or might not be accessible by any of the configured Template Resolvers] with root causeorg.thymeleaf.exceptions.TemplateInputException: Error resolving template [hello], template might not exist or might not be accessible by any of the configured Template Resolversbuild.gradle의 thymeleaf 라이브러리 의존성도 제대로 선언되어 있고, 라이브러리도 정상적으로 참조되고 있는 것 같은데, 원인을 찾기가 쉽지 않네요 ㅠ아래의 구글 드라이브 링크에 해당 프로젝트를 압축하여 첨부하였습니다. 확인 부탁드립니다.https://drive.google.com/file/d/1tdu2p3HdwYLbzWLmVOUBGUsPW3qljb1F/view?usp=share_link
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
invalid source 에러 <빌드하고 실행하기>
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. > Task :compileJava FAILEDFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':compileJava'.> invalid source release: 11* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.* Get more help at https://help.gradle.org이렇게 에러가 뜨는데 같은 에러 뜬 분들 블로그와 글들 확인하고 버전도 다 맞췄는데 자꾸 에러 뜹니다... 도와주세요 ㅠ
-
미해결처음 만난 리액트(React)
컴포넌트 재 렌더링 과정이 궁금합니다.
안녕하세요 소플님!감사하게도 강의 너무 잘 듣고 있습니다!강의에서 알려주신 Accommodate function component 코드 제일 상단에 아래 처럼 로그를 찍도록 선언을 했는데요.function Accommodate(prop) { console.log("Accommodate created!!!") const [isFull, setIsFull] = useState(false); const [count, increaseCount, decreaseCount] = useCounter(0); useEffect(() => { console.log("======================"); console.log("useEffect() is called."); console.log(`isFull: ${isFull}`); }); //이후 생략 }최초에 화면을 그린 로그는 아래처럼 나오고 있는데Accommodate created!!! ====================== useEffect() is called. isFull: false Current count value: 0 입장 버튼을 누르고난 뒤에는 Accommodate created!!!로그가 마지막에 한번씩 더 찍히더라구요.count가 변경이 됐기 때문에 Accommdate를 재렌더링 했고 그 과정에서 1번 useEffect에 선언한 함수가 호출되고count가 변경됐기 때문에 2번 useEffect에 선언한 함수가 호출되는건 알겠는데, 최상단에 작성한 로그가 다시 찍히는 이유가 어떤거 인가요??Accommodate created!!! ====================== useEffect() is called. isFull: false Current count value: 1 Accommodate created!!!재렌더링이 또 된거라고 봐야하는걸까요..?!