묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
WAS 내부의 web-server
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이 빨간색이 정확히 WAS 내부의 web-server인거죠?
-
미해결김영한의 실전 자바 - 중급 1편
static 키워드 관련 질문 드립니다.
안녕하세요. static 키워드 관련 질문드립니다.class 안에 static 으로 변수를 선언하면서비스 전체에서 공통으로 사용한다고 이해했습니다.static class는 서비스 전체 공통이 아니고 독립적으로 생성할 수 있는데요static 이라는 키워드가 서비스 전체에서 사용한다는 의미가 있는게 아닌건가요? 변수와 클래스 앞에 static 이 붙은 경우에 차이점에 대해서 조금더 설명해주실 수 있을까요?
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
mockServiceWorker.js 파일이 프로젝트내에 포함되어 있어야 하나요?
실무에 적용하려고 하니 msw 에서 많이 막히네요 ㅠ 그래서 올려주신 깃헙 프로젝트를 샅샅히 훑어보고 있는데 mockServiceWorker.js 이 파일과 package.json에"msw": { "workerDirectory": "public" } 요런 부분이 있더라고요. 요것들의 역할이 뭔지 알수 있을까요? msw 사이트에 가서 Getting started 를 가봐도 안나와 있는것 같아서 궁금합니다!
-
해결됨Only Javascript만으로 배우는 하이브리드앱 패키징
onesignal 연동 확인 부탁드립니다!
window.plugins.OneSignal.setAppId("원시그널앱ID"); //푸시메세지 수신부 window.plugins.OneSignal.setNotificationOpenedHandler(function(jsonData){ console.log('notificationOpenedCallback: ' + JSON.stringify(jsonData)); }); //푸시권한 허용팝업(android OS 13 이상에서 사용됨) window.plugins.OneSignal.promptForPushNotificationsWithUserResponse(function(accepted) { console.log("User accepted notifications: " + accepted); });위 코드가 정상적으로 작동을 안하는 것 같습니다! 버전 문제인지 모르겠는데 코드 추가하고 onesignal 사이트에서 "Check Subscribed Users" 버튼을 클릭하면 아래 같은 오류가 발생하는데 확인 부탁드립니다 We haven't detected any subscribed users yet for this platform. Try some of the tips below or contact us for support.Run OneSignal.SetLogLevel(OneSignal.LOG_LEVEL.DEBUG, OneSignal.LOG_LEVEL.DEBUG);before OneSignal initialization and check your ADB logcat for errors or warnings.Verify that the OneSignal App ID is correct in your app or site.
-
해결됨김영한의 실전 자바 - 중급 1편
섹션 10. try - with - resources
질문입니다!상황 1 .우선 NetworkClientExceptionV5는 RuntimeException을 상속 받은 상태입니다.public class NetworkClientExceptionV5 extends RuntimeException { public NetworkClientExceptionV5(String message) { super(message); } }그러면 NetworkClientExceptionV5를 상속받은 ConnectException과 SendException도 RuntimeException이 되는 거구요.public class ConnectExceptionV5 extends NetworkClientExceptionV5 { private final String address; public ConnectExceptionV5(String address, String message) { super(message); this.address = address; } public String getAddress() { return address; } }public class SendExceptionV5 extends NetworkClientExceptionV5 { private final String data; public SendExceptionV5(String data, String message) { super(message); this.data = data; } public String getData() { return data; } } 상황 2 .그리고 NetworkClientV5는 AutoCloseable을 구현했습니다. import exception.ex5.exception.ConnectExceptionV5; import exception.ex5.exception.SendExceptionV5; public class NetworkClientV5 implements AutoCloseable { private final String address; private boolean connectError; private boolean sendError; public NetworkClientV5(String address) { this.address = address; } public void connect() { if (connectError) { throw new ConnectExceptionV5(address, address + " 서버 연결 실패"); } // 연결 성공 System.out.println(address + " 서버 연결 성공"); } public void send(String data) { if (sendError) { throw new SendExceptionV5(data, address + " 서버에 데이터 전송 실패 : " + data); } // 전송 성공 System.out.println(address + " 서버에 데이터 전송 : " + data); } public void disconnect () { System.out.println(address + " 서버 연결 해제"); } public void initError(String data) { if (data.contains("error1")) { connectError = true; } if (data.contains("error2")) { sendError = true; } } @Override public void close() throws Exception { System.out.println("NetworkClientV5.close"); disconnect(); } } ==질문입니다!!==NetworkServiceV5에서public class NetworkServiceV5 { public void sendMessage(String data) { String address = "http://example.com"; try (NetworkClientV5 client = new NetworkClientV5(address)) { client.initError(data); // 추가 client.connect(); client.send(data); } } }try (NetworkClientV5 client = new NetworkClientV5(address))에서 컴파일 오류가 납니다.client에서 올라오는 예외들은 다 RuntimeException이므로 따로 throws를 안 해줘도 되는데 왜 해결하려고 하면 throws를 선언하거나 catch를 해야한다고 하는 건가요?RuntimeException은 예외를 throws 선언없이 자동으로 밖으로 던지기에 catch를 안 해도 상관이 없을텐데 왜 alt + enter을 누르면 throws 선언과 catch를 해야만 된다고 하는 건지 이해가 가지 않습니다. 제가 생각하는 건 이런식으로 흘러간다고 생각했습니다.main()에서 (error1 | error2)를 입력 받음 -> sendMessage를 호출 -> sendMessage에서 코드 진행 -> (client.connect | client.send)를 만나서 NetworkClientV5에 들어감 -> (ConnectException | SendException)을 터트림 -> NetworkClientV5에서 예외를 밖으로 던짐 (런타임이라서 throws 선언 안 해도 던져짐) -> NetworkService로 예외가 날라옴 -> 여기서도 처리가 불가능 하니, 예외를 밖으로 던짐 (여기서 throws 선언을 안해도 던져져야 한다고 생각함. 날아온 예외는 RuntimeException이기 때문에) -> main으로 예외가 넘어옴 -> main에는 catch (Exception e)가 있어서 예외를 잡고 정상흐름으로 돌아옴. 마지막은 메인메서드 입니다!import exception.ex5.exception.SendExceptionV5; import java.util.Scanner; public class NetworkmainV5 { public static void main(String[] args) { NetworkServiceV5 service = new NetworkServiceV5(); Scanner scanner = new Scanner(System.in); while (true) { System.out.print("전송할 문자 : "); String input = scanner.nextLine(); if (input.equals("exit")) { break; } try { service.sendMessage(input); } catch (Exception e) { exceptionHandler(e); } System.out.println(); } System.out.println("프로그램을 종료합니다."); } // 공통 처리 예외 private static void exceptionHandler(Exception e) { System.out.println("사용자 메시지 : 죄송합니다. 알 수 없는 문제가 발생했습니다."); System.out.println("==개발자용 디버깅 메시지=="); // 스택 트레이스 출력 e.printStackTrace(System.out); // 스택 트레이스 출력 System.err //e.printStackTrace(); // 필요하면 예외별로 별도의 추가 처리 가능 if (e instanceof SendExceptionV5 sendEx) { System.out.println("[전송 오류] 전송 데이터 = " + sendEx.getData()); } } }
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
두 코드의 차이점
function add(a,b,callback){ sum = a + b; setTimeout(callback(sum),3000); } add(1,2,(value)=>{console.log(value)});function add(a,b,callback){ setTimeout(()=>{ const sum = a+b; callback(sum); },3000); } add(1,2,(value)=>{console.log(value)}); 위 두 코드의 차이점이 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모의문제 작업1 데이터 불러오기
선생님 모의문제 1을 풀려고 하는데 데이터 members를 불러오는게 이해가 안돼서요ㅜㅜ어떻게 저장한다는 걸까요..? data: members.csv 자체에는 저장하는게 없지 않나요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
데이터베이스와 네스트가 연결이 안됩니다.
import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { PostsModule } from './posts/posts.module'; import { TypeOrmModule } from '@nestjs/typeorm'; import { PostModel } from './posts/entities/posts.entity'; @Module({ imports: [ PostsModule, TypeOrmModule.forRoot({ type: 'postgres', host: '127.0.0.1', port: 5432, username: 'postgres', password: 'postgres', database: 'postgres', entities: [PostModel], synchronize: true, }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {} services: postgres: image: postgres:15 restart: always volumes: - ./postgres-data:/var/lib/postgresql/data ports: - '5432:5432' environment: POSTGRESQL_USER: postgres POSTGRESQL_PASSWORD: postgres POSTGRESQL_DB: postgress POSTGRES_HOST_AUTH_METHOD: trust현재 데이터베이스 도커 컴포즈 코드와 네스트 서버를 연결하려고 합니다.서버 로그는 이렇게 뜨고, 익스텐션에서 들어가면 이런 에러가 뜹니다.실습을 못하고 있어요. 도와주세요ㅜㅜ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
WAS 의 web server 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]WAS는 간단히 말씀드리면 Web Server + Web Container(Sevlet Container)로 되어있습니다. 라는 답변을 봐서 궁금한게 생겼습니다. 그냥 정적인 파일만 내려주는 Web Server 는 주로 아파치 를 사용한다고 했는데 WAS = Web Server + Web Container 에서 Web Server 는 뭐로 만들어지나요? 톰캣인가요??
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
디자인 스터디 문의
안녕하세요! 저는 편집디자이너를 하다가 이제막 UI/UX로 전형한 디자이너입니다.개인적인 사정으로 볼드님 강의를 늦게 수강하게 되었는데 매달 스터디 한다고해서 들어왔더니 인프런 워밍업 클럽 - 스터디 1기 신청이 끝난 것 같아서요늦었지만 프로덕트 디자인 과정 1기를 지금 들어갈 수 있을까요? 어렵다면 2기는 언제모집하나요?아니면 별개로 진행하고 계신 스터디 과정이 있는 것인가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
props Dirlling을 방지하기 위해 Context를 사용하지만..
안녕하세요..!결국 Context도 이 컨테이너 안에 데이터를 몽땅 넣을 순 없으니 불필요한 렌더링을 최소화하기 위해 용도에 따라 분리하는것이 좋다라고 알려주셔서 잘 이해가 되었습니다 : )그런데 복잡한 대형 프로젝트에서는 결국 Context도 6개,7개 .. 늘어나다보면,<Context1.Provider> <Context2.Provider> <Context3.Provider> <Context4.Provider> <ContextN.Provider> .......이런식으로 늘어날텐데, Context도 몇개 이상 늘어나지 않도록 어느정도는 그룹핑을 해야할 것 같다고 생각이 듭니다. 코드 가독성을 유지하기 위해서 하위 컴포넌트들에게 전달할 데이터들을 최대 몇개 정도의 Context로 관리하는게 이상적일까요?..
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
슬라이싱 할때
선생님! iloc같은경우 인덱스값은 그 앞에 까지 뽑기때문에 +1 해주는 범위까지 설정 해 주는것인데, 컬럼 번호 쓸때는 해당 없는거 같네요?! quiz 2번 푸는데 iloc로 메뉴~할인율 까지 할때 범위를 :3으로 하시길래요! 위에 설명할때는 iloc때 범위를 :로 나타낼 때 마지막을 포함하지 않는다고 하셨는데, 인덱스만 포함하지 않는게 맞는거죠?
-
해결됨코드로 배우는 React 19 with 스프링부트 API서버
config 패키지 내 파일 문의
이전 학습인 섹션2 Rest 방식 컨트롤러 만들기 (2)까지만 해도 RootConfig 파일이 없었는데 지금 수업 Rest컨트롤러 - 수정/삭제, CORS 에는 해당 class 파일이 추가 되어 있더라구요.그런데 querydsl 검색처리 에서 제공해주신 압축 파일에 해당 RootConfig 파일이 존재 하는데 해당 파일을 추가 해야하는지 없어도 괜찮은지 궁금해서 문의 드려요.
-
해결됨[자소서 첨삭] 8년차 e커머스 개발자가 알려주는 백엔드 웹 개발 신입 취업노하우
첨삭질문드립니다!
안녕하세요 롱베케이션님! 유용한 강의 감사합니다.5월1일 9시경에 첨삭 관련 이메일을 보냈습니다.혹시 시간 괜찮으실때 첨삭해주신다면 감사하겠습니다!
-
해결됨[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
타입스크립트 교과서, p131
여기서 Person3 결과로 Person: {"name: "zero","age": 28,married: false}이렇게 나와야 하는거 아닌가요??전체 코드입니다.class Person { name?: string; age?: number; married?: boolean; constructor(); constructor(name: string, married: boolean); constructor(name: string, age: number, married: boolean); constructor(name?: string, age?: boolean | number, married?: boolean) { if (name) { this.name = name; } if (typeof age === "boolean") { this.married = age; } else { this.age = age; } if (married) { this.married = married; } } } const person1 = new Person(); const person2 = new Person("nero", true); const person3 = new Person("zero", 28, false);
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
로그인 통신 질문
import axios from 'axios'; const axiosInstance = axios.create({ // 안드는 localhost:3000이 안먹힐 수 있기에 10.0.2.2로 테스트 baseURL: 'http://10.0.2.2:3030', withCredentials: true, }); export default axiosInstance; 이럴때 안드로이드는 제대로 동작하지만, ios는 다시import axios from 'axios'; const axiosInstance = axios.create({ // 안드는 localhost:3000이 안먹힐 수 있기에 10.0.2.2로 테스트 baseURL: 'http://localhost:3030', withCredentials: true, }); export default axiosInstance; 이렇게 바꿔주어야 동작합니다. 이렇게 매번 바꿔서 체크하는게 맞을까요?
-
미해결readable_code::CMake - Fancy하게 C++ Project 만들기
configurate_package.cmake 의 project() 와 find_package()
gtest/configurate_package.cmake 에 project(GTest...) 를 넣으면 GTest 가 설치되지도 않았는데 find_package() 에서 있는 걸로 처리되어서 install 이 안되고 있습니다. 혹시 제가 놓친 부분이 있을까요?
-
미해결[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
회원가입 과제 완료용
안녕하세요!!과제 완료해서 피드백 부탁드리고자 올렸습니다!앞으로 잘 부탁 드립니당~<html><!DOCTYPE html> <html lang="ko"> <head> <title>회원가입</title> <link rel="stylesheet" href="./02-signup.css"> </head> <body> <div class="signUpContent"> <h2> 회원 가입을 위해<br> 정보를 입력해주세요 </h2> <label for="email" class="label text">* 이메일</label> <input id="email" class="input_text" type="text"> <label for="name" class="label text">* 이름</label> <input id="name" class="input_text" type="text"> <label for="password" class="label text">* 비밀번호</label> <input id="password" class="input_text" type="password"> <label for="password_chk" class="label text">* 비밀번호 확인</label> <input id="password_chk" class="input_text" type="password"> <div class="signUpChk"> <input id="gender_w" class="input_radio" type="radio" name="gender"> <label for="gender_w" class="label gender">여성</label> <input id="gender_m" class="input_radio" type="radio" name="gender"> <label for="gender_m" class="label gender">남성</label> </div> <div class="agreeChk"> <input type="checkbox" id="input_chk"> <span class="agree_text"> 이용약관 개인정보 수집 및 이용, 마케팅 활용 선택에 모두 동의합니다. </span> </div> <div class="out-line"> <div class="line"></div> </div> <button> <span>가입하기</span> </button> </di> </body> </html><css>* { box-sizing: border-box; } h2 { font-size: 32px; color: #0068FF; font-weight: 700; line-height: 47px; } .out-line{ padding: 30px 0px; } .line { border-bottom: 1px solid #E6E6E6; } .label{ font-size: 16px; font-weight: 400; line-height: 24px; } .signUpContent{ width: 670px; height: 960px; border: 1px solid #AACDFF; border-radius: 20px; box-shadow: 7px 7px 39px rgba(0, 104, 255, .25) ; display: flex; flex-direction: column; padding: 72px 100px 70px 100px; } .label.text{ padding: 20px 20px 0 0; color: #797979; } .input_text{ border-style: none; border-bottom: 1px solid #CFCFCF; height: 60px; } .signUpChk{ display:flex; justify-content: center; align-items: center; padding: 50px 0; } .input_radio{ margin: 0 5px 0 0; width: 20px; height: 20px; } .label.gender{ padding-right: 30px; } .agreeChk{ display: flex; justify-content: center; align-items: center; } .agree_text{ height: 22px; font-size: 14px; font-weight: 400; line-height: 20px; } button{ width: 470px; height: 75px; background-color: #FFF; border: 1px solid #0068FF; border-radius: 10px; } button > span { font-size: 18px; font-weight: 400; color: #0068FF; }
-
미해결카프카 완벽 가이드 - 코어편
Producer의 acks 설정 관련 실습 질문
안녕하세요 선생님 질문이 있습니다.acks = -1 이 All이라 하셨는데예제에서 erorr를 따로 던지지 않는 이유가 min_insync_replicas 가 기본값이 0 이라서 그냥 성공하는것인가요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
인텔리제이 명령어 창에 persist() 및 수정 동시에 하는 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. 명령어 창에 persist() 및 수정 코드 동시에 기입한 경우 2. 명령어 창에 수정 코드만 기입한 경우 위와 같이 persist()와 수정을 동시에 한 경우는 저장 쿼리만 나갈 뿐더러 실제 데이터베이스에도 수정된 결과가 반영이 되지 않은 것을 알 수 있었습니다하지만 수정 코드만 적은 경우는 select 및 update 쿼리가 올바르게 나갈 뿐더러 데이터베이스에도 수정된 결과가 잘 반영이 되어있는 것을 알 수 있었습니다이렇게 동작한 이유가 정확히 어떤 매커니즘으로 이렇게 된 것인지 궁금합니다 !