Computer Science 24

[컴퓨터통신]

이번에 컴퓨터통신 조교를 하게 된 겸사겸사.. 컴통 복습 좀 해보겠습니다. 교재: Computer Networking: A Top-Down Approach, 8판, Kurose & Ross 저, Pearson) 공부할 챕터 Ch1. Computer Networks and the Internet Ch3. Transport Layer Ch4. The Network Layer: Data Plane Ch5. The Network Layer: Control Plane Ch7. Wireless and Mobile Networks 네트워크 레이어 - 5계층으로 나누면 Application < Transport < Network < Data Link < Physical Layer Logical Network: Appl..

[소프트웨어 응용] Sponsored Search Markets

slot: 광고가 게재되는 영역 advertiser: 광고를 싣고 싶은 광고주 search engine: 광고 slot을 파는 seller search engine 회사들이 거는 광고들 - 내가 검색한 검색어에 따라 광고를 보여주는 keyoword-based advertising -> 이러한 광고의 가격 어떻게 결정되는지 볼 것임. 광고 slot이 여러 개가 존재하는데, 그중 선호도가 높은 슬럿이 존재함. 광고를 원하는 광고주들이 있고, 광고를 넣는 공간, slot이 여러 개 존재. 누가 어떤 광고 슬럿을 가져갈까? -> auction을 통해서 -> matching market paying per click 광고 가격 중에는 클릭 횟수당 받는 가격이 있다. -> paying per click. 사람들이 ..

[소프트웨어 응용] Matching Markets

Bipartite Matching Priblem -> 두 가지 타입의 노드가 존재하는 그래프. 같은 타입의 노드 사이에는 엣지가 없다. Perfect Matching & Constricted Set 위의 그래프에서 굵은 엣지는 perfect mathching이다. 각 타입별로 같은 수의 노드가 있는 그래프에서 perfect matching은 다음과 같은 방법으로 왼쪽 노드들을 오른쪽 노드에 할당 할 수 있는 경우이다. (i) 각 노드들은 할당받은 노드와 엣지로 연결된다. (ii) 두 개의 노드가 같은 오른쪽 노드에 할당되지 않는다. 오른쪽에 있는 모든 노드들은 왼쪽 노드를 할당받으면서, 두 개 이상의 왼쪽 노드를 할당받지 X bipartite graph가 perfect matching일 때, 어떻게 pe..

[소프트웨어 응용] Auctions

bidder: 경매에 참여하는 사람들 seller: 경매 물건을 파는 사람 Auctions의 네 가지 종류 -> 최종 가격이 어떻게 결정되는지! 1. Ascending-bid auctions English auctions interactively in real time - 실시간으로 가격 경쟁을 함 (대면 or 비대면 가능) 가장 낮은 가격에서 시작 -> 모든 bidder들이 손을 들고 있는 상태에서 seller가 가격을 계속 올림 - bidder가 한 명만 남을 때까지 최종 가격: bidder가 한 명 남았을 때의 가격 2. Descending-bid auctions Dutch auctions (네덜란드에서 많이 하던 거라고 ..) interactive in real time 가장 높은 가격에서 시작 ..

[소프트웨어공학] 품질

소프트웨어 시스템의 품질 수준 놓은 조직일수록, 이 모든 활동을 포함함 1. 테스트 - 제품 주기에서 테스트는 굉장히 늦게 수행. - 테스트는 좁은 차워만 다룸. - 테스트는 코드 품질만 향상시킴 2. 리뷰 - 테스트를 보완함. - 개발 초기에 검토할 수 있어 오류를 조기에 발견함 3. 품질보증 - 소프트웨어 제품이 계획된 품질 수준을 가지고 있음을 경영진 및 기타 프로젝트 이해 관계자에게 보장하는 활동 - 개발자와 협력 -> 소프트웨어 개발의 적절한 표준과 절차를 정의 - 검토 및 감사를 통해 업무를 모니터링하여 확인 - 품질 목표를 향한 진행 상황에 대해 상급 관리자 및 기타 이해 관계자에게 피드백을 제공 4. 품질 관리 - 프로젝트 품질 목표 달성을 위해 공학 및 관리 기술 적용 -품질 계획, 품질..

[소프트웨어공학] 테스팅

소프트웨어 테스트는 개발된 소프트웨어가 의도된 대로 잘 실행되는지 품질 관점의 정보를 캐내기 위하야 시험하는 작업이다. 테스트의 목표는 시스템에 존재하는 결함을 조사하고 문제점을 드러내는 것이다. 테스트는 전체 개발 프로세스 중 가장 큰 노력이 들어가는 단계이다 ! 전체 프로젝트 시간의 50%, 전체 예산의 50% 이상을 소비하는 매우 중요한 단계이다. 테스트 작업은 소프트웨어에 테스트 케이스를 주어 실행시킨 후 시스템의 동작이 예상한 대로 실행되는지 확인하는 것. 테스트도 오류가 있을 수 있을까? 오류가 있는데 테스트 단계에서 찾아내지 못했다면, 그게 오류다. 그렇다면 어떻게 해야 오류를 잘 검출해낼 수 있을까? 테스트의 성패는 테스트 케이스에 달려 있다. -> 테스트 케이스를 어떻게 선택해야 하는지에..

[소프트웨어공학] UI 설계

사용자 인터페이스 User Interfase : 소프트웨어 - 사용자 상호작용 수단 input -> 사용자가 시스템을 조작 output -> 시스템이 조작 결과를 표현 UI의 중요성은 아무리 강조해도 지나치지 않는다! - 요즘은 아무리 좋은 소프트웨어라도, UI가 별로면 사람들이 쓰지 않는다. - 소프트웨어 기능보다 UI에 의하여 평가되는 경향이 강해짐 -> UI를 제대로 설계해야 함 -> 기본 개념과 설계 원리를 익히자 + 소프트웨어 개발 과정 중 설계가 특히 중요한 작업은 아키텍처 설계와 UI 설계이다. 아키텍처 설계는 구성 요소인 모듈이 쉽게 읽히고 이해하기 쉽고 재사용, 확장 가능하도록 설계 하는 것이 목표이다. UI설계도 마찬가지로 UI의 구성 요소들을 이해하기 쉽고 효율적으로 설계 해야 한다...

[소프트웨어 응용] Network Community & Community Detection

Network CommunityNetwork Community 앞서 살펴본 Granovetter’s theory → 네트워크는 강하게(빽빽하게) 연결된 노드들의 집합들로 구성되어있다는 것을 보았다. Network Communities: 내부에는 많은 연결이 존재하고, 외부에는 적은 연결이 있는 노드들의 집합 → 클러스터, 그룹, 모듈이라고도 한다. 🙄 실제 네트워크 상에서 커뮤니티를 어떻게 식별하고 찾아낼까real-world에 대한 관찰) Zachary’s Karate club network사회적 관계에서 라이벌 관계 또는 갈등과 다툼이 일어나면 그룹이 흩어지더라. → 네트워크에서 엣지 몇 개를 제거 했더니, 그룹이 나누어 지더라 (커뮤니티의 형성)→ 이 성질을 이용해서, 최소의 개수로 엣지를 제거했을 ..

[소프트웨어 응용] Structural Holes

Structural HolesStructural Holes노드가 포함된 커뮤니티 간의 정보의 차이 정도로 이해하자. 만약 어떤 노드가 하나의 커뮤니티에만 속해있으면 그들이 공유하는 정보의 차이는 별로 없겠지만, 여러 커뮤니티에 속해있다면 각 커뮤니티 사이에는 정보의 간극이 존재하게 된다. 이 정보의 간극을 structual hole이라고 이해할 수 있다. structural hole이 많다는 것은 커뮤니티와 커뮤니티 사이의 연결이 많다는 것이다. (당연히 이 연결은 weak tie) real-world에서 예를들면, 같은 학과 사람들이랑만 친한 James의 경우에는 학과 사람들이 거의 같은 정보를 공유하고 있기 때문에 structural hole이 거의 없다. 반면에 학과 사람들 뿐만 아니라, 복수 전공..

[소프트웨어 응용] 네트워크의 커뮤니티 구조

Community Structure in Networks Community Structure in NetworksCommunity Structure in NetworksGranovetter’s Explanation Local bridge와 Strong triadic closureNeighborhood Overlapedge overlap과 strength네트워크에서 엣지를 지워보자 🙄 네트워크 안에서 어떤 노드들은 서로 뭉쳐있지 않을까? → real-world를 보면 사람들은 각자 여러 커뮤니티를 형성하고 있음 → 커뮤니티는 무엇일까여 real-world에 대한 관찰)사람들간의 관계: 사람-사람이 모두 같은 관계를 형성하지 않더라. 친한 사이도 있고, 그냥 아는 지인 사이도 있다. → 노드들간의 링크가 다..