1. Open-source Community & Management1) Github- 코드 생산, 저장, 관리, 공유할 수 있게 해주는 개발자 플랫폼- 분산 버전 제어, 버그 추적, 소프트웨어 기능 요청, 업무 관리, 지속적 통합 관리를 제공하는 Git 소프트웨어를 사용함- 캘리포니아에 본사를 두고 있음. 마이크로 소프트웨어의 자회사. 2. Starting Github1) 목적- 참여자에게 Github와 그 응용프로그램에 대한 포괄적인 이해를 제공한다.- 참여자에게 버전 제어를 위해 Github를 활용하는 데 필요한 기술을 갖추게 하고, 협업 및 프로젝트를 관리한다. 2) Git 기반의 SW Management Technology- 컴퓨터 파일 집합의 변화를 추적하는 분산 ..
1. Examples in Open-source SW(OSS)1) Linux (1) Linux에 관하여- 리눅스는 가장 많이 알려져있고 가장 널리 쓰이고 있는 오픈소스 운영체제이다.- 운영 체제로서 리눅스는 컴퓨터의 다른 모든 소프트웨어 아래에 있는 소프트웨어로, 이러한 프로그램으로부터 요청을 받고 이러한 요청을 컴퓨터의 하드웨어로 전달합니다. (= 운영체제는 하드웨어와 소프트웨어 사이 인터페이스 역할을 함) (2) Unix와 Linux의 차이점- Unix는 Bell 연구실에서 Ken Thompson, Dennis Ritchie 일동에 의해 1970년대에 개발된 운영체제이다.- Unix와 Linux는 많은 방면에서 비슷하지만, 사실 Linux는 Unix와 구별할 수 없도록 만들어졌다.- ..
* 핵심 역량 정의1) 오픈 소스 소프트웨어 개념 및 생태계 이해2) 다양한 오픈소스 소프트웨어 이해3) 오픈소스 관리도구 및 커뮤니티에 대한 경험4) 오픈 소스 기반 기초 개발 능력 1. Open-source1) 정의 ⭐- 사람들이 수정하고 공유할 수 있는 것(디자인은 공개적으로 접근 가능)- 물리적 형태나 구조도 가능- 컴퓨터 시스템 속 소프트웨어로 생각해보자면, 사람들이 수정하고 공유할 수 있는 소프트웨어를 의미함(Open Source Sowftware) 2) Open Source Software(OSS)⭐- 사람들이 수정하고 공유할 수 있는 소프트웨어를 의미 3) 오픈소스 소프트웨어의 역사(0)- Free Software Foundation의 Richard Sta..
[ 2차시 ]정답: 구현 정답: 4번 설계해설: 설계 단계의 핵심 단어는 '알고리즘'이다. 정답: 2번 구현 레벨해설: Abstract(추상화)는 구현과 거리가 멀다 정담: 2번 ADL 변환기 정답: 3번해설: 특정 Programming 언어로 작성되어 있지 않다. 이건 목적이다. 정답: 2번해설: x...*3*2*1*1은 팩토리얼 정의에 맞지 않기 때문에 x 정답: 4번 수행 속도해설: 시스템 스택에 activation record가 쌓임 = 오버 헤드 정답: 3해설: 순환함수는 계속 시스템 스택에 activation record가 쌓인다. (오버 헤드) 정답: 4번해설: 프로그램의 모든 문장에 항상 step count 카운팅 문장을 넣는 것은 번거롭고 어렵다. 정답: 1번해설..
모듈 1. 스택 ADT와 순차 표현 1. 스택 추상 데이터 타입 1) 스택(Stack)이란? "쌓아 놓은 더미" - 정의: 삽입과 삭제가 한쪽 끝, top에서만 이루어지는 유한 순서(순서가 중요한) 리스트 - finite ordered list 2) 스택의 특징 - 후입선출(LIFO:Last-In First-Out, FILO: First-In Last-Out 구조) 리스트 특징: 가장 최근에 들어온 데이터가 가장 먼저 나감 기능: 삽입(push), 삭제(pop) 별명: 스택을 pushdown 리스트라고도 함 3) 스택 기본 연산 - push(): 스택에 데이터를 추가 - pop(): 스택에서 데이터를 삭제 - create(): 빈 스택을 생성 - is_empty(s): 스택이 공백 상태인지 검사 - is..
1. 헤더 노드 1) 기존 연결 리스트 처리 알고리즘 - 문제점: 첫 번째 노드나 마지막 노드, 그리고 리스트가 공백인 경우에 따라 처리 방법이 각기 달라, 서로 예외적인 경우로 처리해야 함 2) 헤더 노드(header node)를 추가하는 방법 - 상기 문제가 되는 예외 경우를 가급적 제거하고, 코드를 간단하게 하기 위한 해결책으로 사용 가능 - 헤더 노드에는 리스트를 처리하는데 1️⃣필요한 포인터나 2️⃣통계 정보를 미리 저장 리스트의 첫 번째 노드를 가리키는 포인터 리스트의 길이 마지막 노드를 가리키는 포인터 등의 필요 정보 ⭐헤더 노드의 구조가 리스트의 노드 구조와 달라도 문제 없음 3) 헤더 노드를 가진 연결 리스트의 정의 typedef struct listNode { /*리스트 노드 구조*/ ..
모듈1. 자유 공간 리스트 1) 메모리의 획득과 반납 방법 (1) 연결 리스트가 필요로 하는 두 가지 연산 [방법 1] : 데이터 필드와 링크 필드를 가진 하나의 공백 노드를 획득하는 방법 (프로그램 수행 중, 즉석에서 필요한 메모리를 OS에서 malloc()하는 방식) [방법 2] : 사용하지 않는 노드는 다시 반납하여 재사용하는 방법 (미리 malloc()하여 free space list를 만든 후, 여기서 할당/회수하는 방식) (2) [방법 2] 자유 공간 리스트(free space list)를 만들어 놓은 경우 - OS와 분리를 해보자! 추가로 우리가 만들어야 하는 함수1 : getNode() - malloc() 대응 : 데이터와 링크 필드로 되어 있는 새로운 공백 노드를 free space li..
1. 단순 연결 리스트의 구체적 구현(C Implementation) 1) 리스트 생성 알고리즘 2) 원소를 첫 번째 노드로 삽입 3) 노드의 삽입 - 주어진 리스트 L에서 원소 값이 x인 노드를 p가 가리키는 노드 다음에 삽입 - 코드로도 확인해보자 insertNode(L, p, x) // 리스트 L에서, p 노드 다음에 원소 x를 삽입 // p가 null인 경우는, 현재 pointing하는 노드가 없는 경우임 newNode
- Total
- Today
- Yesterday
- 익스플로러
- D&C
- 구현
- 기계어
- 크롬
- vscode
- 데이터추상화
- 바이트코드
- 프로그래밍언어
- 소스파일
- VisualStudio
- javase
- jvm
- 브라우저
- 사이트만들기
- SW생명주기
- jre
- 브라우저뜻
- Abstraction
- 의사코드
- 앱개발
- 데이터구조
- ADL
- SWLIfeCycle
- 비주얼스튜디오
- 프론트엔드
- 웹개발자
- 개발계발
- 알고리즘
- 구글크롬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |