SW의 3P 

: People (인적자원), Process (프로젝트 수행을 위한 Framework/전체 계획,구조),  Problem (문제분석, 인식)

 SW 상위 설계 

: 아키텍쳐/ UI설계 / 인터페이스 정의

 SW 설계지침 

: 모듈기능이 예측 가능하도록, 이식성 고려, 적당한 크기 유지 

 SW 언어선정 기준 

: 적정성, 효율성, 이식성, 친밀성, 범용성

 SW영역 결정요소 

: 기능, 성눙, 제약조건, 인터페이스, 신뢰도

 SW 품질목표 

- 시스템 SW 

: OS, Web Server, WAS를 위한 서버프로그램, DBMS

: 메모리 적재, 인터럽트 관리, 기억장치 관리

- 응용 SW 

: 복잡수학 계산

 

- 실시간 SW 

: 인터럽트와 문맥교환의 표현, 태스크들 간의 통신과 동기화, 비동기적 프로세싱, 타이밍 제약의표현을 고려하여 설계

 인터럽트 

> 프로그램검사 : 0으로 나누기, Underflow/Overflow, 명령어잘못입력, 프로그램상 오류

> SVC : 의도적 호철, 복잡한 입출력처리시, Operator와 대화 필요시

> 입/출력 : 이상현상 발생시, 입/출력 data오류시

> 외부 : 시간만료, Operator가 콘솔창에 인터럽트키 입력시

 

- 개발 SW 

: 요구사항 관리도구, 설계/ 모델링도구(UML지원), 구현/ 테스트/ 형상관리/ 빌드 도구

 > 구현도구 : 이클립스, IDEA, VS, Node.js

 > 테스트 도구 : CPP/ HTTP/ N unit/ Spring Test

 형상관리 

: 가시성, 추적성(진행정도), 방해요인 최소화 보장하여 품질과 생산성↑, 개발비용↓

: 유지보수,개발 단계에 적용/ 동시개발 가능, 불필요 사용자 수정제한, 변경/제어 관리

> 대상 - 분석서, 지침서, 소스코드

> 기능 - 형상식별 : 특정절차/도구 결합, 관리계획 근거로 대상 식별 과정

          - 버전 제어 기술 :  대상에 이름/관리번호 부여하여 계층관리 함으로써 수정/추적용이 

버전등록 과정

 > 버전관리도구

* Sub Version(=SVN)

 : 개발작업은 Trunk(몸통)에서, 추가작업은 Branches(서브디렉토리)에서 수행

 : 유닉스 서버사용, 주 명령어 diff

* Git

 : 로컬에서 버전관리, 원격저장소나 네트워크 문제 시에도 작업가능

 : Branch 이용시 다양한 기능 테스팅 가능, 파일변화 스냅샷

 

> 분석 자동화 도구 CASE

 결함관리 

: 계획→ 기록→ 검토→ 수정→ 재확인→ 보고서 작성 (모니터링, 결함상태 추적)

 일정관리  

 빌드 자동화 도구 

: 빌드를 포함하여 테스트/ 배포를 자동화하는 도구, 지속적인 통합개발환경에서 유용하게 활용됨

** 빌드 = 소스코드 파일들을 컴파일하여 여러 모듈로 묶어 실행파일로 만드는 과정

 인터페이스 

: 두 시스템/ 장치 사이의 정보와 신호 전달시(내/외부 모둘연계) 접점, 경계면

 > 설계서 (시스템 인터페이스 현황파악에 도움)

  : 시스템 사이 교환 데이터/ 업무/ 기능의 세부 인터페이스 정보/ 인터페이스 목록과 상세데이터의 명세내역 정의

 > 구축방식 

  - EAI : 연계성/ 효율성/ 확장성 ↑

  - ESB  : 관리/보안 용이, 높은수준 품질지원가능, 연계/데이터 변환, 서비스 중심 통합지향

             : 웹 서비스 지원등 표준기반의 인터페이스 제공 솔루션, 범용적사용을 위해 결합도 약하게 유지

> 모듈 간 기능식별

  - 연계 기능식별 : 시나리오 형태로 구체화하여 식별

  - 인터페이스 기능식별 : 인테페이스 동작(외부모듈 결과와 요청에 따른)에 필요기능 식별, 실질적 필요기능 선별해서 구현 

