본문 바로가기
반응형

Server, DevOps20

[기술면접준비] 프로그래밍, 전산 기본 질문(+답 정리) 프로그래밍 전산 기본 객체지향이 무엇인가요? 절차지향과의 차이점은 뭐죠? 개념: 절차지향은 위에서부터 순차적으로 실행되는 반면, 객체지향은 이런 코드들의 목록으로 프로그래밍을 보는 것에서 벗어나 하나하나 독립된 객체들을 만들어주고, 이 객체들이 서로 데이터를 주고 받고 처리하도록 만들어주는 프로그래밍 방식입니다. 차이점: 절차지향은 코드의 수정이 필요할 때 일일이 찾아서 수정해야하지만 객체지향은 수정해야할 부분이 클래스 내부에 멤버 변수나 메서드로 있기 때문에 해당 부분만 수정하면 된다는 차이가 있습니다. 그에 따른 장점으로는 코드 재사용이 유리하고 유지보수가 쉽습니다. 단점으로는 설계시에 많은 시간과 노력이 필요합니다. 추상화란? 객체들간의 공통적인 기능을 간추려내는 것. 클래스란? 추상화를 거쳐 집단.. 2021. 12. 12.
쉽게 설명하는 뮤텍스(Mutex)와 세마포어(Semaphore)! 뮤텍스와 세마포어를 알아보기 이전에는 교착 상태에 대한 이해가 선행되어야 한다. (교착상태를 모르는 사람은 아래의 교착상태 글을 먼저 읽어보길 추천합니다!) https://suzyalrahala.tistory.com/59 교착상태란 무엇인가? (+필요 조건 및 해결 방법은?) 교착상태(Dead Lock)란? 두 개 이상의 작업이 서로 상대의 작업만이 끝나고 있기 때문에 결과적으로 아무것도 완료하지 못하는 상태 위의 사진같은 경우는 한 사람이 나서서 정리를 하지 않는 이상 suzyalrahala.tistory.com Semaphore란 무엇일까? 세마포어는 동기화를 위해 만들어진 소프트웨어이다. 프로세스들이 모두 꽉 차있으면 막고 대기표를 주고, 진행중이던 프로세스가 끝나면 대기하던 프로세스를 실행시켜준다.. 2021. 12. 11.
교착상태란 무엇인가? (+필요 조건 및 해결 방법은?) 교착상태(Dead Lock)란? 두 개 이상의 작업이 서로 상대의 작업만이 끝나고 있기 때문에 결과적으로 아무것도 완료하지 못하는 상태 위의 사진같은 경우는 한 사람이 나서서 정리를 하지 않는 이상 교착이 해결될 수 가 없다ㅠ 그렇다면 실제 시스템에서의 교착상태에는 어떤 것이 있을까? 대표적으로는 DB에서의 상호 거래 패턴이 많은데 예를 들자면 이러하다. 이름 캐쉬 A 5,000 B 10,000 한 게임에 마음 따뜻한 A와 B유저, 2명이 있다. A유저가 B유저에게 2000원을 주려고 한다. 그러면 A의 캐쉬에서 2000원이 빠지고, 그 돈은 B의 캐쉬로 들어가게 될 것이다. 또 B유저는 5000원을 A유저에게 주려고 한다. 그러면 B의 캐쉬에서 5000원이 빠지고, 그 돈은 A의 캐쉬로 들어가게 될 것.. 2021. 11. 28.
[Network] 5계층 Transport Layer(+TCP, UDP차이) 전세계에서 유일하게 특정지을 수 있는 컴퓨터 주소는 바로 IP이다. 그럼 그 안에서 프로그램을 특정지을 수 있는 번호는 무엇일까? 그것은 바로 PORT 번호이다. 참고로 이 둘을 합친 것을 Socket Address라고 한다. 그리고 Transport Layer에서의 주소는 포트번호로 쓰인다. 무슨 말인지 자세히 알아보자! 우리는 운영체제의 구멍(포트번호)을 통해서 그 프로그램과 대화를 시도한다. 하나의 컴퓨터 안에 여러 개의 소프트웨어가 있을 것이고, 여기서 운영체제는 어느 소프트웨어로 전송할지를 이 포트 번호(Transport Layer의 주소)를 보고 결정을 하게되는 것이다. TCP/UDP의 포트번호는 16비트로0~65,535안에 존재한다. 웹브라우저가 웹서버 접속할때 80번에 주로 접속하는데, 이.. 2021. 11. 17.
반응형