안녕하세요. OCOL 입니다.
OCOL의 다섯 번째 쿠키🍪
2020.10.25

다섯 번째 쿠키에서는,
  • 시리얼 통신 알아보기
  • 양자 컴퓨터가 보안에 미칠 영향
  • 넘파이(Numpy)와 함께 땅따먹기를 - 00
  • 우리 버디님은 인공지능 5화
  • 오늘의 음악은?
순서로 구성되어 있습니다. 마지막에 본글 링크가 모여 있으니 끝까지 편하게 읽으셔도 좋습니다. 오늘 쿠키도 즐겨주세요😉
by TULA
시리얼 통신 알아보기
통신의 기초 다지기 - 1
안녕하세요, 오늘은 라즈베리파이와 아두이노를 활용할 때 기초적으로 알아두면 좋은 “시리얼 통신” 에 대하여 알아보겠습니다. 이번 글을 시작으로 여러 통신 방법에 대해 소개할 수 있는 첫 스타트가 되길 바랍니다! 이번 주도 힘내서 한 번 달려볼까요?
시리얼 통신이란
시리얼(Serial) 통신이란, 직역하자면 직렬 통신이라고 할 수 있습니다. 아두이노에서 총 8bit의 데이터를 보내야 하는 상황을 가정해봅니다. 총 8개의 bit가 존재하는 상황에서 직렬은 다음과 같이 데이터가 전송됩니다. 1개의 bit 단위로 1개의 채널을 사용하여 데이터가 전송되는 겁니다. 언뜻 보면 동시에 전송되는 병렬 통신 방법이 좋아보일 수도 있지만, 만약 통신선과 데이터가 늘어나게 된다면 비용과 공간이 늘어나게 되어 직렬 통신 방법을 대체로 사용합니다. 직렬 통신의 종류도 2가지로 나뉘는데요. 데이터를 한 개의 채널을 사용하여 연속해서 보내다보면 시작과 끝을 구분해야 할 것입니다. 그래야 원하는 데이터를 받아볼 수 있겠죠. 이러한 시작과 끝을 어떻게 구분하느냐에 따라 2가지의 종류로 나뉩니다.
직렬통신  동기 방식
동기 방식의 직렬 통신은 데이터가 보내지는 것과 별개로 ‘클럭’이라는 신호를 함께 보내는 방식입니다. 신호에 맞추어서 동작하게 되는 것입니다. 이 신호를 보내기 위해선 별도로 클럭 신호를 보내는 선이 필요합니다.
직렬통신  비동기 방식  
직렬 통신의 비동기 방식은 별다른 신호선 없이 보내지는 데이터에 시작과 끝을 나타내는 내용이 들어가게 됩니다. 최소한 이런 식으로 데이터가 오기 때문에 동기 방식보다 느릴 수밖에 없습니다. 여러 제어 정보가 들어갈 수도 있어 느리지만, 동기 방식과 반대로 쉽게 회로를 구축할 수 있고 저렴하다는 장점이 있어 각각의 장단점이 뚜렷하게 나뉘어집니다.
시리얼 통신의 종류들 
  • 인터페이스 표준들 : RS-232, RS-422, RS-485
  • LIN, CAN : 자동차 내 전자기기 간 배선 네트워킹
  • 이더넷 : LIN, WAN 등에 사용
  • 그밖에 USB, HDMI 등등 여러가지 존재
글을 마치며
시리얼 통신에 대한 간단한 이야기를 나눠봤습니다. 어떤 것인지 대략 개념이 잡히시나요? 아마 라즈베리파이와 아두이노를 다루다보면 자주 듣게 되는 단어일 겁니다. 이제 누군가 시리얼 통신이 대체 뭔데, 라고 한다면 대답하실 수 있으실 거예요!
좀 더 자세한 정보나, 댓글은 본글 링크로 와주시면 됩니다. 😆
by 한닢
양자 컴퓨터가 보안에 미칠 영향
컴퓨팅 능력의 터닝 포인트
네 번째 쿠키에서 예고한 "터닝 포인트"는 양자 컴퓨터였습니다. 양자 컴퓨터는 양자의 특성을 이용해 자료를 처리하는 컴퓨터를 뜻합니다. 양자의 주요 특성에는 중첩과 얽힘이 있습니다.

