묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
교안 업데이트가 필요한 것 같습니다
강의 내용에 비해서 교안에 있는 내용은 많이 짧다고 느껴집니다. 왜 이미지스프라이트, 인코딩, 코드압축에 대한 내용이 교안에 없는것인지...유독 이번 강의가 이해가 잘 안되어 이래저래 구글링을 했네요. 특히 이미지스프라이트에 대한 설명을 수정하면 좋을 것 같다고 생각합니다. 제가 이해한 내용은여러 이미지를 모아 하나의 큰 이미지로 다운받고 CSS를 이용해 해당 이미지의 좌표값을 지정하여 표기한다.라는 것인데 강사분이 더 깔끔하게 다듬어주시면 좋을 것 같습니다.
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
가상 메모리를 사용하는 이유
안녕하세요. 선생님. 강의 잘 보고 있습니다..!가상 메모리를 사용하는 이유 중의 하나가 프로세스 간의 독립성을 보장할 수 있다고 설명해주셨는데요. 이 부분이 잘 이해가 가지 않습니다.실제 메모리를 사용한다고 하더라도 각 프로세스마다 독립적인 메모리 주소 공간이 부여되어 독립성이 보장될 것 같은데, 어떤 점이 다르다고 볼 수 있는 걸까요?미리 감사드립니다!
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
로드밸런서에는 병목현상이 안생기나요?
강의에서 대규모 트래픽을 로드밸런서를 통해 분산한다고 했는데 그럼 로드밸런서 자체에 트래픽이 몰리면서 병목현상이 생기지는 않나요?요청 하나하나에 대해 적절한 응답을 해줄 필요가 없이 단순히 요청을 여러 서버로 나눠주는 역할만 해서 트래픽이 아무리 몰려도 딱히 병목현상이 없는걸까요?
-
미해결FreeRTOS 프로그래밍
freeRTOS도 GDB 사용이 가능할까요?
고수님 안녕하세요?FreeRTOS 디버깅이 GDB로 가능하다면 해보려고 하는데,가능할지 여쭙고 싶습니다.미리 답변 감사합니다. 좋은 하루 되세요 :)
-
해결됨그림으로 쉽게 배우는 운영체제
프로세스 동기화 - 뮤텍스, 세마포
안녕하세요.프로세스 동기화에서 뮤텍스, 세마포 부분 공부 중 궁금한 게 생겨 질문 올리게 되었습니다. 두 프로세스가 임계 구역 코드를 실행하려고 하는데 이를 동기화 하기 위해 뮤텍스 도구를 사용한다고 하였을 시, 뮤텍스는 전역 변수를 하나 두고 해당 전역 변수의 값이 false면 실행하고 true면 반복문으로 계속 해당 전역 변수의 값을 확인하다가 false로 바뀌면 실행하는 것인데 만약에 두 프로세스가 동시에 전역 변수를 가져와서 CPU 레지스터에 세팅한다고 하면 의미가 없는 거 아닌가요?확률적으로는 매우 희박하겠지만 이런 확률은 고려하지 않는 것인지 궁금하네요.동일 프로세스 내에서 스레드 간에 발생하는 거라면 Java의 Synchronized 키워드를 붙인다고 하면 이해가 가겠는데 다른 프로세스 간에 발생하는 거라면 기본적으로는 자원을 공유하지 않으니까 공유 메모리에 있는 변수를 이용할 것 같은데이런 경우에도 Java의 Synchronized 키워드 같은 게 있는 걸까요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
Array 조회에 대해 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Array에 저장되는 자료의 자료형이 동일하다고 가정하기 때문에 element당 차지하는 바이트 수가 같다고 생각할 수 있는 걸까요? 그렇다면 자료형이 동일하면 바이트 수가 항상 같은가요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
Array와 LinkedList 메모리 할당영역 질문
Array와 LinkedList에서 array는 stack 영역에 할당된다고 공부하였는데, Java에서 배열(Array)은 Heap 영역에 메모리를 할당받는다고 알고있는데 어떤게 맞는건지 헷갈립니다..
-
미해결운영체제 공룡책 강의
pdf 자료
혹시 pdf 자료는 어디에 있나요?
-
해결됨FreeRTOS 프로그래밍
taskr간 context switching 관련하여 질문이 있습니다.
안녕하세요 강사님. 컨텍트 스위칭 관련하여 궁금한점이 있어 질문드립니다.아래와 같은 상황에서 우선 순위사 제일 높은 task를 컨텍트 스위칭 전에 cpu 자원을 사용하게 하고 싶습니다.task1 : 우선 순위 5 (suspend 상태)task2 : 우선 순위 4task3 : 우선 선위 4우선 task2가 실행하던 도중 task1을 resume 하고 바로 portyield를 실행하게 되면 우선 순위가 동일한 task3번이 cpu를 점유하여 일을 처리하다가 컨텍트 스위칭이 발생하게 되면 task1이 cpu를 점유가게 될텐데 제가 궁금한건 task2에서 task1을 resume 한 후 컨택트 스위칭이 발생하기 전에 cpu를 task1이 점유하게 하는 방법이 없는지 궁금합니다. 감사합니다.
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
키들의 이름
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.별거아닌 질문이라 죄송합니다ㅜ.다름이 아니라 노션에서는 키들의 이름이 다 영어로 되어있는데, 면접에서도 영어로 여쭤보시는 경우가 대부분일까요??
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
곰책이 리뉴얼되서 최신판으로 보고있는데 문제 없을까요?
안녕하세요, 우선 재미있는 강의 만들어주셔서 너무 감사합니다. 다름이 아니라, 이번에 운영체제관련해서 깊이 공부해보고자 수강했습니다. 교재도 있으면 좋을듯하여, 말씀하신 책을 구입했는데 곰 그림책은 절판 된듯하고, 새 개정판이 나와서 해당 책으로 구입했습니다. 혹시 해당 책으로 강의 들어도 문제 없을까요? 감사합니다.
-
해결됨그림으로 쉽게 배우는 운영체제
프로세스 상태에 관하여
안녕하세요.강의 학습 + 커뮤니티 질문 읽어보다가 궁금한 내용이 있어 올리게 되었습니다.보조기억장치 (ex. HDD) 에 저장된 프로그램이 메모리에 적재되어 커널 영역에 PCB가 생성되면서 프로세스가 되고 커널 스레드가 1개 이상 생성되는 걸로 알게 되었는데요.Java의 JVM이나 Nginx 등 Linux 에서 "ps -ef" 커맨드로 찍어보니 커널 스레드가 여러 개 생성되어 있는 경우에 궁금한 게 하나 있습니다.해당 강의 질문 중에 멀티 스레드 모델에 관한 감자님의 답변을 읽어보니 User-Level Thread, Kernel-Level Thread, Multi-Level Thread (Combined) 있다고 답변하셨는데User-Level Thread는 커널 스레드 1개와 다수의 유저 스레드가 연결되어 사용되어 한 개의 스레드가 입출력 I/O로 Block 되면 다른 유저 스레드도 Block이 되어 프로세스 상태가 대기 상태로 바뀌고 해당 프로세스 PCB가 대기 큐로 이동하는 걸로 이해했습니다.User-Level Thread를 제외한 Kernel-Level, Multi-Level Thread에서는 커널 스레드 1개가 입출력 I/O로 Block 되어도 다른 커널 스레드로 사용자 스레드가 연결되어 모든 스레드가 Block 되지 않는다. --> 여기에서 그럼 입출력 I/O로 특정 커널 스레드가 Block 되면 입출력 대기 큐에 해당 프로세스 PCB가 있고 Block 되지 않은 커널 스레드도 있으니 실행을 마치면 준비 큐에도 해당 프로세스가 PCB가 중복으로 있다고 이해해야 할까요?질문을 조금 어렵게 해서 죄송합니다...
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
동시성 제어와 트랜잭셩 격리 수준
동시성제어를 통해 갱신손실을 미리 막을 수 있다고 하셨는데 여기서 동시성 제어 방식 중 lock 기법으로 설명해주신 거 같습니다.궁금한 점은 트랜잭션 격리 수준이랑 동시성 제어와의 연관성이 어떻게 이뤄지는지 궁금합니다.
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
128p UDP+IPv6 로 사용할 때 체크섬필드 사용 설정해야 하는 이유?
UDP 사용할 때 체크섬필드 선택사항이지만 UDP+IPv6 로 사용할 때 체크섬필드 사용 설정해야 하는 이유는IPv4는 체크섬이 있지만 IPv6에는 없기 때문인가요? 'UDP 사용할 때'에서 이 경우는 IPv4와 사용할 때를 가리키는 것인지요?
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
상위 프로토콜 체크섬 존재와 IPv6의 CRC제외의 연관성
헤더 효율화를 위해 CRC(순환 중복검사)를 제외합니다. 다만 상위 프로토콜(TCP, UDP)에서 체크섬이 있기 때문에 이를 제거할 수 있습니다.이 두 문장의 연결이 이해가 안됩니다. 단순히 접속사를 잘못 쓰신건지요?원래 의도하신 건 '상위 프로토콜에 체크섬이 있기 때문에 IPv6에서 헤더효율화를 위한 CRC제외가 가능하다' 라는 의미인지요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
질문이 있습니다...!
싱글스레드 환경에서도 힙영역이 존재하는 경우가 있는걸로 알고 있습니다.강의에 따르면 프로세스(한집) 스레드 한개(사람 한명) 이니까 스레드가 프로세스가 할당받은 전체 공간만큼 알아서 사용 하면 되는거 아닌가요...?? 이건 언어 마다 다르게 동작하는 걸까요...??
-
해결됨FreeRTOS 프로그래밍
portYIELD() 사용법에 대해 질문드립니다.
안녕하세요. portYIELD() 사용법에 대해 궁금한게 있어 질문드립니다. portYIELD()를 실행하게 되면 task가 점유하고 있던 CPU를 반납하는 명령으로 알고 있습니다. 그런데 아래의 그림과 같이 실행을 하게 되면 TaskMain은 실행 되지 않아야 하지 않는지요? #define TASK_MAIN_PRIO 5 #define TASK_TASK1_PRIO 4 #define TASK_TASK2_PRIO 3 #define TASK_TASK3_PRIO 2 TaskHandle_t xHandleMain, xTask1Handle, xTask2Handle; void userThread(void) { xTaskCreate((TaskFunction_t)TaskMain, "TaskMain", 128, NULL, TASK_MAIN_PRIO, &xHandleMain); xTaskCreate((TaskFunction_t)vTask1, "vTask1", 128, NULL, TASK_TASK1_PRIO, &xTask1Handle); } void TaskMain(void const *pvParameters) { while(1) { for(uint8_t i=0; i<5; i++) { HAL_GPIO_TogglePin(GPIO5_BEAD_GPIO_Port, GPIO5_BEAD_Pin); HAL_Delay(1); } vTaskSuspend(xHandleMain); } } void vTask1(void const *pvParameters) { while(1) { for(uint8_t i=0; i<5; i++) { HAL_GPIO_TogglePin(GPIO4_BEAD_GPIO_Port, GPIO4_BEAD_Pin); HAL_Delay(1); } portYIELD(); vTaskResume(xHandleMain); //portYIELD(); } } 위 소스를 보게 되면최초 MainTask가 실행을 하다가 5번 GPIO를 5번 토굴하고 block 상태로 전환Task1번에서 gpio를 5번 토굴하고 vTaskResume을 실행하기 전에 portYIELD()를 만나기 때문에vTaskResume(xHandleMain) 실행이 안되어야 하지 않는지요?실행 결과 TaskMain이 실행되어 이렇게 문의드립니다. 감사합니다.
-
해결됨FreeRTOS 프로그래밍
정적/동적 Task 생성의 메모리 할당 영역
안녕하세요. 수업을 듣던 중 정적/동적 Task 생성 시 할당되는 메모리 영역과 관련해 질문 사항이 생겨 글 남깁니다.태스크와 메모리 파트 강의를 듣고 Task Stack 메모리는 동적/정적 할당이 가능하고, RTOS의 동적 할당은 RTOS 커널에서 지원하는 동적 메모리 할당자 함수를 쓰기 때문에 heap영역이 아닌 bss 영역에서 할당된다. 라고 이해하였습니다.즉, xTaskCreate() 함수를 사용하면 동적 할당이지만 데이터가 bss 영역에 할당되는 특성이 있다고 생각했었는데, '태스크 스택의 크기를 결정하기' 부분의 강의 끝부분에서 xTaskCreate() 는 heap 영역에 xTaskCreateStatic() 은 bss 영역에서 Task Stack을 쓴다고 말씀하여 기존에 제가 이해했던 부분과 일치하지 않았습니다.이와 관련해 인터넷에 검색해 보니, freertos.org 사이트에서는 xTaskCreate()를 사용하여 작업을 생성하면 필요한 RAM이 FreeRTOS 힙에 자동으로 할당된다. 라고 적혀있더군요.xTaskCreate() 함수는 bss 영역에 자동 할당되기도 하고, heap 영역에 자동 할당되기도 한다는 의미인가요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
시간복잡도 잘문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.2개의 스택으로 1개의 큐를 구현하는과정에서dequeue()를 할 때, 아웃스택이 비어있지않은 경우에는 O(1)을 갖고, 아웃스택이 비어있지 않은 경우에는 O(n)의 시간복잡도를 갖는건 이해했는데왜 결론적으로 O(1)의 시간복잡도를 갖는지 모르겠습니다.amortized의 정의도 함께 알려주시면 감사할것같습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
IT 대기업 100% 합격하는 방법 관련 질문
안녕하세요 선생님 IT대기업 100%합격하는 방법의 영상을 보고 개인적으로 계획을 짜봤는데 혹시 부족한 점이 있는지 피드백 한 번 주실 수 있나요??<현재 상황>1. 전공/비전공 : 비전공2. 사용가능 언어 : c++3. 프로젝트 : 0개4. cs지식 : cs지식의 정석 책과 강의 이용하여 학습 중5. 공부 : 큰돌 코딩테스트 강의 학습 중 ( 2023.03.22 현재 2주차 끝)6. 직군 : 백앤드7. 대학교 졸업 후 취업에 전념할 수 있는 상황 <계획>코딩테스트 4월 30일까지 코딩테스트 강의 완료하기 -> 이후 감각을 잃지 않기 위해 하루에 1문제씩 문제 풀기프로젝트큰돌님이 추천해 주신 좋은 부트캠프를 들어갔을 경우(부트캠프를 다니며 자바, 스프링 학습(자바 - 인프런 나도코딩 , 스프링 - 인프런 김영한)부트캠프 같은 팀원들과 프로젝트 진행 -> 5월 ~ 11월(우테코, 데브코스, 사피 - > 큰돌의 부트캠프 추천영상 기준)부트캠프를 안 들어갔을 경우(2023.5월 ~ 2023.12월)자바 - 나도코딩, 스프링 -인프런 김영한 강의 독학으로 학습8월부터 프로젝트 팀원 구해서 진행 (3개월 2개 or 6개월 1개 )cs 지식매일 꾸준히 30분 학습 30분 복습오픈소스 컨트리뷰터 (2023. 8월 ~ 2024. 2월)8월부터 프로젝트 진행하면서 스프링 부트 -> 스프링 컨트리뷰터 도전!!