반응형 전체 글101 개발 용어 핥아보기 - 객체 지향 프로그래밍 객체 지향 프로그래밍? 소프트웨어의 각 요소들을 객체로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 기법입니다. 객체 : 데이터와 이를 처리하기 위한 함수를 묶어 놓은 소프트웨어 모듈을 의미함 클래스 : 공통된 속성과 연산을 갖는 객체의 집합을 의미함 인스턴스 : 클래스에 속한 각각의 객체를 의미함 메시지 : 객체들 간의 상호작용에 사용되는 수단. 객체의 동작이나 연산을 일으키는 외부의 요구사항을 의미함 특징? 캡슐화 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉하는 것 데이터와 함수를 하나로 묶는 것(재사용성 용이, 변경 파급효과 적음) 정보은닉 캡슐화의 중요 개념. 캡슐 내의 세부 내용을 외부에 숨기는 것. 자신만의 연산으로 접근 (자바의 접근제어자) private : 자.. 2022. 1. 13. 14:59 개발 용어 핥아보기 - 데드락 데드락이란? 프로세스가 자원을 얻지 못해 다음 작업을 못하는 상태를 일컬은 말입니다. 한정된 자원을 여러 곳에서 사용하려고 할 때 생길 수 있는 문제 발생 조건 발생 조건으로는 한 자원에 대한 여러 프로세스 접근 불가 상태인 상호배제 자원을 가지고 있는 상태에서 다른 프로세스가 사용하고 있는 자원의 반납을 기다리는 점유와 대기 다른 프로세스의 자원을 강제로 가져올 수 없는 비선점 각 프로세스가 순환적으로 다음 프로세스가 요구하는 자원을 가지고 오는 환형 대기 해결방법 데드락 발생 조건 중 하나라도 해결하면 데드락이 걸리지 않으므로 데드락 발생 조건 중 하나를 제거하는 예방법 자원 할당 그래프, 은행원 알고리즘을 사용해 데드락을 회피하는 방법 데드락 발생 시 이후에 문제를 해결하는 방법 데드락 상태보다 해.. 2022. 1. 10. 15:50 개발 일기 - 2022년을 맞이하면서 2022년을 맞이하면서 다양한 일들이 제게 벌어지고 있습니다. 1월의 첫 주는 다양한 기업들과 만남을 가지면서 저의 실력의 수준을 파악하고 어떻게 해야지 더 나은 방향으로 나아갈지 배우고 또 알아가는 시간이었습니다. 그 중 가장 기억에 남는 질문은 되게 심플하면서 가장 어려운 질문인 "너가 왜 개발자로 선택하게 되었느냐" 였습니다. 뭐 기술 인터뷰에 나오는 그런 이론적인 부분들도 중요하고 내가 사용하는 라이브러리나 기술 스택에 대해서 정확하게 알고 알맞게 사용하는 것도 물론 중요합니다. 하지만 가장 원초적으로 생각을 해봤을 때 내가 왜? 개발자를 하게 되었지? 이 질문에 명확한 확신과 대답을 가지고 있어야 한다고 문득 생각이 들었습니다. 개발이 재밌어서, 돈을 많이 주는 직업, 앉아서 하는 직업 등등 여.. 2022. 1. 8. 13:12 개발 용어 핥아보기 - 멀티 스레딩과 멀티 프로세싱 멀티 스레딩과 멀티 프로세싱 멀티 스레딩이란? 하나의 프로그램에서 여러 일을 동시에 처리하는 방식을 말한다. 멀티 스레딩을 사용하는 이유? 프로세스를 이용해 동시에 처리하는 일을 스레드로 구현 시 메모리 공간과 시스템 자원 소모가 줄어든다. 스레드 간 통신은 Heap 영역을 이용해 데티어를 주고 받기 때문에 통신방법이 프로세스에 비해 간단하다. 스레드의 컨텍스트 스위칭은 프로세스와 다르게 캐시 메모리를 비울 필요가 없어 더 빠르다. 자원 소모와 응답 시간이 줄고 처리량이 향상 되기 때문에 멀티 스레딩을 사용한다. 멀티 프로세싱과 멀티 스레딩의 차이점? 멀티 프로세싱은 데이터, 힙, 스택 영역 모두를 공유하지 않지만 멀티 스레딩은 데이터, 힙, 스택 영역 중 스택 영역만 공유하지 않는다. 멀티 프로세싱은 .. 2021. 12. 29. 09:52 개발 용어 핥아보기 - 프로세스와 스레드 프로세스와 스레드 프로세스? 컴퓨터에서 실행되고 있는 프로그램 입니다. 운영체제 프로세스, 사용자 프로세스 2가지 존재 프로세스의 특징은? 프로세스는 각각 독립된 영역을 할당받고 기본적으로 최소 1개의 메인 스레드를 가지고 있습니다. 각 프로세스는 별도의 주소 공간에 실행되며 다른 프로세스의 변수나 자료구조에 접근이 불가능합니다. 프로세스 간 통신을 이용해야지만 자원에 접근이 가능합니다. 스레드? CPU 사용의 기본 단위이며 프로세스 내에 실행되는 여러 흐름의 단위를 의미합니다. 스레드는 ID, 프로그램 카운터, 레지스터 세트, 스택으로 구성됩니다. 스레드의 특성? 스레드는 프로세스 내에서 Stack만 따로 할당 받고 나머지 code data heap은 공유합니다. 프로세스 내의 주소 공간이나 자원들을 .. 2021. 12. 28. 17:07 [회고록] 2021년을 되돌아 보면서 메리 크리스마스🎄 2021년을 되돌아 보면서 2022년을 시작하려고 합니다. 저는 2020년 12월 번아웃으로 사업을 마무리 짓고 방황하던 찰나 친구와 함께 바디프로필 촬영하자는 계획을 세우고 운동 시작을 하면서 2021년을 시작했습니다. 2021년에는 어떤 일들이 일어 났는지 한 번 확인해볼까요? 1월 ~ 3월 운동 및 재활 훈련 운동과 미라클 모닝(아침 6시 기상)을 통해 나만의 루틴 만들기 중학교 동창과 함께 운동 습관 만들기 2021년 목표를 구체화 시키기 시작 3월 ~ 6월 운동 & 게임회사 취업준비 2021년 목표 구체화 완료 게임회사 취업을 목표로 컨설팅 회사 계약 개발PM이 되기 위해 다양한 공부와 배움을 멘토님께 배움 자기소개서, 이력서 작성 등 입사를 위한 기본적인 과정을 배움 내 이야.. 2021. 12. 25. 16:15 개발 용어 핥아 보기 - TCP와 UDP 간단 정리 TCP와 UDP TCP? 연결형 서비스로 가상 회선 방식을 제공합니다. 3way handshaking으로 연결을 설정하고 4way handshaking으로 해제한다. 흐름, 혼잡 제어가 가능하고 높은 신뢰성을 보장한다. 패킷에 대한 응답 때문에 UDP보다 속도가 느리다 전이중, 점대점 방식으로 구성됨 TCP의 특징은? 서버와 클라 1대1로 연결되고 스트림 전송으로 전송 데이터의 크기가 무제한이다. 손실된 경우 재전송을 하기에 스트리밍 서비스에 불리하다 서버 소켓은 연결만을 담당한다. UDP? 비연결형 서비스로 데이터 그램 방식을 제공한다. 정보를 주고 받을 때 주고 받는 다는 신호 절차가 없다. 헤더의 첵섬 필드를 통해 최소한의 오류만 검출하므로 신뢰성이 낮다 TCP보다 빠르다 UDP의 특징은? UDP에.. 2021. 12. 23. 09:37 개발 용어 핥아 보기 - OSI 7계층? OSI 7 Layer Model OSI 7계층에 대해 정리해보자! 1. Physical Layer (물리 계층) 데이터를 전송매체에 적합한 전기적 신호로 바꾸는 기능을 함 리피터, 허브, 케이블, 이더넷, UTP, STP 케이블 2. DataLink Layer (데이터 링크 계층) 데이터의 오류 문제 해결 데이터 단위는 프레임(Frame) 순서 제어, 오류 제어, 흐름 제어, 프레임 동기화 3. Network Layer (네트워크 계층) 목적지 경로를 찾아주는 라우팅 역할 데이터 전송 단위를 패킷으로 부르며 송신 호스트의 주소와 목적지 호스트 주소가 포함되어 있음 라우터에 패킷이 도착하면 알맞은 라우터로 중개해 최종목적지로 도착시킨다 라우터가 자신이 관리하는 라우팅 테이블을 사용해 중개함 인터넷의 IP .. 2021. 12. 22. 18:42 개발 일기 - 개발 스터디에 가입했습니다. FastAPI만 고집하는 제게 조금 색다른 맛을 느껴보기 위해 장고 스터디에 합류해 방금 OT를 진행하고 왔습니다. 그럼 대체 왜 장고를 하려고 하는지 한 번 이야기 해보려고합니다. Django를 배우려는 가장 큰 이유는 바로 엄청 많은 레퍼런스와 가이드 때문에 배우는 것이고 FastAPI에 비해 엄청나게 무겁지만 사용자가 만들고 싶어하는 것들이 엄청 많다는 점에 알아두려고 하는 겁니다. 그리고 한국 기업들 중 대 다수가 채택 하고 있는 라이브러리이기도 하고 MVC패턴도 배워 볼 겸사겸사 스터디에 가입했습니다. 장고를 혼자서 할 때는 자료가 너무 많아 가끔 제가 원하는 기능이 아닌 다른 기능들이 들어가는 경우가 생겨 오히려 독이 될 때가 많아서 장고를 손 떼고 있었는데 이번 스터디를 통해 기초적인 부분들.. 2021. 12. 18. 18:59 이전 1 2 3 4 5 6 ··· 12 다음 반응형