> 기능 구현 

  : 컴포넌트 /인터페이스 명세서 확인→ 데이터 표준, 모듈내부 설계서 통해 일관된 기능구현 정의→ 정의된 기능 구현 정형화(usecase다이어그램, 프로세스 형태로)

> 예외처리

   -  데이터 통신을 이용한 방법 AJAX기술 : JSON, XML객체 주고 받음   -  인터페이스 엔티티를 이용한 방법

 사용자 인터페이스 UI 

: 결과오류 최소화, 구체적 방법 제공, 사용성 향상과 상호작용 수단/방식 제공이 목적

: 쉽게 사용가능 하도록 사용자 요구사항 반영되도록 제작

 > 입력 인터페이스 종류 : 문자방식명령어 CUI / 그래픽 환경기반 마우스 GUI / 사용자 말,행동 기반 제스쳐 NUI

 > 설계원칙 : 직관성, 유효성, 학습성, 유연성

 > 개발시스템 기능 : 사용자 입력 검증, 에러/메시지 처리, 도움/ 프롬프트 제공

 

 아키텍처 

: 품질 요구사항을 반영하여 품질 속성을 결정, 시스템 구조/행위/뷰를 정의하는 개념적 모형 (SW기본구조)

: 개발시간 단축, 품질향상, 예측가능, 유지보수 용이함

> 프레임워크 - 구성요소: 아키텍처 명세서, 이해관계자, 관심사, 관점, 뷰, 근거, 목표, 환경, 시스템

> 아키텍처 4+1 뷰 : 고객요구사항을 정리해놓은 시나리오를 4가지관점에서 바라보는 SW적인 접근법

                              : 4개의 분리된 구조로 구성되는 아키텍처의 개념 제시해 충돌/ 요구충족 여부를 증명을 위해 usecas사용

                  - 구성요소 : (논리/구현/프로세스/배포) 뷰 + usecase(사용자, 설계자, 개발자, 테스트관점) 뷰

> 패턴종류

> 품질속성 

> 아키텍처 비용평가 모델

 - SAAM : 변경용이성, 가능성에 집중과 평가가 용이

 - ATAM : 품질속성 판단과 이해 상충관계를 평가

 - CBAM : ATAM중심, 의사결정에 대한 요구평가

 - ADR : 구성요소간 응집도를 평가

 - ARID : 전체 아키텍처가 아닌 특정부분의 품질요소에 집중하여 평가

 

 가상화 기반 네트워크 

> NFV

 : 범용 하드웨어(서버, 스토리지ㅡ 스위치)에 가상화 기술적용하여 네트워크 기능을 가상화 기능으로 모듈화 

 : 구성요소 -VNFS(sw 패키지), NFVI(흐름테이블을 비교해 패킷처리 제어), MANO(사이클 관리, VNF조율)

> 오버레이 네트워크

 : 구성요소 -DHT, 오버레이노드, 베이스노드, 식별자, 맵핑

> VLAN

 : Broad Cast 도메인을 구분할 수 있게 해주는 기술, 보안성↑

 : 종류 - 프로토콜/ MAC/ 네트워크 주소기반 VLAN

 

 교환망 

- 회선교환방식

: 메시지 전송 전 발생지부터 목적지까지 물리적    통신회선이 연결되어야 하는 방식 - 시분할 타임Slot
시간다중화
TDM버스
- 공간분할  

- 축적교환방식

> 패킷 종류

비패킷형 NPT 패킷형 PT 패킷 교환기 PSE 패킷 다중화 PMX
  : 분할 결합 : 경로설정 : 정보메시지로 조립 전달, 내부에 PAD(패킷 조립, 분해 장치)존재

> 패킷 기능

IP 데이터그램 구조 (경로설정X)

: Version/ Protocol/ Identificatior

 

 X.25프로토콜 

> 물리계층 : 패킷교환망 통해 DCE/DTE간 인터페이스 제공, 전기적/기계적/절차적/기능적 특성가짐, 비트 단위들 교환

> 링크계층 : HDLC 프로토콜 기반

