[지식창고] 40

[소프트웨어 공학] Chapter 4. 프로젝트 관리 개념(2) - 프로젝트 측정

* 교수님께서 소프트웨어 공학은 크게 엔지니어링 / 매니지먼트 (관리) 부분으로 나뉜다고 한다! 이러한 관점에서 이 과목을 잘 살펴보도록 해보자 ~~ 프로젝트 측정 (Measure) 1. 프로젝트 측정이 필요한 이유 1. To charactive : 측정하여 대상을 특징화하고 분류하는 것 2. To evaluate : 측정하여 대상을 평가하고 판단 3. To predict : 측정하여 대상의 미래 상황을 예측하는 것 4. To improve : 측정하여 대상을 개선하는 것 * (세분화된) 측정 이유 - access the status of an ongoing project 진행중인 프로젝트의 상황 평가 → 프로젝트가 계획대로 진행되고 있는지에 대한 여부 확인을 포함 - track potential ris..

[ 컴퓨터 네트워크 ] 2.8 socket programming with UDP and TCP

1. Socket Programming goal : 소켓을 이용하여 통신하는 클라이언트- 서버 애플리케이션을 구축하는 방법을 배울 것이다 ! 소켓 : 데이터를 주고 받기 위한 인터페이스를 제공하는 소프트웨어 모듈이며 클라이언트와 서버 간의 데이터 전송을 안정적으로 처리할 수 있도록 도와준다 ! '문'과 같은 역할을 한다고 생각하면 된다 ~ 애플리케이션 프로세스와 end-end간 전송 프로토콜 사이의 문! ex. 소켓은 클라이언트와 서버 간의 통신을 가능하게 해주는 문과 같은 역할을 한다. 이 문을 통해 애플리케이션 프로세스와 종단 (end-end) 간 전송 프로토콜 간에 데이터를 주고받을 수 있다. 소켓은 통신을 위한 인터페이스를 제공하며, 클라이언트와 서버 간의 데이터 전송을 안정적으로 처리할 수 있도..

[ 컴퓨터 네트워크 ] 2.7 vedio streaming and content distribution networks

이번 장에서는 비디오 스트리밍과 CDN (Content Distribution Networks)에 대해 알아본다 ! 유튜브, 넷플릭스 등 우리가 자주 사용하는 플랫폼에서 어떻게 수많은 영상들을 수많은 사용자에게 제공하는지에 대해 알아보자 ~ ! 1. Video Streaming and CDNs - context 우선 기술적으로 배우기에 앞서 비디오 스트리밍과 CDN의 배경, 문맥에 대해 알아보자! 비디오 트래픽 : 인터넷 대역폭의 주 사용자인 video traffic → 넷플릭스, 유튜브는 각각 ISP트래픽의 37%, 16%를 사용한다 ! 하지만 문제점이 있는데 .. 문제점1. ~1Billion에 달하는 수많은 사용자들에게 도달하는 방법 하나의 대형 비디오 서버는 이러한 트래픽을 감당할 수 없음 문제점 ..

[ 컴퓨터 네트워크 ] 2.6 P2P applications

제목에서 나오는 P2P : Peer to Peer 통신방식 .. 어딘가 익숙한데 .. ? 엇 ? 어디서 봤던 기억이 난다 ! 바로 2.1 network of application에서 ! client-server 방식과 P2P방식을 함께 봤었다 ~ 간략히 짚고 넘어가보자면 client-server , P2P 방식은 application의 아키텍쳐, 즉 애플리케이션의 설계도 혹은 청사진을 의미한다 ! *필자의 뇌가 아직 영어패치가 많이 적용되지 않아 아키텍쳐보단 설계도가 이해하기 쉬워 설계도라고 작성해보겠다. 클라이언트- 서버 설계도에서 클라이언트는 서비스를 요청하는 측, 서버는 이 요청을 받아 처리하고 결과를 클라이언트에게 반환하는 환경이다. 서버는 항상 켜져있고 여러 클라이언트들의 요청을 처리하고 응답을..

[소프트웨어공학] Chapter 4. 프로젝트 관리 개념(1) - 4P

소프트웨어 공학에서 프로젝트 관리는 소프트웨어 제품을 개발하고 유지, 보수하는 프로세스를 계획, 조정, 실행, 감시 및 제어하는 활동이다. 프로젝트 관리는 프로젝트를 성공적으로 완료하기 위해 프로젝트 팀원 간의 협력과 의사소통, 일정관리, 예산 관리 등의 다양한 요소를 조율해야한다 ! 4P는 프로젝트 관리에서 중요한 개념 중 하나로 Project(프로젝트), Product(제품), Process(프로세스), People(인력) 의 네가지 요소를 의미한다. 4P 개념은 프로젝트의 성공을 위해 모두 고려되어야하는 중요한 영역임 ~ ! People(사람) - 성공적인 프로젝트를 위한 핵심 자원 Product(산출물) - 만들어야 할 소프트웨어 결과물 Process(프로세스) - 작업완수에 필요한 일련의 프레임..

[컴퓨터 네트워크] 2.5 DNS (1)

