본문 바로가기

전체 글

(23)
앞으로 포스팅할 내용들 리눅스 - pid, ppid, gpid, sid - grep, awk, sed 파이썬 - threading, multiprocessing, asyncio realpython.com/python-concurrency/#how-to-speed-up-an-io-bound-program - django basic 프로젝트 - CentOS + AWS에 MySQL + Django + Node 로 CCTV 데이터 OpenCV로 분석하는 대시보드 웹 서버 운영하기 - ##### 복습 & 정리 ##### # 수학 공업수학 선형대수학 확률변수 # 전자 기초회로 전자회로 전자기학 물리전자 반도체공학 # 통신 통신이론 디지털통신 네트워크/소켓 무선이동통신 안테나공학 # 컴퓨터 데이터 구조 알고리즘 컴퓨터 구조 OS 시스템 프..
[Linux] iptables 사용법 정리 1. iptables 란? 요약하자면 1) netfilter 라는 네트워크 관련 API 의 Wrapper임. 2) 방화벽 테이블, 체인, 규칙을 쉽게 쓸 수 있게 해줌 3) ip6tables, arptables, ebtables 같은 친구들이 있음 4) 리눅스 최신 버전은 nftables 를 쓰고, 이건 위 친구들을 전부 통합했음 이다. 비록 최신 리눅스는 nftables를 쓴다지만... 아직도 온라인에서 많은 자료들은 iptables 를 활용하고있고, 또 현업에서도 사용되고있다. 2. 전체 흐름 및 구분 iptables의 RULE은 크게 Table & Chain, Match, Target 개념을 사용한다. Table 과 Chain 에 관련된 내용은 iptables man page에 기술되어 있고, Ma..
[SQL/DB] MySQL 서버 디스크 이전하기 0. 개요 AWS에서 RDS를 사용할 뿐만 아니라 로컬 서버에서 MySQL을 돌리는데 MySQL 전용 로컬 서버 용량이 100% 차서 뻗어버렸다. 새 하드를 박아서 이전하려고 했는데, 100% 차면 명령어도 안먹히더라. 이런 상황에서 MySQL 저장소 위치를 이전하는 방법을 알아보자. 1. 데이터 제거 일단 작동을 위해 필요없는 데이터 조금 지워보는 것 부터 시작하자. MySQL에서 Delete는 용량을 줄여주지 않는다. delete 를 commit한 뒤 optimize까지 해줘야 용량이 줄어드는데, TB 단위의 optimize는 진짜 한 세월이다. DROP과 TRUNCATE를 이용해 전체 용량의 2%정도만 확보하자. (1) DROP 테이블 자체를 삭제한다. DROP TABLE 테이블명; mysql 의 ..
[C/C++] 헤더 파일은 어디서 소스를 가져올까? 0. 개요 Linux 환경에서 커널을 살펴보거나 C 프로그래밍을 하다 보면 의문점이 생긴다. #include #include "myheader.h" 위와 같이 소스코드 맨 위에서 #include를 통한 헤더파일 삽입 전처리기를 사용하는데, 는 컴파일러가 정해놓은 루트(리눅스에선 일반적으로 /usr/include/)에서 찾고, ""는 현재 폴더에서 찾는다는 사실! ...까지는 많은 사람이 알고있다. 그런데 막상 그 헤더파일을 까보면 1) 각종 매크로 2) 구조체 3) 함수 선언부 4) 인라인 함수 5) 주석만 잔뜩 존재하고 3) 에서 선언된 함수의 소스는 찾을 수가 없다. 컴파일 구조를 생각했을 때, 우리가 작성한 main.c 파일 등에서 include한 것은 .o(오브젝트) 파일일 때에는 링크할 공간만 ..
[SQL/DB] MariaDB에서 MySQL로 데이터 이관(Migrate)하기 0. 개요 재직하는 회사에서 새로 들어온 분석 프로젝트를 검토하기 위해 고객사에서 의뢰한 데이터셋 덤프를 요청하였다. 문제는 고객사는 MariaDB 기반이었고 당사는 MySQL을 사용한다는 것이었는데, MariaDB가 MySQL의 fork에서 시작한 만큼 웬만하면 되겠지! 라는 심정으로 그냥 덤프를 떠 봤다. mysql -h [우리회사서버] -u [계정명] -p SAMPLE_DATA_DB 보통은 NOT NULL 을 사용한다. 즉, 고객사가 Oracle에서 MariaDB로 데이터를 이관할 때 TEXT 의 default value 를 "" 로 설정하였는데, 이를 MySQL에서 받아들이지 못한 것이다. 고객사에 default value를 NULL로 하여 다시 덤프를 떠달라고 할 수도 있지만... 자체적인 해결..
[C/Socket] Network Programming - 패킷, 네트워크, OSI 7계층, 소켓 ##### 목차 ##### 1. 패킷 2. 네트워크 (1) 호스트 (2) 네트워크 구조 (3) 노드 1) 허브 2) 스위치 3) 브릿지 4) 라우터 5) 게이트웨이 3. OSI 7계층 (1) 개요 (2) 계층별 설명 (3) TCP/IP 4. 소켓 프로그래밍 (1) 개요 (2) IP 1) 개념 2) 분류 3) 확인법 4) ARP (3) 프로토콜 1) TCP 2) UDP 3) 포트 5. 코드 구현 (1) C (2) Python 1. 패킷 Packet 인터넷으로 하고자 하는 것은 결국 정보의 전달이다. 단방향이든 양방향이든 정보를 전달해야 하는데, 실제 정보->이진화->전자 신호(Signal)->유,무선 매체 를 거치는 큰 과정에서 규격화, 양산화라는 수요가 있었고 많은 사람들이 정보의 형식을 일정한 방식으로..
[Deep Learning] L1 Regularization의 Gradient에 관한 소고 1. 개요 딥러닝을 배우면 Ridge, Lasso regularization에 관해 알게 된다. 각각 L2, L1 norm을 Loss 항에 더하는 방식으로 이루어진다. (실제로는 Norm에 lambda 값을 붙여서 조절해준다.) 이 때 Optimizer로 SGD를 사용한다고 가정하면, for 문 안에서 다음과 같은 수식을 사용한다. Loss 항의 w에 대한 편미분이야 Regularization이 없을 때도 있으니 생략하고, Norm 항의 w에 대한 편미분에 대해 생각해보자. 우선 L2 norm은 간단하다. 모든 weight parameter에 대해 위 연산만큼을 gradient 계산시에 더해주면 된다. 잠깐, 그런데 L1 norm은? 고등 수학을 배웠다면, 절댓값을 씌운 함수는 0에서 미분 불가능하다는 ..
[PyTorch] PyTorch Basic - 기본 틀 0. 개요 여러 Pytorch 에서 모델을 테스팅하기 위한 기본적인 틀을 정리해놓았다. 대부분의 경우 해당 틀에서 데이터 / 모델 내용 / 훈련 방법 만 바꾸면 된다. - Import - Hyperparameters Setting - Preparing Data - Model Structure - Declare : Model, Loss, Optimizer - Train (with validation) & Save - Test - Visualization & Analysis Model Structure과 Train 부분은 워낙 구현 형태마다 다르니, 변수이름은 신경쓰지 말고 형식만 보기를 바란다. 1. Import # torch import torch import torch.nn import torch.nn..