해당문제를 푸는데 강사님과 같은 방법으로 풀어나가고 있습니다만, 계속 12% 대에서 실패가 뜹니다. 조건문이 문제인가 싶어 dfs함수에 들어가기 전 조건문 세개 중 두, 세번째를 강의 내용처럼 합쳐보기도 하고, 문제를 잘못읽었나 싶어 map의 범위를 50 50 에서 51 * 51로도 해보고 전역변수 선언에 문제가 있나 싶어 변경도 해봤지만 해결이 안되네요. <http://boj.kr/85c9f690f6c64294a29406a816169cc0>
classnames/bind 를 사용하지 않고, classnames를 사용할 때, typescript-plugin-css-modules 라는 것을 사용하면 위와 같이 현재 scss파일 안에 있는 클래스들이 보여지게 되는데요! classnames/bind 를 통해 cx를 만들어 사용할 때도 클래스들이 자동완성 됐으면 좋겠다고 생각이 들었습니다. 혹시 이것에 대한 방법이 있을까요?
수업 자료로 받은 솔루션에서도 삼각형이 안나오길래 자세히 보니까 점이 세개 찍혀있더군요 TriangleDemo 클래스의 Render 부분에 DC->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST); 이렇게 따로 추가를 해주니 정상적으로 삼각형이 나옵니다 그래서 엔진에 IASetPrimitiveTopology 를 호출 하고있나 확인 해봤는데 없더군요 혹시 이번에 추가된 Effect11에서 이 기능을 대체 하는건가요? 그래픽카드는 AMD 입니다
컨트롤러(Api) 패키지 안에 만드신 dto(request, response)는 private final로 선언하셔서 데이터가 변경되지 않도록 선언하셨고, 서비스단 패키지 안에 만드신 ReviewDto는 private으로만 선언하여 데이터가 언제든 변경이 되게끔 선언하셨는데 이 차이가 서비스단 로직의 데이터는 비즈니스 로직을 통해 언제든 변할 수 있기 때문이고 컨트롤러단 로직은 받아온 데이터와, 응답하는 데이터이기 때문에 변할 일이 없기에 선언 방식이 다른 것이 맞을까요? 너무 기초적인 부분일 수 있지만 제가 이해한 바가 맞는지 궁금하여 질문드립니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
선생님께서는 tabbarview에서 리스너 만들어 등록하셨는데 리스너 안쓰고 1) currentindex: controller.index를 코드에 넣어도 되지 않나요?!?! 리스너 안쓰고 2) on tap 에서 controller.animateTo(index)밑에 추가로Setstate( this.index=index) 이렇게 해도 되지 않나요 ?! 예상에는 2개다 다 가능할 거 같은데 맞는지 질문 남깁니다 ..!
안녕하세요 선생님 강의에서 옛날 윈도우(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가 함께 있는 형태) 상속의 경우, 부모 클래스 객체와 자식 클래스 객체가 같은 공간에 생성된다는 것이 명확히 이해가 되는데 인터페이스의 객체가 생성된다는 것이 정확한 표현인 것인지, 설명을 위한 개념인지 궁금합니다. 인터페이스는 인스턴스 멤버가 없는 추상메서드만 존재하기에 인스턴스화 된다는 거 자체가 이해가 안돼서요.. 혹시 가상 메서드 테이블이 존재하는 메모리 공간이 형성되는데 이것을 인터페이스 객체라고 표현하신 걸까요? 그렇다면 참조변수를 인터페이스 타입으로 했을 때는 인터페이스 메서드테이블을 먼저 확인하고, 오버라이딩 된 클래스의 메서드를 호출하며 참조변수를 클래스 타입으로 했을 때는 해당 클레스의 메서드 테이블을 바로 확인하고 클래스의 오버라이딩 된 멤버 메서드를 호출한다. 위와 같은 이해가 맞는 것인지 궁금합니다. 감사합니다.
안녕하세요. 제가 강의에서 놓친 부분일 수도 있겠지만, 스토리북 테스트 실패 및 워크플로우 무기한 중단 문제에 대해서 제가 해결한 방법을 공유드립니다. [노드 버전] 상단의 이미지처럼 워크플로우가 돌아가면서 노드 버전으로 인해 발생한 문제는 .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 접근은 결국 시스템 콜을 통해서 이루어진다고 알고있습니다. 그렇게 되면 시스템 콜이 파일이라는 말씀이실까요? 물론 시스템 콜은 결국 함수이므로 파일에 코드가 작성된 형태이긴 하겠지만, 이것이 파일을 통해 이루어진다는 부분이 잘 와닿지 않습니다. 추가적으로 파일의 타입 중 소켓 타입이 있다는 것도 알게 되었는데, 그렇다면 네트워크 연결 시, 연결된 수 만큼 소켓이 생기고 그곳에 연결된 대상에 대한 정보를 포함한 정보들이 기록되는 형태인 것일까요..? 마지막으로 시스템 프로그래밍 관련해서 널널한 개발자님이 추천하시는 책이 있는지 궁금합니다. 감사합니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Ontap 같은 경우는 Setstate를 써서 값 변경시 적용해주는데 음…onchanged 같은 건 발 this.변수 = 변수 이렇게. Setstate를 쓰지않고 바로 적용이 되는거 같아요 …,, 코드를 들여다보면 무슨차이가 있길래 Setstate 가 한쪽은 있고 한쪽은 없는 걸까요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 제목이 곧 내용입니다
칼리 리눅스 설치 후 시작시켜봤는데, 자꾸 로그인 화면으로 안 넘어가고 이 화면만 계속 뜹니다. 어떻게 해결해야 할까요? 참고로 제가 계속 시도를 해봤는데 설정값을 바꾸지 않고 바로 실행시키면 로그인 화면이 정상적으로 나오는데, 강의에서 나온 것처럼 네트워크와 시스템 값을 바꾸면 위에서 보이는 것처럼 로그인 화면이 안 나옵니다..