안녕하세요 실습 진행 중 wsl을 이용해서 가상공간에서 작업을 진행하시는 것 같은데 도커데스크탑을 깔고 그 안에서 이미지들을 다운받는 식으로 작업을 하는 것과 차이가 있을까요? 제가 알기로는 터미널에서 코드 쳐서 다운 받는 것과 도커데스크탑에서 이미지 찾아서 다운 받는 것과의 차이는 없는 걸로 알고 있어서요 혹시 wsl로 작업을 하지않고 컴퓨터 두 대로 진행하려면 어떻게 해야될까요? 같은 네트워크에 있는 상태 입니다.
confluent-6.1.0\bin\windows\kafka-run-class.bat 파일 안에 rem Classpath addition for release으로 검색하셔서 밑에 코드를 넣으시면 됩니다. rem Classpath addition for LSB style path if exist %BASE_DIR%\share\java\kafka\* ( call :concat %BASE_DIR%\share\java\kafka\* )
지금 아무리해도 이제 더이상 하기가 힘듧니다. AWS가 처음이다 보니 EC2 만드는데 너무 많은 시간을 쏟고 있습니다. 저는 github action 을 배우고 싶은 것이지 aws를 배울려고 하는게 아닙니다. 강의를 수정해주시던가, 아니면 어떻게 하면 될 것인지 명확한 절차를 알려주세요.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] package collection.link; public class MyLinkedListV3<E> { private Node<E> first; private int size; public void add(E e){ Node<E> newNode = new Node<>(e); if (first == null){ first = newNode; } else { Node<E> lastNode = getLastNode(); lastNode.next = newNode; } size++; } //추가 코드 public void add(int index, E e){ Node<E> newNode = new Node<>(e); if (index == 0){ newNode.next = first; first = newNode; } else{ Node<E> prev = getNode(index - 1); newNode.next = prev.next; prev.next = newNode; } size++; } @Override public String toString() { return "MyLinkedListV1{" + "first=" + first + ", size=" + size + '}'; } private static class Node<E>{ E item; Node<E> next; public Node(E item) { this.item = item; } //A->B->C이런모양으로 출력하고 싶어! @Override public String toString() { StringBuilder stringBuilder = new StringBuilder(); Node<E> x = this; stringBuilder.append("["); while (x != null) { stringBuilder.append(x.item); if (x.next != null) { stringBuilder.append("->"); } x = x.next; } stringBuilder.append("]"); return stringBuilder.toString(); } } } 위 코드에서 Node는 정적 중첩 클래스로서 MyLinkedListV3에 선언돼 있습니다. static은 바깥 클래스와 독립적이고 클래스레벨에 소속돼 있어 인스턴스에 따라서 static class가 바뀌는 일은 없다고 알고 있었습니다. 그런데 여기서는 바깥 클래스의 타입 매개변수 E가 정적 중첩클래스인 Node에 영향을 주어 Node의 item의 타입을 E로 만듭니다. 그러면 E가 Integer인 MyLinkedListV3, E가 String인 MyLinkedListV3가 있을 수 있다는 것인데 타입 매개변수가 도입된 정적 중첩 클래스는 정적 변수와 다르게 인스턴스에 영향을 받을 가능성이 있다고 생각돼서 다음과 같이 실험해봤습니다. 아래 코드를 실행한 결과 package collection.link; public class MyLinkedListV3Main { public static void main(String[] args) { MyLinkedListV3<String> stringList = new MyLinkedListV3<>(); MyLinkedListV3<Integer> intList = new MyLinkedListV3<>(); stringList.add("a"); stringList.add("b"); stringList.add("c"); String string = stringList.get(0); System.out.println("string = " + string); System.out.println(stringList); intList.add(1); intList.add(2); intList.add(3); Integer integer = intList.get(0); System.out.println("integer = " + integer); System.out.println(intList + " = " + stringList); } } string = a MyLinkedListV1{first=[a->b->c], size=3} integer = 1 MyLinkedListV1{first=[1->2->3], size=3} = MyLinkedListV1{first=[a->b->c], size=3} 이 부분을 유의 깊게 봐주세요 System.out.println(intList + " = " + stringList); 위 코드를 실행하면 intList, strList를 동시에 출력해도 잘 출력이 되고 서로 독립적인 클래스가 타입만 다른 상태로 선언된 것처럼 보입니다. 의문점이 또 있습니다. MyLinkedListV3<Integer> intList2 = new MyLinkedListV3<>(); //을 main에 추가하고 System.out.println(intList + " = " + stringList + intList2); //위와 같이 intList2도 출력하면 MyLinkedListV1{first=[1->2->3], size=3} = MyLinkedListV1{first=[a->b->c], size=3}MyLinkedListV1{first=null, size=0} 위와 같이 타입 매개변수를 inList와 intList2가 같은 Integer인 상황임에도 링크드 리스트안의 요소들을 공유하진 않습니다. 같은 타입 매개변수를 사용하는 인스턴스들 끼리는 같은 정적 중첩 클래스를 공유하는 줄 알았는데 이것도 아닌 것 같습니다. 타입 매개변수가 적용된 정적 중첩 클래스는 정적 변수와 다르게 인스턴스마다 서로 다르게 존재하는지 여쭙고 싶습니다. 마지막 제네릭 타입 안에서 Node<E> node = new Node<>();는 되고 new E();는 안되는 이유를 생각해봤는데 맞게 생각한건지 봐주셨으면 좋겠습니다. E는 단순히 컴파일 되기 전 타입을 선언하여 해당 타입의 안정성을 보장하기 위해 E가 String으로 선언된 상황이면 String전용 Node로 만들기 위해 들어간거고 이 영향은 컴파일단계에서만 미치며 컴파일 이후에는 전부 상한의 클래스로 대체된다. 하지만 상한 클래스로 예를들어 Object라고 대체되어 어떤 메서드의 return 값이 Object로 변하는 경우라도 컴파일러가 알맞게 이전의 E타입으로 다운캐스팅 해주니 문제 없는 것이다. 하지만 인스턴스 E를 "생성"하는 것은 문제가 된다. 단순히 타입을 선언하는게 아니고 인스턴스 E를 생성해서 뭔갈 한다면 예를 들어 상한이 Object이고 Object의 이름모를 하위타입의 인스턴스를 생성하면 해당 타입의 메서드, 멤버변수를 전부 활용할 수도 있다는 것인데, E가 정확히 무엇일지 몰라서 컴파일러가 상한 타입으로 퉁친 상태인데, 상한 타입보다 하위의 타입의 인스턴스 메서드를 쓸 가능성은 당연히 없애는 것이 맞기 때문에 new E();도 못쓰는 것이고 E인스턴스의 메서드, 멤버 변수 정보도 당연히 모르니까 instanceOf도 못 쓰는 것이다. 라고 결론을 내렸는데 괜찮을까요?
- 강의 영상에 대한 질문이 있으시면, 상세히 문의를 작성해주시면, 주말/휴일 제외, 2~3일 내에 답변드립니다 (이외의 문의는 평생 강의이므로 양해를 부탁드립니다.) - 강의 답변이 도움이 안되셨다면, dream@fun-coding.org 로 메일 주시면 재검토하겠습니다. - 괜찮으시면 질문전에 챗GPT 와 구글 검색을 꼭 활용해보세요~ - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. <meta http-equiv="X-UA-Compatible" content="ie-edge"> 인터넷 익스플로러가 사라진 지금도 쓰이나요?
eslint를 설치하면 이전과 달리 esling.config.mjs로 파일이 설정되며 extend나 rules의 활용이 기존과 다른 방식으로 진행되며 충돌이 일어납니다. stackoverflow나 chatGPT의 도움을 받아 동작은 되지만, 이 부분 다시 설명해주셔야 하는게 아닌지요. (기존에 설명된 부분들도 코드나 적용방식이 달라져서, 플러그인을 활용하도록 합니다) 이 부분을 스스로 혼자 찾아서 수정할 수 있는 역량이 있다면 이 강의를 듣지 않겠지요. 하루 종일 한단원도 나가지 못하고 .. 해결하려다 포기하게 되네요. 2년전에 산 강의를 시간이 없어 이제 듣는 제 문제도 있겠지만.. 이 부분 상세한 설명을 넣어주셔야 할것 같아요.
수업진행중 cmake에 관해 궁금한 부분이 생겼는데요. CMakeLists.txt에서 Debug인지 Release인지 작성해준 것이 없는 것 같은데 어떻게 Build/Debug 밑에 실행파일이 생성되게 되나요? 그리고 32bit 프로그램인지 64bit 프로그램인지 작성하는 부분도 없는데 어떤 기준으로 만들어지게 되는건가요? vscode cmake 익스텐션을 사용하고 있는데 익스텐션에서 설정이 되어있는걸까요?
안녕하세요. 선생님 좋은 강의 너무 잘 듣고 있습니다. wordRelay 실습 중인데, 하단 콘솔에 Executable 이나 Preview 영역에 값이 안찍히고 있어서요. 입력하신단어는: aaaa 요런 값들을 확인할 수가 없네요. 에러도 안보이고요, 혹시 어떻게 해야 다시 뜨게 만들 수 있을까요?ㅜㅜ 여기저기 뒤져봤는데 방법을 못찾았습니다.
안녕하세요~ 강의안 p.165에 포켓몬의 수를 타입 별로 집계하고, 포켓몬의 수가 10 이상인 타입만 남기는 쿼리를 작성해주세요. 포켓몬의 수가 많은 순으로 정렬해주세요. select type1, count(id) desc from basic.pokemon group by type1 having count(id)>=10 이렇게 order by count(id) desc 안 쓰고 select 문에 desc 써도 되나요?
로비 생성 강의의 33분경에 로비가 오랜 시간 방치되면 그 방으로 못 들어 가는 것을 확인했습니다. 하지만 강의 이후에 테스트를 해본 결과 꽤 짧은 시간이 경과했어도 이게 서버가 새로 만들어집니다.. 거의 동시에 (3~4초정도 까지) 눌러야 큐가 잡히게 됩니다.. 서버 생성 후 유효 기간을 늘릴 수 있는 방법에 대해 알고 싶습니다.
안녕하세요. Ctrl + F5 키를 이용하여 빌드를 하면 언리얼 엔진 에디터가 열리지 않고 cmd 창에 아래와 같이 적혀있습니다. 하지만 Ctrl + Shift + B를 하면 빌드는 잘됩니다. 왜 아래와 같이 오류가 나는 건지 모르겠습니다.. Global options: -Help : Display this help. -Verbose : Increase output verbosity -VeryVerbose : Increase output verbosity more -Log : Specify a log file location instead of the default Engine/Programs/UnrealBuildTool/Log.txt -TraceWrites : Trace writes requested to the specified file -Timestamps : Include timestamps in the log -FromMsBuild : Format messages for msbuild -SuppressSDKWarnings : Missing SDKs error verbosity level will be reduced from warning to log -Progress : Write progress messages in a format that can be parsed by other programs -NoMutex : Allow more than one instance of the program to run at once -WaitMutex : Wait for another instance to finish and then start, rather than aborting immediately -RemoteIni : Remote tool ini directory -Mode= : Select tool mode. One of the following (default tool mode is "Build"): AggregateClangTimingInfo, AggregateParsedTimingInfo, Analyze, ApplePostBuildSync, Build, ClRepro, Clean, Deploy, Execute, FixIncludePaths, GenerateClangDatabase, GenerateProjectFiles, IOSPostBuildSync, IWYU, InlineGeneratedCpps, JsonExport, PVSGather, ParseMsvcTimingInfo, PrintBuildGraphInfo, ProfileUnitySizes, Query, QueryTargets, Server, SetupPlatforms, Test, UnrealHeaderTool, ValidatePlatforms, WriteDocumentation, WriteMetadata -Clean : Clean build products. Equivalent to -Mode=Clean -ProjectFiles : Generate project files based on IDE preference. Equivalent to -Mode=GenerateProjectFiles -ProjectFileFormat= : Generate project files in specified format. May be used multiple times. -Makefile : Generate Linux Makefile -CMakefile : Generate project files for CMake -QMakefile : Generate project files for QMake -KDevelopfile : Generate project files for KDevelop -CodeliteFiles : Generate project files for Codelite -XCodeProjectFiles : Generate project files for XCode -EddieProjectFiles : Generate project files for Eddie -VSCode : Generate project files for Visual Studio Code -VSMac : Generate project files for Visual Studio Mac -CLion : Generate project files for CLion -Rider : Generate project files for Rider D:\UE_5.3\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe (process 28468) exited with code 1 (0x1). Press any key to close this window . . .
안녕하세요. 1강, 2강, 3강 모두 잘 들었습니다. 문득 3강을 듣다가 궁금한 점이 생겨서 이렇게 질문 드립니다. 만약 EL2, EL3에서 동작할 Software Entity를 구현하지 않은 시스템에서 hvc, smc와 같은 명령어를 실행시키면 어떻게 되는지 궁금합니다. EL2, EL3를 구현하지 않았다면 VBAR_EL2, 3 레지스터를 초기화하지 않았을 것 이므로, Exception 발생 시 PC가 이상한 주소를 가리켜 MMU가 Fault를 유발할 것 같다고 생각하고 있는데, 해당 흐름이 맞는지 궁금합니다. 만약 틀렸다면 올바른 흐름은 어떻게 되나요? SMP와 같은 멀티 코어 프로세서에서 모든 코어에서 실행중인 User App이 각각 Exception을 발생시키면, 모든 코어에서 동시에 Kernel Code가 동작하게 되는 것 인가요? Kernel, Hypervisor, Secure Monitor는 결국, Exception이 발생하고 이에 대해 HW가 대응되는 동작(SPSR_ELn, ELR_ELn, PSTATE, PC 값 수정)을 수행한 뒤에 Exception Handler의 서브루틴이 실행되는 단순한 소프트웨어 덩어리로 이해해도 괜찮을까요? 즉, User App과 같은 경우는 Linux에서 task_struct라는 구조체로 관리가 되는데 반해, Kernel, Hypervisor, Secure Monitor와 같은 소프트웨어들은 이러한 구조체로 관리되지 않을 것 같아서 문득 궁금해졌습니다. 답변 주시면 감사하겠습니다!