> 패킷계층 : Sliding Window 프로토콜 사용, 다중화기능, 망 고장 시 회복 매커니즘 규정

                  : 연결 지향성을 기술한 가상회선을 지원함(회선 설정/해제)

   * 가상회선 : SVC(통신시에만 통신경로 설정/해제), PVC(통신경로 고정적으로 ) 

 

 IT스토리지 기술 

> 내장디스크형

> 직접부착형 DAS

> 스토리지 가상화 : 여러기기 용량을 물링하여 하나의 기기에 있는거처럼 보임

> 소프트웨어 정의 SDS : 가상화적용, 하나처럼 관리하고 운용, sw를 추상화, 기기 자체에서 분리하여 사용

   > NAS 네트워크연결 스토리지 :  파일을 체계화하여 상위계층에 배포가능

   > SAN 스토리지영역 네트워크 : 고속전송, 장거리연결기능 활용, 저장장치/백업장비를 단일화시킨 시스템

        > FC-SAN,  IP-SAN

 서비스공격 

nmap : 서버에 열린 포트정보를 스캐닝하여 보안취약점을 찾는 도구

    Tripwire : 크래커 침입/ 백도어생성 / 설정파일 변경시 분석하는 도구

 

 매체접근제어 MAC 

**

IEEE 802.4 = 토큰버스

IEEE 802.5 = 토큰링

IEEE 802.11 = 무선LAN

IEEE 802.15 = 블루투스

 

 

정말 간단한거지만

전 api를 사용하는 방법을 몰랐죠,,,

 

카페를 너무 좋아해서 다 메모 해놓으며

약속 전 날 매일 메모와 지도

그리고 인스타에서 사람들이

어떤 사진을 찍었는지 보면서

 

카페를 다녔는데

너무 불편해서 만들게 되었어요!!

그래서 강제로 API도 알게 되었습니다 

๑'ٮ'๑

 

(카페에 진심인 녀자)

나중에 여행 갈 곳도 추가 할려고 이렇게 메뉴판으로

나눠 놓았어요

그리고 지역버튼을 누르면 드롭다운메뉴로 세부지역을 고르게

해 놓았습니다.

 

클릭하고 들어가 보면

모바일화면 / 컴퓨터 화면사이즈

대부분 모바일로

보는 사람이 많기 때문에

모바일 사이즈도 따로 설정 해줬어요.

 

@media only screen and (max-width:500px) {
  /* For mobile phones: */
  #back, #list, #menu, #container, #wrap{
    width: 100%;
  }
  #map{
    margin-top: 5px;
    width: 90%;
    height: 300px;
  }
  #wrap{ //지도+목록 감싸는 박스
    display: block;
    margin-bottom: 100px;
  }
}

 

그리고 버튼을 누르면

해당하는 구 또는 지역에 해당하는 목록만 보여주도록

제이쿼리를 이용해 구현해 보았습니다

 

 

이렇게 선택하면

목록이 바뀌었어요

<script>

 $(document).ready(function () {
        $("#id명").click(function () {
          $("보여줄요소의 #id또는 .클래스명").show();
          $("#id/ .클래스명").hide();
          $("#id/ .클래스명").hide(); //숨길목록의 id와 클래스명
        });
      });

</script>

카페 목록을 추가할때 이미 사이즈나 flex 설정할때 이미 id로 써서 저는 class명도 추가해서 지역마다 동일한 클래스이름을 사용하여 기능을 구현했습니다.

 

+ 저기 인스타그램글씨를 누르면 해당 카페 사진이 보이도록 했어요!

 

 

링크 클릭!

http://silverline.dothome.co.kr/

 네트워크 장비 

- LAN card : point to point, Full/ Half 듀플렉스 (신호전달 방식)

