2018년 10월 14일 일요일

정리 해야할 것들


ETL -> 추출, 변환, 적재 (DB에서 사용) extract, transform, load


카프카 -> pub, sub모델의 메세지 큐 분산환경에 특화되어있음
          -> publisher는 메세지를 topic을 통해서 카테고리화 한다. 분류된 메세지를 받기를 원하는                    receiver는 그 해당 topic을 구독(subscribe)함으로써 메세지를 읽어 올 수 있다.

opencv -> 실시간 이미지 프로세싱을 위한 라이브러리

inception -> 구글에서 개발한 tensorflow 기반의 모델

tensorflow -> 뉴럴네트워크 기계학습을 위한 오픈소스 라이브러리

tensorflow - gpu를 사용하면 속도 10배 이상 빨라짐

docker -> 컨테이너 기반의 오픈소스 가상 플렛폼, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공
    컨테이너는 격리된 공간에 독립적인 프로세스를 실행함, host os와 동일한 부분은 두고 다른
    부분만 컨테이너 내에 패키징한다. host os 에서 명령어를 수행한다.

마운트 -> 리눅스에서 물리적 하드웨어 위치와 폴더의 경로를 연결시켜줌

sql light ->  가벼운 DB 프로그램 (앱에서 사용함)

허브,스위치,라우터 (뒤)

라이센스 확인


dp알고리즘 하나의 문제를 한번만 풀고 답을 저장함
                  큰 문제를 작은 문제로 나누고, 작은 문제의 답을 다시 사용할 수 있게 저장함.
백트레킹 알고리즘 -> 유망하지 않은 노드를 제외하고 다시 부모 노드로 돌아감 -> 시간단축
크루스칼 알고리즘


커널 
- 운영체제를 규정 짓는 매우 중요한 부분. 하드웨어의 자원을 자원이 필요한 프로세스에 나눠주고, 프로세스, 메모리 관리 (시스템콜 을 수행하는 부분)











1. 허브

허브는 여러개의 포트가 있고, 그중 한포트로 들어온 패킷을 단순히 들어온 포트를 제외한 모든 포트로

보내주는 역할을 합니다.

허브를 통해 구성된 로컬망의 모든 장비들이 이처럼 모든 패킷을 공유 한다고 생각 하면 됩니다.

당연히 트래픽 부담이 큽니다.


2. 스위치

위 에서 설명한 허브의 동작을 보면 a 라는 장비가 b 라는 장비에게 데이터를 주고자 하지만 c, d, e 도 이를 다

받게 됩니다. 쓸데 없는 일이 일어나 트래픽이 증가 하는 것이지요. 그래서 이런 불필요한 작업을 줄이고자

개선한 방식입니다.

그 방법은 로컬망에 연결된 장비들의 ip 와 mac 주소를 매핑시켜 그 테이블을 가지고 있다가, 목적지에 맞게

보내 주는 것 입니다. 마치 우채국과 같군요.

그래서 스위치는 처음 장비가 접속되면 위 ip와 mac 주소 테이블을 생성 하는 작업을 해야하고, 끊기면, 위 테이블을

지워주는 역할을 해야 합니다. 그 시간이 조금씩 걸리지요.


3. 라우터

스위치만 있으면 로컬망에 연결된 장비들 끼리 네트워크가 구성됩니다.

하지만 로컬망일뿐 외부와 연결이 되지 않습니다.

라우터는 스위치의 기능에 추가해서 네트워크 상의 가장 가까운 곳에 위치한 다른 라우터의

주소도 가지고 있어 이 라우터와 통신이 가능 합니다.

라우터 끼리 통신을 함으로써 로컬망을 벗어 나게 되며 이들의 집합이 인터넷 이라고 생각 하면 됩니다.

라우터가 가지고 있는 스위치의 기능중 ip 와 mac 테이블이 있다고 했는데. 만약 이 라우터에 연결된

한 장비가 데이터를 보내고자 하는 목적지가 이 테이블리스트 중에 없다면 그냥 가장 가까이에 있는

다른 라우터로 패킷을 보냅니다. 이 가까이 있는 다른 라우터와의 통로가 바로 게이터웨이 입니다.

그래서 게이트 웨이는 외부로 연결되는 통로를 개념적으로 말하는 것이고, 이 기능을 담당하는 것이 라우터가 됩니다.


그럼.. 마지막으로 공유기는 무엇 일까요?

네트워크의 개념을 잡을때 공유기의 위치가 참 애매 한데요.

공유기는 라우터 인가요? 라는 질물을 한다면 " 그..그런거 같기도 한데요??"  라고 말 하겠습니다.


공유기는 일반적인 라우터에서 포트수를 줄이고 NAT 이라는 기능을 추가한 것입니다.

NAT ( Network Address Translation ) ... 사설 IP 분배 기능 입니다.

그래서 인터넷 공급 업체에서 공유기를 갖다 줍니다. 자기네들 서버에서 IP 를 하나 할당 받아..그 하나의 IP 를

집에 연결된 여러개의 컴퓨터에 공유 하기 위해서 입니다.


결론적으로 .. NAT 기능과 스위칭 허브기능이 추가된 라우터  =  집에 설치된 공유기 .. 입니다... 써놓고 보니.. 공유기가

정말 이렇게 엄청난 녀석인가? 하는 생각이 듭니다.

flutter 기본 개념 1

  Scaffold  - 화면 뼈대 역할  - 기본적으로 AppBar body floatingActionButton 같은걸 배치해줌  return Scaffold (       appBar : AppBar ( title : const Text ...