자바스크립트 기초 이론 - 패캠 node.js 바탕 기본 이론
·
언어/Java Script
1. 자바스크립트와 event loop - node 를 잘 이해하기 위해서는 자바스크립트의 동시성 모델에 대해 잘 이해해야 한다 - 자바 스크립트의 실행 모델은 event loop, call stack, callback queue 개념으로 이뤄진다 1) event loop, main thread 이벤트 루프 모델은 여러 스레드 사용 우리가 작성한 js 코드가 실행되는 스레드를 메인 스레드라 부름 한 node.js 프로세스에서 메인 스레드는 하나이며, 한 순간에 한줄씩만 실행 그외 일(file i/o, network..) 을 하는 워커 스레드는 여럿이 있을 수 있다. 2) call stack 지금 시점까지 불린 함수들의 스텍, 함수가 호출될 때 쌓이고, 리털할 때 빠짐 3) Run to completion..
[ Pandas ] columns 가 multi header 일때
·
언어/Python
1. 개요 에러는 아니지만 멀티 컬럼을 다루는 법을 이번에 알게되어 기록하고자 한다. 아래와 같다 그리고 이 header 를 컬럼만 따로 뽑아서 나타낼 경우에는 아래와 같이 나타난다. 이 중에서 하나만 뽑아서 사용하고 싶다 2. 추출하는 법 추출하는 법은 생각보다는 간단했다. read_csv, read_table 에 있는 header 에 리스트로 추출하고자 하는 컬럼의 인덱스 번호를 사용하면 된다. 그러면 아래 컬럼의 header 와 같이 나온다. 3. 참고 링크 https://stackoverflow.com/questions/41005577/python-pandas-two-rows-as-column-headers/51746183 Python Pandas, two rows as column headers..
[ Linux ] 리눅스 기본 명령어
·
언어/Linux
공부하면서 암기를 한다해도 모든 명령어를 기억하기는 힘들다. 그래서 블로그에 기록해서 틈틈히 사용할 때마다 기억하려고 한다. 1. pwd (print working directory) - 현재 작업중인 디렉토리 정보 출력 $ pwd /home/jin 2. cd (change directory) - 경로 이동 $ cd /home/test $ cd .. (뒤로 이동할 때) 3. ls (list) - 디렉토리 목록 확인 $ ls haha1 ls 옵션 의미 -a .(점) 을 포함한 경로 안의 모든 파일과 디렉토리 표시 -l 지정한 디렉토리의 내용을 자세히 출력 -d 지정된 디렉토리의 정보 출력 -n 파일 및 디렉토리 정보 출력시, UID, GID 를 사용 -R 하위 경로와 그 안에 있는 모든 파일도 같이 나열 ..
[Linux] 리눅스 RPM
·
언어/Linux
1. RPM 이란 RPM 이란 Redhat Package Manager 의 약자로 레드헷 계열의 리눅스 배포판에서 사용하는 프로그램(패키지) 설치 관리 도구이다. 초기 리눅스에서는 모든 패키지를 tar 와 gzip 로 묶인 소스 파일을 가지고 직접 컴파일한 후에 수동으로 설치해야 했지만 만약 1번이라는 패키지를 설치하는데 2번 패키지가 사용되었을 경우에는 2번을 먼저 깔고 1번을 깔아야 하는 번거로움이 있었고, 이를 개선하기 위해 패키지 관리 프로그램인 RPM 을 만들었다. RPM 을 이용하면 패키지 자동설치까지는 도와주나 패키지 사이에 의존하고 있는 패키지까지는 자동으로 설치되지는 않는다. 2. RPM 명령어 사용 RPM 명령어 사용은 아래와 같다 rpm [옵션] [rpm 패키지 파일 / 패키지 이름]..
[ 리눅스 ] 1. 리눅스의 개요
·
언어/Linux
1. 리눅스 리누스 토발즈에 의해 개발되었으며 유닉스(Unix) 운영체제에 바탕을 두고 있다. 리눅스는 크게 3가지 버전으로 나뉘어 진다 1) 슬렉웨어 계열 - 파생유형 SuSE 리눅스 - 뛰어난 안정성을 자랑함 2) 데비안 계열 - Ubuntu, konoppix, lindows, kali - 누구나 사용할 수 있는 오픈소스 3) 레드햇 계열 - RHEL, Fedora, CentOS, Mandrake - 서버 운영체제의 강자, 유료(RHEL) 및 무료(CentOS) 가 존재 리눅스 배포판의 구성요소 - Linux Kernel, Desktop UI, Utilities 로 이루어짐 2. 운영체제 시스템 하드웨어를 관리할 뿐만아니라 응용 소프트웨어를 실행하기위해 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 ..
[ 쿼리문 ] Mysql 위, 아래 row 값 가져와서 차이구하기
·
언어/데이터 베이스
1. 개요 같은 열 바로 위, 아래 row 값의 차이를 구하고 난 뒤 새로운 테이블을 만들고 싶었다. 결과물은 아래 이미지와 같다 2. 쿼리문 해답은 row 이전, 이후 값을 가져오는데 쓰이는 lead, lag 함수를 이용하면 되었던 것이다. lag, lead 함수와 관련된 사항은 아래 링크 참고하여 다시 공부할 것 나의 경우에는 lag 함수를 가져와 뺀다음에 abs 절대값 을 이용하여 - 를 제거해주면 끝이었다. select id, years, months, comment_counts, abs(lag(comment_counts, 1, comment_counts) over (order by comment_counts) - comment_counts ) as diff from monitor_counts; ..
[MySql] 리눅스 -> 윈도우 Mysql 워크벤치 연결하는 방법
·
언어/데이터 베이스
1. 소개 리눅스와 윈도우는 환경이 다르기 때문에 막연하게 다른 운영체제에서 운영중인 DB 를 연결하는 것은 어려울 수 있겠구나..라는 막연한 불안감이 있긴 했었다. 하지만, 생각보다 너무 쉬웠다. 알아야 하는 것은 리눅스의 IP 주소, MYSQL 의 포트번호 이 두개만 있으면 된다 2. 연결 방법 mysql 을 설치했다는 가정 하에 진행한다. 1) 우선 외부에서 특정 포트 번호로 접속할 수 있도록 리눅스 방화벽에 특정 포트 번호를 오픈해준다 firewall-cmd --permanent --add-port=3306/tcp 2) 그 다음에는 방화벽을 다시 시작해준다 - 설정을 변경한 경우 다시 시작하지 않으면 설정이 반영되지 않을 수 있다 firewall-cmd --reload 3) 윈도우로 돌아와 워크벤..
[ MongoDB ] MongoDB compass 로 aws mongodb 연결하기
·
언어/데이터 베이스
연결하는 방법은 생각보다 간단하다 1. 인스턴스 보안설정에 들어가서 인바운드 규칙을 설정한다. aws 는 인바운드 규칙을 통해 외부 접속을 통제하기 때문에 ec2 에 설치한 mongodb 를 외부에 있는 compass 로 접속하기 위해서는 인바운드 규칙에 들어가서 mongodb 포트와 ip 를 허용해주어야 한다 2. 그 다음 ec2 의 /etc/mongod.conf에서 bindIp를 수정한다 해당 환경설정 파일에는 default 설정으로 127.0.0.1 로 설정이 되어 있는데, 이 부분을 놔둘 경우에는 로컬에서만 접속이 가능하기에 외부에 있는 compass 에서 접속이 불가하므로, 0.0.0.0 으로 수정을 해야한다 3. compass 에 접속하여 fill in connection fields indi..
[ MongoDB ] AWS 에 MongoDB 설치하기
·
언어/데이터 베이스
1. 개요 사이드 프로젝트를 진행하면서 비용, 시간적인 측면을 고려하여 데이터 레이크로 사용하기로한 MongoDB 를 AWS 에 설치하기로 했다. 2. 설치 1) 우선 AWS EC2 인스턴스를 생성해준다. 생성과 관련해서는 아래 링크를 참고해서 설치하면 된다. snepbnt.tistory.com/361 2-2. 운영 서버 환경의 구성 [ EC 2 ] 2.2.1 EC2(Elastic Compute Cloud)란? EC2는 AWS에서 제공하는 클라우드 컴퓨팅 서비스다. AWS에서 사용할 수 있는 원하는 시간만큼 사용할 수 있는 리눅스 서버라고 생각하면 된다. 이 서비스를 통해서 아 snepbnt.tistory.com 2) EC2 에 접속한다. 나의 경우에는 PUTTY 를 통해 접속해주었다. 만약 사이트를 통..
[Python] MongoDB 파이썬으로 read( ) 하기
·
언어/Python
MongoDB 를 파이썬으로 불러오는 방법은 의외로 간단하다. 1. PYTHON 으로 클라이언트를 IMPORT 한다 # 라이브러리 임포트 from pymongo import MongoClient # 클라이언트를 통해 MONGO DB 연결 client = MongoClient("mongodb://localhost:27017/") 2. 그 다음 불러올 DB 이름을 CLIENT 에 적는다 # DB 접근 db = client['tm_events'] # db 이름 문자열로 할당 # DB 내 테이블에 접근 # Mongo 에서 테이블은 collection 이라고 불린다 collection = db['events'] # collection 내의 데이터 확인 doc = collection.find() 3. 그 이후 데이..