- 스위치 : Full/ Half 듀플렉스 (신호전달 방식), HW 방식으로 스위칭

   > 스위칭 방식 - stored and forwarding :데이터를 모두 받은 후 스위칭 / - cut Through :목적지 주소 확인 후 바로

                     - Fragment-free = stored and forwarding방식 + cut Through방식

   > Switch Jamming : Map Table을 가득 채워 Hub처럼 동작 (스니핑 Sniffing)

   > Hierachical 3 Layer 모델

     : Access계층 (최초 연결지점, 사용자 통신 집약 후 전송(L2 사용)) → Distribution 계층(라우터, L3 사용)

       → Core 계층 → Core 계층에서 집약 후 인터넷에 연결 (백본 스위치 사용)

 - Hub : osi 1계층 장비, Half 듀플렉스 (신호전달 방식)

 - Bridge : osi 2계층 장비, SW방식 스위칭

 데이터  통신 

-종류

에러검사

패리티(Parity) 검사 순환중복 검사 (CRC방식) Block Sum Check Forword Error
Correction Check
전진에러 수정
정보비트 수와 에러발생 확률↓경우  많이 사용 오류검사필드 FCS와 함께 사용 블록의 각 비트를 가로 세로로 두번 확인 후 끝에 Parity Bit 추가해 전송  

 

동기제어문자

STX 시작 CTS 수신 SYN 동기유지 ACK 긍정응답 DLE 링크해제, 투과성
       (for 투명성)
ETX 종료 TRS 송신 ENQ 응답요구 NAK 부정응답

 트래픽  제어 

: 네트워크 성능유지와 보호를 위해 패킷 흐름과 양 조절하여 버퍼 Overflow 방지함

 - 교착방지

 - 흐름제어(패킷 양, 속도 규제)

     > Stop n Wait : ACK받아서 한번에 패킷 1개씩만

     > Sliding Window : 정해진 패킷 수(= window 크기) 만큼만, 전송지연이 긴 선로에 적합

 - 혼잡제어(패킷 수 조절)

AIMD
합 증가/곱 감소
전송시 문제 없는 경우 1씩 증가 / 문제 발생시 속도 절반으로 감소, 오래걸림
Slow-Start  타임아웃까지 공백↑
Fast Retransmit
재전송 
중복된 순번 패킷 3번 받을 때 재전송 -> 혼잡 감지, window크기 줄임
Fast Recovery
빠른 회복
혼잡 시 Window 절반으로 감소, 혼잡 후에 AIMD 방식으로 동작

 

+ 순방향 오류 제어 FEC 

   >  블록코드인 것 :  해밍/ CRC / BCH 코드

   >  아닌 것 : Convolution / Turbo 코드


 다중화 전송 방식 

: 넓은 대역폭을 가진 하나의 전송링크를 통해 여러 데이터를 전송

- 파장분할 FDM : 주로 유선방송에 사용, 간섭 방지하기 위해 보호대역 둠, 사람음성/데이터를 아날로그형태로 전송

- 시간분할 TDM > 동기식 STDM : 시간슬롯 고정적 할당                 

                        > 비동기식 ATDM : 데이터있는 채널만 차례대로 시간슬롯 이용하여 전송- 코드분할 CDM

 

 변조 방식 

- 변조 (=Keying)과정 : 표본화 → 양자화 → 부호화  /  복조 과정 : 복호화 → 여과

     > 아날로그 데이터 → 아날로그 신호 :  AM (진폭 변조) / FM (주파수 변조) / PM (위상 변조)

     > 아날로그 데이터 → 디지털 신호 : PCM (펄스부호 변조)

     > 디지털 데이터 → 아날로그 신호 : ASK (진폭편이 변조) / FSK ( 주파수편이 변조) / PSK (위상편이 변조) 

PSK 종류 DPSK QPSK (대역폭효율 2bit/hz) ODPSK
위상 차 180 90 45
위상편이 2위상 편이 4위상 편이 8위상 편이

+ 직교진폭 변조QAM = ASK+PSK (진폭, 위상 변조)  : 대역폭효율 8 bit/hz, PSK보다 오류확률↓, 2차원 벡터공간에 표현가능

+ QPSK = 두 개의 BPSK를 합성한 것, 피변조파 크기 일정, I/Q채널 두개가 존재

 

<변조 시>

a위상 = 2^n = n bit

b진폭 = 2^m = m bit

a위상 b진폭 한번에 전송할 수 있는 bit = n+m bit

전송속도bps =  x baud * (n+m)

 

