전체 글

호랑이는 죽어서 가죽을 남기고 개발자는 죽어서 기록을 남겨보자
· Programming
MultiThreading Concurrent execution I/O intensive tasks 프로그램이나 알고리즘이 동시에 수행 가능할 경우 Concurrent하다고 함 그렇다고 해서 물리적으로 병렬 수행이 될지는 어떤 하드웨어 위에서 돌아갈 지를 알아야 함 (멀티 프로세서 머신에서 돌아가야 병렬 실행된다고 말할 수 있음) 싱글 코어에서도 돌아감 컴퓨터의 자원을 Thread끼리 공유 컴퓨터의 놀고 있는 자원들을 최대한으로 사용하게 여러 작업을 수행하는 데 CPU를 많이 잡아먹지는 않지만 I/O 작업이 많을 때 MultiProcessing Parallel execution CPU intensive tasks 하나의 process는 여러 thread를 가질 수 있음 여러 process를 동시에 실행하..
· Etc/Trace
설계 Data Ingestion 데이터 송신 고려사항 안정성 처리량 및 속도, 지연시간 확장성 고가용성 지원하는 데이터 소스 커넥터 관리 용이성 Message Queue 메세지 지향 미들웨어(MOM) 비동기 메세지를 사용하는 다른 응용 프로그램 사이 데이터 송수신을 의미 이 MOM을 구현한 시스템을 MQ(Message Queue)라 함 프로그래밍에서 MQ는 프로세스나 프로그램이 데이터를 서로 교환할 때 사용하는 방법 데이터 교환 시 시스템이 관리하는 메세지 큐를 이용하는 것이 특징 서로 다른 프로세스, 프로그램 사이 메세지 교환 시 AMQP(Advanced Message Queuing Protocol)을 이용 Producer가 메세지 큐에 전송하면 Consumer가 처리하는 방식, 그 사이에 messag..
Replication message 복제하여 클러스터 내 브로커들에 분산시키는 동작 하나의 브로커가 종료되어도 안정성 유지 가능 토픽 생성 시 replication factor 지정 가능 환경에 따른 factor 기준선정 (개발, 운영 등) Partition 하나의 Topic에 대한 처리량을 높이기위해 병렬 처리가 가능하게 만든것 Partition 수만큼 Consumer 연결 가능 늘리는건 가능하나 줄이는건 불가능 초기에 적게 설정 후 메세지 처리량, 컨슈머 LAG 모니터링하며 늘리는 것 권장 ※ 컨슈머 LAG Producer가보 낸 메세지 수 - Consumer가 가져간 메세지수 Segment Producer에 의해 Broker로 보내진 메세지는Partition에 저장됨 각 메세지는 Segment 라는..
Kafka 구성 요소 Replication message 복제하여 클러스터 내 브로커들에 분산시키는 동작 하나의 브로커가 종료되어도 안정성 유지 가능 토픽 생성 시 replication factor 지정 가능 환경에 따른 factor 기준선정 (개발, 운영 등) Partition 하나의 Topic에 대한 처리량을 높이기위해 병렬 처리가 가능하게 만든것 Partition 수만큼 Consumer 연결 가능 늘리는건 가능하나 줄이는건 불가능 초기에 적게 설정 후 메세지 처리량, 컨슈머 LAG 모니터링하며 늘리는 것 권장 ※ 컨슈머 LAG Producer가보 낸 메세지 수 - Consumer가 가져간 메세지수 Segment Producer에 의해 Broker로 보내진 메세지는Partition에 저장됨 각 메세지..
MQTT Test Server 구현 MQTT Broker install MQTT 메세지 송/수신을 위해 MQTT Broker가 필요 여러가지 MQTT Broker 플랫폼이 있는데 오픈소스 중 가장 유명한 mosquitto, 그리고 서베이 중 경량, 멀티스레딩을 강조하는 nanomq test mosquitto install $ sudo apt install openjdk-8-jdk mosquitto mosquitto-client 간략한 상태 확인 명령어 $ ps -ef | grep (프로세스 이름) # 내가 실행시킨 프로세스가 현재 실행중인지, PID는 어떻게 되는지 확인 가능 $ netstat -tnlpa | grep (프로세스 이름 or Port 번호) # 실행시킨 프로세스가 사용중인 포트 확인 등에 ..
· Etc/Review
서론 자율주행 기술용 차량 전자 제어 시스템 신뢰성 향상을 위해 더 많은 차량 및 환경 정보 수집 필요 노면 조건은 차량 제어의 안전성과 성능을 향상시키는 핵심 요소 노면 조건 or 잠재적 타이어 접지력 추정을 위한 여러 시도 노면 정보는 전자 차량 제어 시스템 개선, 차량 가속, 제동, 조향을 위해 사용될 수 있음 노면 조건, 마찰계수 추정을 위한 선행 연구들의 방법들은 tire force-slip-based method road property-based method tire-road interaction-based method 가 있었음 tire force-slip-based method 차량역학모델을 이용하여 노면마찰계수 추정 가능 물리 모델의 파라미터 파악에만 실험결과가 필요하여 상대적으로 실험..
Docker Engine 설치 과거 버전 삭제 sudo apt-get remove docker docker-engine docker.io containerd runc repository 설정 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl gnupg lsb-release sudo apt install curl Docker Official GPG Key 등록 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg stable repos..
· Etc/Trace
Notion에 논문 서베이 및 리뷰를 진행하면서 정리하는 내용에 수식을 추가해야 하는 상황 LaTex 문법을 잘 몰라서 이번 기회에 정리해 놓고자 포스팅을 남김 Reference 왕초보 LaTeX: 수식 명령어 정리 [마크다운] LaTex 문법 정리
· Etc/Review
“When information is cheap, attention becomes expensive.” 정보가 저렴하면, 관심이 비싸진다. “It is not the amount of knowledge that makes a brain. It is not even the distribution of knowledge. It is the interconnectedness.” 두뇌를 만드는 것은 지식의 양, 지식의 분배가 아닌 상호 연결이다. “Information is not knowledge and knowledge is not wisdom.” 정보는 지식이 아니며, 지식은 지혜가 아니다. ― James Gleick, The Information: A History, a Theory, a Flood 개발..
설치 및 환경 설정 WSL 삭제 wslconfig.exe /l wslconfig.exe /u linux-version WSL 설치 Microsoft Store에서 설치 기본값 변경 wsl -s linux-version 부가 설정 python3-pip 설치 sudo apt update -y && sudo apt upgrade -y apt-get install g++ openjdk-8-jdk python3-dev python3-pip curl -y python3 -m pip install --upgrade pip pip install pipenv sudo apt install pipenv -y Build from source | TensorFlow CUDA Toolkit Archive cuda 버전 맞춰 다..
AIVILLAIN
뎁사유기