묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
리스너 안쓰고 이렇게도 되나요?
선생님께서는 tabbarview에서 리스너 만들어 등록하셨는데 리스너 안쓰고 1) currentindex: controller.index를 코드에 넣어도 되지 않나요?!?! 리스너 안쓰고 2) on tap 에서 controller.animateTo(index)밑에 추가로Setstate( this.index=index) 이렇게 해도 되지 않나요 ?! 예상에는 2개다 다 가능할 거 같은데 맞는지 질문 남깁니다 ..!
-
해결됨MFC Windows 프로그래밍 - 기본
pOldPen = dc.SelectObject(); 관련 질문
안녕하세요 선생님강의에서 옛날 윈도우(XP)에서는 pOldPen = dc.SelectObject()를 안해주면 문제가 생길수 있고, 요즘 윈도우즈에서는 괜찮을거라고 하셨는데요.이부분에 대해서 조금 더 자세하게 알고 싶습니다.테스트용으로 코드를 작성했습니다. void CPenBrushDemoView::OnPaint() { CPaintDC dc(this); // device context for painting CBrush NewBrush; //비트맵 클래스 객체를 선언하여 비트맵 리소스 로딩. CBitmap Bmp; Bmp.LoadBitmap(IDB_BITMAP1); //로딩된 비트맵 리소스로 패턴 브러시 생성. NewBrush.CreatePatternBrush(&Bmp); CBrush* pOldBrush = dc.SelectObject(&NewBrush); //클라이언트 뷰 클래스의 클라이언트 영역 크기를 알아내고 //그 크기에 해당하는 네모를 그림. CRect Rect; GetClientRect(&Rect); dc.Rectangle(&Rect); dc.SelectObject(pOldBrush); DWORD style[] = {6, 3}; LOGBRUSH lb; lb.lbStyle = BS_SOLID; lb.lbColor = RGB(255, 0, 0); // 여기서부터... CPen* pOldPen; CPen FirstPen; { FirstPen.CreatePen(PS_GEOMETRIC | PS_USERSTYLE | PS_ENDCAP_FLAT, 20, &lb, 2, style); pOldPen = dc.SelectObject(&FirstPen); dc.MoveTo(40, 40); dc.LineTo(240, 40); } CPen SecondPen; { SecondPen.CreatePen(PS_GEOMETRIC | PS_USERSTYLE | PS_ENDCAP_FLAT, 40, &lb, 2, style); dc.SelectObject(&SecondPen); dc.MoveTo(40, 240); dc.LineTo(240, 240); } { CPen ThirdPen; ThirdPen.CreatePen(PS_GEOMETRIC | PS_USERSTYLE | PS_ENDCAP_FLAT, 60, &lb, 2, style); dc.SelectObject(&ThirdPen); dc.MoveTo(40, 440); dc.LineTo(240, 440); } dc.MoveTo(40, 640); dc.LineTo(240, 640); dc.SelectObject(pOldPen); } 위 코드에서는 총 4개의 직선을 그리고 있습니다.여기서, CPen ThirdPen은 스코프 안에서 소멸자가 불러질 때 DeleteObject()가 실행되면서 gdi는 없어집니다. 하지만 디바이스컨텍스트(dc)는 계속 해당 gdi를 가리키고 있습니다. 그런데 그 이후에 dc는 지워진 gdi의 방식대로 직선을 그리고 있습니다.(dc.MoveTo(40, 640); dc.LineTo(240, 640);) dc가 가리키고 있던 gdi가 지워졌는데도 불구하고 어떻게 기존의 방식대로 그릴수 있는지 이유를 모르겠습니다. 그리고 위의 코드에서,dc.MoveTo(40, 440);dc.LineTo(240, 440);를 지우게 되면 ... { CPen ThirdPen; ThirdPen.CreatePen(PS_GEOMETRIC | PS_USERSTYLE | PS_ENDCAP_FLAT, 60, &lb, 2, style); dc.SelectObject(&ThirdPen); // dc.MoveTo(40, 440); // dc.LineTo(240, 440); }ThirdPen이 스코프를 벗어난 이후 마지막 직선은 ThirdPen의 방식이 아닌 SecondPen의 방식으로 그려지고 있습니다. 좀 전의 위에서 동작한 방식과 일관성이 맞지 않는것같아요. 질문글이 길어서 요약을 해보자면..2개의 소스코드가 사소한 차이가 있는데 왜 DC가 동작하는 방식이 다를까요?DC와 GDI에 대한 저의 생각에서 혹시 오류가 있을까요?
-
미해결김영한의 실전 자바 - 기본편
인터페이스 객체 생성
안녕하세요! 인터페이스와 메모리 구조에 관련된 질문이 있습니다.강의를 통해서 인터페이스를 구현한 클래스의 객체를 생성하면힙에는 인터페이스 객체(x001), 클래스 객체(x002)가 함께 생성된다고 이해했습니다.(x000<시작 주소>이라는 공간 안에 x001과 x002가 함께 있는 형태)상속의 경우, 부모 클래스 객체와 자식 클래스 객체가 같은 공간에 생성된다는 것이 명확히 이해가 되는데인터페이스의 객체가 생성된다는 것이 정확한 표현인 것인지, 설명을 위한 개념인지 궁금합니다.인터페이스는 인스턴스 멤버가 없는 추상메서드만 존재하기에 인스턴스화 된다는 거 자체가 이해가 안돼서요..혹시 가상 메서드 테이블이 존재하는 메모리 공간이 형성되는데 이것을 인터페이스 객체라고 표현하신 걸까요?그렇다면 참조변수를 인터페이스 타입으로 했을 때는 인터페이스 메서드테이블을 먼저 확인하고,오버라이딩 된 클래스의 메서드를 호출하며참조변수를 클래스 타입으로 했을 때는해당 클레스의 메서드 테이블을 바로 확인하고 클래스의 오버라이딩 된 멤버 메서드를 호출한다.위와 같은 이해가 맞는 것인지 궁금합니다. 감사합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
질문이 있습니다...
[질문 내용]궁금한점이 몇가지 있습니다 ...
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
사이킷런 업그레이드 수행 및 XGBoost와 LightGBM 설치 강의 (mac os용 영상이나 가이드)
안녕하십니까 교수님.사이킷런 업그레이드 수행 및 XGBoost와 LightGBM 설치 강의를 듣는 중 영상이 윈도우에 초점이 되어있는데저는 mac os를 쓰고 있습니다. 1:19초부터 진도를 못따라가겠는데mac 용 설치방법 영상이나 가이드는 따로 없을까요?
-
미해결자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
강의 자료가 좀 깨지는 것 같습니다.
혹시, 폰트 포함해서 다시 업로드 해주실 수 있으실까요?
-
해결됨실무에 바로 적용하는 스토리북과 UI 테스트
스토리북 테스트 실패 및 워크플로우 무기한 중단 문제 (Accessibility 테스트 강의)
안녕하세요. 제가 강의에서 놓친 부분일 수도 있겠지만, 스토리북 테스트 실패 및 워크플로우 무기한 중단 문제에 대해서 제가 해결한 방법을 공유드립니다. [노드 버전]상단의 이미지처럼 워크플로우가 돌아가면서 노드 버전으로 인해 발생한 문제는 .nvmrc 파일에 작성된 노드버전을 조정하여 해결했습니다. (저의 경우에는 18.18.0) [워크플로우]상단의 이미지는 워크플로우가 다음 단계로 넘어가지 않아 직접 워크플로우를 취소한 화면인데, 이 문제는 워크플로우의 스크립트를 수정하여 해결했습니다.npx wait-on tcp:127.0.0.1:6006 && yarn test-storybook해당 문제는 노드 버전으로 인해 발생된 것으로 보이며, 자세한 내용은 하단의 링크를 통해 확인하실 수 있습니다.https://github.com/storybookjs/test-runner/issues/301 [스토리북 테스트 실패]스토리북 테스트 명령어를 로컬에서 돌릴 경우, 강의를 따라가면서 생성한 스토리들과 컴포넌트에서는 문제가 없었으나,Header, Page, LoggedIn(Smoke-test), LoggedOut(Smoke-test)... 위와 같은 파일들에서 문제가 발생하는데, 해당 파일들을 모두 삭제하여 해결했습니다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
소켓과 파일, 그리고 시스템 콜에 대하여
항상 좋은 강의 너무 감사합니다.https://www.inflearn.com/questions/866611위 질문에 대한 답변에서 '한 가지 중요한 사실은 Kernel 요소에 대한 User mode 접근은 모두 장치 '파일'로 이루어진다는 점 입니다.' 부분에서 추가적인 질문이 있습니다.Kernel 요소에 대한 User mode 접근은 결국 시스템 콜을 통해서 이루어진다고 알고있습니다.그렇게 되면 시스템 콜이 파일이라는 말씀이실까요?물론 시스템 콜은 결국 함수이므로 파일에 코드가 작성된 형태이긴 하겠지만, 이것이 파일을 통해 이루어진다는 부분이 잘 와닿지 않습니다.추가적으로 파일의 타입 중 소켓 타입이 있다는 것도 알게 되었는데,그렇다면 네트워크 연결 시, 연결된 수 만큼 소켓이 생기고 그곳에 연결된 대상에 대한 정보를 포함한 정보들이 기록되는 형태인 것일까요..?마지막으로 시스템 프로그래밍 관련해서 널널한 개발자님이 추천하시는 책이 있는지 궁금합니다.감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
visual studio2022에서 c# 프로젝트 로드가 안됩니다
만들고나서 로드가 안되어 불러오기를 해봤는데.NET.Sdk SDK를 찾을 수없다고 했는데 .NET 데스크톱 개발, Unity를 사용한 게임 개발 모두 설치 되어있습니다어떻게 해야할지 모르겠습니다
-
미해결프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
TypeError: ((process.env.NODE_ENV === "production") && [MiniCssExtractPlugin]) is not iterable
TypeError: ((process.env.NODE_ENV === "production") && [MiniCssExtractPlugin]) is not iterable문제 없어보이는데 계속 저 에러가 발생하네요npm run build 만 입력하면 production이 아니니까 타야할거같은데 환경변수를 집어넣어주면 에러가 발생안하고 안넣어주면 에러가 발생합니다. const path = require("path"); const webpack = require("webpack"); const childProcess = require("child_process"); const HtmlWebpackPlugin = require("html-webpack-plugin"); const { CleanWebpackPlugin } = require("clean-webpack-plugin"); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const isProduction = process.env.NODE_ENV === "production"; module.exports = { mode: "development", entry: { mainSrc: "./app.js", }, output: { path: path.resolve("./dist"), filename: "[name].js", }, module: { rules: [ { test: /\.css$/, use: isProduction ? [MiniCssExtractPlugin.loader, "css-loader"] : ["style-loader", "css-loader"], }, { test: /\.(png|jpg|gif|svg)$/, type: "asset/resource", }, { test: /\.js$/, loader: "babel-loader", exclude: "/node_modules/", }, ], }, plugins: [ new webpack.BannerPlugin({ banner: ` Build Date : ${new Date().toLocaleString()} Commit Version : ${childProcess.execSync("git rev-parse --short HEAD")} Author : ${childProcess.execSync("git config user.name")} `, }), new webpack.DefinePlugin({ TWO: "1+1", TWO_STRING: JSON.stringify("1+1"), "api-domain": JSON.stringify("http://dev.api.domain.com"), }), new HtmlWebpackPlugin({ template: "./src/index.html", templateParameters: { env: process.env.NODE_ENV === "development" ? "개발용" : "운영", }, minify: process.env.NODE_ENV === "production" && { collapseWhitespace: true, removeComments: true, }, }), new CleanWebpackPlugin(), ...(process.env.NODE_ENV === "production" && [ new MiniCssExtractPlugin({ filename: "[name].css", }), ]), ], };
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Setstate 질문이요
Ontap 같은 경우는 Setstate를 써서 값 변경시 적용해주는데 음…onchanged 같은 건 발 this.변수 = 변수 이렇게. Setstate를 쓰지않고 바로 적용이 되는거 같아요 …,, 코드를 들여다보면 무슨차이가 있길래 Setstate 가 한쪽은 있고 한쪽은 없는 걸까요
-
해결됨
spring에서 Entity작성 후 [Table ' ' doesn't exist] 오류
영화 예매 관련 Entity를 작성 후 DB확인차 실행했는데 다른 Entity는 테이블이 잘 만들어진 것을 확인할 수 있었지만 이상하게 Seat Entity만 테이블이 만들어지지 않았습니다. WARN 3508 --- [Movie Ticketing] [ restartedMain] o.m.jdbc.message.server.ErrorPacket : Error: 1146-42S02: Table 'ticketing.seat' doesn't exist WARN 3508 --- [Movie Ticketing] [ restartedMain] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL " alter table seat add constraint FKgik5885qsff01sxe7v3kqjrhx foreign key (theater_id) references theater (theater_id)" via JDBC [(conn=216) Table 'ticketing.seat' doesn't exist] org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " alter table seat add constraint FKgik5885qsff01sxe7v3kqjrhx foreign key (theater_id) references theater (theater_id)" via JDBC [(conn=216) Table 'ticketing.seat' doesn't exist]at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:94) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.Helper.applySqlString(Helper.java:233) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.Helper.applySqlStrings(Helper.java:217) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createForeignKeys(SchemaCreatorImpl.java:303) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:250) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:172) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:142) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:118) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:256) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:145) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]application.yml은ddl-auto.create입니다. 대소문자 구분이 문제인가 싶어 @Table(name = "seat")도 추가하고 lower_case_table_names = 1인 것도 확인했는데 똑같이 에러가 발생하더라구요하루종일 찾아봐도 이유를 잘 모르겠습니다 왜그런걸까요 ㅠㅠㅠSeat Entity 코드는 아래와 같습니다.@Entity @Table(name = "seat") class Seat { val row : String? = null val column : Int? = null //좌석 선택 @Enumerated(EnumType.STRING) val selectStatus : SelectStatus? = null // POSSIBLE, IMPOSSIBLE @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "theater_id") val theater : Theater? = null @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "seat_id") val id : Long = 0L }
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
@Transactional은 수동커밋으로 변경되나요 ?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제목이 곧 내용입니다
-
해결됨Flutter로 SNS 앱 만들기
섹션6 게시글등록화면_Firebase Storage에 게시글 이미지 저장
섹션6 게시글등록화면_Firebase Storage에 게시글 이미지 저장 에서 에러가 발생 되었습니다.FeedState는 import하니 없어졌구요.StreamProvider는 어떻게 해야할지요.멜 보냈습니다.
-
미해결화이트해커가 되기 위한 8가지 웹 해킹 기술
4강 칼리 리눅스 관련해 질문 있습니다
칼리 리눅스 설치 후 시작시켜봤는데, 자꾸 로그인 화면으로 안 넘어가고이 화면만 계속 뜹니다. 어떻게 해결해야 할까요?참고로 제가 계속 시도를 해봤는데 설정값을 바꾸지 않고 바로 실행시키면 로그인 화면이 정상적으로 나오는데, 강의에서 나온 것처럼 네트워크와 시스템 값을 바꾸면 위에서 보이는 것처럼 로그인 화면이 안 나옵니다..
-
미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
MQTT 설치후 토픽 설정시 에러
C:\Program Files\mosquitto>mosquitto_sub -d -t /testError: 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다. 제어판 > 서비스 > 모스키토 브로커 서비스 실행해주시면 됩니다.
-
미해결스프링 핵심 원리 - 기본편
getBeanDefinition() 메서드가 존재하지 않네요?
getBeanDefintionNames()하고 getBeanDefintionCount()두개 만 존재하는데 다른 메서드를 써야 하나요?
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
모임참가 취소 할때 로직 질문
안녕하세요이부분에서 event.removeEnrollment(enrollment);이 메서드를 타고 들어가면이 메서드가 실행되는데 이때 106라인->enrollment.setEvent(null);이 코드는 꼭 필요 한건가요 ??첫번째 사진 보시면 어차피enrollmentRepository.delete(enrollment);이걸 실행 하는데 왜 있는건지 이해가 잘 안갑니다 ! =================두번째 질문===========이 부분에서 취소를 하면 대기하던사람이 자동 확정 하는 로직인데대기 하던 사람들 중 제일 먼저 신청을 해놓은 사람들을정렬해서 true 처리 해야하는데 이건 안되있는거 아닌가요 !!?
-
해결됨스프링 핵심 원리 - 기본편
싱글톤 빈과 request scope 빈
컨트롤러 빈은 싱글톤이고, 여기에 Provider로 매 클라이언트의 요청시마다 새로운 request scope빈을 생성해 주입해준다는 것 까지는 이해했습니다. 그런데 강의 7:40처럼 메서드 logDemo를 호출하는 메인 쓰레드를 sleep()하고 그 사이 여러번 요청을 했을때, 쓰레드가 깨어나면서 각 요청마다 새로운 request scope빈이 생성되고 다시 여러번 종료되는 것이 이해가 되지 않습니다. 컨트롤러 빈은 싱글톤이라, 다음번 새로운 request빈이 들어올 때까지는 전의 request빈의 주소값을 갖고 있을텐데 어떤 과정으로 싱글톤빈의 log-Demo실행 중 내부 주입되는 request빈이 교체될 수 있을까요? 컨텍스트 스위칭처럼 logDemo의 실행간 내부 주입되는 빈이 교체되는 건가요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
이 강의의 완성본을 커스텀하면 포폴 메인 수준이 가능할까요?
안녕하세요? 오늘은 양해를 구하면서 조금 모호한 질문을 들고 왔습니다. 제목대로 완성본을 커스텀하면 메인 포폴로 내세울 수 있을정도인지 궁금합니다.제가 수강한 강의는 C# Part4. 서버와 Part7. 유니티 연동 입니다. 물론 커스텀 과정에서멀티스레드 이해TCP 통신 과정 이해클라이언트 <--> 서버 간 패킷 송수신 및 로직 이해은 어느 정도 되었다고 자신하고 있고, 저의 주요 변경 사항은Zone 단위 개념 삭제Zone 개념 삭제에 따른 모든 방향 이동 및 모든 방향 투사체 발사이동_Packet / 발사_Packet 등의 결정 주체 변경- ex) 강의에서 결정 주체가 클라이언트였으면, 저는 서버가 결정하도록 변경탑다운 슈팅 게임 방식의 배틀 로얄 컨셉프로토타입 수준의 완성도 (아래 사진)이 정도면 포폴 메인으로 써먹을 수 있을지 조심스럽게 질문 올립니다.. ㅎㅎ답변 미리 감사합니다.