양자화 레벨(계단수) = 2^n (n: 양자화 비트수)

 IP주소 

  =  네트워크영역.0.호스트영역 형태

BroadCast : 서브넷 범위 내 모든 시스템에 Frame 전송 -> 그 시스템은 CPU가 패킷 처리하도록 함

              : 트래픽에 비례하고 CPU성능과 반비례

   > 트래픽제한 VLAN : 논리적인LAN, BroadCast가 도메인구분할 수 있게 함, 보안/성능 ↑

MultiCast : 일부분에만 전송, 라우터 지원여부 필수, 탈퇴시 IGMP 사용

UniCast : 정보전송을 위해 Frame에 자신과 목적지의 MAC주소를 전송, CPU성능에 영향X

AniCast : 가장 가까운수신자에게 전송

* IPV4      ------------------------->      IPV6

                      Dualstack

               Header Translation

                      Tunneling

(Tunneling: 꼭 Ipv4상태에서 통과 후 ipv4패킷에서 ipv6 캡슐화 함)

 

+) IPv4의 classE = 실험적인 주소 (기출문제)


 프로토콜 

: 서로다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화 시켜놓은 통신 규약

> 기본요소

     - 구문 Syntax : 전송할 데이터 형식, 부호화, 신호레벨 등 규정

     - 의미 Semantics : 효율적이고 정확한 정보전송을 위한 협조사항과 오류관리를 위한 제어정보 규정

     - 시간 Timing : 두 기기간 통신속도와 메시지의 순서제어 규정

 

 OSI 7계층   

(데이터전송단위) (네트워크장비)

- 1계층 물리계층

    : bit, Hub, 장치연결  ex) ICMP프로토콜

 

- 2계층 데이터 링크계층

    : 프레임, Bridge, 전송, 링크설정/유지/종료 담당, 노드 간 오류/회신/흐름제어기능

    : L2스위치 - MAC주소 기반 스위칭, 전송프레임

 

- 3계층 네트워크계층

    : 패킷, 패킷전달 과정에서 요구하는 서비스 품질을 위한 수단제공 

    : L3스위치 - IP주소 기반, L2에 라우터기능 추가 

    : 라우터 (서로 다른 대역 호스트(LAN, WAN) 상호 간 통신 할 수 있도록 하는 장비, 프로토콜 변환기능)

    : 백본스위치 (네트워크 연결 시 중추적 역할, 대규모 트래픽 처리, 모든 패킷 지나가는 네트워크 중심에 설치)

     ex) ICMP(패킷 처리문제 알림), IP (비연결형 서비스)

    + 논리주소(IP) → 물리주소(MAC) = ARP / 물리주소(MAC) → 논리주소(IP) =RARP 프로토콜

 

- 4계층 전송계층(Transport)

    : 신뢰성 데이터 전송을 위한 오류검출/ 복구/ 흐름제어 역할

    : netcat(UDP와 TCP사용하여 네트워크 연결, 읽고 쓰는 유틸리티)

    : L4스위치 - TCP/ UDP기반으로 트래픽 분류, 부하 작은 곳에 배분하는 Load Balancing기능 제공

- 5계층 세션계층

    : Message, 대화유지를 위한 구조, 연결 접속, 동기제어  ex) RPC, NetBIOS

 

- 6계층 표현계층

    : Message, 형태/하위계층 데이터를 사용자 형태로 변환해줌  ex) JPEG, MPEG(멀티미디어 표준규격)

 

- 7계층 응용계층

    : Message  ex) HTTP(텍스트 기반), SMTP(TCP의 25번 사용, 이메일 전송), FTP(파일 전송), DNS, Telnet

 

+)  IP데이터 그램 구조 : Version/ protocoll/ identificatior

 

 TCP/ IP 프로토콜 

  =OSI의 __계층 역할 / 종류
