전체 글161 Gradient Vector 다음과 같은 다항식이 있을 때 $$ f(x, y)=x^2+2 x y+y^2 $$ Gradient 벡터는 각 항에 대한 편미분을 원소로 갖는 벡터의 형태를 가진다. $$ \nabla f(x, y)=\frac{\partial f(x, y)}{\partial x} \vec{i}+\frac{\partial f(x, y)}{\partial y} \vec{\jmath} $$ 여기서 𝑖 는 x축, 𝑗 는 y축에 대한 단위벡터이다. 이 Gradient 벡터는 어느 지점에서의 기울기를 나타내는 벡터이며, $ f(x, y) $ 의 특정 지점에서 기울기가 가장 가파른 곳으로 향하는 벡터이다. 그래프로 확인해보면 아래와 같다. 먼저 $ f(x, y) $를 확인해보자. 수식적인 표현이 아니더라도 $ f(x, y) $ 그래프를 .. 2024. 2. 19. BFS (Breadth First Search) 설명 BFS의 경우 DFS와 달리 재귀적으로 처리되지 않고 queue를 사용하여 탐색할 노드의 순서를 저장한다. 이번 포스팅에서는 BFS를 통해 어떻게 node를 탐색하는지에 대해 알아보도록 한다. Binary Tree 기반 BFS 기본적인 Binary Tree 형태로 넓이 우선으로 탐색하는 과정을 살펴보자. Tree는 좌측에 있는 그림과 같은 형태라고 하면, 우측의 화살표 순으로 탐색을 해야한다. 1. 먼저 탐색해야할 node queue에 root node를 추가한다. 2. 탐색해야할 node queue를 보고 node 탐색 iteration이 시작된다. 2.1) (왼쪽) queue를 pop하니 node1을 탐색해야하기 때문에 node1을 탐색한다. (오른쪽) 탐색한 뒤 node1과 연결된 node들(no.. 2024. 2. 13. 2차원 List 에서 distinct 처리하기 List에서 element를 distinct 처리하기 위해서 set()을 쓰곤 한다. 하지만 List를 element로 갖는 2차원 List에서 distinct 처리를 하기 위해 set()을 사용하는 경우 아래와 같이 TypeError가 난다. data = [ [1, 1], # duplicated [2, 2], # unique [1, 1], # duplicated ] set(data) # Exception has occurred: TypeError # unhashable type: 'list' List는 mutable 이기 때문에 hash를 지원하지 않기 때문에 List element를 tuple로 변환한 뒤 set()을 사용해야 한다. (참고: In Python, why is a tuple hashab.. 2024. 2. 12. [Tips] 내가 쓰는 툴 (Mac) 업무를 하면서 개발 뿐만 아니라 여러 가지 작업을 하게 되는데 이 때의 효율성이 개발 생산성 못지 않게 중요하다. 이번 포스팅에서는 개발을 포함한 업무를 하면서 효율을 향상하기 위해 내가 어떤 툴을 쓰는지에 대해 정리해본다. Spectacle 애플리케이션을 여러 개 켜서 작업해야하는 경우 (e.g. 개발을 하면서 기획을 확인하기 위해 피그마, 노션, IDE을 같이 확인해야할 때) Mac의 경우 애플리케이션 창의 화면을 조작할 때 항상 마우스를 써야해야해서 매우 불편하다. Spectacle은 이러한 불편함을 해소시켜 주는 툴로 키보드만을 사용하여 애플리케이션 창의 크기와 위치를 변경할 수 있다. 다만 현재는 maintain 되고 있지 않으며 기존에 운영되던 사이트도 접속되지 않고 github reposit.. 2023. 12. 8. [Github] 텍스트를 링크로 변경하기 - Autolink references Github에는 특정 텍스트에 대해 자동으로 링크를 연결해주는 Autolink references라는 기능이 있다. 기본적으로 commit hash나 #{PR number} 를 입력하면 자동으로 링크로 변경해준다. 하지만 기본적으로 제공되는 것 외에도 custom으로 추가할 수 있다. (나의 경우 주로 Jira 티켓 번호를 해당 티켓의 URL과 연결하는 용도로 사용한다) 그 방법은 아래와 같다. 1. Github repository의 Settings > Autolink references에 들어간다. 2. 생성하고자하는 autolink reference에 대한 규칙을 지정한다. 예시로 구글 검색을 할 수 있는 기능을 추가해보겠다. Target URL을 보면 확인할 수 있듯이 입력되는 텍스트는 이라는 변수.. 2023. 9. 10. 문제를 능동적으로 해결하려면 요즘 같이 일하는 1년차 개발자 분과 정기적으로 1on1을 하면서 회사 생활이나 개발에 대해서 여러 이야기를 나누게 되는데 그 중에 문제를 능동적으로 해결하는 방식에 대해 이야기를 한 적이 있다. 개인적으로 능동적으로 무언가를 해결하기 위해서는 문제 의식과 목적 의식이 분명해야한다고 생각한다. 이 두 가지가 명확해야지 흔히 말하는 동기부여가 명확해지고 문제에 깊게 몰두할 수 있다고 본다. 내가 생각하는 문제 해결에 대한 문제 의식과 목적 의식은 문제 의식 어떠한 일이나 상황에 대해 내가 문제 상황임을 인지하는 것이다. (예를 들어, 동일한 기능에 대해서 지속적으로 VoC가 들어오는 경우 이 기능에 대한 UI를 변경하거나 유저 가이드를 만드는게 좋겠다고 생각하는 것이다) 문제 의식을 느끼지 못하면 내가 왜.. 2023. 8. 26. 이전 1 ··· 5 6 7 8 9 10 11 ··· 27 다음