본문 바로가기

Tech/Tech Tips

(3)
Graph DB Neo4j에 대해서 들어본지는 꽤 된것 같다. 여전히 1위를 지키고 있는 위엄... 주목할만한 부분은 클라우드에서 서비스되는 GraphDB의 약진이다 MS Azure의 Cosmos DB, AWS의 Neptune 아무리 좋은 기술이라도 비즈니스에 적용함에 있어서 기술 커뮤니티와 레퍼런스는 무시하지 못한다. Neo4j를 우선적으로 검토해봐야겠다. https://db-engines.com/en/system/Neo4j 1. ACID 트랜잭션 지원 2. Native 그래프 DB (스토리지 레벨까지 구현됨) 3. Cypher 쿼리 언어 제공 (SQL-like) 4. 고정 시간(constant time) 순회 지원 - 속성(Property)과 레이블(Label)을 색인 5. 유연한 스키마 6. 유료 기능 - 클러스터..
Python의 성능을 높이는 방법 100만번 이상의 Euclidean Distance 연산을 할 일이 있었다. Python으로 Single Processor 연산을 하였을 경우 15초 가량 소요가 되었는데 이를 줄일 방법이 필요했다. 1. Multi-Processing 요즘 CPU는 4개의 Core가 보편적이다. Python 연산을 하였을때 확인해보니 하나의 Core만 가지고 100% 점유율의 연산을 하는 것을 확인할 수 있었다. 이를 Python의 Multi-processing을 이용하여 계산해보니 4개의 코어로 나누었을때 4배 가량 향상을 볼 수 있었다. [참고] https://doorbw.tistory.com/205 파이썬(python) #24_ 멀티프로세싱(Multi-processing) 과 멀티쓰레딩(Multi-threading..
리눅스에서 백그라운드 실행 Screen 명령어 Screen이란? #Screen이란 Linux에서 물리적인 터미널을 여러 개의 가상 터미널로 다중화해주는 도구입니다. 각 가상 터미널은 독립적으로 동작하며 사용자 세션이 분리되어도 동작합니다. 간단히 말하면 이 도구는 백그라운드로 동작하는 다중 터미널을 만들어 줍니다. 이걸 이용해서 백그라운드 작업을 간단히 수행할 수도 있고 회사에서 작업하던 터미널 화면을 집에 가서도 같은 터미널 화면을 보며 작업을 이어 할 수도 있습니다.Install #screen 이라는 명령어를 실행했을때 명령어가 없다고 나오면 아래와 같이 설치를 해줍니다.RedHat계열 (RedHat, CentOS, Fedora 등...) #yum install screen Debian 계열(Ubuntu 등..) #apt-get install s..