응용계층 응용,표현,세션 : 프로그램간 데이터 송/수신제공
FTP / SMTP(전자우편교환)/ Telnet/ SNMP/ DNS(IP주소로 매핑)/ HTTP
전송계층 전송 : 호스트간 신뢰성있는 통신제공
TCP(양방향,가상회선연결,스트림위주전달)/ UDP(비연결형, 단순헤더)/ RTCP(패킷전송)
인터넷계층 네트워크  : 데이터전송을 위한 주소지정, 경로설정 제공
IP/ ICMP(헤더=8byte)/ IGMP(멀티캐스트 그룹유지 위해사용)/ ARP/ RARP
네트워크
액세스계층
데이터링크,
물리
: 실제 데이터(프레임)를 송/수신하는 역할
IEEE802, X.25, HDLC, ARQ

 X.25프로토콜 

> 물리계층 : 패킷교환망 통해 DCE/DTE간 인터페이스 제공, 전기적/기계적/절차적/기능적 특성가짐, 비트 단위들 교환

> 링크계층 : HDLC 프로토콜 기반

> 패킷계층 : Sliding Window 프로토콜 사용, 다중화기능, 망 고장 시 회복 매커니즘 규정

                  : 연결 지향성을 기술한 가상회선을 지원함(회선 설정/해제)

   * 가상회선 : SVC(통신시에만 통신경로 설정/해제), PVC(통신경로 고정적으로 ) 

 HDLC프로토콜 

: 비트위주 프로토콜, 점대점/멀티 포인트 링크를 위해 ISO에서 개발

   > 문자지향전송 프레임

 프레임  주소 Address 제어 Control 정보 Data 프레임  FCS부착( for오류검출 )

      ↓                                                                                           => Cyclic Redundancy Check 방식

: FCS 영역검사 / 종류 식별하기 위해 제어 필드 (동작모드 - 정규응답 NRM, 비동기 응답 ARM, 비동기 평형모드 ABM) 사용

 - 프레임 유형

   > Infomation (오류/흐름제어를 위해 S-Frame사용)

   > Supervisory (정보Data 필드없음, 오류제어- Go N Back, 선택적 재전송 ARQ방식 / 흐름제어 - Sliding Window 방식)

   > Unnumbered 비번호

   프레임 = 전송Data + 제어정보

 

 ARQ  (자동반복요구) : 오류 발생시 프레임 재전송 

  > Stop and Wait : 구현간단, 송신측 버퍼 1개만 있어도 됨, 확인메시지 필요, 프레임의 수신번호 이용해 중복 수신여부 확인

  > Go back N / Flow Sending / Selective Repeat   ARQ

 

 

 IP 라우팅 

목적 : IP패킷을 목적지 주소까지 전달하기 위함 

       전달할 정보 DB는 라우팅 TABLE => 테이블 채우는방법 : Connected, Static라우팅, Dynamic라우팅

종류

- Static 라우팅: 경로를 미리 정하고 경로를 설정

- Default 라우팅 : 목적지가 없는 경우

- Dynamic라우팅 : 라우터와 라우팅 프로토콜에 의해 경로를 설정 

     - IGP(내부) : 거리벡터방식RIP / 최적의 경로선택하는 Link-State 방식OSPF

    - EGP(외부): Advanced 거리벡터방식 BGP

 

 라우팅 프로토콜 

RIP : 소규모 네트워크에 적합, 최대홉수 15개, 거리벡터방식, 최단경로 알고리즘 = Bellman-Ford알고리즘

IGRP : 중규모 네트워크에 적합, RIP 단점 보완, 네트워크 상태를 고려하여 라우팅

OSPF : 대규모 네트워크에 적합, 홉수제한 없음, Link-State 방식, 최소지연, 최대처리량 등 라우팅 메트릭지정

        : 라우팅 정보에 변화 발생시 변화된 정보만 라우터에게 알림

BGP : 자율시스템AS간 라우팅 프로토콜, EGP단점 보완, ISP상호간 주로 사용


 경로제어 

: 한 경로에 데이터 양이 집중되는 것을 피하면서 최적의 패킷 교환경로 결정

: 라우팅 테이블 참조

- 제어요소 : 성능 기준, 경로결정 시간/장소, 발생지, 경로정보 생신시간

- 프로토콜

    > IGP : 자율시스템(AS)에 의해 라우팅에 사용 / RIP(소규모, 30초마다 알림), OSPF(대규모, 변화부분만 알림)

    > EGP : 자율시스템간 라우팅에 사용

    > BGP : 자율시스템간 라우팅 테이블 전달하는데 사용, EGP단점보안 (초기 연결시 테이블 교환 -> 이후 정보만 교환)

