데이비드 마란는 : 모든 사람을 환영합니다. 그래서 어제, 당신은 그것을 기억합니다 우리는 여기에서이 주제에 초점을 맞추었다. 그래서 우리는 네 무엇보다 중요한 topics--했다 개인 정보 보호, 보안 및 사회; 인터넷 기술; 클라우드 컴퓨팅; 궁극적으로, 웹 개발. 사람이 있었나요 대역폭이나 시간 조금 존을 보는 올리버 지난 밤에? 그것은 실제로 꽤 재미 있어요 조금 무서운없는 경우. 아무것도에 대한 질문 우리는 어제나요? 모든 사항? 당신이 만들고 싶어 질문 우리는 몇 가지 형태로 오늘에 터치 있는지? 그래서 깨끗한 상태. 그래서 오늘의 의제입니까? 그래서 우리가 오늘 시작하는 줄 알았는데 일반적으로 무엇에 모습 에서 계산 thinking--로 알려진 지나치게 단순화의 위험, 생각 컴퓨터처럼, 아마도 엔지니어처럼 생각하고, 과를 시작하려고 당신의 생각을 정리 또는 당신의 더 나은 이해를 제공합니다 무엇을 실제로 지휘에 관여하는 것 컴퓨터에 뭔가를 할 수 프로그래밍의 방법으로. 그리고 우리는 꽤 그것을하겠습니다 높은 수준의, 거의 영어, 하지만 익숙한의 사용하려고 예를 들면 방법을 공식화하기 당신은 문제를 해결 갈 것입니다. 그리고 우리는 몇 가지 CS를 다시 방문합니다 주제, 추상화처럼, 이는 몇 등장 시간의 어제, 알고리즘하고 표현입니다. 우리가 시작 볼 수있는 곳 그리고 그건 그냥 순간에 오늘. 그 다음 우리는 프로그래밍을 살펴 보겠습니다. 우리는 몇 가지 살펴 보겠습니다 기본 구조 있는 당신은 잘 알고 있습니다 심지어 매우 직관적 찾을 수 있습니다. 우리는 사실, 볼 것이다, 샘플 프로그래밍에 매우 접근의 환경, 아주 장난, 실제로 대상 12 세까지합니다. 우리는 거기에 몇 분을 보낼 것이다 다음 하부 레벨을 가지 실제로 일부에 대해 이야기 알고리즘 및 데이터 구조 그래서, 말을 그합니다 프로그래머는 일반적으로 사용 훨씬 더 많은 문제를 해결할 효율적으로!보다 당신은 수도 모두 그들없이 할 수있을. 그런 다음 점심을 먹은 후, 우리는 살펴 보겠습니다 그냥 기술 스택에서 말하는 멋진 방법 기술의 컬렉션 당신은에 사용할 수있는 몇 가지 문제를 해결한다. 그리고 우리는 알파벳에 대해 얘기하자 존재하는 언어의 수프 today-- 자바와 파이썬과 C ++ 및 PHP와 루비와 다른 것들의 모든 종류. 우리는 좀 짧게 할게요 디자인 패턴에서. 프로그래머, 시간이 지남에, 채용 방법이 그들을 도와하는 경향 보다 쉽게​​ 문제를 해결한다. 당신이 시작할 때 작성하는 자신을 볼 수 또 다시 코드의 동일한 종류 사람들은 그 반복을 공식화 그들과 돌리다 이름 다음을 사용하여 궁극적으로,이를 촉진한다. 그리고 우리는 조금 얘기하자 모바일 전략에 대해, 같은 사실은 무엇을 의미 하는가 모바일 앱 또는 모바일 웹 사이트를 확인합니다. 당신은 안드로이드를해야합니까? 당신은 iOS 용해야합니까? 당신은 그 모두에 대한합니까? 그리고 장단점은 무엇인가? 그리고 마지막으로, 우리는 할게요 보고 웹 프로그래밍, 어떤 집단 용어입니다 정말 모든 시간을 설명하는 당신의 소프트웨어를 작성 웹에서 실행하기위한 것, 휴대 전화에 대한 여부 데스크톱 또는 노트북. 우리에 대한 간략한 살펴 보겠습니다 데이터베이스 및 디자인 거기에, 경우에만 있기 때문에 거의 모든 재미있는 웹 기반 응용 프로그램 요즘은 데이터베이스의 어떤 종류가 있습니다. 그렇지 않으면 것 그냥 정적 콘텐츠합니다. 그리고 데이터베이스는 만​​들 수 있습니다 변경 시간이 지남에 따라, 자신 여부 또는 사용자의. 그리고 우리는 방법을 고려해야합니다 설계 가겠어요 해당 데이터베이스와 전문 용어의 종류 그 엔지니어의에서 올 수도 화이트 보드에 토론 때 실제로 구현 처음으로 응용 프로그램. 우리는에 대해 간단히 얘기하자 API를 유용한 서비스 당신은 서서하는 데 사용할 수있는 다른 사람의 어깨, 회사 여부 또는 개인, 그리고 해결하여 더 빨리 자신의 문제. 그리고 우리는 아마도 손 대고 있습니다 자바 스크립트와 비트, 사용되는 프로그래밍 언어 브라우저에서 이러한 일뿐만 아니라, 두 서버한다. 그리고 아마도, 우리는거야 시간이 허락, 방문 손 -에 웹 물건 우리의 일부 어제했고, 두 가지를 통합 우리가 함께 휴회 전에. that--와 그래서 무슨 일이 ahead--가있어 아무것도가없는 당신이 우리가 삽입되었는지 확인하고 싶습니다 그리고 어떤 점에서에 터치합니다. 그것은 마음에 스프링의 경우, 머지 않아 그것을 가지고. 그런데 왜 우리는 시작하지 않는다 전산 사고 봐. 그리고 내가 그 제안하자 전산 사고는 다시이며, 높은 수준의 설명 일종의 컴퓨터 과학자가 할 수있는 것. 그리고 실제로, 시작하자 세 가지 재료와 그 전산 사고에 들어갈 수 있습니다. 이 그것을 설명하는 하나의 방법입니다. 우리는 확실히 정의 할 수 있습니다 방법의 수에서이. 하지만, 내가 제안하자 오늘날 위해, 세계의 문제 즉, 세계의 모든 문제, a로 접근 할 때 컴퓨터 과학자 수 로 볼 수 무엇을 우리는거야 전화 입력, 어떤 우리가 전화 할게 무엇인지에 공급하는 데 필요한 다음 출력을 생성 알고리즘. 즉, 전체 문제 해결 I 주장의 세계 로 증류 될 수있다 이 세 가지 성분. 그래서 입력에 의해 무엇을 의미합니까? 입력 당신이있어 것입니다 해결하기 위해 핸드. 예를 들어, 여기에 오래된 학교 문제. 내가 여기에 전화 번호부가있는 경우 및 나는 그것으로 뭔가를보고 싶어, 이 내 입력된다. 나는 1000 정도가 전화 번호부에있는 페이지를 참조하십시오. 이건 내 문제에 입력된다. 그리고 내가 뭔가를 찾으려면 마이크 스미스, 그래서 친구처럼 그의 이름과 번호입니다 희망이 주소록있다. 이 셀의 일전이다 전화, 그래서 난 그냥 검색 할 수 없습니다. 그래서 나는 오래해야 학교와 실제로 검색 일부 답변이 입력. 그리고 그 대답은 바로 것입니다 출력이라고합니다. 그래서 입력 전화 번호부이다. 이 알고리즘은의 어떤 집합입니다 단계는 내가 마이크 스미스를 찾기 위해 사용합니다. 출력은 희망이며 마이크 스미스의 전화 번호. 그리고 이것은 다음 단지 것 가장 문제의 대표 와 당신은 손으로 입력됩니다 출력을 생성 할 수 있습니다. 우리는 과정을 고려하기 전에 그래서 하는 우리는 그 문제를 해결할 수있다, 마이크 스미스를 찾는 그런 일, 의 첫 번째 고려하자 last-- 입력 및 출력. 실제로, 물론, 입력 여기 종이의 모두가 함께 붙어있다 전화 번호부의 형태 일 수있다. 그러나 컴퓨터, course-- 노트북을 데스크톱, 심지어 전화와 이러한 사람들은 days-- 전자 장치. 그리고 하루의 끝에, 무슨 일이야 컴퓨터에있는 유일한 입력? 음, 같은 뭔가 여기에이 전원 코드. 나는 벽에 연결하고, I는 전자의 흐름을 얻을 어느 날 컴퓨터를 실행할 수 있습니다. 아니면 그 전자는 내 배터리의 방법으로 만들었습니다. 그러나 결국, 그건 유일한 것은 내 노트북​​에 들어가는. 그리고 흥미로운 너무 많은 물건은 궁극적으로 여부 나오는 프린터의 방법으로 화면 또는 audially 등 나. 우리 모두가 같이있는 경우에 그래서 우리의 컴퓨터에 기본 입력 전기, 그래서 그냥 전자는,과 또는 외출 그래서 우리가 어떻게이 입력을 사용할 수 있습니다 실제로 정보를 표현하는 방법? 즉, 우리는 어떻게받을 수 있나요 전기 간단한 흐름 실제 표현에 숫자 또는 실제 문자 화면 또는 실제 이미지 실제 영화 나 이메일 또는 또는 이들의 임의의 개수 높은 수준의 개념, 만약에 당신, 그에서 하루의 끝 어떻게 든 이 저장되어야한다 전자 기계 장치 만 간단한 ingredients--를 사용하여 전자 및 나오는? 그래서 그런 것 같다, 가장 간단한 형태로, 상태의 종류 만 정말, 내 세계에있는 조건을 speak--하기 내을 전 세계가 하나 인에 나는 전자가 흐르는이 전기 흐르는, 아니면 해제, 등등 이것도 아니고 ... 않습니다. 그리고, 이제 온 오프 공식화하자 컴퓨터 과학자가 수도로 1과 0 그냥와. 그냥 어떤 임의의에 대해 설명하자 하지만 일관성 번호. 1은 0이 꺼져 의미에 대한 의미한다. 또는 당신은 또한이를 볼 수 있습니다 에 진정한 수단과 거짓을 의미합니다. 또한 검정 할 수있는 흰색 또는 빨간색과 파란색. 당신은 두 가지 설명이 필요합니다. 그리고 컴퓨터 과학자는 것 일반적으로 단지 0과 1을 사용합니다. 그런 경우라면, 내 유일한 알파벳 그래서 0과 1로 구성되는, 방법에 나는 아마도 수를 균일하게 얻을 수 컴퓨터에 2 형 숫자 3하자 또는 알파벳의 편지 이미지 또는 동영상 및? 어떻게 우리가 일종의 부트 스트랩 않습니다 이 기본 원칙에서 자신 0과 1의 실제로 더 흥미로운 무언가를 표현? 음, 그 질문을 넣어 보자 그냥 잠시 보류 뭔가를 고려 희망을 잘 알고, 당신은 정말 생각하지 않은 경우에도 50 (10)에 대한 세부 사항, 20, 30, 40에 년 이상. 이것은 무엇입니까? 당신은 어떻게 발음하는 것인가? 아니 트릭 질문입니다. 숫자는, 그러나 그것은 무엇인가? 1, 2, 3, 123. 당신이 말한 어떻게 내가 좋아하는 1, 2, 3, 그게 보는 하나의 방법이기 때문. 1, 2, 3, 그것은 일련의 세 가지 기호. 이 사진의 그 우리 지금은 단어가 있습니다. 그리고 당신은 일종의 그들 모두를 읽을 경우 함께 영어로 일반적인 인간 (123)를 말할 것입니다. 그리고는의 일종 높은 수준의 개념, 상당히 큰 숫자 같은 느낌이 든다. 그러나 우리는이 방법 거죠? 음, 이후 잠시 수 있습니다 당신은 이런 식으로 생각했습니다 하지만 다시 내 하루에, I 종류의이 배운 1 칼럼으로, 10 년대 열 및 100의 열입니다. Lakisa 말한대로 그래서, 그것은이다 1, 2, 3,뿐만 아니라 (123)이다. 그러나 우리는 어떻게에서받을 수 있나요 후자의 전? 글쎄, 당신은 일반적으로 할 것 100의 열, 나는 1 있습니다. 그 100 회 1 말처럼 그래서. 그리고 10의 열에서, 나는이 있습니다. 그 10 배이 말처럼 그래서. 1의 칼럼에서는 3 있습니다. 즉, 1 회 3 말처럼 그래서. 그리고 나는이 일을 추가하는 경우 함께,이, 물론, 100 플러스 10 플러스 3. 나는이 얻을 이유 아, 그건 (123)의 상위 레벨 개념. 그냥 기본적인 수학, 이에이있어 기호는, 그들에게 무게가 당신 경우 자리 표시 자 또는 열 값 것이다. 그리고 나는 모든 것을 곱하면 밖으로,이 번호를. 그래서 당신이 알고 얼마나 많은 방법을 이야기합니다 binary-- 0과 컴퓨터 등 1's--? OK, 완벽한, 아무도, 또는 당신의 아무도 당신이 생각하지 않습니다. 하지만 난 당신을 주장 것 실제로 이미 알고있다. 우리는 일종의 조정할 필요 우리의 정신 모델 조금. 그러나이 과정은 동일하다. 내가 거기이 일을 떠나 보자 대신 잠시이 아래로 당깁니다. 컴퓨터의 세계에서는, 우리는 0과 1이 있습니다. 그래서 일이 그 변경하려면 어떻게되는거야? 글쎄, 내 인간 세계에있어서, 십진법 12 월의 의미 (10) 내 처분에 얼마나 많은 숫자가? 10, 오른쪽? 0에서 9까지의 과정. 우리는이 이유입니다 10의 장소와 100의 장소. 그건 어디에서 오는? 음,이 0의 힘에 10입니다. 따라서, 10 일의 전력으로 10 등 2의 전력 및합니다. 당신은 당신의 열을 곱 유지 (10)에 의해, 단지 1 오프 시작 여기에 오른쪽 일인치 의 세계에 따라서 컴퓨터, 당신의 경우 만 binary-- 이중 의미를 가지고있다 2-- 또는 0과 1의 우리 단지 정말 변경해야 그 수학의 기초. 그래서 즉, 지금 우리는거야 짓이야 1의 열을 가지고 이것은 2의 열을 딴 데 어디 4의 열, 어쩌면 넘어. 그 이유는 무엇입니까? 그런데, 이것은 0 승 2. 이 2 일입니다. 이것은 등등 2~2이고. 여기 반면 그래서, 우리는 1, 10 년대 가지고, 100의 1000의 10,000의, 10의 1 등, 여기에 수백만하고, 우리는 1, 2, 4, 8, 16, 32, 64가있다. 당신은, 2를 곱 유지 대신에 10을 곱한 유지. 그래서 지금, 목표의 경우 손 대표하는 것입니다 단지 0과 1의 사용 숫자 의 우리가 거​​기에 도착하는 방법을 살펴 보자. 물론, 이것은 패턴 0 0 0하지만 어떤 숫자 개념 이 대표는 무엇입니까? 음, 4 회 0 플러스 2 회 0 플러스 1 시간 0,의 함께 사람들을 추가 할 수 있습니다. 4 회 공은 물론, 0, +2 시간 0 물론 0 더하기 1 시간 0 물론, 0이다. 그래서 아,이 나타내는 수 우리 인간은 0으로 알고있다. 글쎄, 지금의 아주 보자 빨리 빨리 감기. 내가 대신 표현하고 있지 않다 경우 0 0 0 만의 할 수 있도록 1 0 1, 즉이 될 수있는 방법을 Lakisa, 이전, 그냥 1 0 1 발음 것입니다. 하지만 지금, 우리는 어떻게 이상으로 가져가 않습니다 우리 인간이 알 수있는 번호를 수준​​? 그래서이 숫자는 무엇입니까? 그것은 오, 우리가 5로 알 수 있습니다. 글쎄, 그건 왜? 글쎄, 우리가 할 수있는 정말 종류의 질서 그것을 통해 도보 4 회 1, 2 회 0, 1 회 1. 그래서 함께 그 추가 이 4 더하기 0 더하기 1입니다. 그리고 5, 참입니다. 그래서 지금은 조금 지루한지고있어 또 다시 연산을 수행. 그러나이 과정은 동일하다. 이 유일한 우리의 세계에서 변경 우리 열 있다는 1, 2, 4, 8, 16, 등 대신 1, 10, 100, 1000. 우리의 알파벳이 있기 때문에 그리고 그것은 단지 그냥 0에서 1로 9 0에서 축소. 여기에 약간의 퀴즈, 방법은 것 같은 그래서 당신은 바이너리 숫자 7을 나타냅니다? 0? 음, 0, 당신은 0 0 0 의미? 다시 카리나을 말해봐. 완전한. 그 이유는 무엇입니까? 그것은 효과적으로 4 플러스 2 플러스 1입니다. 그래서 좋아. 우리는 조금을 표현하려면 어떻게 another-- 방법 번호 2에 대한? 닫기하지만, 거꾸로. 그래서 이것은 무엇입니까? 즉 다시 5 그래서, 4 플러스 1입니다. 그래서 미안 해요 what's--, 카리나? 0 1 0. 0 1 0도 있기 때문에, 다시이 될 그것은 일종의 당신을 뛰어하지 않는 경우, 단지 수학을. 4 시간 0, 0, 2 회 1 0 0 1 2 배이다. 그래서 이것은 우리가 2로 알 수입니다. 어떻게 숫자 8은 어떻습니까? 흠? 좋은. 그래서 우리는 종류의 다른 자리가 필요합니다. 우리는 1 0 0 0이 필요합니다. 그리고 그것은 우리의 종류의 사실 오래된 학교 진수 시스템. 어떻게 번호 1000를 표현합니까? 글쎄, 당신은 할 것 같다 가지 힘든 자리에, 경우에하는 것은 표현하도록 요청 수 천, 당신처럼 자신을 포기하더라도 때문에 이 9, 이들 중 9, 이들의 0, 있는 가장 큰 숫자가 당신 이, 당신은 꽤 1,000하지 않았다. 그래서 1000, 당신은 또 다른 필요 위치, 그래서 당신은 1 0 0 0 작업을 수행 할 수 있습니다 ERGO 수 1,000. 그래서 지금, 이제 이런 종류의지도를 보자 다시 하드웨어에 대한 개념적 논의 여기서 다시, 상기 입력은했다 이 작은 전원 케이블, 전기 들어오는 및 유출. 그리고 그 여기에서 매핑 할 거기에, 음, 우리가 정말 무엇을해야합니까? 글쎄, 당신은 내부에있는 생각할 수있는 컴퓨터, 전구의 전체 무리, 당신이됩니다. 그들은 정말 트랜지스터를 호출하고 있습니다. 그리고 트랜지스터는 스위치입니다 그 또는 해제 할 수 있습니다. 그래서 당신은 생각할 수 에서의 트랜지스터 전기가 흐르게되고 중지로 꺼져 트랜지스터 흐르는에서 전기. 그리고 걸릴보다는 여기에 조명을 통해, 왜 내가 이런 종류의 작업을 수행하지 않습니다 새로운 학교 스타일. 그래서 이것은 1, 손전등 수 있습니다 만 거의하지만,에있는. 그리고 이것은 0이 될 수도, 지금은 해제입니다. 그래서이 물리적 장치를 사용하여, I 지금 이진 시스템을 나타낼 수 있습니다. 난 그냥이 상태가 필요합니다. 그것은 무엇을 중요하지 않습니다 그것은 또는 무엇 인 색상. 모든 문제는 내가 가지고있다 하나의 상태와 다른 상태 끕니다. 그래서 여기 내 전화를 사용하여, 어떻게 할 우리가 0으로 알고 수를 나타냅니다? 또는, 동등하게 넣어 무엇을 수는 지금을 나타내는입니까? 0 장치가 꺼져 있기 때문이다. 그리고 나는이 작업을 수행 할 경우? 이제 어떻게 할 숫자 2를 나타냅니다? 나는 휴대 전화를 빌릴 수 여기, 우리가 어제처럼? 내가 표현하고 싶은, 그래서 만약 그렇다면, 어디 보자 숫자 2이 숫자 2인가? 아니. 무슨 수를 실수로 I 오전 여기 나타내는? 이것은 실제로 숫자 3이다. 그래서 어느 내가 해제 하시겠습니까? 잘 or-- 검은 전화, they're-- 경우 검은 전화 또는 백색 전화? 흰색 전화. 그래서 나는이를 끄고 경우 우리 여기에 라인 그것을, 우리는 하나가 2의 장소 및 1의 자리에 0. 그래서 지금이야 숫자 2를 나타내는. 이것은 물론, 숫자 것 3,이 빛의 지금 모두 때문에 에 있습니다. 그리고, 여기에서 중단됩니다 그러나 그것은 추론하기 위하여 서 나는를 표현하려면 번호 4 또는 8 이상, 나는 더 많은 전화를 필요 해요. 그러나 그것은 무슨 일이 전부입니다. 그렇다면 당신은 이제까지 들었어요 할까 .. 내부에 방송 해요 컴퓨터를 감사 수백만 개의 트랜지스터가, 그건입니다 작은 작은 스위치 단지 수백만. 그리고 그들은 빛 아니에요 에와 해제 전구, 하지만 그들은 하나 전기를 허용합니다 어딘가 흐름하거나 중지합니다. 그리고 당신이이 있어요 또는 해제, 또는 해제 states--. 그래서 우리는 지금 것 같다 이 능력을 가지고 이 개념을 표현하는 그 우리는 실제 하드웨어에 싶습니다. 하지만 우리가 지금 가지고있는 모든 능력이다 이 보일 것입니다 수를 나타냅니다. 그래서 우리는 표현에 대해 어떻게 가야합니까 알파벳의 문자, 어떤 기능의 다음 종류의 느낌 당신 현대 컴퓨터에 추가 할 것 당신은 번호가하면? 그리고 실제로, 당신이 생각하는 경우 그것은 역사적으로, 컴퓨터 역할을 정말로 도입 로 수치 계산기들. 그러나 물론,이 일, 그들은 훨씬 더 많은 일을 할. 그들은 당신에게 부팅 할 경우에도 일반적으로 하나 이상의 단어를 참조하십시오. 그렇다면 당신은 단어를 표현합니까, 당신이 가지고있는 모든 경우, 다시, 의 마지막 전력 일, 또는 동일하게 0과 1의? 네. 그래, 내 말은, 우리는 가지 않았다 어떤 형태이 어제, 여기서 어떤 점에서, 내가 임의로 I 생각 우리가를 표현하려면,했다 편지 A, 우리는 단지 한 것을 호출 할 수 있습니다. 또한, 암호화의 상황에 있었다 여기서 우리는 단지 코드의 일종 필요 매핑의 일종. 그래서 어쩌면는로 표현 될 1, 및 B는 2로 표현 될 Z는 표시됩니다 예를 들어 26, 등. 그리고 유일하게주의해야 할 점은 난 경우이다 내 이메일에 문자를 인코딩하는 것 또는 내 문자 메시지에 번호와 같은, 당신의 모든 를 사용하도록 동의해야 규칙의 동일한 세트. 그리고 실제로, 세계 정확히을했다. 세계의 시스템이있다 라는 ASCII, 미국 표준 정보 교환을위한 코드, 이는 단순히 몇 년 결정이다 인간은 만든 전에하는 것이 A가 아닌 동일 할 것입니다 결정 1, 2, 26, 그래서 그것의 forth-- different-- 작은하지만 65, 66, 67. 그리고 난 끌어거야 그냥 순간에 차트. 그러나 임의입니다. 그러나 그것은 중요하지 않습니다 그것이 임의입니다. 세계는 일관성이 있어야한다. 이제, 최근 애호가 뭔가가있다 유니 코드라는 세계의 종류 때문에 의는 컴퓨터를 발명 한 후, 실현 잘보다가 있음 세계 256 문자 우리가 표현 할 수 있음을, 특히 당신이 소개 아시아 언어 및 기타 바코드 그게 당신보다 더 표현력이 필요합니다 의 초기 버전에 맞게 수 ASCII 불렀다 코드. 그래서 유니 코드는 실제로 수 있습니다 당신은 더 많은 0과 2 사용할 수 있습니다. 특히, 당신은 듣고 계속 워드 바이트 사회에서, 심지어 단지 어제. 그리고 바이트는 무엇을 다시입니까? 바이트는 무엇입니까? 그것은 단지 8 비트입니다. 그래서 정말 무엇을 의미합니까? 글쎄, 그 이전에, 의미, 우리가있을 때 이진에 대해 이야기하고 내가 사용하고 있었다 임의의 3 비트 우리가 있었던 1의 자리 binary--에 대해 얘기, 2의 장소, 그리고 4의 place-- 아니라, 바이트는 당신이 이야기하고 있다는 것을 의미 하지 세 단위이지만 넷, 다섯, 여섯, 일곱 여덟 이는 우리에게 8의 장소를 제공, 16 년대, 32 년대, 64 년대, 128의. 즉, 모든 비트가 아닌 그 측정의 유용한 단위, 그것은 단지 하나의 작은 작은처럼 때문에 정보의 조각, 또는 해제. 그래서 몇 년 전에, 세계는 결정 그것은의 이야기를 조금 더 편리 바이트로 환산 한 번에 여덟 가지. 그리고 이렇게 태어났다 바이트의 개념. 그래서 우리는 여기에 8 비트가 있습니다. 그리고 비슷한 위해,도 밝혀 이유는, 세계는 년 결정 전 그는 ASCII 문자를 표현하기 위해, 당신은 8 비트의 단위를 사용하는 것입니다. 당신이하지 않도록 경우에도 당신이있어, 많은 필요 항상에 8 비트를 사용하는 것 알파벳 문자를 나타냅니다. 그리고 이것은, 편리 다음 당신 때문에 경우 0 0 0 1 1이 메시지를 수신 1 1 0 다른 1 1 1 0 1 0이어서 0 1, 그래서 당신은 (16)을받는 경우 비트, 세계는 수 제 8 문자를 하나 있다고 가정 및 제 8 다른 문자이다. 얼마나 많은 문제가되지 않습니다. 그냥하는 것이 중요 우리는 일관성을 때 우리가이 비트를 해석하고 있습니다. 그리고 이것은 무작위했다. 즉, 무언가를 의미하지만 나는하지 않았다 정말 무엇을 의미하는지에 대해 생각합니다. 그래서 작은 거짓말입니다. 원래는, ASCII 실제로 단지 7 비트를 사용했다. 그리고 8 번째 비트입니다 확장 된 ASCII했다. 그러나 중요한 점은 궁극적으로 동일하다. 세계에서 일반적으로 8 비트 표준화. 그래서이 좀 될 것 같다 때문에 나는 단지 수 제한 자본 A를 나타냅니다 자본 Z를 통해 자본 B 그러나 실제로하지, 내가 가면 건 ... 자원의 무리가있다 온라인, 예를 들면, asciitable.com,이 조금 될 것입니다 처음에는 압도적. 하지만 지적합니다 무슨 일이 중요합니다. 그냥 일이 이따가하고 난거야 walk-- 내가 이상 여기 가면의가 보자. 여기에 소수점에서, 열, 수 65. 오른손 칼럼 서신 문자, 대하은 문자 A.입니다 그리고 당신은, 지금은 무시할 수 있습니다 중간에 모든 것을. 이것은 16 진수, 8 진수와 HTML 코드입니다. 이 사이트에 그냥 던져하려고 에서 한 번에 많은 정보. 그러나 우리는 걱정 모두 소수이다 열 및 문자 열. 따라서이 논리에 의해, 무엇이다 세계가 수 A A 소문자가 대표로 결정했다? 97 그래. 그리고 단지 혼동 잠재적 약간, 무슨 수를 세계로 결정했다 숫자 1을 나타내는 것? 오른쪽, 우우 49 때문 보인다 여기에, 아래로 아래에서 왼쪽. 지금, 나는 그 무엇을 의미합니까? 그래서 그것은 밝혀 컴퓨터 시스템에있어서, 일반적으로이 근본적인 차이 숫자와 문자 간의. 숫자는 일이 우리 학습을 할 때 성장 우리는 초등학교에서 슈퍼 젊은했다. 그것은 당신이 계산 일을합니다. 그러나 문자는 단지 형상은이고, 글리프, 그래서 화면에, 말을합니다. 이제, 우리는 종류의 참조 인간이 이처럼 보이는 뭔가. 그리고 우리는 아, 수 2, 말한다. 하지만, 그 보이는 단지 상징이다 우리는 숫자 2로 알고있다. 그래서이있다 근본적인 차이 실제 숫자와 문자 사이. 이 숫자입니다. 그러나 일반적으로 컴퓨터 문맥 대신 볼 경우 이 quoted-- 같은 그리고 당신은 항상하지 않습니다 이 인용 참조해야 하지만 discussion--을 위해 경우에 대한 당신은 숫자 주위에 따옴표를 참조 이 이제 문자입니다. 그래서이 2 번 아래 컴퓨터의 내부 후드 패턴으로 표현 될 것이다 개수를 나타내는 비트 50 온라인 차트에 따라. 그러나, 만약 컴퓨터 그냥,이를보고 로 표현된다 비트 0 0 0 0 0 0 1 0 패턴. 반면,이 문자는 것 실제로 as-- 지금 표현, 나는이 그래서 조금 harder--을 생각하고있어 문자는 0으로 표현 될 것이다 0 1-- 나는 여기에 무엇을해야합니까? 0 0 1 1 0 0 1 0. 어떻게 이런 짓을 한거야? 그런데이 숫자 50, 당신의 경우 이러한 열을 사용하여 그것을 곱하면, 이 2 번이고, 그래서 이 이분법이 이유입니다. 그리고 이것은 단지입니다 기능에 대한 지금 맛보기 프로그래밍 언어에 있는지 우리는 나중에 오늘에 잠시 터치거야. 프로그래밍 언어에서, 당신은, 일반적으로이 항상은 아니지만, 물건 다른 데이터 유형을 호출합니다. 즉, programmer-- 때 그 또는 그녀가 쓰고, 프로그래머는에 결정을 얻는 것 형식은 자신의 데이터를 저장합니다. 할 수 있습니다하거나 데이터를 저장 등 숫자 2와 같은 원시 번호. 아니면 문자열로 저장할 수 있습니다, 또는 문자 시퀀스 당신은 일반적으로 표현하는 것 프로그래밍 언어의 따옴표. 당신은 일을 할 수 called-- 나는 지나치게 단순화하고 전화 할게 숫자 진짜 numbers-- 그 숫자 2와 같은하지의 정수이고, 하지만 숫자는 4.56를 좋아한다. 그래서 실수도 할 수 소수점을 가지고, 그래서 근본적인 다른입니다 컴퓨터에있는 데이터의 조각. 그리고 당신도 할 수 있습니다 또 다른 데이터 유형. 그래서 정말 그냥 맛보기입니다 디자인 결정의 간단한 프로그래머가 수도 후드 아래합니다. 그래서 질문이 아직? 그럼 만들려고하자 이 좀 더 현실. 이 하드웨어는 아니다 더 이상 사용 그렇게. 그러나 아마이 방에있는 대부분의 사람들 함께 성장하고 여전히 하드 드라이브를 사용 몇 가지 방법입니다. 심지어 대부분의 생각 우리의 노트북 더 이상 없다 이 같은 작동 장치가 대신 일반적으로 오늘 랩탑 솔리드 스테이트 드라이브가 움직이는 부품. 그리고 더 비싼 경향 불행하게도, 그러나 조금 더 빨리 및 할까 .. 잘, 자주, 훨씬 빨리, 하는 이유 중 하나입니다. 또한 그렇지 않습니다 많은 열을 발생. 그것은 그래서 그것은 작을 수있다 긍정적 일반적으로 그물. 그러나 이것은 우리가를 매핑 할 수 있습니다 좀 더 구체적으로 무엇을 우리가 공의에 대해 얘기하고 물리적 장치에 지금 1의 수준입니다. 그것은 나를 이야기 할 한 가지 환산으로 약 0과 1의 내 전화 또는 추상적 측면에서 의와 떨어져있는 전환됩니다. 그러나 하드 드라이브에 대한? 당신의 노트북에, 당신은 이전이있는 경우 하나, 또는 데스크톱 컴퓨터에서, 또는 확실히 서버에서 오늘, 당신은 어디를가 이 하드 드라이브 공간의 테라 바이트, 공간의 4 테라 바이트, 물론 그게 무슨 뜻 이죠? 1를 가진 하드 드라이브 공간 수단 테라 1 조 바이트가있다 어떻게 든 내부, 또는 동등 내부 8,000,000,000,000 비트. 1 테라 바이트는 8 테라 비트 것 또는 1 조 비트있는 하드 경우 의미 드라이브, 당신은 어떻게 든해야 또는 다른 조 0의 그것의 1의 내부. 그리고 우리는 단지를 살펴 경우 하드 드라이브의 임의의 사진 대표는이 하드 무슨이다 드라이브는 일반적으로 내부처럼 보일 수 있습니다. 그것은, 너무, 가지처럼 오래된 축음기 플레이어 그러나 일반적으로 내부의 여러 레코드, 그래서 여러 speak--하기 플래터는, 그들은 호출하는 바와 같이, 금속 원형 디스크, 다음 약간의 읽기 헤드, 오래 된 레코드 플레이어 등 많은. 그리고 읽기 헤드가 다시 이동하고 앞으로 어떻게 든 비트를 읽습니다. 게다가,이 플래터에 무슨 우리 인간은 그들을 볼 수 있지만, 하나 현실에서 또는이 그림에서, 작은 작은 자기 입자가있다. 그리고 당신은 긴 한 경우에도 전기가 어떻게 작동하는지 잊어 버린, 자성 입자 즉, 일반적으로 충전 된 것 북쪽 끝과 남쪽이 그래서 북쪽과 남쪽 end--. 그래서 세계 단지 몇 시간 전에 결정 즉 본질적으로 자기 프로토콜 경우 이런 식으로 정렬, 남북, 의는 1 것을 호출 할 수 있습니다. 대신 남북 있다면, 그냥 0 것을 호출 할 수 있습니다. 그리고 당신에있는 경우 당신의 처리 조 작은 자기 작은 particles-- 희망, 하드웨어 독창성에 순서는 주위 사람들을 플립합니다 당신이 fit-- 볼 당신이 원하는 경우 당신을 공의의 모두를 나타냅니다 단 8 자성 입자가 필요 모든 같이 정렬됩니다. 그리고 당신이 표현하고 싶은 경우 팔 1의 경우 단지 정렬 8 자성 입자가 필요 다시 다음과 같이 다시 백업합니다. 나는 무엇을 의미합니까 자성 입자? 솔직히,이 모든 년 후, 아직도 내 마음에 오는 것 이 사람은, 당신의 경우 이 일을 함께 자랐습니다. 이에 대한 little--입니다 그 unfamiliar-- 작은 어린 시절 장난감 그 여기 사나이 사람이 그 모든 작은 작은 검은 색을 가지고 그것은 함께 자성 입자. 그리고 그 붉은 막대기를 사용하여, 이는 단지 자석, 당신이 종류의 그에게 콧수염을 제공 할 수 있습니다 또는 눈썹이나 그에게 머리 또는 아무것도. 그래서 사실, 우리는 확대하는 경우 예를 들어,이에 게임의 종류 당신 털북숭이 윌리와 함께 재생할 수 있습니다. 그리고 이것은,이 말을 아니라 더 큰 자성 입자는 이상은, 하드 드라이브에 실제로 훨씬 적은 자성 입자. 그러나의 실제 보자 당신은이 경우 A의 작은 자성 입자 하드 드라이브, 어떻게 당신이 실제로 수 데이터를 표현하기 위해 그들을 사용합니다. [VIDEO 재생] 년 - 하드 드라이브가 어디 PC입니다 저장 영구 데이터의 대부분을. 데이터를 그렇게하려면 따라서 RAM에서 이동 에게 소프트웨어 신호와 하드 데이터를 저장하는 방법을 구동한다. 하드 드라이브 회로는 그 번역 전압 변동에 신호. 이, 차례로, 하드 드라이브의 제어 몇 이동의 일부를 파트로 나뉘는데 이동 부품은 현대 컴퓨터에 남아. 신호의 일부는 모터를 제어 이는 금속 코팅 플래터를 회전합니다. 데이터가 실제로 이 플래터에 저장됩니다. 다른 신호는 판독 / 기록 헤드를 이동 읽거나 플래터에 데이터를 기록합니다. 이 기계는 매우 정확 즉, 인간의 머리카락조차 할 수 없었다 헤드 사이를 통과 와 플래터를 회전합니다. 그러나, 모두가 훌륭한 속도로 작동합니다. [END 재생] 그리고 당신은에서 볼 수있다 비디오의 꼬리 끝, 여러 개의 플래터는 일반적으로있다. 그리고 그 읽기 헤드 바로 가기를 읽을 수 없습니다. 그것은 종류의 같은 세의 네 개 이상의 판독 헤드 이 같은 그 이동, 동시에 데이터를 읽는. 그래서 많이있다 복잡성과 타이밍의 종류 그는 하드 드라이브에 관여하는 것. 그리고 것은 정말 이놈 돌고있다 빨리, 너무 많은 복잡성이있다. 하지만 이제 좀 더 깊이 확대하자 이러한 자성 입자가있는 곳 참조 어떻게 우리가 그들을 얻고있다. [VIDEO 재생] 에 - 가자 보면 우리 다만 슬로우 모션으로 보았다. 경우 전기 짧은 펄스 판독 / 기록 헤드에 보내진다 이는 소형​​ 전자에 플립 순식간합니다. 자석이 만드는 변경 필드, 작은, 작은의 극성 금속 입자의 일부 어떤 코트 각 플래터의 표면을. 이 작은의 패턴 시리즈 디스크까지 충전 영역 에서 데이터의 단일 비트를 나타낸다 컴퓨터에서 사용 진수 시스템입니다. 이제, 전류를 보내지면 읽기 / 쓰기 헤드를 통해 길 영역이 한 방향으로 편광된다. 현재는 전송 된 경우 반대 방향으로, 편광은 반전됩니다. 어떻게 하드 디스크에서 데이터를받을 수 있나요? 그냥 과정을 역. 그래서상의 입자의 전류를 얻을 디스크 판독 / 기록 헤드를 이동. 함께 수백만을 넣어 이러한 자화 세그먼트, 당신은 파일을 가지고있다. 이제, 하나의 파일의 조각 일 수있다 모든 드라이브의 플래터에 흩어져, 이러한 종류의 혼란 등 당신의 책상에 서류. 그래서 특별한 추가 파일은 유지 모든 곳의 트랙. 할 당신은 당신이 가지고 싶어하지 뭐 그런? [END 재생] 그래서 아마도이며,이 언급되고 삭제 어제에서 해당 항목을 참조하십시오. 당신은을 삭제하면 파일, 어제 우리는 말했다 컴퓨터 실제로 않는다는 것을 무엇을, 당신이 뭔가를 드래그 휴지통 또는 쓰레기통에? 그것은 그냥 잊어. 하지만 0과 1, 자성 입자 빨간색과 파란색 등이 모습 여기 물건, 또는 여기에 내 팔, 하드 드라이브에 여전히 존재한다. 그래서 software--이 존재 노턴 유틸리티 및 작년 다른 현대 software-- 그 단지 보고 전체 하드 드라이브를 검색합니다 모든 0 년대와 1의, 그것 때문에에 밝혀 대부분의 파일 formats-- 워드 문서, 엑셀 파일, 이미지, 동영상은 모두 특정이 files-- 그 (것)들의 사이에서 일반적인 패턴입니다. 모든 비디오 파일 수도 다른 비디오의 수, 그러나 처음 몇을 비트는 일반적으로 동일하다. 또는 지난 몇 비트 일반적으로 동일합니다. 그리고 높은 확률로, 당신은 그 패턴을 볼 수 있습니다. 그리고 파일은 잊어 버린 경우에도 당신은 높은 확률로 말할 수있다 그러나 이것은, Word 문서처럼 보이는 그것을 복구를 취소 잊지 수 있습니다, 당신이됩니다. 그리고 그건 당신이 복구 할 수있는 방법 중 실수이었다 데이터 삭제 또는 삭제 또는 의도적으로 어떤 목적을 위해 삭제. 대조적으로, 보안 삭제는 어떻게합니까 이 같은 사진의 맥락에서? 정확히 그들에게 모든 임의한다. 그래서 그것은 일종의의 일부를 이동 그 아래, 그들 중 일부는, 그들 중 일부는 변경되지 않습니다, 그리고 일반적으로 그것의 랜덤 노이즈를 만들고, 아니면 어쩌면 모든 만든다 그 공의하거나 1의 모든. 그리고 너무 일반적으로 수 멀리 데이터를 문질러. 그래서이 문제에 지금 돌아 보자 전산 사고, 이에의 우리는 수식 입력을 가지고있다. 그리고 알고리즘 제공 당신은 궁극적으로 출력한다. 우리는 입력에 지금 집중하고 출력 해주기 때문에, I 제 우리는 방법을 입력과 출력을 나타내는. 우리는 단지 바이너리를 사용하는 것입니다. 그리고 상관없이 우리 오늘 표현하려면, 그것은 숫자 나 문자가 있는지 여부 전화 번호부에 그 또는 수천 마지막에 이미지 나 동영상, 또는 오늘의, 모든 0과 1을입니다. 그리고 주장, 심지어이 생각 다만 공의와 슈퍼 간단한 세계입니다 1의, 우리는 우리 자신을 구축 할 수 있습니다. 그리고 우리는 하나의 예를 본 적이 지금까지 편지와 그. 그래서이 지금 집중하자 중간 성분, 알고리즘. 그리고 이제이로 돌아가 보자 마이크 스미스의 예. 인정 하듯이 전화 번호부에 따라서, 우리는 더 이상 너무 많이 사용하지 않는, 해결해야 할 문제가있다. 우리는 마이크 스미스 같은 사람을 찾고 싶어요. 그리고 마이크를 찾기 위해 무엇을 할 수 있는가? 글쎄, 난 그냥이를 열 수 책, 첫 페이지에서 시작 그리고 오, 나는이 (가) 섹션에있어, 실현. 마이크가 아니다. 나는 스미스의 S 부분이 필요합니다. 따라서 단지 한 번에 한 페이지를 돌리기. 내가이 모든 것을 척하자 화이트 페이지 및 노란색하지 페이지, 우리가 발견하지 않을거야 때문에 어쨌든 옐로우 페이지에서 마이크. 하지만 난 화이트 페이지에 있어요. 그리고 지금, 나는 B 섹션입니다. 나는 아직도 그를 발견하지 않았습니다. 그래서 한 번에 한 페이지를 돌리기. 이 알고리즘이다. 이 지침의 집합이다 몇 가지 문제를 해결합니다. 즉, 볼 페이지, 마이크 그것에 아니라면, 페이지를 설정하고, 반복 다시 또 다시, 당신이 그것을하고있는 것처럼 이상적으로 아래를 내려다 보면서. 따라서이 알고리즘은, 올바른이 과정? 죄송합니다. 아니, 어떤 번호를들을 수 있습니다. OK,하지만 그래 is--, 그것은 확실히 지루한입니다. 마찬가지로, 우리는 하루 종일 내가 만약 여기있을거야 이 속도로 마이크를 찾고 유지. 그러나 내가 그것을 맞습니다 주장 할 수 있습니다. 그것은 바보, 그러나 그것은 맞습니다. 하루의 끝에서, 그것이 수도로서 그가 거기에 있다면 나는 마이크를 찾을 취 내가 주목하고있다. 그리고 나는 결국 자신의 페이지에 도달합니다. 그리고 너무 멀리 얻을 경우, 경우 나는 T 섹션에 도착 나는 약간 최적화 할 수 있습니다 단지 흠, 모두 다,라고. 난 낭비 할 필요가 없습니다 시간은 Z의가는. 그러나 이것은 매우이다 선형 접근, 당신 경우 매우 종류의 왼쪽에서 오른쪽합니다 접근 방식, 직선. 그리고 올바른하지만 천천히. 그래서 정렬, 초등학교에서 기억 제 학년에서 최적화, 내가하지 계산하는 방법을 배운 곳 사람이 아니라 twos-- 그래서 2, 4, 6에 의하여. 그것은 훨씬 더 열심히에, A의 수행하지만, 이론적으로, 그것의 faster-- 8, 10, 12, 14, 등. 어떻게 그 알고리즘에 대해? 그것은 더 효율적인가요? 더 빨리인가? 청중 : 그것은 효율적입니다. DAVID 마란 : 네, 그래서 그것의 def--있어 문자 그대로 배 빠른, 가정 I 어떻게 내 손가락으로 위로 넘어되지. 이 때문에, 두 배 빠른 속도입니다 나는 두 가지를 통해 온거야 일단 하나 대신에 페이지이지만있어 잠재적으로 올바른에, 왜 때문에? 청중 : 당신은 몇 가지를 건너 뛰는 것입니다. DAVID 마란 : 오른쪽, 마이크가 발생할 경우 어떤 나중에있을 때 아마 sandwiched--한다 전화 번호부에, 마이크는 될 일이 이 두 페이지 사이에 끼워, 난 그냥 맹목적으로 그 위에 건너 뜁니다. 그래서 우리는 거기에 약간의 수정이 필요합니다. 나는 T 섹션을 명중하면, I 그냥 자신있게 말할 수 없다, 우리는 마이크 스미스를 찾지 못했습니다. 나는 아마 다시 두 배로해야합니다. 아니면 사실, 한 번 누군가에 도달 스미스에 대한 S-N, 대신 S-M의 이름, 즉시, 나는 두 번 수 다시, 아마 그 때문에 이전 페이지에서였다. 하지만 지금까지 두 번 다시 할 필요가 없습니다. 이론적으로, 나는 오른쪽에 그것을 할 경우 시간, 나는 그냥 한 페이지 이동합니다. 그래서 하나의 추가 단계를 추가하는 것. 그래서, 두 배 빠른 갔어요 그러나 그것은 나에게 한 추가 페이지를 요했다. 하지만 그 그물 승리 것 같은 느낌이 든다. 하지만이 방법을 대부분의 사람들에 없습니다 이 객실은이 문제를 해결합니다. 어떤 것 전형적인 사람, 어쩌면 몇 년 전 마이크 스미스를 찾기 위해, 무엇입니까? 네, 마이크를 찾지 못했습니다. 어떻게해야합니까? 그래서 좀 더 가까이 얻을,하지만 난 할 전화 번호부에 대한 진실이 무엇인지 하란? 청중 : 그것은 순서입니다. DAVID 마란 : 그것은 순서입니다. 그것은 알파벳입니다. 그리고 나는 M 섹션에있어 그렇다면, 마이크, 오른쪽 명확 말 그대로 찢어 수 있습니다 반쪽은의 문제 그것은 that-- 눈물보다 일반적으로 쉽게 반 문제와, 그것을 멀리 던져 그래서 지금, 나는의 문제가 더 이상 1000 어려웠다 pages--, 내가 생각하기 때문에 나는 실제로 찢어 이하지으로 .. 전화 번호부 1,000 페이지,하지만 500. 그래서 큰 문제로 그대로 절반이다. 그리고 그 때문에, 꽤 설득력있어 내 이전 알고리즘, 버전 1, 2, I는 문제를 만들고 있었다 한 페이지 더 작은, 두 페이지 작은 한번에. 지금 반면, 나는 500를 만들어 한 번에 모든 페이지 이하이다. OK, 이제, 카림는 제안 나는 오른쪽 절반에 갈 것이다. 그래서 대략 갈거야 중간에 포기 또는 걸릴. 그리고 수학적으로 이런 짓을하는 경우, 나는 중간에 바로 갈 수있다. 그리고 지금은, 오, 실현 나는 T 섹션입니다. 사실은 너무 멀리 가지 않았다. 하지만, 다시는 눈물 수 있습니다 반 문제는, 그것을 멀리 던져. 그리고 내 바이트로 크지 않다. 그것은 것만 256 페이지 또는 250입니다 페이지, 제공 또는 지금 걸릴. 하지만 여전히 방법이 더 한 페이지 또는 두 페이지보다. 그리고 지금, 나는 중간에 대략 이동합니다. 아, 나는 지금 아주 충분히 멀리 가지 않았다. 그래서 반복, 반복, 반복 내가 희망이야 때까지 반복 한 페이지 왼쪽. 그래서 경우, 질문을 초대합니다 I 약 1,000 페이지를 시작, 그것은 나를 걸릴 않았다 얼마나 많은 단계 내 알고리즘의 버전 1? 음, 마이크는 S에있는 경우 부, 최악의 경우, 그것은 꽤 가까이 알파벳의 끝. 전화 번호부는 1,000 페이지가 있다면, 나는 1000 페이지 내에서 마이크를 찾을 수 있습니다 제공 또는 걸릴. 어쩌면 그것은, 800처럼 정도지만 그것은 1000 아주 가까이 있습니다. 반면, 두 번째에 알고리즘 얼마나 페이지는 내가 수도 최대로 전환 마이크 스미스를 찾을 필요? 이 1,000 페이지,하지만 난 한 번에 두 가지 일을. 오른쪽 때문에, 500ish 같은 최대 그래서 나는 전체 전화 번호부를 통해 이동하는 경우, 어떤 시점에서, 나는 중지 할 수 있습니다. 하지만 난에 의해 몇 면도 할 수 있습니다 바로 T 섹션에서 중지. 그러나 500 페이지의 경우 최악이다. 그래서 몇 번이나 내가 나눌 수있는 반 1,00o 페이지 전화 번호부 다시 다시 및 again--에서 125-250에 500 천? 얼마 동안은 한 페이지에 충돌하기 전에? 네, 약 10이다. 라운딩 등에 따라,의 총 필요가 설정되는 약 10 페이지 또는 전화 번호부를 찢어해야합니다. 그래서 꽤 강력합니다. 우리는 1,000 페이지 문제 시작 이 이야기의 모든 삼인치 그러나 첫째 알고리즘에서 그것 날 데려 갔어, 최악의 경우, 1,000 페이지 마이크를 찾을집니다. 두 번째 알고리즘 (500) 페이지는 마이크를 찾을 수 있습니다. 셋째 알고리즘, 10 페이지 마이크를 찾을 수 있습니다. 그리고 그것은 심지어 더 강력한 때 당신이 생각하는 반대 시나리오의 종류에 대해. 전화 회사 옆에 있다고 가정하자 올해는 아마 두 개의 마을을 병합 그리고 전화 번호부 갑자기입니다 두꺼운, 대신 그이, 그래서 2000 페이지 대신 1000. 글쎄, 내 첫 번째 알고리즘이 찾고있는 사람이 2,000 페이지 전화 번호부에서 마이크 스미스, 최악의 경우, 걸릴 거예요 내년에 얼마나 많은 페이지집니다? 전화 번호부는 2,000 페이지입니다 그러니까 ... 음, 한 번 더. 전화 번호부는의 두 배 두꺼운 경우 첫 번째 알고리즘, 첫 번째 알고리즘, 2000, 맞죠? 최악의 경우, 마이크 정말 책의 끝 부분에 닫습니다, 그래서 2000 페이지 회전을합니다. 로가는 두 번째 알고리즘 조로, 1,000 페이지 등을들 수있다. 하지만 어떻게 세 번째 약 가장 최근의 알고리즘? 전화 회사가 배가되면 1,000에서 2,000 페이지 수, 얼마나 더 많은 시간을 내가 눈물 필요 반 그 책은 마이크를 찾는 방법은? 청중 : 그냥 하나. DAVID 마란 : 그냥 하나 더, 한 페이지 눈물 때문에, 말 그대로 나눌 수 있습니다 당신이 경우와, 정복 반 촬영에서 그 문제 그것을 밖으로 거대한 물린. 그래서이의 예입니다 효율성과 틀림없이 알고리즘 있는 우리 모두는 일종의 직관적으로 잘 알고. 그러나 알맞은 단지 내 다른 알고리즘과 같은 그 비틀기 용으로 두 번째 알고리즘, 그러나 그것은 훨씬 더 효율적입니다. 그리고 사실, 어떤 컴퓨터 과학자, 또는 차례로 프로그래머, 기록 할 때 일반적으로 할 것 코드를 알아 내기 위해 노력하고, 모든 권리, 나는 싶지 않아 내 프로그램은, 정확합니다 나는 또한 효율적으로 할 잘 문제를 해결. 오늘날 현실 세계에서 상상, 구글 색인, 검색 등 페이지의 수십억 같은 경우 상상 그들은 고양이를 찾기 위해 제 알고리즘을 사용 보고 pages-- 억 중 그 데이터베이스의 첫 페이지, 두 번째, 세 번째, 단지 찾고 고양이를 들어, 고양이를 찾고. 즉, 무척는 것 같다 느리다. 그들은 대신에 뭔가를 사용할 수 있습니다 라는 이진 검색, 어떤 이 의미를 더 coincidence-- 양방향 우리는 없다 반쪽은에, 2 일을 분할 유지 그들은 이진 검색을 사용할 수 있습니다 어쩌면, 더 빨리 고양이를 찾습니다 또는 무엇이든 당신이 검색하는 것입니다. 그리고 솔직히, 거기에 심지어 애호가 알고리즘 그것은 단지보다 훨씬 더 많은 일을 할 반에서 일을 분할 위해 정보를 신속하게 찾을 수 있습니다. 그리고 우리는 조금 얘기하자 점심 식사 후 그 오늘에 대해. 그래서 내가 그냥이를 표현하려고 할 수 있습니다. 우리는에 갈 필요가 없습니다 어떤 수학 또는 실제 수치. 우리는 추상적으로 얘기 할 수 있습니다. 하지만, 나 그냥 제안하자 당신이 경우 지금 토론을했다 엔지니어와 이 알고리즘을 제안 당신은 만들려고 노력하고 있습니다 계산 된 결정, 아마 때문에 엔지니어는 당신에게 말한다 내가 구현할 수있는, 알고 이분 같은 선형 검색. 그것은 그 쉽습니다. 이진 검색, 그 공상이 아니라 10 분처럼 저를 취할 것 그래서 5 배 긴. 무역도 측면에서, 여기있다 의 작성 어떤 소프트웨어를 결정. 당신은 간단한 알고리즘을 작성 마십시오, 이는 당신에게 2 분 걸릴까요? 아니면 더 많은 시간을 보내고 않습니다 10 분, 애호가 알고리즘을 작성? 어떻게 질문의 종류를 결정합니까? 아니면 당신은 좀 더 실제 만들 수 있습니다. 나는 그것이 걸릴 거예요 내 상사에게 저 둘 중 하나 주 십주 을 구현하는 이러한 방식으로 소프트웨어 방식 당신은 결정 않는 녹색 빛 알고리즘? 카림? 청중 : 관객 것 같아요. DAVID 마란 : 관객. 당신은 관객 무엇을 의미합니까? 청중 : 그것은 무슨 경우 사용자가 사용할 누구 [들리지] 사용자가 [들리지]. 그것은 뭔가가 있다면하지만 당신은있어 단지 자신을 위해 일을 문제를 용이하게하기 위해, [들리지] 빨리. 데이비드 마란이 : 그래, 빨리 그리고 더러운 그것을 설명 할 수있는 좋은 방법입니다. 사실, 당신은이 있다면 내 시간의 많은 부분을 설명 대학원에서, 이에 종종, 나는 의식적으로 나쁜 코드를 작성 그러니까 ... 적어도 그건 어떻게 의식적으로 그렇게 그건 ...을 합리화, 내가 코드를 작성했다하더라도 때문에 즉, 실행 상대적으로 느렸다 나는 코드 자체를 쓸 수 있었다 꽤 빨리, 지출 불과​​ 몇 분 또는 시간없는 일. 그리고 나는 밝혀졌다 가끔 잠을 필요로했다. 그래서 내 코드는 8 필요한 경우에도 실행 시간, 그건 괜찮 아니라, 난 그냥이 실행되는 동안 잠을로 이동합니다. 시 그래서, 나는이라고 생각했다 매우 영리한, 심지어하지만 분명히 아주 천천히 내 박사 학위를했다. 하지만 그의 반대입니다 즉, 내가 쓰고 있다면 소프트웨어 다른 사람을위한 사람 물론, 나보다 더 중요 를 갖는 8 시간을 기다려야 검색 결과를 다시 얻을 수 모두 강력한 없습니다. 그래서 더 많은 시간을 보내고 소프트웨어를 작성하는 앞까지 즉 더 효율적이고, 더 세 번째 알고리즘 등, 아마 시간이 지남에 따라 사용자에게 도움이됩니다. 그래서 정말 이상 의존 시간은 그 비용이 방법을 추가 할 수 있습니다. 당신이 작성 될 거라면 소프트웨어는 한 번 사용 아마 잘 할 수 있습니다 신속하고 더러운, 그들이 말하는대로. 그냥 함께 던져. 그것은 당황 코드의 당신은 그것이 그렇게 나쁜 하지만, 제대로 일을 얻는다 비록 그것은 효율적 아니에요. 반대로, 당신은 더 많은 시간을 보내고 뭔가, 그것은 바로 찾으실 수 있습니다. 그리고, 시간이 지남에 따라 상각 시간의 선행 비용 당신이 계속하는 경우, 아마 가치가있다 일반적인 경우에 대한 최적화. 그리고 실제로, 그것은의 테마입니다 프로그래밍, 컴퓨터 과학 더 일반적으로 최적화하기 위해 노력하고 하지 드문 경우에 하지만 어떤 동작 공통 case-- 또 다시 일어날 것입니까? 당신은 수십억을 위하여려고하는 경우 사용자의 웹 사이트에서 검색, 당신은 아마 여분을 지출해야 더 나은 소프트웨어를 작성 앞까지 주 그래서 사용자의 모든 혜택을 누릴 것이다. 이제, 이것을 캡처 해보자 작은 그림으로,하지만 너무 많은 수치. 그래서 여기에 그냥 오래된 학교 차트입니다. 그리고 날이 시간이라고 말할 수 있습니다. 그리고 뭐 ... 중요하지 않습니다 실제로, 아니, 시간. 의 다른 축에 그것을 넣어 보자. ,의는이 시간이라고 가정 해 봅시다 이는 문제의 크기이다. 그리고 컴퓨터 과학자 일반적으로 호출 할 수 있습니다 이 단지 N. 여기서 n은 같다 우리의 이동 -에 변수, n은 수 N 번호이며,은의 당신이 어떤 입력의 수입니다. 이 경우, n은 페이지 수. 그래서 1000이 될 수 있습니다 경우 우리는 단지 말했다. 그래서 시간이 측정의 단위가 될 수 있습니다. 어쩌면, 그것은 두 번째입니다. 어쩌면, 그것은 일입니다. 아마,이 페이지 회전 같아요. 중요하지 않습니다. 당신은 것을에서 계산 원하는 시간이 수 또는 동등 비용을 것입니다. 그와 함께 그래서 처음 알고리즘, 나는 경우, 예를 들어, , 1,000 페이지 전화 번호부를했다 나는이 점을 그릴거야 이 1,000 페이지를인지하기 때문에, 그것은했다 약 1,000 페이지에 제공하거나 취집니다. 그리고 내가 가진 경우 2,000 페이지 전화 번호부, 나는 두 번째를 그릴거야 때문에 2000 페이지에, 여기에 도트, 그것은 2천초처럼 또는 페이지를 켜거나 뭐든간에. 앞서 말했을 때 그리고, 그것은이다 선형 관계의 종류, 내가 원한 때문에 즉, 고의적이었다 나중에 on-- 바로 now-- 선을 그립니다. 그것은 직선의 종류의 라인 관계. 당신이 경우 기울기는 1/1이다. 한편, 상기 제 2 알고리즘 1,000 페이지를 가지고있는 경우, 상기 당신은 두 번째 알고리즘을 사용하고, 나는 2의 카운트 경우, 회전 한 번에 두 페이지, 난을 그릴한다 아래 또는 내 원래의 점 위에 점? 청중 : 아래. DAVID 마란 : 다음, 우리가 본 바와 같이 있기 때문에, 그것은 많은 시간과 적은 시간 반이 걸립니다. 그래서 점은 반해야한다 다른 높게. 그리고 여기에 같은 거래,이 점 아마 약이 있어야합니다. 그리고 내 두 번째 알고리즘, 유사, 시간에 선형 관계가 있습니다. 그리고 우리는 등을 그릴 수 있습니다. 그래서 지금, 세 번째이자 마지막 알고리즘은 그릴 조금 어렵습니다. 그러나 직관적으로, 나는 1000을 가지고있는 경우 세 번째 알고리즘 페이지, 만 10 단계 같은 날을해야한다. 그리고 2000 페이지를 가지고있는 경우 세 번째 알고리즘, 그것은 10 날을해야 단계하지만 11, 하나 더. 그래서 우리는 간신히이를 보게 될 것입니다. 그리고 경우, 밝혀 나는 난이 확대 효과를 과장하는 것, 그 선 형상 궁극적 직선 line--는 아니다 그것이 사실이었다 경우 때문에 그것은 같은 더 보일 것이다 others-- 실제로는 곡선의 우리는 확대하면 그, 것입니다 이 같은 더 많은 것을 볼 수 있습니다. 그건 ... 음, OK,이 부분을 무시합니다. 그건 내 펜이 각도의 것이었다. 그것은 항상 곡선이다 항상, 항상, 항상 증가 하지만 겨우 증가. 그리고 시간이 지남에, 당신은이 더이처럼 관계. 그것은 거의 직선 보인다. 하지만 계속 증가 천천히입니다. 그러나 함께 거의 모든 점 하여 X 축, 가로 축, 그것은 그 다른 라인보다 낮은입니다. 그래서이 관계 될 수 있습니다 N, 이에는 n 개의 페이지가있는 경우, 당신 n 초 걸립니다. 이 관계 N / 2 수 있습니다. 당신은 n 개의 페이지가, 그것은 소요 당신 N / 2 초 반만큼. 그리고 이것은 대수입니다 관계있는 당신이 기억하는 경우, n 개의 캡처의 기본이 로그 이런 종류의 성장은 말하자면. 그래서 이것은 거룩한의 일종이다 이 세 가지 중 성배 여기에, 그것 때문에 너무 훨씬 더 효율적인하지만 틀림없이 더 복잡 구현. 질문? 그럼 내가이 작업을 수행 할 수 있습니다 나 텍스트 창을 엽니 다 그냥 그래서 우리는 시도 할 수 있습니다 여기에 뭔가를 공식화. 그래서 내가 지금 가서 보자 이 알고리즘을 구현 코드 마이크 스미스를 찾는, 당신이 의사 코드됩니다. 나는 Java 또는 C ++를 사용하지 않을거야. 난 그냥 일종의 사용하는거야 영어와 같은 구문, 이는 우리 일반적으로 의사 코드를 호출합니다. 자, 내가 빈 창이 있습니다. 그리고 나는 아주의 1 단계를 말하는거야 첫 번째 알고리즘은 전화 번호부를 선택합니다. 2 단계는 첫 번째 페이지에 책이다. 3 단계 볼 수 있습니다 마이크 스미스에 대한 페이지입니다. 페이지의 경우, 마이크를 호출합니다. 다른 차례 페이지와 3 단계로 이동합니다. 완료, 이제 가정 해 봅시다. 그리고 그것은 아주 완벽 하진 저희는 잠시 볼 수 있습니다. 하지만 이제 생각 해보자 무엇 개념은 나는 여기에 소개했습니다. 따라서 1, 2, 3 단계 거의 동사입니다. 그들은 문을있어, actions--이 작업을 수행. 그리고 프로그래밍에 언어, 우리는 일반적으로 것 그들에게 문을 전화 또는 기능이나 절차, 물건의 번호를 호출합니다. 그러나 그들은 이렇게 actions-- 그냥있어. 4 단계는, 기본적으로 다르​​다 이 종류의 질문을 때문에. 우리가 친절 말하는 의 갈림길에서. 마이크는 페이지에있는 경우, 호출 당신이 경우 그, 그래서, 좌회전합니다. 그리고하지 않을 경우 것은 몇 가지로 돌아가 죄송합니다, page-- 다른 또는 오히려 다른 단계로 돌아가있는 루프 구조의 일종을 유도한다. 그리고 우리는 다시하고 다시하고 다시 그것을 할. 그리고 실제로, 당신은 알아? 네. 다른 책 정지의 끝에있는 경우. 그래서 우리는 세 번째 종류의 필요 조건, 당신 때문에 페이지 광고를 선회 유지할 수 없다 nauseum, 나는거야 결국 때문에 책의 끝을 맞았습니다. 그리고 프로그램에 버그가있을 수 있습니다 이 시나리오를 기대하지. 그리고 단지 실현 I, 오, 대기 분, 나는 세 번째 시나리오가 필요합니다. 내가 페이지에서 해요, 난 정말 그냥 중지해야합니다. 그렇지 않으면 정의합니다. 어떻게 내가 계속하는 경우 일 것 페이지를 켜고 돌아가 말 이 때 컴퓨터입니다 당신이 명중 할 때, 정지 또는 충돌 같은 일부 예기치 못한 상황. 자, 마이크에 대한 스미스의 세 번째 algorithm-- 전화 번호부를 데리러 에 first--하는 책 아니, 첫 페이지에이 시간을, 거라고, 잘, 오 middle--하기 두 번째 알고리즘합니다. 그냥 세 번째로 이동하자. 청중 : 아, 미안 해요. DAVID 마란 : 그건 괜찮아요. 의 단지 third-- 열기로 이동하자 중간에 지금은 마이크 스미스를 찾습니다. 페이지의 경우, 마이크를 호출합니다. 그리고 우리가 여기서 말하고 싶은합니까? 그 밖의 무엇? 우리는이를 표현할 수 임의의 수의 방법이다. 어떤 정답이 없습니다. 확인을하지 않을 경우 다시, 그러나 우리는 필요 OK 군자, 우리는 두 가지로 나눌 않는다, 그러나 우리는 왼쪽으로 이동 또는 오른쪽으로 이동 하시겠습니까? 우리는 어떻게 그 개념을 표현합니까? 음, 마이크의 경우, 예, 그 공정이다. 그러나 OK, 그래서 실제로 좋은 지적입니다. 괜찮아. 우리는이 논리를 계속합니다. 그래서-- 청중 : 절반 이하. DAVID 마란 : 그래. 페이지가 있다면 다른, 우리가 말할거야, 이하 스미스보다, 스미스의 왼쪽에, 어디 보자 then--입니다 이 복잡​​ 것? 다른 페이지는 스미스 앞에 오는 경우, 반에있는 반 버리고 눈물? 청중 : 나는 생각했다 즉, [들리지이었다. DAVID 마란 : 나는 듣고 모두 답하고있다. 청중 : 왼쪽. DAVID 마란 : OK, 던져 멀리 Lakisa로 절반을 왼쪽 이전, 왼쪽 말했다 반, 나는 가지 내가 오른쪽으로 이동 이러시면 그냥 가고 싶어. 또는 동등하게, 그리고 좀했다 여기 처음의 혼란의 비트, 나는 효과적으로 원하는 다시 2 단계로 이동, 여기서 열린 middle-- 또는 open--에 그래, 그냥 말을 중간에 페이지를 할 수 있습니다. 그리고이 그것을 해결합니다. 그것은 더 이상 책 없습니다. 이 책의 절반이다 중간에 너무 열려있는 페이지를 참조하십시오. 거의 else--했다. 페이지 스미스 다음에 오는 경우 다른 6 단계, 반으로 찢어 떨어져 오른쪽 절반을 던져, 다음 2 단계로 이동합니다. 다른 경우, 네 번째 시나리오를 종료 우리는 어떤 페이지가 켜 남아 있지 있습니다. 그래서 우리는이 문제를 정리 할 수​​있다. 그리고 우리는이 문제를 정리해야합니다. 이것은 매우 의사 코드는 당신이 경우 것, 매우 높은 수준의 설명. 그러나, 일반적으로 아이디어를 캡처 않는다. 그리고, 다시,이 시나리오, 우리 , 조건의 개념이 분기, 도로에 포크, 만들기 이 길을 갈이 경우 decision--, 다른 경우,이 길을 갈 다른 경우, 그 길을 갈. 그리고 이것은 매우 일반적입니다 프로그래밍 기술 방향을 결정하는 가고, 말하자면. 그리고 우리는 또한 몇 가지 종류가 의 경우 구조를 반복 우리는 또 다시 일을하고 있습니다. 지금, 그것은 많이 밝혀 이 예에서와 같이, 슈퍼 정확한되는 것이 중요합니다. 그러나 우리는 또한 뭔가를 봤어요 우리는 추상화를 호출 유지하는 것이. 이 전화 번호부를 데리러 무엇을 의미합니까? 우리는 종류의 복용하고 이 방에 부여 것을 그 어떤 의미 론적 의미를 갖습니다. 우리 모두는 가지, 오, 알고 물론, 전화 번호부를 선택합니다. 것이 정말 무엇을 의미 하는가? 글쎄, 그건 정말 확장을 의미합니다 손, 손가락을 확장, 기댈 손가락 사이에 책을 끼, 당신을 향해 손을 당겨, 일어나. 그리고 우리는 정말이 될 수 이에 대한 현학적, 정말 슈퍼 정확한 인 에 관해서는 내가 뭘하는지. 하지만 그 단계를 모두 총칭이다 이 전화 번호부를 데리러 무엇을 의미하는지. 그리고 이전에, 내가 말했을 때, 각 이러한 처음 두 개의 문 로 생각 될 수있다 진행 또는 기능, 정말 그것은 무엇을 나타내는 지 우리 추상화를 계속 전화. 그것은 개념적 높은 수준처럼 문제의 설명이 사실은 꽤 몇 가지 단계를 포함한다. 그리고이도 인 프로그래밍 주제를 반복, 이에 내가 프로그램을 작성할 수 있습니다 이 항아리 같은 구문을 사용하여 pick_up_phone_book (). 그리고 구문, 난 뭔가를 훔치는 것 대부분의 프로그래밍 언어에서. 이제 1 단계도 보인다 함수 같은 더, 프로그래머로 부를 것이다. 이 코드를 누군가처럼 보인다 에 이름을 부여하고 부여하고있다 나에게 다른에 somehow-- 사용 내가 강조했는지 라인 단어, 어쩌면 기능을 나타냅니다 난 나 자신을 구현하지 않았다. 오래된 사람보다 현명 날은 이미 파악 어떻게 개념을 표현 전화 번호부를 따기의. 그리고 그것은 다섯 단계처럼 나는 단지 내 머리 위로 떨어져 넘어갔습니다. 그러나 그 또는 그녀는 이미 구현 이것은, 그 몇 가지 단계를했다 이름, pick_up_phone_book. 그리고 괄호입니다 그냥 뭐 대부분의 프로그래머를 이 같은 문장의 끝에 않습니다. 지금에 설 수있는 자신의 어깨와 결코 다시, 그것이 무엇을 의미하는지에 대해 생각 전화 번호부를 선택합니다. 난 그냥 말할 전화 번호부를 선택할 수 있습니다. 그리고 그것은 정확히이야 우리의 모든 인간은 여기에 있었다. 우리는 아마 1 있었을 때 2 세, 오래된 년, 누군가가 우리를 가르 칠 수 있었다 무엇을 전화 번호부를 데리러 의미했다. 그리고 그 이후로, 우리는 멀리 추상화 한 그 아주 재미에서 기계적인 단계. 그리고 우리는 단지이 직관적 인 이해 그것으로 무엇을 의미하는지 전화 번호부를 선택합니다. 그리고 당신은 지금 추정 할 수 있습니다 더 복잡한 things--에 건물을 구성. 마찬가지로, 어떤 사람들에게, 그 사실은 의미가있다. 계약자, 건축가, 그 어떤 의미를 갖습니다. 그리고 그들은, 경우 어떻게 할 것인지를 알 것 나는 말했다 건물을 건설 이동합니다. 그러나 방에있는 우리의 대부분은 할 수 없었다 추상화의 수준 다룬다. 당신은 우리가 가서 좋아 말할 필요 삽과 콘크리트 가서 나무의 조각을 못 함께하고 어떤 다른 건물 건설에 참여하고있다. 우리가하지 않은 때문에 그건 아직 이해하도록 프로그램되어 이 건물을 구성하는 것이 무엇을 의미하는지. 우리는 추상화가 없습니다. 우리는 그 기능이 없습니다. 그리고 당신은에서 볼 수 있습니다 무엇을 일반적으로, 프로그래밍 언어, 특히 더 현대적인 언어, 자바, PHP, 루비, 파이썬 등, 그들은 훨씬 더 성숙한 것 오래된 언어보다, C 및 C ++ 아직 다른 이들처럼. 그래서 그들은 더와 함께 기능이 내장되어 있습니다. 더 많은 코드가 기록 된 과거에 사람들이 우리가 지금 호출 할 수 또는 내가 암시하고 있습니다로, 소환 또는 사용 과에서이 여기에 라인을 강조했다. 그리고 우리는 얘기를하지 않는 순간에도 그 자체 프로그래밍 언어에 대한, 그냥 의사 코드의 모든 아이디어는 토론에 여전히. 그리고 그것은 정밀도가 밝혀 슈퍼 중요한 추상화 같다. 그리고의가 봅시다 로 다음과 것이 통신합니다. 실수로 버릇 수도 화면에 슬라이드를 점멸하여이 조기. 그러나 내가 용감한 자원 봉사에 대해 물어 보자, 당신은 오는 괜찮다면. 당신은 앞의 것 카메라, 그와 OK 있다면. 사람이 와서주고 싶습니다 여기에 귀하의 동료에게 지시? 그냥 여기 와서해야하고 여기 서서 몇 가지 단어를 말한다. 빅토리아는 가장 웃 가장 내 눈을 피하는. 당신은 최대 어서시겠습니까? 승인. 그리고 당신의 좌석에 모두 다른 경우 스크랩 종이 조각을 걸릴 수 있습니다, 당신이됩니다. 줄이 그어진 된 종이는 괜찮습니다. 이 방법을 주위에 가자. 또는 용지의 일부가 당신이 어제 주어진, 그냥 빈 시트 종이, 경우에 당신은 할 수 있습니다. 그리고 당신은 어떤이없는 경우, 단지 당신이 할 수있는 경우 네 이웃을 부탁드립니다. 순간을 위해, 대한 그래서 이 예, 빅토리아 의 역할을하는 것입니다 프로그래머, 엔지니어, 사람 로, 당신에게 모든 프로그램 필요 컴퓨터는 뭔가를 할 수 있습니다. 그리고 우리는 어떤 가정을 볼 수 있습니다 당신이 만들하기로 결정. 우리는 그녀가 할 선택하는 방법을 정확하게 볼 수 있습니다. 그리고이 데모가는 경우 교육적 아니라, 실수를 많이 우리는 그 다음 사용하는거야, 될 것이다 그 토론의 기회. 그러나 당신을위한 도전해야 이러한 실수를 방지하는, 좋은 프로그래머. 손 그리고 도전, 경우 당신은 여기 도보로 좋아하는 것 화면에서 빅토리아의 앞에 here--과 희망, 당신의 없음 때이 기억 화면에 떠올랐다. 그리고 있기 때문에, 모든 돌아서하지 않습니다 다른 화면이 방에있다 나는 끌 수있다. 그래서 돌아하지 않습니다. 빅토리아 앞 같은 비명이다. 그리고 그녀의 작업은 이제 모든 말씀하는 것입니다 종이의 당신의 조각에 무엇을 그립니다. 그리고 우리는에 따라, 볼 혼자 구두 지시, 컴퓨터 코드, 만약에 당신, 얼마나 정확한 도면 귀하의 구현은으로 죠. 이해가? 청중 : 네. DAVID 마란 : OK, 실행합니다. 청중 : 사각형을 그립니다. [웃음] DAVID 마란 : 그리고 더 질문은 질문 할 수있다. 단지 당신이 말을하는지 할 수 있습니다. 아, 그리고 당신은 할 경우 현재의 슬라이드 탭에서 열, 당신의 탭을보고하지 않습니다. 승인? 청중 : OK, 원을 그립니다. slope-- 나는 경사를 말할 수 있습니까? DAVID 마란 : 당신까지. 청중 : 경사. 삼각형. DAVID 마란 : 좋습니다. 그리고 잠시 여기있어. 그리고 올거야 주위에 잠시있다. 그리고 필요가 그것에 당신의 이름을 넣어 없습니다. 내가 돌아올하자 당신의 그림을 수집, 당신이 그들을 찢어 괜찮다면. 여기에 우리가 돌​​아 왔을 것입니다. 나는 화면에 투사 할 수 있습니다. 나는 광장 참조 원, 기울기 및 삼각형. 그래서 거기에 한 가지 대답했다. 그리고 으악 let's--. 고맙습니다. 여기에 또 다른 구색입니다, 그 뒤에 하나. 그래서 그들 모두는 정신을 캡처하는 것 같다. 고맙습니다. 거기에 또 다른, 그리고 여기에 또 다른 하나입니다. 기울기 통역 인 조금 다른, 매력적인 작은. 그리고, 하나 때문에 가장 가까운 당신이했습니다있는 멋진 특이성 설명, 또는 어쩌면 당신 종류의 그 이전에,이 참으로 보았다 빅토리아는 실제로 무엇을 설명했다. 하지만 지금, 당신의 그 사람 그것은 아주 제대로하지 못했습니다, 이제 여기에 몇 가지 이의를 제공 할 수 있습니다. 그래서 빅토리아 먼저 사각형을 그립니다 말했다. 그리고 지금, 우리는 가정 할 수있다 오늘을 위해서 모두가 알 방법 사각형을 그립니다. 하지만, 오른쪽 전적으로 명확하지 않다? 어떻게 다른 당신은 할 수 있습니다 그린 광장, 또는 어디에 모호성의 일부를 수 있습니다 여기에 컴퓨터? 청중 : 위치 및 크기. DAVID 마란 : 위치, 오른쪽? 여러분은 어떤 모양의 종이가 있었다 일반적으로 사각형,하지만 약간 다른 크기. 하지만 당신은 확실히, 그린 수 경우에 당신은 아마, 거대한 사각형을 원했다 작은 광장입니다. 아마도 이것은 회전시켰다. 나는 우리가 그것을보고 생각하지 않습니다. 그러나 더 다이아몬드 수 있었다 같은 그래도, 그럼에도 불구하고, 사각형을 수학적으로. 그래서 틀림없이 모호했다. 그런 다음 그녀는 원을 그리 말했다. 당신의 일부는 다음에 그립니다 않았다 무리없는 것이, 인간은 생각 또는 읽기 경향이 있기 때문에 바로 대부분의 언어에 남아, 그렇게하지 ​​않으려면 나쁜 생각. 하지만 원은 할 수 사각형 내부에 있었다, 주위에 수 있었다 광장, 다른 수 있었다 시트에, 그래서 틀림없이 모호한. 경사 어쩌면되었을 수 있습니다 구두로 가장 자유를 복용 그게 무슨 뜻인지와. 그리고 몇 가지 해석 그것을 구불 구불 한 선으로 직선 등이나. 그리고 삼각형도 할 수 임의의 수의 방법으로 배향되었다. 짧은에, 심지어 뭔가 그래서 그래서, 당신은 언뜻 당신은 와우, 같은거야 간단하고, 아이가 수 이 잘되지 그릴 정말하지 않는 한 당신은있어 슈퍼, 슈퍼 설득력 컴퓨터를 말해 정확히 무엇을 할 수 있습니다. 당신이있는 경우에, 우리가 할 수있는 경우 그래서 종이 다른 시트,하자 이 한 번 더하려고합니다. 그리고 난 빅토리아를 줄거야 여기에 화면에 다른 예. 그리고 다시 돌아하지 않습니다 및 슬라이드 보지 않습니다. 그리고 나는 그녀에게 잠시 시간을 줄 것이다 이것을 설명하는 방법에 대해 생각합니다. 그들을 보자하지 마십시오 당신의 눈에서 두려움. [웃음] 그리고 또,이 시간 활용 그 집에 사 가지고가는 요리의 일부 거의 모든 사람을 얻으려고 정답 적어도. 청중 : 확인하는을 종이 조각 봐 종이의 조각의 중간입니다. 그 부분의 중간에 종이, 큐브를 그립니다. [웃음] DAVID 마란 : 우리가 배운 내용이? 우리는 너무 가까이 있었다. 당신이 할 수있는 경우 OK, 모두를 위해, 반복합니다. 대상 :의 중간에 종이 조각은 객체를 그립니다 이는 큐브처럼 보인다. DAVID 마란 : OK, 그건 모두가 함께 작동하도록 얻을. 내가 분석 할 수 있도록 중요한 것이 라기보다는, 하지만 주장을 만들려면 그 빅토리아 확실히 매우에서 생각하는 것 같다 높은 수준의 추상화, 어떤 무리하지 않다. 그렇지 않으면 때문에, 우리는 모든 거라고 꽤 역기능 수 우리가 아무리 정확해야한다면 모든 것을 우리는 세계에서 할. 그러나 말하는 middle-- I로 이동 우리는 좋은 트랙에서 줄 알았는데 이 같은 아주 중앙으로 이동 페이지의 다음 큐브를 그립니다. 그래서 그녀는 추상화의 생각을, 그녀는 여전히 볼 수 있기 때문에 무엇은 실제로 화면에 큐브입니다. 그러나 많은 기회가있다 이 해석. 그리고 사실, 이렇게 많은있다 당신이 표현할 수있는 다른 방법 나는 순간에 제안합니다되는 그. 그래서 여기에 우리가 하나의 화신이 picture-- whoops-- 하나의 사진의 화신, 그래서 그것에 작은 3 차원, 어떤 좋은 것입니다. 당신이이 곳 여기에 또 다른 하나의 같은, 그것은 오픈 큐브의 종류 비록. 일부 사람들은 그것을 조금했다 더 플랫, 두 차원. 그리고 괜찮아요. 그래서이 참에 용지의 중심. 이 사람은 당신이 거 같아요 같은, 우리가 여기 가면 때문에, 이것은 그녀가 설명 된 것입니다. 그래서 지금, 내가 제안하는 방법을 다른하자 우리는이 상황을 설명 할 수 있습니다. 대부분의 위로 하루에, 하나 프로그래밍을 배울 수있는 일반적인 방법 코드를 작성하는 것이었다 기록 명령어 라인, 그건 좀 제어 화면에 거북이. 로고와이 다른 변종 언어의 이름이다. 그리고 거북은 세계에서 살았습니다. 그래서이 직사각형을 가정 공간은 자신의 세계이다. 그리고 당신은 assuming-- I로 시작하는 것입니다 정말 거북이를 그리는 방법을 몰라, 그래서 이런 식으로 그것을 할 수 있습니다. 그리고 그는 쉘 있어요 다음 아마 몇 피트. 그래서 당신이 조금있을 수 있습니다 화면에 문자. 그리고 이것의 목적 프로그래밍 언어 거북이를 강요했다 위로 이동, 아래, 오른쪽, 왼쪽 아래로 자신의 펜을 넣어 또는 그의 펜 픽업, 그래서 그는 실제로 화면에 그릴 수 바로이 평평한 직사각형 세계 요. 그래서 나는 당신이 갈 줄 알았는데 경우, 당신은 다이빙을 고려해야 곳 정신적으로까지 설명 할 때 더 일반적 지침, 내가 넣어 항 것이다 당신의 아래 middle-- 펜 우리는 없애합니다 거북이 때문에 그럴 수 없어 정말 아주 잘 그를 그리기 유지. 그리고 지금, 어떻게 다른 사람은 할 수 나는 큐브를 그려 말? 음, 우리는 무승부 뭔가를 말할 수 대각선의 북동쪽, 예를 들어, 또는 위쪽으로 45도 각도로. 그리고 그 날 여기 받고 있습니다. 그리고 나는 꽤 멀리 큐브에서입니다. 하지만 지금은, 내가 뭔가를 말할 수 추천 왼쪽으로 90도 회전 과의 선을 그립니다 동일한 길이의 북서쪽. 그리고 나는 계속할 수 있었다 비슷한 방향으로. 그리고 그것은 쉽지 않을거야. 그리고 솔직히, 우리는 아마 것 5 분 동안 여기에 있었다. 하지만 어쩌면 우리는에 얻었을 것이다 일 그 하루의 끝에 큐브되고 끝납니다 만, 그 추상화의 내부에 뛰어 들었다 이러한 낮은 그것을 수행하는 수준은 당신이 할 수없는 정말 당신이 전체 때까지 무슨 일을하는지 참조 것은 페이지에 실제로있다. 그래서 이것은 일반적인 원칙이다, 다시, programming--이 아이디어의 추상화. 너무 멋지고입니다 강력한 다시 때문에, 그녀는 단지, 어떤 모든 큐브를 그려 말했다 우리는 꽤 많은 매우 빠르게 grok 수있다. 우리는 이해할 것이다, OK, 큐브를 그립니다. 우리는 방향을 알고하지 않을 수 있습니다 그래서 우리는, 좀 더 정확한 수 그러나 우리는 일반적으로 그릴 수 또는 큐브가 무엇인지 알고있다. 그리고는, 유용 때문에 경우 때마다 프로그래머에 같이 앉아서 키보드는 코드를 작성하는 당신은에서 생각해야한다면 낮은 수준의 우리의 없음 지금까지 아무것도 끝낼 것입니다. 그리고 확실히, 우리 중 누구도 것 코드를 작성하는 과정을 즐길 수 있습니다. 그것은, 0과 1의 쓰기와 같은 것 이는 솔직하게 모든 것을 오래 전에 아니었다 인간은 0과 1의 코드를 작성했다. 그리고 우리는 매우 빨리 함께했다 이러한 높은 수준의 languages​​-- C ++ 및 Java 등이 있습니다. 그래서 그냥이 한 번 더 해보자 , 테이블을 뒤집어 우리 모두 그렇게 생각하는 기회가 오히려 동일하게 실시 하였다. 우리는 또 하나의 자원이 얻을 수 시간은 이사회에 와서 그립니다 암송하지? OK, 그래. 벤, 최대 어서. 그리고, 벤,이 경우에는 한번 보드를 직면 왼쪽 보이지 않는, 바로 보이지 않습니다. 만 일을 당신을 동료들은 당신을 알려줍니다. 그리고에서 다른 사람에 대한 방, 이제 프로그래머. 그는 컴퓨터입니다. 그리고 그림은 여기 선택한 사전에 여기 하나입니다. 그들은 생각하고 그냥 ...하고 재미있는 농담의 전부입니다. 그래서 누군가에 같은 않는 것 첫 번째 명령을 자원 봉사 또는 문은해야 명령 벤의 펜? 그리고 우리는 어쩌면, 공동으로이 작업을 수행 할 수 있습니다 각 사람에서 하나의 명령. 죄송 해요? 청중 : 원을 그립니다. 데이비드 마란는 : 원을 그립니다 내가들은 가장 먼저입니다. 청중 : 최대 탑. DAVID 마란 : 최대 탑. OK, 우리는 당신이 삭제 취소 할 수 있습니다. 그리고 지금, 다른 사람. 단, 당신은 편안 것 다음 명령을 제공? 청중 : 물론, 중심을 그립니다 원형의 바닥, A는 조금 small--와 그에서 작은 공간, 세까지 직선을 그립니다 보드 내리막 길의 분기 왼쪽에 약간의 각도. DAVID 마란 : 좋은. 청중 : 약간의 각도. DAVID 마란 : 실행 취소, 제어-Z. 승인. 앤드류, 당신은 제공 할 다음 명령까지? 청중 : 물론. 그 라인의 바닥에서, 또 약간의 angle-- whoops-- 아마 제에 대한 길이 [들리지] 약간의 각도 아래쪽과 같은 [들리지]의 길이의 3 분. 그래서 그래, 그 시점에서, 선에게 세 번째 무승부 이전의 길이 더 왼쪽 라인. DAVID 마란 : 즉, OK? 직선, 즉 OK인가? OK, 올리비에는, 당신이 원하는 다음을 제공 하는가? 청중 : [들리지]에서 원의 하단, [들리지]. 오른쪽에 그리기 의 [들리지] 센티미터. [웃음] 데이비드 마란 : 당신이가는 것 같아요 즉 여기 인치의 변환합니다. 청중 : 중지합니다. [웃음] DAVID 마란 : OK. [? 아,?] 당신이 원하는 다음을 제공 하는가? 청중 : 그립니다 [들리지] 위 [들리지] 같은. [들리지] 원은 그릴 [들리지]와 [들림]립니다. DAVID 마란 : OK, 더 이상 취소. 의 하나 또는 둘 이상의 명령을 수행 할 수 있습니다. 크리스, 당신은 하나를 제공 할? 대상 : 하단에서 원, [들리지] 동일한 라인 slopping을 그립니다 왼쪽 [들리지]로 하향. DAVID 마란 : OK. 앤드류? 우리는 카림 뭐 실수? 대상 : 오른쪽 줄에서 시작, 왼쪽 라인의 끝 하단 당신에 대한 권리 갈거야 그 라인과 같은 길이 당신은 드로잉에있어 오른쪽 [들리지]. [들리지]도, 그래서 [들리지] 오른쪽에 학위. DAVID 마란 : 좋습니다. 의 일시 중지 할 수 있습니다. 아직 돌아하지 마십시오. 의 일시 중지하자 및하자 하나의 다른 시도를하려고 우리는 벤에 공개하기 전에 그가 드로잉 됐어요. 당신은에 벤 셔플 수 right-- 또는 실제로, 아니, 그냥 당신을 줄 수 있습니다 다른 보드, 더 나은. 그래서 누군가 지금 싶습니다 접근의 더 걸릴 수 있습니다 빅토리아에 이전했다가, 어디 우리는 더 높은 레벨의 추상화로 이야기 단지 문장 두 벤에 설명 무엇없이 무승부 잡초로 받고, 그래서이 낮은 수준에서, 말하자면? 빅토리아. [웃음] 청중 : 그림을 그리기 걷는 남자의. 그리고 그의 다리와 팔 오른쪽해야합니다. DAVID 마란 : OK, 즉 당신이 얻을 모든입니다. 괜찮아. 왜 우리는 그가 무슨 짓을했는지 벤에 공개하지 않습니다. 박수 그래서 라운드. 즉, 어려운 아마도이었다. 그래서 심지어 우리가 얘기하지만 상당히 바보 같은 측면에서 단지 그림에 대한 사진, 당신이 희망 정말 정도를 감상 할 수있다 해야 할 수도 있습니다 표현력 무엇을 할 수있는 컴퓨터를 이야기하기 위해서입니다. 사실, 그 사실 벤 이렇게 빨리이를 그릴 수 있었다 증거의 종류는를 사용하는 것입니다 언어, 어쩌면 상위 레벨 영어 버전, 즉 그를 수 있습니다 그냥 단어를 사용하거나 단어를 듣고 빅토리아에서 그를 허용하는 이건 그냥 그릴 abstractions-- 받는 걷는 그림 right-- 일종의 갖는다 그것은 그에게 어떤 의미 론적 의미는 아니다 거의 분명 당신은있을 때 말을, 아래로 펜을 넣어 무승부 오른쪽 왼쪽으로 그린​​다. 그래서이 역시 매우입니다 프로그래밍에서 일반적으로. 이것은 같은라고 할 것이다 매우 낮은 수준의 언어, 프로그래밍 만약에 당신 0과 1입니다. 그리고 이것은 높은 수준의 것 자바 언어 프로그래밍, 또는 그런 일. 의 비트 단순화,하지만 그건 감정 등의 종류 이 때 느끼는 느낌 일 또는 다른 한 종류를 사용하여. 필요에 의해 여기 좌절의 비트 이러한 정밀하지만 기회 와 약간 느슨한 될 수 있습니다 여기에 해석. 그러나 물론, 버그 결과로 발생할 수 있습니다. 당신은 home--에서 원하는 경우 우리 그 수업에서이 일을하지 않을 것이다 하지만 당신은하고 싶은 경우 이 하나의 가정을 가지고, 나는 우리가이에 뛰어 거라 생각 했어요. 당신이 재생하려는 경우 그래서 당신의 중요한 다른과 게임 또는 아이 등, 당신 그뿐만 아니라 즐길 수 있습니다. 그럼 가서 보자 마지막보고 여기에 전산 사고 것. 그리고 그 존에 우리를 제공합니다 아닌 클립 올리버, 당신이 지난 밤에 본 적이 있습니다, 하지만 다소 최근의 문제이다. 다시 몇 달, 폭스 바겐 방탄 꽤했다 어떤 이유로, 당신은 알고 있다면? 그들은 문제가 무엇을 얻었 는가? 그래, emissions-- 때문에 배출량을 이길하려고했던 기본적으로 가짐으로써 테스트 자신의 자동차 적은 환경을 오염 자신의 차를 테스트 할 때 많은 환경을 오염 자동차는 테스트되지 때. 그리고 무슨 일이 점점 더 흥미 롭군요 세계로 당신은 추정이있을 수 있습니다 이렇게 ... 토론에서 어떤이다 그건 ... CarPlay, 자동차에 대한 애플의 소프트웨어 많은 사실 우리의 점점 우리 자동차에서 터치 스크린을 가지고 무서운 양이있다 사람들의 소프트웨어의 자동차 오늘, 어떤 솔직히 웜 때의 전체 캔을 엽니 다 그것은 보안과 물리적 위험에 온다. 그러나 오늘,하자 그냥 무엇에 초점 쓰기 소프트웨어에 포함 그 시스템을 gamed했을 수 있습니다. 의 정의에 대한 문제, 익숙하지 않은 사람들을 위해, 의 존 올리버 살펴 보자. 그리고 익숙한 사람들을 위해 문제는, 이제 그것을 살펴 보자 뿐만 아니라 존 올리버를 통해 재미 렌즈입니다. 그래서, 내가 이것에 재생을 공격하자 세 분 소개, 생각합니다. 젠장. [VIDEO 재생] -Cars-- DAVID 마란 : 분명히, YouTube에서, 그게 ... - 고마웠다 똑똑한 문자 빠른 기세 영화. 이번 주, 독일의 자동차 폭스 바겐은 자체 발견 의 스캔들의 중간에 잠재적 범죄 비율. -Volkswagen는 수십억 보강한다 벌금, 형사 책임 그 임원 등 이 회사는 사과 11 만대를 장비에 대한 이 방출 시험을 이길 도움이됩니다. -Certain 디젤 모델을 설계 하였다 정교한 소프트웨어와 그 위치를 포함하여 사용 정보, 핸들 차량의 속도, 자동차이었다 결정 방출 시험을 진행. 그 상황에서, 엔진 독성 배출을 감소시킬 것이다. 그러나 자동차는 수동으로 조작되고 있었다 그것이가 구동 될 때. 배출량은 40 10 증가 허용 EPA 수준 이상 시간. 구뒤, 10 내지 40 배 EPA에 이상이 있습니다. 즉 최악의 일이 폭스 바겐은 이제까지 수행 한 당신이 경우 말할 수 뭔가입니다 당신은 세계 대전의 들어 본 적이없는 것입니다. 방법하지만 어쩌면 가장 확실한 기호 폭스 바겐에 많은 문제가, 입니다 아주의 사람들 정상은 사임했다. CEO는 후 수요일에 사임 손상 제어 할 스크램블링 그는 끝없이 미안하다고 말을하는 그것이 나왔던 때까지 큰 소리가났다 그는 단지 10 % 미안 하지만 그의 입을 리깅했다 인위적으로 자신의 sorriness을 팽창합니다. 그리고 한편, 폭스​​ 바겐의 미국 최고는 자신의 사과를했다. 의 이것에 대해 명확하게 - 가자, 우리 회사는 정직했다. 그리고 내 독일어 즉, 우리 완전히 망쳐했다. - 네,하지만 완전히 나사 최대 독일어 작동하지 않습니다. 그리고 독일어 많은 아름다운 문구가 다만이 같은 상황을 설명하기 위해, 이러한 대략 수단 [GERMAN]으로서 오는 슬픔 비즈니스 관련 거짓말에서, 또는 [독일어], 이는 변환 관련된 사람의 아버지를 창피으로 가솔린의 구름입니다. 그것은 아름다운 언어입니다. 그냥 혀를 항해. 그리고 그런데, 그 사람의 동안 사과는 진심 소리 모른다 그가에서 연설했다 주목할 필요가 2016 년 공식 런칭 파티 그 곧 의미 폭스 바겐 파사트, 죄송합니다 말을 한 후, 그는 이렇게 말했다. 와 주셔서 대단히 고마워요. 저녁을 즐길 수 있습니다. 위로 다음 레니 크라비츠이다. [음악 재생] -OK, 확인, 종료하여 최대 옆에 사과 레니 크라비츠하지 않습니다 냉정한 회개 비명. 그것은 비명 소리, 우리는 봉 요청 조비, 그는 아무 말했다. 폭스 바겐의 브랜드가 심하게 손상되었다. 그리고 솔직히, 새로운 광고 캠페인은 정확하게 도움이되지 않습니다. - [독일어], 폭스 바겐에서 우리는 싶습니다 당신을 속이고을 드려 죄송합니다 우리의 차량. [END 재생] 데이비드 마란이 : 그래서이 선수 로터리 방식 동행입니다 sorry-- 이의 원형 교차로 방법이었다 근본적인 문제를 도입 당신 것입니다 소프트웨어에 특정 조건을 검출 할 필요가있다. 여기에 손에 그리고 이렇게 질문 이며, 잠재적으로 차를 어떻게하는지, 소프트웨어에서 구현 이 프로그래머에 의해, 그것은 실제로 테스트중인 것을 감지? 그래서, 매우 명확합니다 그들이 무엇을하고 있었 환경 위치에 있었다 프로그래머는 생각 차는되고 있었다 테스트, 그들은 어떻게 든 만들어 차를 덜 배출을 방출 적은 배출, 그래서 덜 유독 가스 등. 하지만 보통 때 도로에서 운전, 그냥 많이 방출하는 것 이 원하는대로 오염. 그래서 우리는 방법을 쓸 수있는 이 알고리즘의 의사 코드? 우리는 어떻게 의사를 작성할 수 차에서 실행되는 소프트웨어? 나는 간단히 말해서, 그것은 종기, 의미 이런 일에 이르기까지. 테스트중인 경우, 적게 방출한다. 다른 더 방출한다. 하지만 조금의 너무 높은 수준, 오른쪽? 의 어떤이에게로 다이빙을 해보자 테스트 수단 인의 추상화입니다. 즉, 당신은 아무것도 몰라 경우에도 질문의 자동차에 대한, 어떤 종류의 당신이 있는지 확인하기 위해 요청할 수 있습니다 당신이 차 있다면 당신은, 테스트중인거야? 어떤 특성이 될 수 있습니다 차량 테스트되는 경우 존재? 청중 : 테스트 장비. DAVID 마란 : 테스트 장비. 시험 장비의 경우 그래서 근처에 적은 다음 방출한다. 그래서 구현 상상할 수 카메라의 일종으로 그 또는 당신의 주위에 무슨 검출. 그리고 내가 그 제안하자 너무 복잡하게 느낀다 실제로 추가해야합니다 단지 그 목적을 위해 하드웨어. 청중 : 당신은에있는 경우 공원은 후드가 열려, 경우. DAVID 마란 : 공원에서 또는 후드 오픈, 그래서 그 좋은입니다. 청중 : 그리고 차 실행합니다. 데이비드 마란 : 그래서 그건 좀있어 더 concrete-- 및 자동차 실행합니다. 그래서 이것은의 연계 것 몇 가지 조건이됩니다. 차가 공원이며하더라도 그래서 이것은 매우 기계적인 일이지만 일반적으로, 나는 할 수 소프트웨어를 작성 상상, 특히 거기 때문에 종종이 가벼운 요즘, 내가있는이 상상할 수 쉬프터를 조회 할 수있는 소프트웨어 또는, 당신은 공원에서 무엇을하지 않습니다 드라이브에 당신은, 역에서 당신을 수 있습니다. 그리고 나는 다시 얻을 수 있습니다 그 예 중 하나의 답변 또는 질문의 그 종류에는.하지 그래서 나는 또한 아마 대답 할 수 질문은 같은 후드 열려 있습니다. 아마, 센서의 일종있다 그 1 또는 0을 나에게 다시 제공하거나, 참 또는 거짓, 후드가 열려 있습니다. 그리고 자동차 운전, 나는 감지 할 수 어떻게 든 어떤 메커니즘을 통해? 마찬가지로, 차는 실행, I 이 켜져 있음을 감지 할 수있다, 어떻게 든 감지 할 수 차가 움직이는 것을? 청중 : RPM을. DAVID 마란 : 네, 그래서 거기에 항상 바늘이 당신에게 당 얼마나 많은 회전을 알려줍니다 분 바퀴 경험하고 있습니다. 그래서 나는 볼 수 있었다. 그리고는 아마 0이 아니라면 차량이 이동하는 것을 의미한다. 그러나 우리는을해야 이주의 작은, 이유는 - 이제이 항아리 간단하게 우리가 방금 말한 경우, 자동차를 실행하는 경우, 우리가 덜 방출하지 않으려는, 자동차가 실행중인 경우 우리가 원하는 그리고 시험되고있다. 그래서 몇 가지 다른를가 재료 그 사람 소프트웨어가하고있는 가정 한 존재 실제 소스 코드 때문에, 당신은 단지 종류의에서 추론 할 수있다 에 관해서는 자동차의 실제 효과 무엇 아래에 갈 수 있습니다 소프트웨어의 후드. 그래서 자동차, 어쩌면 실행하는 경우 말하자면, 후륜은 움직이지 않고, 이 나타낼 수 있습니다 시험의 어떤 종류의? 여기에 무엇을 암시하고있다? 그래, 어쩌면, 그것은 하나에 있어요 그 롤러 것들, 여기서, 바퀴 등을 돌리고있다 앞 또는 뒤쪽에, 그것은 앞 바퀴의 여부에 따라 또는 차륜 후륜 구동하므로 절반 이동하지만 다른 두 사람은 아닌있는 현실 세계에서 이상한 상황이다. 당신이 운전하는 경우 도로, 그런 일이 안된다. 하지만 당신은 창고에 있다면 롤러 시스템의 일종에, 그것은 참으로 발생할 수 있습니다. 나는, 여러분도 아마 제안 생각 자동차가 실행 스티어링 경우 것으로, 움직이지 휘일 너무 신호가 될 수 있습니다, 그 합리적인 때문에 도로에 직선 등을들 수있다. 하지만 그렇다하더라도, 인간은 아마 그것을 확실히 조금 또는 이동 몇 초 동안. 아니면 과정 분, 확률은 그렇지 않아 있습니다 에 집착 할 것 동일 위치. 환언하면, 우리 빼기를 취할 수 있습니다, 당신이 테스트되고 있으며, 해당 기능을 무너 뜨리는 이러한 구성 요소 성분으로. 그리고 그것은 진정으로 무엇 폭스 바겐의의 엔지니어들은 어떻게 든했다. 그들은 의식적에 소프트웨어를 썼다 자동차가 테스트되는 경우 탐지, 따라서 이하, 다른 사람을 방출 일반적인 방법으로 방출한다. 그리고 여기 문제도, 소프트웨어가 없다는 것이다 당신이 정말로하지 않는 한 볼 수있는 일 당신은 소위 소스 코드가 있습니다. 따라서 두 가지 유형이있다 code-- 적어도 두 가지 유형 세계의 코드. 뭔가라는 소스가있다 무엇을 달리하지 않습니다 코드, 우리는 소스 코드를 작성했습니다. 이것은 소스 코드로 작성 의사라는 언어, 이는 영어처럼 뭔가입니다. 그것의 공식적인 정의는 없다. 그러나 C, 자바, C ++, 그 모든 공식 언어는 그, 당신이 그들에 쓸 때, 당신은 무엇을 가지고 소스 코드를 포함하는 텍스트 파일이다. 그러나 또한 무언가가있다 세계 기계 코드를했다. 그리고 기계 코드, 불행하게도, 단지 0과 1입니다. 그래서 기계 코드는 무엇입니까 기계는 물론, 이해합니다. 소스 코드는 인간이 이해하는 것입니다. 일반적으로, 그러나 항상 프로그램이있다 프로그래머가 사용하는 소스 소요 코드는 기계 코드로 변합니다. 그리고 그 프로그램입니다 일반적으로 컴파일러했다. 그래서 입력 소스 코드 인, 당신의 출력은 기계 코드 그리고 컴파일러의 조각 이 과정을 수행하는 소프트웨어입니다. 그래서이 사실을 잘 매핑 우리 입력 알고리즘 출력한다. 그러나 이것은 매우 구체적인 화신 그 중,하는 그런 말을하는 것입니다, 당신은 폭스 바겐의 중 하나를 소유하는 경우에도 이 유죄 자동차, 당신이 단지를 열 수 있습니다처럼하지 후드 또는 사용 설명서를 열거 나 봐 소스 코드 때문에 때에는 그것은 당신의 진입로에 차를 도달 이미되었습니다 0과 1로 변환. 그리고 그것은 불가능, 매우 어렵지 않다 하지만 매우 어려운 것도 많이 이삭하기 그냥보고에서 0과 1을 기본. 그래서 당신이 경우, 궁극적으로 그것을 알아낼 수 있습니다 어떻게 기계를 이해 operates-- 당신이 이해하는 경우 인텔은이 안에있다 인텔 아키텍처, 그러나 그것은 매우 시간 소모입니다. 그리고 심지어 거기, 당신은 수도 모든 것을 볼 수 없습니다 코드가 실제로 수행 할 수있다. 이 또는 이것에 대해 질문 더 일반적으로 프로세스의 종류? 실제로, 우리는이 토론을 묶을 수있다 애플의 어제의 토론. 이 역시 이유 연방 수사 국 (FBI) 할 수있는 단지를 가서 용의자의 휴대 전화에서 볼 과를 들어, 코드의 라인을 찾아 예, 암호를 사용하는 것이 또는 80 밀리 초 지연을 가능하게한다. 시간에 의해 그것의 때문에 동료의 아이폰에, 이미되었습니다 0과 1로 변환된다. 음, 여기를 일시 중지 할 수 있도록 우리의 전산 사고 봐. 왜 우리는 15 분 휴식을 취할하지 않습니다. 우리가 돌​​아올 때, 우리는거야 프로그램을 살펴 자체의 일부를 맵핑하기 시작할 이러한 높은 수준의 개념 실제에, 장난 경우, 프로그래밍 언어.