강의 내용 정리(126)
-
풀스택 서비스 네트워킹(3), OSI Architecture(L4)
OSI Architecture(L4) 1. Transport 계층의 이해 1) 개념 (1) Process-to-Process Delivery 웹서버와 웹브라우저간의 속도 제어를 위한 흐름제어나 에러 검출을 하는 것이 Transport 계층의 핵심적인 내용이다. 하지만 이는 행동적인 측면에서 매우 중요한 부분이지만 어디로 가야하는 지에 대한 '주소'도 매우 중요한 요소이다. 1~2계층에서 바로 옆에 인접한 기기들과의 통신은 node-to-node 통신이라 할 수 있다. 멀리 떨어져있고, 중간에 여러 개의 기기가 있는 경우에는 host-to-host 통신이라 할 수 있다. 따라서 라우팅이 중요했던 3계층에서는 host-to-host라는 표현을 사용한다. 4계층에서는 한 컴퓨터에서의 프로그램의 주소값인 포트 ..
2022.10.07 -
풀스택 서비스 네트워크(2), OSI Architecture(L1~L3)
OSI Architecture의 대표적인 예시를 알아보고 어떤 문제가 있는지를 위주로 수업을 진행할 예정 1. 기본적인 단어의 이해 (1) Message Medium을 통해 sender와 receiver가 주고 받는 것 (2) Sender 보내는 컴퓨터 (3) Receiver 받는 컴퓨터 (4) Medium 통신을 위한 매개(유무선) (5) Protocol 서로 메세지를 보낼 때 지켜야할 약속으로 메세지에 대한 형식 뿐만 아니라 메세지를 받았을 때의 동작 등등 자세하게 기술해놓는다. 2. MAC 계층(L2) 1) 분류 Random access protocols Controlled access protocols channelization protocols 랜덤엑세스 프로토콜은 서버가 가장 많이 사용하는 기..
2022.09.30 -
운영체제(1), Introduction
Introduction 1. 컴퓨터란? 컴퓨터 하드웨어 위에서 컴퓨터 소프트웨어가 수행하는 장치 컴퓨터 하드웨어는 cpu, 메모리, io 장치로 구성된 장치이다. 메모리는 주기억장치(메인메모리), 보조기억장치(세컨더리 스토리지)로 나눌 수 있다. 일반적으로 컴퓨터를 지칭할 때 pc를 의미하지만 조금 더 넓은 측면에서 바라본다면 Server computer도 있고, Embedded computer 등등도 있다. 컴퓨터의 정의를 기억하고 보면 더 넓은 범위에서 컴퓨터를 구분할 수 있다. 위의 정의 상에서는 옛날 자동차는 컴퓨터가 아니지만 요즘은 컴퓨터가 맞다고 할 수도 있다. 아반떼는 mcu가 연결되어서 연산을 처리한다. 대표적으로 테슬라는 커다란 메인보드가 동작들을 제어한다. TV 또한 브라운관 티비인 경..
2022.09.20 -
데이터 베이스(1), 데이터베이스 시스템
데이터베이스 시스템 1. 데이터베이스 시스템 개요 1) Relational DBMS(RDBMS)의 종류 MySQL: 개인이 사용하는 경우가 많았다. PostgreSQL: 조직에서 사용하는 경우가 많았다. MariaDB: MySQL이 유료화로 되자 이와 유사한 MariaDB가 나왔다. MS SQL Server IBM DB2 Tibero: Tmax Soft에서 만들었다. Cubrid MongoDB: 문서나 파일을 저장관리하기에 좋다. cf) NoSQL는 Not only SQL의 약자로 SQL과 더불어 다른 기능을 제공하는 제품군을 의미한다. 기존에는 산업계의 표준으로서 RDBMS를 사용했었다. 하지만 컴퓨터 기술이 발달함에 따라 Big data가 대두되며 테이블형태만으로 데이터를 관리하기 어려워졌고, 이에 ..
2022.09.19 -
소프트웨어 개발 방법 및 도구(5), Software Maintenance
Software Maintenance 만들어진 소프트웨어가 버저닝이 이루어지거나 백업을 하거나 하나의 어플리케이션으로 만들기 위해서 어떻게 유지 관리할 것인가 Q) 여러 사람이 함께 하나의 소프트웨어를 만들 때 어떻게 결과물을 공유할 것인가? A1) GitHub 오픈소스로 할 경우에는 무료로 저장공간이나 도구 등을 제공할 수 있다. 우리가 만든 코드를 공유하고 관리할 수 있는 도구이다. A2) Google Docs 설계를 위해 필요한 도구이다. 동일한 파일을 여러명이 동시에 작업해도 작업을 할 수 있다. 따라서 문서를 만들 때 매우 유용한 도구이다. 1. Version Control 1) Version Control이란? 소프트웨어가 개선될 때마다 버전을 매겨 이를 관리하는 것을 의미한다. 버전은 번호를..
2022.09.16 -
소프트웨어 개발 방법 및 도구(4), Selecting Right Operating System
Selecting Right Operating System 문제를 정의하고 그 문제에 적합한 언어를 선택하는 것이 중요하다. Background for selecting OS (in SW development) 1. Business 1) Market share 시장 점유율에 맞춰 개발을 하는 것이 중요하다. ex) 안드로이드 / IOS -> 스마트폰의 시장 점유율을 파악하고 이에 맞춰 개발을 한다. cf) 최근에는 OS가 아닌 브라우저에서 돌아가는 web based 프로그램을 짜는 경우가 많다. - 스마트폰의 경우 대부분 Android를 쓰는 것을 확인할 수 있다. - 전세계적으로 봤을 때 안드로이드 기반 스마트폰의 가격이 아이폰보다 싼 경우가 많다. 또한 국내에서는 안드로이드가 많다. - 즉, 출시하고..
2022.08.22