전체 글
코딩 어린이 백과사전
-
torrent란 피어들의 집합을 뜻해. 토렌트의 구조를 영화파일로 들자면, 4gb의 영화가 있다고 하면 수백명의 피어들이 256kb라는 'chunks'라고 불리는 파일을 서로 갖고 공유하는거야. 만약 4gb의 영화를 받아야 하는데 현재 torrent(유져 그룹)이 충분하지 않다면, 해당 주소는 무의미한 주소야. 그래서 파일을 그대로 온전히 가지고 있는 피어(유저)가 한명이라도 있는게 토렌트 파일을 받는데 중요한거지. 그렇기 때문에, 항상 자기가 받고 싶은 파일만 받고 해당 공유주소를 삭제하는 일은 이기적인 일이라 볼 수 있어. 곧 토렌트란 다운로딩을 진행하면서 동시에 청크파일을 다른 피어들에게 공유하고 있는 상태라 볼 수 있어. 그리고 다운로딩을 진행하며 특정 업로더의 청크 다운로딩 속도가 충분히 빠르지..
BitTorrent의 구조: P2P 이상한 사이트가 아니야.torrent란 피어들의 집합을 뜻해. 토렌트의 구조를 영화파일로 들자면, 4gb의 영화가 있다고 하면 수백명의 피어들이 256kb라는 'chunks'라고 불리는 파일을 서로 갖고 공유하는거야. 만약 4gb의 영화를 받아야 하는데 현재 torrent(유져 그룹)이 충분하지 않다면, 해당 주소는 무의미한 주소야. 그래서 파일을 그대로 온전히 가지고 있는 피어(유저)가 한명이라도 있는게 토렌트 파일을 받는데 중요한거지. 그렇기 때문에, 항상 자기가 받고 싶은 파일만 받고 해당 공유주소를 삭제하는 일은 이기적인 일이라 볼 수 있어. 곧 토렌트란 다운로딩을 진행하면서 동시에 청크파일을 다른 피어들에게 공유하고 있는 상태라 볼 수 있어. 그리고 다운로딩을 진행하며 특정 업로더의 청크 다운로딩 속도가 충분히 빠르지..
2021.10.06 -
파이썬은 함수를 중심으로 돌아가는 = 순서지향 프로그래밍 / 객체지향 프로그래밍 언어에요. 그렇다면, 객체지향 프로그래밍은 뭘까요? 객체지향 프로그래밍은 곧, 클래스와 객체가 중심이 되는 프로그래밍이에요. 어라? 뭔가 이상하죠. 용어를 설명해야 하는데, 용어가 서로 꼬리를 물고 있어서 이해가 되지 않아요. 마치 철학을 설명하려면, '철학' 이라는 단어를 사용해야 하는것 처럼요. 진짜 짜증나서 프로그래밍 공부 못하겠죠? 제가 최대한 쉽게 설명해볼게요. 클래스(class)는 객체를 만들어 내는 도구에요. 객체(object)는 변수와 같이 자료를 저장하는 도구인데, 변수와 다른 점은 클래스 안에서 활동한다는 사실이에요. 기억해두십시다. 변수와 객체는 같은 말인데, 객체만 클래스 안에서 활동. 곧, 변수라는 범..
[파이썬]교수님 붕어빵 얘기좀 그만하세요. 그래서 클래스가 뭐냐구요 Fxxk!파이썬은 함수를 중심으로 돌아가는 = 순서지향 프로그래밍 / 객체지향 프로그래밍 언어에요. 그렇다면, 객체지향 프로그래밍은 뭘까요? 객체지향 프로그래밍은 곧, 클래스와 객체가 중심이 되는 프로그래밍이에요. 어라? 뭔가 이상하죠. 용어를 설명해야 하는데, 용어가 서로 꼬리를 물고 있어서 이해가 되지 않아요. 마치 철학을 설명하려면, '철학' 이라는 단어를 사용해야 하는것 처럼요. 진짜 짜증나서 프로그래밍 공부 못하겠죠? 제가 최대한 쉽게 설명해볼게요. 클래스(class)는 객체를 만들어 내는 도구에요. 객체(object)는 변수와 같이 자료를 저장하는 도구인데, 변수와 다른 점은 클래스 안에서 활동한다는 사실이에요. 기억해두십시다. 변수와 객체는 같은 말인데, 객체만 클래스 안에서 활동. 곧, 변수라는 범..
2021.10.03 -
스택은 후입 선출(나중에 들어간 놈이 먼저 나오는 놈)이라는 개념을 가진 자료구조이다. 스택의 사전적인 의미는 "쌓아놓은 더미" 입니다. 후입 선출의 LIFO라고 부르기도 하는데요. 이는 'Last in First Out'의 준말입니다. 스택을 다루는 연산들. 스택의 상단에 새로운 요소를 삽입하는 연산과 삭제하는 연산 크게 두 개를 볼 수 있습니다. 하나씩 삽입해서 넣고 뺀다는 의미로 넣을 때는 : PUSH 뺄 때는 : POP 이라고 부릅니다. 스택의 추상 자료형들 stack() : 비어있는 새로운 스택을 만든다 isEmpty(): 스택이 비어있으면 True를 아니면 False를 반환한다. Push(e) : 항목 e를 스택의 맨 위에 추가한다. pop() : 스택의 맨 위에 있는 항목을 거네 반환한다. ..
[파이썬]스택이 뭐에요? 나서스가 쌓아야 되는거 아니에요?스택은 후입 선출(나중에 들어간 놈이 먼저 나오는 놈)이라는 개념을 가진 자료구조이다. 스택의 사전적인 의미는 "쌓아놓은 더미" 입니다. 후입 선출의 LIFO라고 부르기도 하는데요. 이는 'Last in First Out'의 준말입니다. 스택을 다루는 연산들. 스택의 상단에 새로운 요소를 삽입하는 연산과 삭제하는 연산 크게 두 개를 볼 수 있습니다. 하나씩 삽입해서 넣고 뺀다는 의미로 넣을 때는 : PUSH 뺄 때는 : POP 이라고 부릅니다. 스택의 추상 자료형들 stack() : 비어있는 새로운 스택을 만든다 isEmpty(): 스택이 비어있으면 True를 아니면 False를 반환한다. Push(e) : 항목 e를 스택의 맨 위에 추가한다. pop() : 스택의 맨 위에 있는 항목을 거네 반환한다. ..
2021.09.30 -
파이썬 집합의 특징 원소의 중복을 허용하지 않습니다. 원소들 사이에 순서가 존재하지 않습니다. 같은 유형들의 모임이나, 서로 비교할 수는 없다. 추상 자료형 Set ADT set() 비어있는 새로운 집합을 만듭니다. size() 집합의 원소의 개수를 반환합니다. contains(e) 집합이 원소 e를 포함하는지 검사하고 결과를 반환합니다. insert(e) 새로운 원소e를 삽입합니다. 이미 있으면 삽입하지 않아요 delete(e) 원소 e를 집합에서 꺼내고 삭제합니다. equals(setB) setB와 같은 집합인지 검사합니다. union(setB) setB와의 합집합을 만들어 반환합니다. instersect(setB) setB와의 교집합을 만들어 반환합니다. difference(setB) 차집합을 만들..
[파이썬] 집합이 뭐에요? 여기로 집합!!파이썬 집합의 특징 원소의 중복을 허용하지 않습니다. 원소들 사이에 순서가 존재하지 않습니다. 같은 유형들의 모임이나, 서로 비교할 수는 없다. 추상 자료형 Set ADT set() 비어있는 새로운 집합을 만듭니다. size() 집합의 원소의 개수를 반환합니다. contains(e) 집합이 원소 e를 포함하는지 검사하고 결과를 반환합니다. insert(e) 새로운 원소e를 삽입합니다. 이미 있으면 삽입하지 않아요 delete(e) 원소 e를 집합에서 꺼내고 삭제합니다. equals(setB) setB와 같은 집합인지 검사합니다. union(setB) setB와의 합집합을 만들어 반환합니다. instersect(setB) setB와의 교집합을 만들어 반환합니다. difference(setB) 차집합을 만들..
2021.09.30 -
프로젝트의 3대 특징에는 1) 일시성 - 시작과 종료가 명확하고, 목적이 있는 일 - 일시성으로 인해 납기가 존재하며 자원과 예싼이라는 한계 발생 2) 고유성 - 유일한 제품, 서비스, 지식, 정보와 같은 산출물 - 유일성으로 인해 프로젝트는 예측이 어렵고 3) 점진성 프로젝트 관리란? 소프트웨어 프로젝트를 1) 조직하고 2) 계획하고 3) 일정관리 하는 것이다. 프로젝트 관리의 목적 - 작업 수행에 필요한 여러가지 자원, 인력 , 비용, 재료 기술등을 가장 효과적으로 사용하여 프로젝트의 목표를 달성하는 것. 관리의 어려움 - 개발 대상이 눈에 보이지 않는다 - 소프트웨어 분야의 기술 발전은 매우 빠르다. - 소프트웨어 분야는 조직마다 프로세스가 다른다. 프로젝트 관리의 중요성 - 수입과 지출에 직결되는..
[소프트웨어 공학] 프로젝트 관리와 진행프로젝트의 3대 특징에는 1) 일시성 - 시작과 종료가 명확하고, 목적이 있는 일 - 일시성으로 인해 납기가 존재하며 자원과 예싼이라는 한계 발생 2) 고유성 - 유일한 제품, 서비스, 지식, 정보와 같은 산출물 - 유일성으로 인해 프로젝트는 예측이 어렵고 3) 점진성 프로젝트 관리란? 소프트웨어 프로젝트를 1) 조직하고 2) 계획하고 3) 일정관리 하는 것이다. 프로젝트 관리의 목적 - 작업 수행에 필요한 여러가지 자원, 인력 , 비용, 재료 기술등을 가장 효과적으로 사용하여 프로젝트의 목표를 달성하는 것. 관리의 어려움 - 개발 대상이 눈에 보이지 않는다 - 소프트웨어 분야의 기술 발전은 매우 빠르다. - 소프트웨어 분야는 조직마다 프로세스가 다른다. 프로젝트 관리의 중요성 - 수입과 지출에 직결되는..
2021.09.27 -
소프트웨어 공학에 있어서 개발 이외에 다른성격(관리나 지원)의 프로세스가 병렬로 진행되어야 한다. 이런 프로세스를 지원 프로세스 혹은 우산(umbrella) 프로세스라 한다. 1. 관리 프로세스 비용과 품질 목표를 달성하기 위해 프로젝트 관리에 필요한 모든 작업 - 계획 : 비용과 일정 예측, 중간 점검에 대한 결정을 내리는 단계 - 모니터링 및 제어 : 계획 대비 진행상황 점검, 위험 요소 모니터링 및 제어하는 단계(가장 긴 기간이 필요) - (사후) 분석 : 결과 분석을 통한 배운 점 정리 > 프로세스의 개선으로 이루어 진다. 2. 품질보증 프로세스 목적 : 프로세스와 프로덕트에 대한 품질을 관리시키고 향상시키는 단계 종류 : 인스펙션 프로세스 , 프로세스 관리 프로세스 인스펙션 프로세스 : 개발 결..
[소프트웨어 공학] 지원 프로세스와 방법론소프트웨어 공학에 있어서 개발 이외에 다른성격(관리나 지원)의 프로세스가 병렬로 진행되어야 한다. 이런 프로세스를 지원 프로세스 혹은 우산(umbrella) 프로세스라 한다. 1. 관리 프로세스 비용과 품질 목표를 달성하기 위해 프로젝트 관리에 필요한 모든 작업 - 계획 : 비용과 일정 예측, 중간 점검에 대한 결정을 내리는 단계 - 모니터링 및 제어 : 계획 대비 진행상황 점검, 위험 요소 모니터링 및 제어하는 단계(가장 긴 기간이 필요) - (사후) 분석 : 결과 분석을 통한 배운 점 정리 > 프로세스의 개선으로 이루어 진다. 2. 품질보증 프로세스 목적 : 프로세스와 프로덕트에 대한 품질을 관리시키고 향상시키는 단계 종류 : 인스펙션 프로세스 , 프로세스 관리 프로세스 인스펙션 프로세스 : 개발 결..
2021.09.27