본문 바로가기

전체 글

Google CodeReview 코드 리뷰는 어떻게 하나요? 후배가 구글에서는 코드 리뷰를 어떻게 하면 좋을지를 물어보는 이메일을 보내 왔습니다. 저도 평소에 꼭 공유하고 싶었던 주제여서 여기에 답글을 남깁니다. 질문은 구글에서 어떻게 하느냐인데, 답글은 구글에 국한된 부분은 아니고 실리콘 밸리 회사들이 주로 어떻게 하는지 설명 드리겠습니다. -------- 선배님께 이렇게 메일을 보내는 이유는 한 가지 여쭤볼게 있어서 입니다. 요즘 회사일을 하든, 친구들과 서비슬 개발을 준비하든, 학교와는 달리 다른사람과 협업해서 코드를 짜야하는 경험을 하고 있습니다. 그래서 동료들 간에 코딩 컨벤션을 정하거나, 코드 리뷰를 할 필요성을 느끼게 되었고, 최고의 팀웍을 위해서 잘하고 싶은데 말처럼 쉽지가 않습니다. 예를 들면 리뷰어가 리뷰를 할 때 리.. 더보기
인공지능과 시뮬레이션 Search Method Basic Search Blind Search: Search tree를 만든 후, (모든 경우가 탐색 가능 ==> 너무 많은 시간 소요) DFS: 깊이 우선으로 탐색 (Local Max에 빠질 가능성) BFS: 너비 우선으로 탐색 (너무 많은 시간 소요) Heuristic Search: Search tree에서 경험에 의한 기대치를 반영 ==> 시간 개선을 위해 Hill-Climb(DFS with weight): 각 노드에 경험에 의한 가중치를 부여한 후 우선하여 검색 (local max에 빠질 가능성, 방향전환의 어려움, 평평한 고원 문제) Beam(BFS with weight): level로 확장한 후 확장된 곳에서 노드의 경험적 가중치를 기반으로 w만큼 선택, 이 과정을 g.. 더보기
Web Information System 3. Deductive Reasoning Agents 연역적 추론 에이전트??? 연역법(deductive method): 이미 증명된 하나 또는 둘 이상의 명제를 전제로 하여 새로운 명재를 결론으로 이끌어내는 것을 연역(deduction)이라 하며, 이러한 연역적 추리의 방법과 절차를 논리적으로 체계화 한 것 예) 아리스토텔레스의 삼단논법 (간접추리) 모든 사람은 죽는다. A -> B (대전제) 소크라테스는 사람이다. C -> A (소전제) 소크라테스는 죽는다. C -> B (결론) 원문보기 3.0 Intorduce Symbolic AI AI system 구축을 위한 전통적인 방법 주어진 시스템의 환경과 그에 적합한 행동의 symbolic한 representation(묘사, 표현???), 그리고 이 re.. 더보기
Real-time System Real-time system: 논리적인 수행결과 뿐만 아니라 시간적 제약에 의해 시스템의 정확도가 결정되는 시스템 예) 공장 자동화, 해저탐사, 프로세스 제어, 로봇, 군사 응용, 비젼시스템 일반 시스템과의 차이점: task들이 한계시간(deadline)이나 시작 가능시간(release time)과 같은 시간 제약을 가지고 있어 이를 만족시켜야 함. Real-time task / time critical task: 시간적으로 여러가지 제약을 갖는 task periodic task: 일정한 시간간격을 가지고 task 실행 aperiodic task: task가 일어나는 시간간격이 일정하지 않은 task Slack time Real-time Scheduling Static scheduling 시스템에 의해.. 더보기
음식 세계 10대 불량 음식 VS 세계 10대 건강 음식 [세계 10대 불량 음식] - WHO 발표 1. 기름에 튀긴 식품 - 심혈관 질병을 일으키는 원인이며 발암 물질을 포함하고 있다. 또한 비타민을 파괴하고 단백질을 변질시킨다. 2. 소금에 절인 식품 - 많이 섭취하면 고혈압을 일으키며 신장에 큰 부담을 준다. 그리고 후두암을 일으키며 점막이 쉽게 헐거나 염증을 생기게 한다. 3. 가공류 고기 식품 - 발암물질 중 하나인 아질산염과 방부제를 대량 포함하고 있으며 간에 큰 부담을 준다. 4. 과자류 식품 - 식용 향료와 색소가 대량 포함되어 있어 간 기능에 부담을 준다. 심하면 비타민을 파괴한다. 열량은 높지만 기타 영양 성분 면에서는 부족하다. 저온에서 구운 과자나 전밀 과자는 포함하지 않는다. 5. 사이.. 더보기
Sigmoid Function 이런 면에서 일반적으로 디지털 신경세포가 더 복잡하다고 할 수 있다. 단지 가중 총합이 한계치 이상인가 아닌가에 따라 1 이나 0 을 출력하는 대신, 디지털 신경세포는 입력물들의 가중 총합을 계산하고, 여기에서 한계치를 뺀 다음, 그 값을 곧바로 출력한다. 그러나 디지털 신경세포의 작동 방식은 생물학적 신경세포와 비슷하다. 높은 출력값은 일련의 빠른 펄스에 해당하고, 낮은 출력값은 일련의 느린 펄스에 해당한다. 그러나 결국 이런 종류의 신경세포, 이른 바 '지각자 (perceptron)'는 일반화되지 못했다. 출력이 단지 단선적으로 입력에 반응하기 때문에 신경세포가 배울 수 있는 기능은 아주 기초적이고 선형적인 것에 불과하다. 이것은 단지 입력의 변화가 출력의 변화로 이어진다는 것만을 의미한다. 어떤 입.. 더보기
Reality Mining Technology Review caught up with Pentland to ask him about reality mining and its implications. Technology Review: When you talk about reality mining, what do you mean? Sandy Pentland: The real roots of it go back to early 1990s, when people first started talking about context-aware computing. Just look at a cell phone. It knows where you are, and this is obviously sort of useful. But the genera.. 더보기
Ontology 온톨로지의 어원: 철학의 존재론 존재론: 실재에 대한 정확한 이해를 추구하는 학문이다 실재: 우리의 눈에 보이는 이 세상의 모든 것 존재론 + 실재: 이 세상을 규정하기 위해 세상에 존재하는 실체들에 대한 명확한 이해와 정의를 연구하는 것 온톨로지는 이러한 존재론의 기본 철학을 정보시스템에 적용하여 정보시스템의 대상이 되는 자원의 개념을 명확하게 정의하고 상세하게 기술하여 보다 정확한 정보를 찾을 수 있도록 하는데 목적이 있다. 정보를 효과적으로 관리하고 검색하기 위한 지향점 Tom Gruber: An ontology is a specification of a conceptualization (온톨로지는 개념화의 명세이다.) 개념화: 무언가를 개념으로 만드는 것 즉, 사물이나 추상적으로 존재하는 관념들을.. 더보기