1. 소벨 필터(Sobel Filter)란?[ 소벨 필터란? ]소벨 필터란 이미지에서 경계(edge)를 검출하기 위한 필터이다. 여기서 경계(edge)란 이미지에서 픽셀 값이 급격하게 변하는 구간을 말한다. 예를 들어 왼쪽은 어둡고 오른쪽은 밝은 이미지가 있다고 하자. 그러면 급변하는 그 지점을 우리는 edge라고 한다. 10 10 10 | 200 200 10 10 10 | 200 200 10 10 10 | 200 200 ↑ 여기서 값이 10→200으로 급변 = edge! 원본의 이미지에서 edge를 추출한 예시 그림을 보면 다음과 같다. [ 소벨 필터의 동작 방식 ]미분(변화량 측정하기)소벨 필터는 두 가지 연산을 한 번에 하는 커널인데, 첫 번째는 미분이..
1. 제품은 가설의 조합이다. [ 될 놈 그리고 안될 놈]기업으로서의 구글은 실패가 혁신의 불가피한 부산물임을 알고 있기에 관대하게 실패를 그대로 인정해준다. 하지만 구글의 직원 개개인은 분명 실패를 두려워 하고 있었고, 대부분은 이미 성공했거나 잘 알려진 제품 관련 부서에서 일하는 쪽을 선호했다. ‘성공’ 하면 떠오르는 사람이 되고 싶고, 실패는 피하고 싶기 때문이다.하지만 모두가 성공한 제품에서 일할 수는 없으며, 우리는 계속해서 시장에 새로운 제품을 출시해야 한다. 현실은 다음과 같기에 실패를 존중하는 편이 이롭다.대부분의 신제품은 시장에서 실패한다. 유능하게 실행해도 마찬가지다. 대부분의 제품이 실패하는 이유는 처음부터 제품 아이디어가 잘못되었기 때문이다. 우리는 제품을 제대로 만들지만, ‘될 ..
1. 슬랙봇 DM 및 채널 메시지 연동하여 운영 자동화하기[ 필요한 권한 세팅 ]OAuth & Permissions에서 다음의 최소 OAuth Scope가 필요하다. 아래는 DM 연동을 위해 필요한 scopes이며, 필요에 맞게 추가해주도록 하자. 봇에게 보낸 메시지를 이벤트 형태로 받기 위해 Event Subscriptions에서 다음의 최소 권한이 필요하다.채널에서 봇이 멘션되었을 경우에도 이벤트를 구독하려면 app_mention, private 채널에서 얘기된 메시지를 받으려면 message.groups, public 채널에서 얘기된 메시지를 받으려면 message.channels를 설정해주면 된다. 필요한 상황에 맞게 이벤트 구독 권한을 신청해주도록 하자.RequestURL에는 봇에게 보낸 D..
1. 소프트웨어 엔지니어링이란?구글에서는 이따금 “소프트웨어 엔지니어링은 흐르는 시간 위에서 순간순간의 프로그래밍을 모두 합산한 것이다”라고 말하곤 합니다. 소프트웨어 엔지니어링에서 프로그래밍이 큰 비중을 차지하는 건 틀림없지만 프로그래밍은 결국 새로운 소프트웨어를 제작하는 수단입니다. 여러분이 이 차이를 받아들인다면 자연스럽게 프로그래밍 작업(개발, development)과 소프트웨어 엔지니어링 작업(개발, development + 수정, modification + 유지보수, maintenance)의 차이도 궁금할 것입니다. 시간이라는 요소가 더해지면서 프로그래밍에는 중요한 차원이 하나 늘어서 더 입체적으로 바뀝니다. 정육면체는 정사각형이 아니고 거리는 속도가 아니듯, 소프트웨어 엔지니어링은 프로그래밍..
1. 유용한 MacOS 앱 정리[ Raycast ]Raycast는 macOS용 생산성 앱으로, 빠르게 앱을 실행하거나 다양한 작업을 수행할 수 있도록 도와준다. 사용자는 키보드 단축키로 Raycast를 호출해, 앱 실행, 파일 검색, 시스템 설정 변경, 계산기 사용, 웹 검색 등 다양한 작업을 할 수 있다. Raycast는 Option + Space 키로 실행을 트리거할 수 있다.예를 들어 캘린더 라는 단어를 입력했을 때, 나의 캘린더 페이지로 이동시키고 싶다면 다음과 같이 quick link를 생성할 수 있다. 그러면 다음과 같이 Option + Space로 트리거한 후에 캘린더를 입력하면 원하는 곳으로 빠르게 접속할 수 있다. 만약 url에 쿼리 파라미터를 추가하고 싶다면 {query}로 넣어줄 수..