네트워크 : 정보전달 위해 연결된 통신설비 집합

     > 광대역 WAN : 국가와 대륙간 연결, 속도 느림, 에러 발생률↑, LAN으로 연결된 통신망들을 연결하는 방식

     > 근거리 LAN : 속도 빠름, 에러 발생률↓, LAN끼리 스위치로 연결, 버스/링형 구조 사용

     > 부가가치 VAN : 전송기능 이상의 부가가치를 부여한 정보통신망

                           : 기본통신(전송)/ 네트워크(교환)/ 통신처리/ 정보처리 계층

 

▶ 네트워크 구축 

- 성형(star형)

 : P2P방식 회선, 중앙컴퓨터 통해 데이터 교환 => 중앙컴퓨터 고장 시 영향 O, 단말 제거 용이, 교환 노드 수 가장 적음

- 링형(루프형)

 : P2P방식 회선, 분산/집중제어 가능, 단방향/양방향 전송 가능, 단말 추가/제거 어렵 => 전송 지연 발생

- 버스형

 : 1개의 통신회선과 여러 단말로 구성, 회선길이 제한 있음, 구조가 간단, 단말 추가/제거 용이, 영향력↓,신뢰성↑

- 계층형(분산형)

 : 중앙컴퓨터와 일정 단말, 1개의 회선으로 구성, 분산처리 시스템 구성 방식

- 망형(mesh형)

 : 모든 컴퓨터와 단말이 서로 연결, 노드 연결성↑, 장애 시 다른 단말 사용/ 노드 n개, 회선=n(n-1)/2 개, 포트 n-1개

 

네트워크 구축 모델 

: 코어/ 분배/ 액세스 계층

 

데이터 통신방식 

- 단방향

- 양방향 > Half Duplex : 동시 X, 2 선식 선로 사용

            > Full Duplex : 동시 O, 4 선식 선로 사용, 전송량과 전송매체 용량이 큰 경우 적합

- 비동기식 : start bit, stop bit, 정보 bit로 구성된 한 문자 단위로 하여 전송 + parity bit (오류 검출을 위함)

               : 휴지기간 불규칙, 대량 전송 시 Farming Error 가능성↑, 오버헤드 가능성↓, 전송효율↓, 단거리에 적합

- 동기식 : 미리 정해진 만큼 문자열을 블록으로 생성, 타이밍 신호(클럭)를 공급하여 동기 유지

            : 휴지기간 없음, 전송속도와 효율↑, 오버헤드 없음, 버퍼 기억장치 필요, 원거리에 적합 

   > 문자 동기 : BSC 프로토콜

   > 비트 동기 : SDLC/ ADCCP/ HDLC 프로토콜

HDLC 프로토콜

 

 

 

 분산처리 시스템 

for 자원공유, 연산속도, 신뢰도 향상

: 네트워크를 이용한 동시 작업처리 시스템

: 독립적인 처리능력을 가진 컴퓨터 시스템을 통신망으로 연결한 시스템

: 제한된 장치를 여러사용자가 이용가능

: 점진적 확장 용이, 설계 복잡, 보안문제

: 사용가능도 ↑, 결함 허용 가능, 서비스 질 떨어짐

: 중앙집중형에 비해 SW개발 어렵

 

> 투명성 Transparency 

> 계층구조  :  HW계층 / 기억장치계층 / 프로세스계층 / 파일시스템 계층 / 사용자프로그램 계층

> 시스템 종류


 다중처리 시스템 

: CPU가 여러개인 시스템

: 한 처리기(Proccesor) 고장시에도 정상작동

 >  다중처리기 운영체제 

 

 클러스터 시스템 

   > 클러스터 : 네트워크를 통해 여러 컴퓨터를 연결하고 단일 컴퓨터 처럼 동작하도록 제작

                  : 확장성 제공, 여러 노드로 구성시 다중 프로세서가 되며, 각 노드 고장시 서로 영향 X

 : 물리적으로 분리상태 이지만, 많은 CPU를 LAN으로 서로 연결하여 한 곳에 모아 특정 작업을 수행하는 시스템

 : 고속처리 가능

 

 - 여러 마크 표시하기 source 

