pytest-benchmark 사용하기
두 함수의 성능 비교하기. 코딩을 하다가 성능을 테스트할 일들이 종종 있잖아요. 예를 들어서 이 부분이 좀 느린 것 같은데 정말 그런가? 뭐 그렇게 테스트 할 일들이 있습니다. 그냥 귀찮아서 보통은 다음으로 간단하게 처리할 때도 많죠 그런데 이건...
두 함수의 성능 비교하기. 코딩을 하다가 성능을 테스트할 일들이 종종 있잖아요. 예를 들어서 이 부분이 좀 느린 것 같은데 정말 그런가? 뭐 그렇게 테스트 할 일들이 있습니다. 그냥 귀찮아서 보통은 다음으로 간단하게 처리할 때도 많죠 그런데 이건...
concurrency vs. parallelism 우선 늘 헷갈리는 정보부터 정리하고 가겠습니다. 예전에 안다고 생각했는데 뒤돌아서면 또 잊어버려요. Concurrency(동시성)과 parallelism(병렬성)은 다른 개념입니다. 그림으로 이해...
python에서 c 코드를 읽어옵시다. 여기에 있는 내용을 참고했습니다. 새로운 부분은 없다고 봐도 됩니다. 영어를 한글로 바뀌었다는 것 정도? 아주 사소하죠. 흔히들 말합니다. 일단 크게는 파이썬으로 다 만들고 그 다음에 계산이 오래 걸리는 특...
serialization 간단하게 말하자면, 보통 데이터 구조, 함수, 객체 등을 다른 곳으로 전송해야 할 때(네트워크 통신으로 보내거나 혹은 다른 컴퓨터에 저장하는 것이든 무엇이든), 이를 일관적으로 유지하기 위해서 데이터를 특정한 포맷으로 변...
edit-distance "abc", "abcd"는 얼마나 비슷할까요? 혹은 정량적으로 어떻게 비슷한 정도를 측정할 수 있을까요? 간단하게 두 스트링을 비교해보면 캐릭터 하나만 추가되어있는 것을 알 수 있습니다. 즉, '하나만 지우면 같아질 것 ...
set가 빠릅니다 만약 해당 데이터 set이 unique하고 세트에 있는지 없는지 찾아야 하는 일이 많다면, 무조건 set로 처리하시는 것이 좋습니다. 아무튼, python3에서 지원하는 set operation을 한번 정리하는 게 좋을 것 같아...
jupyter notebook에 그림을 넣고 싶어요. graphviz로 그림을 만드는 함수를 다음처럼 정의했습니다. 그런데, 저는 경우에 따라서 한 셀 내에서 여러 그림을 동시에 보여주려고 하고 있거든요. 따라서 다른 방법을 모색했습니다. usi...
인트로 저는 jupyter notebook에서 코딩을 합니다. 경우에 따라서, jupyter notebook이 불편하다고 느끼는 사람들도 있어요. 전통적인 IDE들과는 다르게, 브라우저에서 돌아가는 것도 그렇고, cell별로 코딩을 하는데, ce...
간단합니다. 보통 때는 상관이 없는데, tree 구조를 그릴 때는 graphviz의 레이아웃이 그림이 더 이쁘거든요. 그래서 간단하게 변경하는 코드를 추가합니다. 두잇 간단합니다. 밑에 주석처리한 코드는 그림을 원하는 곳에 저장하고 싶을 때 씁니...
rescaling layout networkx로 네트워크를 시각화할 때 다양한 layout을 씁니다. 보통 쓰는 spring, spectral, shell 등의 레이아웃에는 문제가 없는데, 아래와 같은 layout을 사용할때는 0.0과 1.0사이...
tree에서 Root 찾기 networkx의 를 사용해서 tree를 만들고 관리하는데, 그때 적절한 root를 찾는 것이 중요해요. 또 해당 root를 중심으로 다른 node들이 얼마나 멀리 떨어져 있는지를 파악하는 것도 중요하구요. 그래서 아래...
tree에 적합한 layout을 찾습니다. networkx에는 다양한 layout이 있습니다만, tree 구조에 적합한 레이아웃은 없어요(정확히는 없다고 생각했습니다). 그런데 사실 없다는게, 제 입장에서는 말이 안되서 한참 찾았는데, 찾다보니 ...
random하게 tree를 만듭니다. 예전에 제가 직접 random하게 tree를 만들어주는 코드를 만들었습니다. random하게 각 level별 node의 수를 정하고 children의 수도 랜덤하게 정해서 진행했는데, 생각보다 만드는데 시간이...
인간관계를 분석합니다. 이번에 파이콘 한국 2018에서 발표하게 되어 발표자료를 준비하고 있습니다. 일단 여기에는 그림은 들어가지 않을 예정이고, 코드만 정리해서 보여줄 예정입니다. 발표자료는 여기서 보실 수 있습니다. 아무래도 필요한 부분들을 ...
svg를 png로 바꾸고 있습니다. graphviz를 사용할 때, svg, png, pdf 로 모두 저장할 수 있지만, png로 저장할 때 dpi가 매우 낮게 설정되는 일들이 발생합니다. 어떤 글에서는 를 사용해서 dpi를 graph의 attri...
runtimerror 예전에도 맥에서 graphviz를 잘 실행했는데 오늘은 뭐가 잘 안되더군요. 에러는 다음과 같았습니다. 잘 모를 때는 그냥 검색을 해보면 되는데, 검색해보면 스택오버플로우에서 아주 잘 정리된 답변이 있습니다. 아래를 순서대로...