묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
가상 메모리의 전체적인 흐름이 이게 맞을까요.
가상 메모리의 전체적인 그림이 머릿속에 그려지지 않아 여러 자료를 찾아보면서 따로 공부를 해보았는데, 제가 이해한 내용이 맞을지 여쭤보고 싶어서 질문 글 남겼습니다. 짧게 적기 힘든 내용이라 좀 길게 적게된 것 같은데 양해부탁드립니다...ㅠ_______________________________________________________가상 메모리란 실행하고자하는 프로그램의 일부만을 메모리에 적재하여 물리 메모리보다 더 큰 프로그램을 실행시킬 수 있게 하는 기술로, 메모리가 실제 메모리보다 많아 보이게 하는 기술을 말한다.페이징 기법을 기준으로 설명하자면, 물리 메모리를 프레임이란 단위로 나누고, 가상 메모리를 페이지란 단위로 나누어 관리한다. ( 페이지의 크기 = 프레임의 크기 )이때, 어떤 프로세스의 어떤 페이지가 어떤 프레임에 할당되어 있는지를 알기 위해 페이지 테이블이란 것을 활용하게 되고, MMU가 이러한 페이지 테이블을 기반으로 가상 주소와 물리 주소를 매핑해주게 된다. ( 페이지 테이블은 RAM에 저장되어 있다. )근데 페이지 테이블이 RAM에만 존재하게 된다면, 물리 주소로 접근하기 위해 (페이지 테이블을 참조하기 위해 한 번 + 프레임에 있는 페이지를 참조하기 위해 한 번) 총 두 번을 메모리에 접근하게 되는 현상이 발생한다. => 시간이 두 배로 걸려 비효율적따라서 우리는 MMU안에 TLB라는 자주 참조하는 페이지 테이블을 위한 캐시를 따로 두고, 대부분의 메모리 접근을 한 번으로 처리할 수 있도록 한다. ( CPU가 접근하려는 논리 주소가 TLB에 존재하는 경우 메모리 접근 한 번만으로 처리가 가능 )참조 과정에서 만약 페이지 테이블의 유효비트가 0인 페이지에 접근하고자 하는 경우( 현재 물리 메모리에 적재되어있지 않은 페이지인 경우 = disk의 스왑 영역에 존재하는, swap out 되어있는 페이지인 경우) 페이지 폴트라는 인터럽트가 발생되게 된다.그럼 운영체제는 잠시 동작을 멈추고 페이지 폴트 처리 루틴을 통해 ( swap out, swap in 과정 ) 스왑 영역으로부터 필요한 페이지를 물리 메모리에 적재시킨 후, 페이지 테이블의 유효 비트를 1로 바꾸어주게 된다.cpu가 다시 작업을 시작하고, cpu는 해당 페이지에 접근이 가능하게 된다.가상메모리는 위와 같은 일련의 과정을 통해 마치 페이지 폴트가 일어나지 않은 것처럼( 실제 메모리보다 큰 메모리를 가지고 있는 것처럼 ) 작동할 수 있게 해준다.다만 결국 스와핑이라는 작업 또한 어느 정도 시간이 걸리는 작업이기 때문에, 페이지 폴트 인터럽트가 너무 자주 발생되는 경우에는 스레싱이 일어나게 된다._________________________________________________________해당 강의에서 나온 개념들이 이런 식으로 이어지는 것이 맞을까요?추가적으로 4:30초 부터 나오는 내용에서 3번 항목이 이해가 안됩니다...아래와 같이 이해해도 될까요.(가상메모리에 페이지가 존재하는지 확인하고) => 유효 비트를 확인하여 해당 페이지가 실제 RAM에 적재되어 있는지를 확인한다.(물리 메모리에 비어 있는 프레임이 있는지 찾습니다.) => 물리 메모리에 필요한 페이지를 swap in하기 위해 빈 공간이 있는지 찾는 과정.(물리 메모리에도 없다면 스와핑이 발동됩니다.) => 물리 메모리에 빈 공간이 없다면 적재되어있는 다른 페이지를 swap out 시킴. 이 과정에서 무엇을 swap out 시킬지는 OS가 결정.이렇게 페이지를 로드(swap in)하고 페이지 테이블을 최신화 -> cpu 작업을 다시 시작.
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
entity와 relation의 차이점은 무엇인가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.둘 다 table과 같다고 하는것 같아서요
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
DNS 서버에 요청 이전에 공유 프록시 캐시에 접근이 가능한가요?
브라우저 캐시는 브라우저에서 가지고 있으니 (네임서버에 요청을 하기 이전인) 실제 IP 주소를 모르는 상황에서도 당연히 접근 가능하다고 이해를 했습니다.그런데 공유 프록시 캐시의 경우는 서버의 앞단에 위치하고 있는 것 같은데, 실제 서버의 IP 주소를 모르는 상황에서도 이 부분에 접근이 가능한 것인가요? 혹시 가능하다면 이게 어떤 방식으로 가능한건가요...?혹시 이 공유 프록시 캐시의 경우는 일반 인터넷 사용자보다는 nginx 등을 프록시 서버로 이용하도록 구축된 서버 측에서 다른 서버에 요청을 하는 등의 상황에서 이용하게 된다고 보면 될까요?그냥 일반 인터넷 사용자의 경우는 브라우저 캐시만 확인하고 없는 경우에 네임서버에 요청을 보내어 실제 IP주소를 얻어온다고 봐도 되는걸까요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
교안 업데이트가 필요한 것 같습니다
강의 내용에 비해서 교안에 있는 내용은 많이 짧다고 느껴집니다. 왜 이미지스프라이트, 인코딩, 코드압축에 대한 내용이 교안에 없는것인지...유독 이번 강의가 이해가 잘 안되어 이래저래 구글링을 했네요. 특히 이미지스프라이트에 대한 설명을 수정하면 좋을 것 같다고 생각합니다. 제가 이해한 내용은여러 이미지를 모아 하나의 큰 이미지로 다운받고 CSS를 이용해 해당 이미지의 좌표값을 지정하여 표기한다.라는 것인데 강사분이 더 깔끔하게 다듬어주시면 좋을 것 같습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
로드밸런서에는 병목현상이 안생기나요?
강의에서 대규모 트래픽을 로드밸런서를 통해 분산한다고 했는데 그럼 로드밸런서 자체에 트래픽이 몰리면서 병목현상이 생기지는 않나요?요청 하나하나에 대해 적절한 응답을 해줄 필요가 없이 단순히 요청을 여러 서버로 나눠주는 역할만 해서 트래픽이 아무리 몰려도 딱히 병목현상이 없는걸까요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
Array 조회에 대해 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Array에 저장되는 자료의 자료형이 동일하다고 가정하기 때문에 element당 차지하는 바이트 수가 같다고 생각할 수 있는 걸까요? 그렇다면 자료형이 동일하면 바이트 수가 항상 같은가요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
Array와 LinkedList 메모리 할당영역 질문
Array와 LinkedList에서 array는 stack 영역에 할당된다고 공부하였는데, Java에서 배열(Array)은 Heap 영역에 메모리를 할당받는다고 알고있는데 어떤게 맞는건지 헷갈립니다..
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
키들의 이름
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.별거아닌 질문이라 죄송합니다ㅜ.다름이 아니라 노션에서는 키들의 이름이 다 영어로 되어있는데, 면접에서도 영어로 여쭤보시는 경우가 대부분일까요??
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
동시성 제어와 트랜잭셩 격리 수준
동시성제어를 통해 갱신손실을 미리 막을 수 있다고 하셨는데 여기서 동시성 제어 방식 중 lock 기법으로 설명해주신 거 같습니다.궁금한 점은 트랜잭션 격리 수준이랑 동시성 제어와의 연관성이 어떻게 이뤄지는지 궁금합니다.
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
도메인 관련 질문
안녕하세요. 강의 정말 감사합니다. 너무 큰 도움을 받고있습니다.저는 기계공학 출신 개발자 지망생인데 자율주행 자동차, 로봇 등이 발달하면서 그러한 하드웨어를 조정하는 소프트웨어의 중요성도 커질 것이라고 생각합니다.(1.) 해당 분야(모빌리티) 에 취업하려면 앱개발 쪽을 공부해야하는 게 맞나요? 아직 프론트엔드 쪽으로 가고싶다는 생각만 했고 웹/앱은 정하지 못했습니다. (2.) 그리고 앱개발분야로 나가려면 앱만 공부하면 되는건지 웹/앱 병행해야 하는지도 궁금합니다.(3) 앱개발은 언어가 많던데 모빌리티쪽은 어떤 언어를 공부해야하는 건지도 궁금합니다.예를 들어 현대차에 달리는 디스플레이나 테슬라에 달리는 디스플레이는 어떤 언어를 기반으로 주로 만들어지는 지 궁금합니다.(4) 그리고 비전공자가 취업하기 힘든쪽이라고 하셨는데 제가 도전해도 괜찮을지도 궁금하네요. 저는 원래 기계공학과 졸업후에 로봇쪽 대학원에서 공부를 하다가 개발자로 진로를 바꿨습니다.(5)그리고 강의에서 도메인이 이직시 중요하다고 하셨는데, 백엔드는 도메인이 상당히 중요할 것 같은데 (비슷한 데이터 형태를 다루기때문에) 프론트엔드도 도메인이 많이 중요한가요?제 주변 프론트 개발자중에는 컨텐츠에서 핀테크로 옮겨가신 분이 있어서 그러한 이직이 특이케이스 인건지, 프론트는 도메인이 크게 상관이 없는 건지 궁금합니다. (6) 그리고 코딩테스트는 언어 기본 공부를 다하고 준비하는게 나은지 병행하는게 나은지 궁금합니다. 예를들어 1.자바스크립트 기본서+강의를 한번 본후 코테공부 시작 2. 첨부터 둘다 병행하며 시작 질문이 많아서 번호 붙였습니다.
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
128p UDP+IPv6 로 사용할 때 체크섬필드 사용 설정해야 하는 이유?
UDP 사용할 때 체크섬필드 선택사항이지만 UDP+IPv6 로 사용할 때 체크섬필드 사용 설정해야 하는 이유는IPv4는 체크섬이 있지만 IPv6에는 없기 때문인가요? 'UDP 사용할 때'에서 이 경우는 IPv4와 사용할 때를 가리키는 것인지요?
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
상위 프로토콜 체크섬 존재와 IPv6의 CRC제외의 연관성
헤더 효율화를 위해 CRC(순환 중복검사)를 제외합니다. 다만 상위 프로토콜(TCP, UDP)에서 체크섬이 있기 때문에 이를 제거할 수 있습니다.이 두 문장의 연결이 이해가 안됩니다. 단순히 접속사를 잘못 쓰신건지요?원래 의도하신 건 '상위 프로토콜에 체크섬이 있기 때문에 IPv6에서 헤더효율화를 위한 CRC제외가 가능하다' 라는 의미인지요?
-
해결됨실제 이력서 사례로 알아보는 [합격하는 이력서] 작성 가이드
SI프로젝트명, 어떤 개발자인지 ,자격증 증빙
안녕하세요. 워니님의 강의 덕분에 감이 잡힐 것 같습니다. 감사합니다.세가지 질문사항이 있는데 간단하게라도 답변주시면 감사하겠습니다! 저는 현재 SI기업에 재직중인 2년차 개발자입니다.1. 회사 이력이 현재 재직중인 곳 하나여서, 프로젝트 별로 저의 성과를 정리하려고 합니다.(이직을 희망하는 곳은 SI가 아닌 서비스회사입니다.)프로젝트 제목에 고객사명이 들어가야할까요? 예를들어 ,, 인프런이라는 기업의 00000 개발 프로젝트를 진행했다면 인프런이라는 회사명의 프로젝트라는 것을 명시해야할까요? 2. SI회사라서 경력의 반이상을 풀스택으로 일했는데, 백엔드 개발자로써로만 이직을 희망합니다. 그럼 그냥 백엔드 개발자라고 소개해도 될까요? 3. 정보처리기사 등 관련 자격증 증빙자료 첨부는 괜찮을까요? 좋은 하루 보내세요~
-
해결됨기출로 대비하는 개발자 전공면접 [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월부터 프로젝트 진행하면서 스프링 부트 -> 스프링 컨트리뷰터 도전!!
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
포트폴리오 질문
안녕하세요! 수업에 나온것처럼 github 으로 포트폴리오를 작성하고 있는데요, 저는 프론트엔드 지망을 생각하고 있어 프로젝트에 아예 백엔드 부분을 넣지 않고 프론트만 완성했는데, 이 경우에 포트폴리오에 핵심 기능을 어떻게 적어야 할지 고민이 됩니다. 검색하면서 예시들을 많이 찾아봤는데 대부분 firebase같은 걸로 백엔드도 구현한 다음 핵심 기능을 그 위주로 작성을 하더라고요. 저처럼 앞단만 했을 때는 기능을 어떤식으로 작성해야 할까요?
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [취업편]
비전공자 국비 졸업자 취업
안녕하세요웹개발 국비를 졸업한지 3개월된 취준생입니다강의를 보다보니 취업을 빨리하는 것보다잘하는게 중요하다고 생각이 듭니다 ㅠㅠ벌써 국비를 졸업한지 3개월이 되엇지만막막한데요. 학원에선 수강종료 후 3-6개월 안에는취업해야한다고 그렇지 않으면 늦는다는 식으로이야길 했는데, 저는 늦더라도 조금 제대로 해보고 싶은 생각이 있습니다 .그래서 질뮨의 요지는수강종료 후 면접관들이 보기에 취업 시기가 중요한가요? 1년이나 이때까지 뭐했냐 이런식으로 보지 않을지 조금 걱정이 됩니다그리고 깃허브같은 경우에는 제가 지금까지 제대로 올린것이 없는데 몇개월이라도 꾸준히 올려놓은것이 중요할까요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
인접행렬(adjacency matrix) (2 / 2) 질문
안녕하세요 큰돌님인접행렬(adjacency matrix) (2 / 2) 강의에서코드 궁금한게 있습니다..1-2, 1-3, 3-4 인접 행렬이면a[1][2] = 1 ... 등등등 만들잖아요그럼 나머지 공간 a[0][0] = ....등등 0으로 자동 할당 되는거 맞나요?그럼 main 메서드에for(i =0 ...) for(j =0 ...) if(a[i][j] && visited[i] == 0) go(i)이 코드로 보면 i=0 ,j=0 일때 go함수가 호출될거 같은데go(i) cout << i << \ncout가 0을 찍어야하는게 아닌가요?그리고 if문에 조건문 true false에 따라 코드 타는걸로아는데if(visited[i])if(a[i][j])이런경우 0 또는 1로 값이들어가면 C++에서는 1이면 true 로도 볼수 있나요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
mac 주소와 호스트 주소의 차이점이 궁금해요.
하나의 네트워크 주소에 장치들이 여러개 맞물려서 사용하는 거잖아요. 스위치가 ip를 각각 컨버팅 해주고요. 그래서 이 장치들이 수신 받을 때 ARP가 왔을 때 본인의 호스트 주소와 비교해서 RARP를 던지고 서로 통신하면 되는 거 아닌가요? 혹시 그런 가상의 호스트 주소가 장치의 mac 주소를 기반으로 만들어지나요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
Hash Table 질문
안녕하세요 강사님.좋은 hash function의 조건에서 해시값이 고르게 분포되게 하는 것을 적어주셨는데, 공간효율성을 최대한 좋게 하기 위해서일까요? 아니면 다른 이유들도 있을까요?