묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨이해하면 인생이 바뀌는 네트워크 프로그래밍
[Ethernet 채팅 프로그램 개발] 이런것도 가능할까요?
[강의:Ethernet 채팅 프로그램 개발]안녕하세요. 선생님! 오랜만에 질문드리네요 ㅎㅎ강의 수강중 이렇게하면 해킹할수 있겠다? 라는 생각이들어 질문남깁니다![ 상황 ]특정 게임서버가 있습니다.게임서버에는 정의한 패킷이 1개가 있고 계정 ID를 받으면 관련된 DB 데이터를 변경하는 로직이 작성되어있습니다.여기서1) 게임서버에서 수신된 패킷이 해당 유저가 보낸게 맞는지? 패킷 암호화 처리 없음2) 게임서버에서 수신된 패킷의 계정 ID의 Session 데이터(연결정보)가 있는지? 체크하지 않음라고 했을때Ethernet/IP(게임서버 IP)/TCP(게임서버 Port)/Segment(정의한 패킷)를 수동으로 만들어서 보내면해킹처럼 게임서버에 내가아닌 다른 계정의 ID를 보내 처리하게 할수있겠다. 라고 생각이 들었는데요.Q. 네트워크딴에서 체크섬 말고는 따로 보안처리가 없는것같아 이런 시나리오가 가능한지 궁금합니다. 추가내용) 강의를 이어서 더 보니, 게임서버가 TCP통신을 하고있었다면 Seq까지 맞춰야하네요.(Seq번호가 맞지 않으면 게임서버의 운영체제 단에서 패킷 버려짐로 이해) 이러면 해킹하는게 힘들것같네요 ㅎㅎ
-
해결됨Spring Boot를 활용하여 채팅 플랫폼 만들어보기
Client 파일은 어떤 IDE로 실행시키나요??
강사님 영상 오늘 하루종일 쭈욱 학습하였습니다.저는 현재 Intelli J Ult 버전 사용중인데 7002 포트의 서버는 켰지만 3000의 포트 서버는 어떤 IDE로 구동해야 하나요??
-
미해결실전! 스프링 데이터 JPA
SpringDataJPA 강의따라서 환경설정 후 test코드 실행하면 오류가납니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.Could not initialize plugin: interface org.mockito.plugins.MockMaker에러가 발생합니다.. 환경설정이 문제인걸까요..? 아래의 테스트 코드 실행시 아래와 같은오류가 발생합니다. 도와주세요ㅠㅠ<gradle파일>plugins { id 'java' id 'org.springframework.boot' version '3.4.1' id 'io.spring.dependency-management' version '1.1.7' } group = 'study' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } <test파일>package study.data_jpa; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class DataJpaApplicationTests { @Test void contextLoads() { } } <오류>Could not initialize plugin: interface org.mockito.plugins.MockMaker Caused by: java.lang.IllegalStateException: Internal problem occurred, please report it. Mockito is unable to load the default implementation of class that is a part of Mockito distribution. Failed to load interface org.mockito.plugins.MockMaker It appears as if your JDK does not supply a working agent attachment mechanism. Java : 17 JVM vendor name : Oracle Corporation JVM vendor version : 17.0.10+11-LTS-240 JVM name : Java HotSpot(TM) 64-Bit Server VM JVM version : 17.0.10+11-LTS-240 JVM info : mixed mode, sharing OS name : Windows 10 OS version : 10.0 DataJpaApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at PluginLoader.java:85 Caused by: java.lang.IllegalStateException at DefaultMockitoPlugins.java:105 Caused by: java.lang.reflect.InvocationTargetException at Constructor.java:499 Caused by: org.mockito.exceptions.base.MockitoInitializationException at InlineDelegateByteBuddyMockMaker.java:254 Caused by: java.lang.IllegalArgumentException at InstrumentationImpl.java:-2
-
해결됨Spring Boot를 활용하여 채팅 플랫폼 만들어보기
독립적인 Transactional을 둔 이유
음.. 코드를 보다가 강사님이 설명이 잘 이해가 가지않아서 질문 드립니다.saveChatMessage같은 경우 트랜잭션을 따로 빈으로 등록하여 saveChatMessage호출 시 독립된 트랜잭션을 호출해서 웹 소켓과 연관된 메시지 저장 작업만 독립적으로 관리하기 위함이라고 생각하면 될까요??보통 우리가 생각하는 웹소켓으로 메시징 작업을 하기 위해서는 실시간이기 때문에... 음 성능적인 부분과 데이터의 일관성을 유지하고 다른 트랜잭션 작업과 충돌을 방지하기 위해서 웹소켓사용시의 독립적인 트랜잭션을 사용한다라고 이해하면 될까요??그리고 또 한가지 현재 프로젝트에서는 MySQLConfig 클래스를 따로 정의해서 커스터마이징 하였는데, 만약 커스터마이징 하지 않고 웹소켓 기능을 사용하게 되었을 때에도 독립적인 트랜잭션 기능을 사용할 수 있나요??
-
미해결모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)
가상환경 설정 시 vscode 실행 오류
code 입력 시 visual studio code가 실행되지 않습니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
로그아웃 findOneAndUpdate 함수
안녕하세요. 2024년도에 처음으로 Node.js를 학습해 보기 위해 해당 강의를 수강 중 입니다. 물론 Mongodb 관련(mongoose) callback 함수 등 변경점이 많아서 구글링과 인프런 질문 게시판을 활용하며 저만의 코드로 변경하는 중입니다. 그러던 중, token에 대한 궁금증이 생겨서 질문을 올립니다.강의에서는 mongoose의 DB에 저장된 인스턴스를 찾은 후, 해당 인스턴스의 속성 값을 변경하는 findOneAndUpdate를 활용하려 하고 있습니다. 하지만, 저희는 기존에cookie에 x_auth라는 속성명으로 토큰값을 저장하고 있었습니다. 문서들을 찾아보니, 토큰 정보 등은 서버가 아닌 클라이언트가 저장하고 있는 것이 편리하기 때문에, DB의 보안성 때문에, DB 접근 시간보다 세션 또는 쿠키 접근이 빨라서 등 여러 이유가 있는 것 같습니다. 그렇다면, 저희가 만든 userSchema에서 token과 관련된 속성들의 존재 이유는 무엇인가요? 저희는 token을 login 과정에서도 cookie의 x_auth에 저장하고, db 갱신을 해주지는 않는데, 왜 굳이 logout 라우트에서는 findOneAndUpdate를 사용하는 것인가요? 그냥 쿠키의 x_auth 값을 비워주는 것은 안되는 것인가요?? 긴 글 읽어주셔서 감사합니다.
-
해결됨MFC Windows 프로그래밍 - 기본
안녕하세요 선생님
안녕하세요 선생님우선 좋은 강의 감사드립니다. 제 고민은 실제 고객사 PC에 MFC 프로그램을 설치할 때 어떻게 하면 문제를 예방할 수 있을까에 대해 조언을 받고 싶습니다. 고객사 PC에 제가 만든 프로그램을 설치하려고 하니, 솔루션 폴더 내에서 어떤 파일들을 Ctrl C+V 해야 하는지 막막합니다. 왜냐하면, 보통 제가 사용자 입장으로서 특정 프로그램(게임, 영상 편집 프로그램)을 사용할 때는 설치 프로그램을 실행해서 '설치'라는 작업을 하는데, 막상 제가 만든 MFC 프로그램을 고객사에 납품할 때 어떠한 과정을 거치면 좋을 지 조언을 여쭙고 싶습니다. 최종 고객사에 납기 시에는 Release 모드로 변경해서 build하는 것으로 알고 있는데 , 맞는지 여쭙고 싶습니다. 항상 감사드립니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
세션 4까지 들었는데, 여기서 DRF로 넘어가도 될까요?
제가 API Server 구축에 더 관심이 가서... 세션 4까지 복습했는데, 바로 DRF로 넘어가도 될까요?
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
일정관리에 지라를 사용하는 이유
안녕하세요.강의를 듣다가 궁금한 점이 생겼는데, 일정 관리를 지라로 사용하시는 특별한 이유가 있으신가요?아이디어 관리는 노션을 사용해서 하셨는데 노션에서도 간단한 스프린트와 일정관리를 제공함에도 불구하고 지라를 사용하신 이유가 궁금합니다.제 사견으로는 1인개발이기 때문에 최대한 많은 툴 사용을 지양하여 정보의 파편화를 막는게 중요하지 않을까해서 질문 드립니다.아직 제가 지라를 제대로 사용해보지 않아서 질문드리는 걸 수 있는데 노션에 통합관리하는 것 대비 지라를 사용하는 것이 어떠한 장점이 있는지 궁금합니다. 추가로 강사님께서 350개의 앱을 출시하셨다고 하셨는데 그러면 각 서비스마다 지라의 프로젝트를 전부 만들어서 관리하시나요?아니면 하나의 "서비스개발" 프로젝트에서 전부 관리하시나요?
-
미해결데이터 드리븐 그로스 마케팅 - 고객 중심의 문제 해결력 업그레이드
강의자료 요청드립니다!
안녕하세요, 강의 듣기에 앞서서 강의자료 요청드립니다.ekim4432@gmail.com
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
데이터 설계후 수집한 데이터를 자동으로 저장할 수 있는 기능이 있을까요?
예를들어 고객의 클릭데이터를 지속적으로 축적하고자 한다면파일이나 db로 연동시키는법을 해보고자합니다.매일 12시에 파일을 자동화한다던지 어떤방법이 효율적일까요?
-
미해결그림으로 쉽게 배우는 네트워크
랜카드에서 CPU로 인터럽트가 발생 한 이후 과정
랜카드에서 CPU로 인터럽트를 보냈을 때 CPU는 포트번호로 프로세스로 데이터를 전달할 것 같은데요 이 과정이 저에게 블랙박스 인데 ...뭔가 힌트를 주실 수 있나요?
-
미해결15일간의 빅데이터 파일럿 프로젝트
프론터 여부
아직 수업 듣기전인데 이 프로젝트에 프론트도 포함되어 있나요? 결과물을 화면과 연계해서 보고 싶습니다
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
누름틀의 메모를 조회하는 방법이 궁금합니다.
질문 남겨주셔서 감사합니다.막히면 언제든 무엇이든 자주 질문 던져주세요.수학/과학이나 알고리즘과는 달리업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다.다시 말씀드리지만, 질문을 자주자주 남겨주세요.저도 최대한 빠르게 회신 드리겠습니다.당부드릴 두 가지가 있습니다.① 가급적 구체적으로 설명해주세요.② 특정 챕터 관련 질문 남겨주실 때는, 어느 챕터인지 알려주세요ㅜ==================================== 안녕하세요~ 막히는 부분이 있을 때마다 항상 많은 도움을 받고 있습니다.예전에 누름틀의 메모를 가져오는 방법에 문의하고 잘 활용하고 있는데누름틀의 개수가 많아지면 생각보다 조회하는 시간이 오래 걸려서 다시 질문을 합니다.누름틀 필드로 커서를 이동한 후 내용을 추출하는 방법 말고 다른 방법이 없을까요?? 누름틀의 필드이름을 알면 누름틀 안의 안내문, 메모 내용을 추출하는 방법이 궁금합니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
일기 관리 기능 구현하기2 강의 질문있습니다.
현재 일기 관리 기능 구현하기2 부분의 강의를 보고 있는데 강의에서 const DiaryStateContext = createContext(); const DiaryDispatchContext = createContext();이렇게 createContext를 두번 작성이 되었고 또 DiaryStateContext는 value로 data를 DiaryDispatchContext는 value로 onCreate, onUpdate, onDelete 이렇게 각각 보내는데 왜 이렇게 두번작성을 하는 것인지 그리고 그냥 DiaryStateContext 이 부분에 value로 data와 onCreate, onUpdate, onDelete 이걸 같이 보내면 안되는건가요?
-
미해결React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지
추가 기능 문의
안녕하세요!강의 잘 듣고 있습니다!!! 🙂React Query 공식 문서에 나오는 페이지네이션 기능에 대해 궁금한 점이 있습니다. 제가 직접 시도해봤는데 어려워서 그런데, 혹시 이 기능을 강의에서 다룰 계획이 있으실까요? 선생님께서 설명을 잘해주셔서 강의가 있다면 정말 좋을 것 같습니다. 감사합니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
동시성 문제와 volitale의 연관성
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요!현재 CAS연산 강의를 보고있습니다. 그러다가 문득 "volatile 키워드가 메모리 가시성 문제를 해결해 주지만 동시성 문제는 완벽하게(?) 해결해주지 못한다." 라는 이유에 대해서 곰곰히 생각해 보았는데 혹시 CPU 가 싱글코어와 멀티코어냐에 따라서 결과가 달라지는건지 궁금합니다. 이 이유가 아니라면, 왜 volatile키워드가 동시성 문제를 해결해주지 못하는지 알려주시면 감사하겠습니다!
-
미해결C# 윈폼_ 응용프로그램 개발
책이름 변경 버튼
private void btn5_Click(object sender, EventArgs e) { string bookNo = textBox4.Text; string bookName = textBox3.Text; using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = conn; sqlCommand.CommandText = "UPDATE BOOKS SET NAME = " + "'" + bookName + "'" + "WHERE BOOKNO = " + bookNo; sqlCommand.ExecuteNonQuery(); btn5_Click(null, null); } }코드로 작성하였습니다.해당 버튼이 눌린상태로 유지되다가 튕기는데 왜그러는지 알수있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
변경 감지를 통한 데이터 수정할 때 추가, 삭제는 어떻게 처리해야 할까요?
안녕하세요. 데이터 수정은 변경 감지로 처리하는게 적절한걸로 강의를 통해 이해했습니다.강의를 학습 후, 상품 정보를 수정하는 API를 개발하고 있습니다.상품 정보 업데이트를 진행할 때 옵션 목록과 같은 하위 데이터에 대해 추가, 삭제는 어떤식으로 로직을 처리해야 하는게 적절한지 판단이 안되어 질문 드립니다. 클라이언트에서 상품 정보 수정 API를 호출할 때, 생각한 프로세스는 아래와 같습니다.- 수정하는 옵션의 경우 ID와 변경되는 데이터를 필드에 담아서 보내줍니다.- 신규 옵션을 추가하는 경우에는 ID를 제외한 추가될 데이터를 필드에 담아서 보내줍니다.- 삭제하는 옵션은 필드에 담지않고, 수정/신규 옵션만 필드에 담아서 보내줍니다. 수정 API 개발할 때, 어떤식으로 처리하는게 좋은 방법인지 궁금하여 질문 드립니다.(수정 옵션) 상품 정보 업데이트 시 기존 옵션 데이터의 경우에는 ID로 데이터를 조회 후 변경 감지로 필요한 데이터만 수정하도록 했습니다.(추가 옵션) 신규 옵션 데이터는 ID 값이 없는걸 식별해서 추가하도록 로직을 짜는게 적절 할까요?(삭제 옵션) 기존 옵션 데이터를 삭제하고 싶습니다. 클라이언트에서 API로 옵션 정보를 넘겨주는데, 삭제되는 옵션은 넘어오지 않습니다. 이런 경우에는 ID가 식별되지 않아 변경 감지로 삭제할 수가 없을거 같은데 어떻게 해야할까요? (삭제는 soft delete 방식으로 처리해야 합니다.)삭제되는 ID 값을 deleteOptionIds 같은 필드로 따로 받아서 처리하는게 적절 할까요? 감사합니다.
-
미해결
axios로 react native 와 spring 연결 불가
안녕하세요. 현재 rn으로 안드로이드 어플을 만들고 있습니다. 저는 프런트 역할을 맡았습니다.spring과 연결을 확인하려고 정말 최소한의 값만 받아오려고 하는데요.현재 axios를 사용해서 아래 코드처럼 /demo 을 받아와서 결과값으로 배열이 프런트쪽에서 보여져야하는데,(.env 폴더 만들어서 API_URL=http://10.0.2.2:3105 로 설정 ip를 저걸로 설정한 이유는 에뮬레이터의 경우에 저 ip가 에러 없이 잘 연결된다고 해서 바꿨습니다.) useEffect(() => { axios .get(`${Config.API_URL}/demo`) .then(response => setHello(response.data)) .catch(error => console.log(error)); }, []); [AxiosError: Network Error] 라는 메시지만 콘솔에 뜹니다.그래서 spring말고 JSONPlaceholder - Free Fake REST API 에서 get에 user 유저 수를 받아왔을 때는 또 받아와지더라구요. 그래서 spring연결할 때는 또다른 환경설정을 해줘야하는지 axios를 저렇게 사용하면 안되고 다른 코드로 연결해야하는지가 궁금합니다. 현재 spring port번호도 3105로 변경해놨습니다.프런트에서도 실제 제 ip 번호도 바꿔보고 localhost로도 연결해봤지만 안됩니다.