첫 번째 중첩과는 암호 해독이 연관되어 있습니다. 고전 컴퓨터가 비트(Bit) 단위로 계산된다면, 양자 컴퓨터에는 큐비트(Qubit)가 기본 단위입니다. 만약 고전 컴퓨터에서 8비트의 정보를 처리하려면 2⁸개의 정보를 다 따져보게 됩니다. 그런데 양자 컴퓨터의 8개의 큐비트로는 이 계산을 한 번에 할 수 있습니다. 단 한 번의 프로세스로 0과 1에 대한 연산을 동시에 수행 가능하기 때문이죠. 따라서 양자 컴퓨터의 상용화가 컴퓨터의 계산 속도의 큰 변화를 불러일으킬 것이고, 그에 따라 여러 암호화 체계가 붕괴될 것입니다. 
두 번째 얽힘과는 통신 네트워크가 연관되어 있습니다. 양자 세계에서는 관측하는 행위가 변화를 일으킵니다. 마치 운명의 빨간 실처럼 양자는 막 얽혀있어서, 하나의 양자를 관측하는 즉시 다른 양자의 상태가 결정됩니다. 그래서 만약 통신 네트워크에 양자를 적용해 양자 통신 네트워크를 사용하게 된다면, 그 네트워크 상에서는 누군가 가로 채서 읽는 즉시 데이터의 변화가 발생합니다. 따라서 이런 환경에서는 통신을 통한 해킹은 아예 불가능해진다는 뜻이 됩니다. 해킹으로부터 완전히 자유로워지는 것이죠.
그럼 이 좋다는 게 왜 아직 안 쓰이냐?
양자 컴퓨터의 사업화 가능성이 보장되지 않았고, 양자 알고리즘의 절대적인 양도 부족해서 상용화까지는 아직 되지 않았다고 합니다. 그렇지만 이런 부분이 언젠가 해결이 될 것입니다. (과거에는 불가능하다고 생각했던 것이 지금은 당연 시 된 것처럼요.) 그전까지 양자 컴퓨팅에 대해서 미리 알아두면 앞으로의 미래가 더 재밌어지지 않을까요?😄
by TULA
인문학적 시선으로 인공지능 파헤치기 [6호]
넘파이(Numpy)와 함께 땅따먹기를 - 00
인생에서 가장 중요하게 생각하는 단어를 고르라면 대부분 돈, 명예, 권력, 학벌과 같은 인공적인 단어들을 고를 것이다. 감성이 풍부하거나 면접 상황에 놓인 사람이라면 사랑, 관찰, 도전 등을 주요 후보에 올린다. 이들에게는 공통점이 있다. 대부분이 명사라는 것이다. 동사는 참으로 등한시하기 쉽다. 행동의 시작과 종료에만 집중하다 보니 그들 사이의 과정을 잊어버린다. 이러한 특성이 사람들을 곤란한 상황에 몰아넣는 주범이 아닐까?
필자가 제일 좋아하는 단어 중 하나는 ‘뒤집다’이다. 오늘의 글과도 연관이 있다. 아기의 뒤집기부터 기업의 판 뒤집기까지 ‘뒤집다'의 영향력은 크다. 가만히 바라보고 있노라면 컴퓨터의 입장에서도 두 상태를 나름대로 표현할 수 있다.
0과 1이다.
이 글을 읽는 독자 여러분은 인공지능을 공부하겠다는 목표 아래 한데 모인 사람들이다. 그 곁에서 절대 떠나지 않을 도구가 바로 넘파이(Numpy, Numerical Python의 약자)다. 왜 넘파이가 필요할까? 그에 앞서 앞에서 말한 ‘뒤집다'를 생각할 필요가 있다.
현실 데이터는 형태가 매우 다양하다. 사진, 음악, 영상, 이 글(텍스트), 측정값 등. 형식도, 크기도, 출처도 다양한 이 데이터들을 프로그램에서 어떻게 분석, 가공, 저장할 수 있을까? 컴퓨터는 뒤집은 상태와 뒤집지 않은 상태, 즉 0과 1로 모든 것을 받아들인다. 어떤 형태의 데이터든 그 데이터를 분석할 수 있도록 만드는 첫 번째 단계가 바로 ‘데이터를 숫자 배열로 변환하는 것'이다. 따라서 숫자 배열을 효과적으로 저장하고 가공하는 것은 데이터 과학의 핵심이자 기초다. 이에 넘파이는 복잡한 데이터들을 저장하고 처리하는 데 필요한 좋은 인터페이스를 제공한다. 넘파이는 데이터 과학의 판도를 ‘뒤집었다’.
넘파이와 만나는 방법, 즉 넘파이를 사용하는 방법은 import 키워드를 사용하는 것이다. 두 가지 방법이 있다. 첫 번째는 넘파이의 이름을 그대로 불러주는 것이다. 하지만 데이터 사이언티스트 중 아무도 이렇게 하지 않는다. 간결함 또한 생명이기 때문이다. 따라서 넘파이는 코드상에서 자신의 애칭인 ‘np’로 더 자주 불린다.
다음 뉴스레터부터는 ‘넘파이 배열'을 설명할 예정이며 본격적인 넘파이 연산 코드들이 나온다. 연산 코드는 마치 땅따먹기를 한다고 생각하면 쉽다. 특정한 함수에 집어넣을 때마다 숫자가 이리 바뀌고 저리 바뀌기 때문이다.
두려워하지 마시길. 늑대와 함께 춤도 출 수 있는데, 넘파이와 함께 땅따먹기를 하는 것은 왜 하지 못하겠는가?
**어떤 환경에서나 실습할 수 있는 코랩 노트북 링크와 함께, 넘파이 일러스트와 더 자세한 글을 향유하고 싶으시다면 본글 링크로!
by Suyeon Park
[5화] 우리 버디님은 인공지능

by Suyeon Park
오늘의 음악은?

오늘의 쿠키는 여기까지 입니다.
다섯 번째 쿠키는 어떠셨나요?
오늘의 쿠키가 좋았다면?
👆👆👆
친구나 동료에게 공유해주세요!
😉좋은 건 나눠 먹어야죠!
OCOL
one.cookie.one.line@gmail.com