전체 글 139

vmware 공유폴더 설정하기

Windows 10에 VMware로 Ubuntu 18.04를 설치했다. Window의 폴더 하나(workspace)를 Ubuntu와 공유하도록 한다. 0. 환경 Host (내 PC) : Windows 10 Guest (가상머신) : Ubuntu 18.04 VMware : 16.0 player 1. Guest - VM Settings 단축키 Ctrl + D 또는, Player -> Manage -> Virtual Machine Settings 에서 Options 탭에 들어간다. SharedFolders를 enable 로 변경한다. Folder sharing을 Always enabled로 변경 후 오른쪽 아래에 Add... 를 클릭하여 공유할 windows folder path를 입력한다. 2. Host -..

develop/linux 2020.02.20

api server 성능 상향 시키기

기존에 서비스 중인 api 서버에 paging 없이 한번에 큰 데이터를 제공하는 리소스 추가작업이 생겼다. 한달에 한번정도 실행될 것으로 응답시간은 상관없다고 한다. 그러나 응답이 4분이나 걸리는 테스트결과를 보니 끔찍쓰 서버 부하가 문제가 있고, 최대한(? 빠른 속도로 제공하고 싶다. 또한, 기존의 다른 리소스들은 요청이 들어오면 관계없이 잘 실행되어야한다. 현재 uwgi, python, flask 가 연동된 구조이다. """ db쿼리속도를 빠르게하던지 -> es?? 튜닝 성능테스트를 어떻게 해야하지? 아니면 부가적으로 밖에서 뭔가를 처리하던지 """ 고민 1. 기존 uwsgi에 Nginx연동 필요성 적은 traffic의 서버라면 굳이 필요없다. reverse proxy server도 uwsgi --h..

develop/linux 2020.01.14

mongodb cluster 구축

나중에 내가 써먹으려고 쓰는 mongodb cluster 구축. 책을 읽고 내용을 정리해본다. mongodb는 mysql과 다르게 대소문자를 구별한다. mongodb cluster 1) 실제 데이터를 저장하는 shard 2) 요청을 적절한 shard로 배분해주는 mongos process 3) cluster의 설정을 유지해주는 mongod 설정서버 chunk 기본 설정 크기 : 64MB balancing : 충분한 수의 chunk가 확보되면 다른 shard로 데이터를 이동한다. 데이터 고르게 분산, 전송량 최소화 mongos : 사용자와 클러스터 간의 접점, 단일 서버처럼 다룰 수 있게 해준다. 1) 사용자 document 입력 2) mongos가 문서의 shard key 확인 3) chunk 조회, 알..

database/noSql 2019.12.20

리눅스 명령어 모음

df : 디스크의 남은 용량을 확인 df -k : 킬로바이트 단위로 현재 남은 용량을 확인 df -m : 메가바이트 단위로 남은 용량을 왁인 df -h : 보기 좋게 보여줌 df . : 현재 디렉토리가 포함된 파티션의 남은 용량을 확인 du : 현재 디렉토리에서 서브디렉토리까지의 사용량을 확인 du -a : 현재 디렉토리의 사용량을 파일단위 출력 du -s : 총 사용량을 확인 du -h : 보기 좋게 바꿔줌 du -sh * : 한단계 서브디렉토리 기준으로 보여준다. ls : 디렉토리안의 파일 및 서브디렉토리 나열 ls -al : 자세한 info 까지 포함하여 나열 ls -ltr : 시간 순으로 나열

develop/linux 2019.12.19

docker 기본 명령어

[파일복사] host -> container로 파일 복사 docker cp [host 파일경로] [container name]:[container 내부 경로] container -> host 로 파일 복사 docker cp [container name]:[container 내부 경로] [host 파일경로] [docker container 내부로 접속] docker exec -it [container name] /bin/bash 여기서 /bin/bash 말고도 다른 명령어 바로 실행 가능 [모든 container 삭제] docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) [모든 image 삭제] docker rmi $(docker images -q)

develop/docker 2019.12.19

GridFs

MongoDB의 Document의 최대 크기는 16MB이다. 그보다 큰 document는 GridFs를 사용해야 한다. GridFs는 모든 파일을 Bson document 형식으로 처리하여 16MB가 넘은 데이터를 분산하여 저장하는 명세이다. 16MB가 넘지 않더라도 전체 파일을 메모리에 로드하지 않고도 저장하는데 유용하다. 파일 하나로 저장하는 것이 아니라 255KB 이하 크기의 chunk로 나누어 저장하는데, fs.chunks, fs.files 2개의 collection을 통해 파일 청크와 메타데이터를 관리한다. fs.chunks { "_id" : , "files_id" : , "n" : , "data" : } fs.files { "_id" : , "length" : , "chunkSize" : , ..

database/noSql 2019.11.10

Screen

유용할 때 1. cmd 창이 한개인데 여러 cmd 창이 필요하다! 2. background daemon으로 실행시켜야할 프로그램이 있다. 개념 attach : 가상세션 불러오기 detach : 현재 screen 다시 집어넣기 Command screen -list : 생성된 screen list를 보여줌 screen -S [세션명] : 세션명으로 세션시작 screen -R [세션명] : 세션명으로 세션불러옴. 없으면 새로 생성 (생성하기 싫으면 -r 사용) screen -x [세션명] : 동시에 여러사용자가 한 화면으로 공유하며 입력가능 screen -X -S [screen ID] kill : attach 상태 screen 삭제 ctrl+a, d : detach, 세션을 유지하면서 빠져나옴 ctrl+a, ..

develop/linux 2019.11.03

다녀와서 쓰는 스페인 여행

추석 연휴를 맞아 7박9일로 스페인을 다녀왔다. 여행일정은 마드리드 in, 바르셀로나 out으로 마드리드 1박 - 세비야 1박 - 그라나다 2박 - 바르셀로나 3박이였다. 다른 여행 후기에서 바르셀로나에서만 일주일을 있어도 부족하다는 글이 많아 다른 도시들보다 길게 잡았는데, 쇼핑을 즐기지 않아서, 아니면 소매치기를 당해서 그런지 바르셀로나의 일정을 좀 줄였어도 되었지 않았나 싶다. 연휴때라 2월에 항공권을 구매했는데도 불구하고 매우 비쌌다. 시간이 돈보다 중요한 직장인이기에 대한항공 직항으로 약 187만원이였다. 보통 100만원대 이하인데 거의 2배로 엄청나게 바가지 씌인 느낌ㅜ 그렇게 총 2인 총 6,454,930원의 값진 여행을 하고 왔다. 처음 가보는 유럽여행이였는데 유럽, 가볼만 한 것 같다.

일상/travel 2019.09.16

virtualenv 가상환경

python은 실행환경이 version, package등이 다를 수 있기 때문에 가상환경에서 실행시키는 것이 좋다. 가상환경을 통해서 실행시키면 모듈을 실행시키는데 딱 필요한 최소한의 package만 pip등등을 통해서 설치하면 된다. 나중에 docker에 올릴때도 유용하다. 나는 python2와 python3 둘 다 사용했기 때문에 버전별 다른 가상환경 실행방법도 작성해 보겠다. python 버전 확인 python --version virtualenv 설치 (python2) pip install virtualenv //또는 py -2 -m pip install virtualenv (python3) pip3 install virtualenv //또는 py -3 -m pip install virtualen..

language/python 2019.07.28