Light
Dark
개요 위와 같은 그래프가 있다. 그래프는 노드(동그라미)와 간선(선)으로 구성된다. 혹시 한 눈에 안들어온다면 그냥 마을과 마을을 잇는 지도라고 생각하고 봐도 좋다. 1에서 출발해 다른 노드로 가는 최단 거리를 구하려면 어떻게해야할끼? 간선에 표시된 숫자는 거리를 의미한다. 1과 직접적으로 연결된 2, 3, 4노드로가는 최단 거리(비용)은 각각 2, 5... Read More
개요 이전에 살펴봤던 콜백 지옥의 문제를 해결하기 위해 Promise라는 개념이 나왔다. 실제 쓰임과 동작도 그 이름 그대로다. 개념 const a = () => { setTimeout(()=> { console.log(1); }, 1000) } const b = () => console.log(2); a(); b(); // 2 ... Read More
개요 스프링을 사용해서 웹 프로젝트를 하고있다. 만약 메소드마다 경과 시간 로그를 찍어야한다고 해보자. 그럼 모든 메소드는System.currentTimeMillis();와 같은 코드를 가지고 있을 것이다. 그러나 생각해보면 비즈니스 로직을 수행하는 것과 로그를 남기는 것은 별개의 관심사일 것이다. 이런 기능들을 모아서 정리... Read More
개요 프론트를 공부하며 필요한 트릭과 기법을 정리하지 않았더니 다 잊어버렸다. 이번 기회에 하나씩 정리해보려한다. 파비콘 대부분의 브라우저는 루트 경로에 favicon.ico라는 이름의 파일을 파비콘으로 인식하여 사용한다. 만약 높은 해상도의 파비콘을 사용하고싶은 경우 css파일을 등록하듯이 link태그의 속성을 ico... Read More
개요 깃에 의해 관리되지 않아야하는 파일을 실수로 Github에 올렸을 때 대처방법에 대해 알아보자 실수했다 환경변수를 적어놓은 파일을 .gitignore에 등록했지만 파일이 워낙 많았던 관계로 실제로 추적이 중단되었는지 확인하지 않고 올려버렸다. 여기엔 외부로 노출되면 안되는 API KEY도 포함되어있었다. 처음... Read More