<div id="map" style="width:100%;height:350px;"></div>
<script>
//지도생성
var mapContainer = document.getElementById('map'), // 지도를 표시할 div  
    mapOption = { 
        center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표
        level: 3 // 지도의 확대 레벨
    };
var map = new kakao.maps.Map(mapContainer, mapOption);

// 마커를 표시할 위치와 title 객체 배열입니다 
var positions = [
    {
        title: '카카오', 
        latlng: new kakao.maps.LatLng(33.450705, 126.570677)
    },
    {
        title: '생태연못', 
        latlng: new kakao.maps.LatLng(33.450936, 126.569477)
    },
    {
        title: '텃밭', 
        latlng: new kakao.maps.LatLng(33.450879, 126.569940)
    },
];

for (var i = 0; i < positions.length; i ++) { 
    // 마커를 생성합니다
    var marker = new kakao.maps.Marker({
        map: map, // 마커를 표시할 지도
        position: positions[i].latlng, // 마커를 표시할 위치
        title : positions[i].title, // 마커의 타이틀, 마커에 마우스를 올리면 타이틀이 표시됩니다
        image : markerImage // 마커 이미지 
    });
}
</script>

 

 - 마커에 인포윈도우 표시하기 source 

<scriopt>
// 지도생성
// 마커를 표시할 위치와 title 객체 배열입니다
  var positions = [
    {
      iwContent: "<div>카카오</div>",
      latlng: new kakao.maps.LatLng(33.450705, 126.570677),
    },
    {
      iwContent: "<div>생태연못</div>",
      latlng: new kakao.maps.LatLng(33.450936, 126.569477),
    },
    {
      iwContent: "<span>근린공원</span>",
      latlng: new kakao.maps.LatLng(33.451393, 126.570738),
    },
  ];
  
  for (var i = 0; i < positions.length; i++) {
    // 마커생성
    var marker = new kakao.maps.Marker({
      map: map, // 마커를 표시할 지도
      position: positions[i].latlng, // 마커를 표시할 위치
    });
    
    //인포윈도우생성
    var infowindow = new kakao.maps.InfoWindow({
      position: positions[i].latlng, //인포윈도우 위치
      content: positions[i].iwContent, //인포윈도우 내용
    });
    infowindow.open(map, marker);
  }
  </scriopt>

 


 - 조합하여 여러 마커와 여러 인포윈도우 Source 

<script>
//지도생성 
// 마커가 표시 위치입니다 
var markerPosition  = new kakao.maps.LatLng(33.450701, 126.570667); 

// 마커를 생성합니다
var marker = new kakao.maps.Marker({
    position: markerPosition
});

// 마커가 지도 위에 표시되도록 설정합니다
marker.setMap(map);

var iwContent = '<div style="padding:5px;">Hello World! <br><a href="https://map.kakao.com/link/map/Hello World!,33.450701,126.570667" 
						style="color:blue" target="_blank">큰지도보기</a>
                        	<a href="https://map.kakao.com/link/to/Hello World!,33.450701,126.570667" style="color:blue" target="_blank">길찾기</a></div>', 
                            	// 인포윈도우에 표출될 내용으로 HTML 문자열이나 document element가 가능합니다
    iwPosition = new kakao.maps.LatLng(33.450701, 126.570667); //인포윈도우 표시 위치
    
// 인포윈도우를 생성
var infowindow = new kakao.maps.InfoWindow({
    position : iwPosition, 
    content : iwContent 
});
  
// 마커 위에 인포윈도우를 표시. 두번째 파라미터인 marker를 넣어주지 않으면 지도 위에 표시됩니다
infowindow.open(map, marker); 
</script>

 

 

 

 -> 결과

  : div의 넓이를 조절하고 싶어서 개발자 도구로 보았더니 별도의 id나 class가 없고 카카오 자체소스에서 element style div넓이를 정해 놓은듯 해보여 방법이 필요

음,, 안되네요.. 혹시 아시는분 댓글좀 남겨주세요 ⸝⸝• ̫•⸝⸝

+ Recent posts