이전까지는 다소 딱딱한 설명을 통해 여러분을 맞이하였다. 하!지!만! 들어가기에 앞서 이전포스팅에서 조금 아쉬운 부분에 대해 조금 더 쉽고 이해가는 방향으로 작성해보려고 한다 ~ DNS개념에 들어가기 전 잠시 정리하고 간다고 생각해주시길 바란다. 🍓 우리가 다른 컴퓨터로 데이터를 전송하기 위해서는 가장 먼저 데이터를 전송하는 프로그램이 보낼 데이터를 만드는 것이다. 택배를 보낼때에도 택배를 보낼 물건과 대상이 있어야만 택배를 부치고 주소를 적고 택배를 받는것처럼 ! 이렇게 데이터를 만드는 일을 하는 계층을 애플리케이션 계층이라고 한다. 그리고 데이터가 준비되었으니 이제 보낼 준비를 해야한다~ 그런데 어디로?????? 이때 필요한 것이 주소다 ! 일반적으로 네트워크상에서 주소는 크게 IP주소, 포트번호이다..

[컴퓨터 네트워크] 2.4 electronic mail (SMTP, POP3, IMAP)

메일을 보낼 때 쓰이는 3가지 프로토콜이 있다. 이들은 바로 SMTP, POP3, IMAP ! 전자 메일은 발신자의 메일 클라이언트를 통해 SMTP프로토콜을 이용하여 발신자의 메일 서버에서 수신자의 메일 서버로 전송되고, 수신자의 메일 서버에서 수신자의 메일 박스로 도착하는 과정을 거친다. 이 때, SMTP는 전자 메일을 보내는 데 사용되는 프로토콜이며, POP3와 IMAP는 전자 메일을 받아오는 데 사용되는 프로토콜이다. POP3는 메일을 클라이언트에 저장하며 서버에서 삭제하는 반면, IMAP는 서버에 메일을 보관하여 여러 기기에서 메일을 확인할 수 있다! 이렇게 간단히 알아보고 전자 메일에 대해 더 자세히 알아보자 ~ ! 1. Electronic mail (전자 메일) 전자메일에는 3가지 주요 컴포넌..

[컴퓨터 네트워크] 2.3 FTP

FTP(File transfer protocol)은 TCP/IP, HTTP 다음으로 일반인에게 잘 알려진 네트워크 프로토콜이 아닐까 .. 라고 하시는데 전공자지만 몰랐다 (진짜 열심히 공부해야겠다 ~ ) 전공에서 배우는 FTP에 들어가기 앞서 간략하게 소개하고 넘어가보도록 하겠다! 그럼 FTP라 함은 무슨 프로토콜이냐 ~ 하니 약어 뜻에 다 나와있다. 바로 파일 전송을 위해 만든 파일 전송 프로토콜 ! 파일 전송만 할 수 있는 것은 아니지만 FTP 프로토콜의 목적이 파일 전송이기에 아주 단순하게 동작하는 프로토콜이다 FTP 프로토콜 역시 TCP프로토콜 위에서 동작하기 때문에 TCP/IP프로토콜이 필요하다 FTP는 두개의 연결을 사용한다. - 제어 데이터(Control Data)를 주고 받기 위해 사용하는..

[ 컴퓨터 네트워크 ] 2.2 Web and HTTP(2)

이번 장에서는 내가 만든 쿠..키가 아니라 HTTP가 만드는 쿠키와 웹 캐쉬에 대해서 다루어 볼 것이다~ 그 전에 잠시 HTTP와 Web에 대해 복습을 해보자 ~ 웹(Web)은 워낙 방대한 개념이다. 웹을 구성하는 요소는 웹 서버, 웹 클라이언트, HTTP 프로토콜, 웹 컨텐츠이다. 웹 컨텐츠를 제외하고 네트워크에 밀접한 관련이 있는 웹 서버와 웹 클라이언트, HTTP프로토콜에 대해 자세히 알아보겠다. * 서버 : 네트워크상에서 다른 컴퓨터에 대하여 해당 네트워크 모두 또는 일부에 대한 접속과 네트워크의 자원(디스크 장치,파일,프린터 등)에 대한 접속을 제어하는 관리 소프트웨어를 운용하는 컴퓨터나 장치 또는 프로그램 * 클라이언트 : 서버에 접속하여 서버가 제공하는 서비스를 이용하는 프로그램 또는 그 프..

[소프트웨어공학] Chapter2. 소프트웨어 공학 개요(1)

1. 소프트웨어의 정의 : 프로그램, 문서, 데이터 등을 중심으로 구성된느 집합이나 객체를 말함 2. 소프트웨어 역할의 진화 1970s ~ 1980s 새로운 산업혁명 → 제 3의 물결 정보 사회 전자 정부 1990s 권력 이동 지식의 민주화 세기 말 시간폭탄(2000년에 되기 전 여러가지 괴담, 가설 생성) 2000s 보다 지능적인, 보다 유연한 새로운 형식의 과학 → 컴퓨터 시뮬레이션 (digital Twin, Metaverse), AI(딥러닝) Alvin Toffler(미래학자)의 제 4차 산업혁명 선언 : 제 3의 물결, 권력 이동, 부의 미래 → "4차 산업혁명" 오늘날 상호 이해와 소통 SNS, IoT 쓰레기 정보/ 지식 ( Obsoledge → Obsolete + Knowledge ) 초대형 ..