목록전체 글 (270)
Douglas' Space
OTA(Over-The-Air)라는 말이 이제는 정말 익숙해 지셨을 것이라 생각합니다. 테슬라가 OTA를 통해 오토파일럿 프로그램을 업데이트하여 많이 사용하는 용어가 되었습니다. 예전에는 Air Update라는 용어를 쓰기도 했던 것 같습니다. 결국 유선이 아닌 무선으로 무언가를 할 때 사용하는 말이니 wireless와 유사한 개념이라고 생각해도 될 것 같습니다. 그러나 주로 무선을 통해 소프트웨어를 업데이트 하는 관점에서 OTA라는 용어를 사용합니다. OTA의 어원은 텔레비전을 처음 송출하던 1927년에 사용되었던 것으로 생각됩니다. 따라서 소프트웨어 업데이트에 많이 사용되지만 무선으로 하는 모든 기술(OTA technology)을 지칭한다고 할 수 있습니다. OTA에 의한 소프트웨어의 업데이트의 경우..
1. 들어가면서 시스템의 요구사항은 크게 functional requirements와 non-functional requirments로 구분할 수 있다고 말씀드렸습니다. 이번 글에서 기술할 functional model은 요구사항중 functional requirements를 분석하여 이를 모델링한 결과를 표현하는 모델입니다. software system의 관점에서는 가장 기본적이고 필수적인 요구사항이라고 할 수 있습니다. 그런데 기능이란 무엇일까요? 시스템이 수행할 일이라고 바꾸어 이야기할 수 있을 것 같습니다. 따라서 시스템이 수행하는 일들이 무엇이고 이 일의 단위와 구조를 어떻게 잘 표현할 것인가가 functional model의 품질을 좌우한다고 할 수 있습니다. UML에서는 이러한 일의 단위를 ..
이번 글에서는 기술부채(technical debt)의 개념을 정리해 보도록 하겠습니다. 기술부채의 개념을 소개하기 전에 TCO에 대해 먼저 이해가 필요할 것 같습니다. TCO(Total Cost of Ownership)라는 용어는 많이 들어 보셨으리라 생각합니다. TCO는 제품의 획득과 운영유지보수에 투여되는 총비용을 의미합니다. 다시말해 제품의 수명주기 기간에 투여된 총비용을 말합니다. 소프트웨어는 하드웨어와 달리 닳지도 않는데 왜 수명주기가 존재할까요? 소프트웨어의 수명주기는 물리적인 존재의 의미보다 소프트웨어가 더 이상 가치가 없어 그 효용성이 없어 졌을 때 소프트웨어의 수명이 다 했다라고 볼 수 있습니다. 위의 그림은 소프트웨어 수명주기의 특징을 잘 설명해 줍니다. 소프트웨어의 수락시험을 통해 개..
어떤 사람이 자동차를 타고 가는데 어느 할머니가 무거운 짐을 머리에 지고 가고 있었다. 자동차에 탄 사람이 할머니를 보고 도와 드리기 위해 차를 세우고 할머니를 차에 태웠다. 그런데 할머니는 차를 타고도 계속 짐을 머리에 지고 계셨다. 운전가가 머리에서 짐을 내려 놓으시라고 이야기를 하니, 할머니는 이렇게 말했다. "나 하나 태워 주는 것도 고마운데 이 짐까지 어떻게 내려 놓습니까?" [베드로전서 5:7] 너희 염려를 다 주께 맡기라 이는 그가 너희를 돌보심이라.
딥러닝 기반의 인공지능이 다루는 데이타는 텍스트, 그래픽, 이미지, 동영상, 오디오 등이 있습니다. 이를 멀티미디어 데이타라고 합니다. 지금까지 주로 텍스트, 그래픽, 이미지 및 동영상과 관련된 기술에 대해 설명드렸습니다. 이번 시간부터는 오디오와 관련된 음성처리기술에 대해 정리해 보고자 합니다. 특히 사람과의 대화가 가능하도록 하는 음성인식 및 합성 기술에 대해 살펴보도록 하겠습니다. 음성인식은 사람이 말하는 음성을 텍스트로 변환하는 기술이라고 할 수 있습니다. 따라서 이를 기술적으로는 Speech-To-Text(STT)라고 부릅니다. 반대로 음성합성은 텍스트를 음성으로 변환하는 기술로 Text-To-Speech(TTS)라고 할 수 있습니다. 음성인식을 위해서는 먼저 사람의 음성이 아날로그이기 때문에 ..
최초의 디지털컴퓨터라고 하는 ENIAC이 탄도계산을 하기 위해 만들어 졌습니다. 이때는 컴퓨터가 할일을 하드웨어적으로 직접 코딩하여 사용하였습니다. 그러니 컴퓨터는 일반 사람들에게는 그냥 하드웨어 덩어리였을 것입니다. 그러다 컴퓨터를 쉽게 사용할 수 있도록 운영체제(operating system)를 만들었습니다. 지금은 일반 사람들도 운영체제를 알면 컴퓨터를 사용할 수 있게 되었고 컴퓨터와 운영체제를 동일시하게 되었습니다. 이것이 가상화의 시작이라고 할 수 있습니다. 가상화는 컴퓨터 자원의 추상화(abstraction)를 일컫는 광범위한 용어로서, “컴퓨터 자원의 물리적인 특징을 감추고 최종 사용자가 원하는 방식으로 제공하는 기술”을 모두 총칭하는 용어입니다. 많은 분들이 근래에 가상기계(virtual ..
지난 시간에 컴퓨터처리장치에 대해 알아보았습니다. CPU, GPU, NPU 등에 대해서 소개했습니다. 이러한 모든 컴퓨터처리장치들은 형태만 다를 뿐 그 기반은 이진수에 의한 폰노이만 아키텍처를 기반으로 하고 있습니다. 반도체의 집적도를 높이고 수많은 처리장치를 사용한 슈퍼컴퓨터가 존재하지만 모두가 0과 1로 상태를 표현하는 bit(binary digit)로 구성되는 이진시스템(binary system)입니다. 그래서 제가 글의 연재를 시작하면서 컴퓨터를 “0과 1 밖에 모르는 무식한 놈이 그 무식을 속도로 커버하는 놈”이라고 말씀 드린 것 같습니다. 그런데 요즈음 슈퍼컴퓨터를 능가하는 성능을 갖는 새로운 개념의 컴퓨터에 대한 관심이 높습니다. 구글과 IBM 등에서 연일 그 성능을 깨고 있다면서 발표하는 ..
튜링어워드(Turing Award) 를 아시나요? 컴퓨터과학 분야의 학회들의 연합체인 ACM(Assoication for Computing Machinery)에서 컴퓨터과학 분야에 업적을 남긴 사람에게 1966년 부터 매년 시상하는 상입니다. “컴퓨터과학의 노벨상”이라고 부릅니다. 딥러닝의 대가라는 몬트리얼대학의 요슈하벤지오(Yoshua Bengio), 토론토대학의 제프리힌턴(Geoffrey Hinton), 뉴욕대의 얀레쿤(Yann LeCun)이 2018년 딥러닝에 기여한 공로로 이 상을 받았습니다. 상의 이름에서 짐작할 수 있듯이 튜링은 엄청난 과학자였습니다. 일명 컴퓨터과학계의 아인슈타인이라고나 할까요. 여러분들이 많이 보신 “이미테이션게임”이라는 영화 속 주인공이기도 합니다. 배우 베네딕트 컴버배치..
혹시 이분을 아시나요? 제가 강의 때 자주 인용하는 사람입니다. 정말 이렇게 예쁜 분인지는 모르겠습니다. 매년 10월 두번째 화요일은 이 분을 기리면서 과학분야에 공로가 있는 여자과학자들을 기념하는 하는 날입니다. (약자로 ALD라고 부름) 이 분은 여자로서 천재라는 소리를 들은 분입니다. 36살의 젊은 나이에 암으로 죽었습니다. Ada라는 미국방성의 표준 프로그래밍언어도 이 분의 이름을 기린 것입니다. Ada는 영국의 시인인, Byron이라는 사람의 딸로서 1815년에 태어났습니다. 어려서 부터 수학을 잘했다고 합니다. 그래서 컴퓨터의 아버지라고 하는 Charles Babbage를 만나게 됩니다. Babbage가 컴퓨터의 아버지라고 불리우게 된 것은 어쩌면 Ada의 덕이 아닌가 개인적으로 생각이 들 정..