IT117 리눅스 네트워크 수신 패킷만 drop하도록 시뮬레이션하는 방법 실제 환경에서 Rx만 drop 되는 네트워크 환경을 시뮬레이션해야 하는 문제가 생겼습니다. 그래서, 리눅스에서 패킷을 특정 확률로 drop 하는 방법을 알아보았습니다. 그뿐 아니라 리눅스에서 수신 패킷(RX packet)만 드롭하도록 시뮬레이션하는 방법도 있다는 것을 알게 되었습니다. NetEm과 한계점 네트워크 패킷을 제어하는 것 중 하나는 NetEm(Network Emulator)을 사용하는 것입니다. 하지만 NetEm은 주로 송신 패킷에 대한 제어를 제공하며, 수신 패킷에 대한 제어는 제한적입니다. NetEm은 한쪽 방향의 패킷만 제어하지 못하는 문제가 있었습니다. NetEm 사용법은 다음 링크를 참고하시면 됩니다. 수신 패킷만 Drop하는 법 수신 패킷을 특정하게 드롭하려면 iptables을 사용.. 2024. 1. 29. 리눅스에서 DDD 또는 GDB 디버거가 동작하지 않을 때 - ptrace: Operation not permitted 에러 C/C++ 프로그램을 디버깅하려고하는데 “ptrace: Operation not permitted” 에러가 발생했습니다. 이 에러는 주로 두 가지 원인으로 발생합니다. 이 에러의 발생 원인과 처리 방법에 대해서 알아보겠습니다. 보안 제한으로 인한 ptrace에러 Linux 시스템에서는 보안상의 이유로 ptrace 작업을 제한할 수 있습니다. 이는 /proc/sys/kernel/yama/ptrace_scope 설정을 통해 조정할 수 있습니다. 이 설정이 0이 아닌 경우, ptrace 작업은 제한될 수 있습니다. 이를 해결하기 위해선, root 사용자로 로그인하여 해당 설정을 0으로 변경하거나, 프로그램을 root 사용자로 실행해야 합니다. 제가 사용하는 리눅스의 ptrace_scope를 찾아보니 다음과 같.. 2024. 1. 29. 구글 코랩에서 스테이블 디퓨전 실행하고 접속하기 이 글에서는 구글 코랩에서 스테이블 디퓨전 실행하고 접속하는 방법에 대해서 설명합니다. 스테이블 디퓨전 공식 github 구글 코랩에서 Stable Diffusion 실행하기 Table Of Contents 스테이블 디퓨전 공식 github 구글 코랩에서 Stable Diffusion 실행하기 구글 코랩에서 Stable Diffusion 웹에 게시하기 스테이블 디퓨전 공식 github https://github.com/AUTOMATIC1111/stable-diffusion-webui 중간 즈음 내리다 보면 아래와 같은 화면이 있습니다. 저 List of Online Services를 누르면 아래 화면으로 연결되는데, 아래 이미지에 파란색 표시된 부분을 누르면 코랩으로 자동연결됩니다. colab에 이미 가.. 2024. 1. 27. github private repository clone에러 시 문제 해결하기 vscode에서 내 private 리포지토리(https://github.com/lswhh/flask.git)를 clone하시 인증에러 발생시 처리 방법을 기록합니다. Table Of Contents git clone에러 git clone에러 vscode에서 내 private 리포지토리(https://github.com/lswhh/flask.git)를 clone하시 인증에러 발생시 처리 방법을 기록합니다. $ git clone https://github.com/xxxx/flask.git 'flask'에 복제합니다... remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/lswhh/flask.git.. 2024. 1. 27. C/C++ 프로그래밍 오류 검출 툴 - valgrind 메모리 오류 상세히 보기 이 글에서는 valgrind로 메모리 오류를 더 상세히 알아보는 법에 대해서 설명합니다. valgrind 메모리 오류 상세히 보기 Valgrind의 memcheck 도구는 기본적으로 대부분의 메모리 오류를 자동으로 감지합니다. 그러나 일부 상황에선 접근 오류를 감지하지 못할 수도 있습니다. 이러한 경우에는 다음과 같은 옵션 중 하나 이상을 사용하여 검사 정확도를 높일 수 있습니다: --track-origins=yes: 이 옵션은 메모리 오류의 원인을 추적하도록 지시합니다. 메모리를 초기화하지 않고 읽기를 시도한 경우 원인을 추적할 수 있습니다. 기본적으로 이 기능은 비활성화되어 있습니다. $ valgrind --tool=memcheck --track-origins=yes your_program --kee.. 2024. 1. 25. 리눅스에서 NetEm(Network Emulator)를 사용하여 Traffic Control(패킷 지연,유실,대역폭 제한등)하고 테스트 하는 방법 NetEm은 "Network Emulator"의 약자로, Linux 트래픽 제어 기능을 확장하여 선택한 네트워크 인터페이스에서 나가는 패킷에 대해 지연, 패킷 손실, 중복 등의 특성을 추가할 수 있게 해주는 도구입니다. 이 도구를 이용해서 다양한 네트워크 지연 상황에 대한 시뮬레이션과 테스트를 해 볼 수 있는 유용한 도구입니다. 오늘은 이 NetEm을 사용하는 방법을 알아보도록 하겠습니다. Table Of Contents NetEm 이란? 지연 vs 지터 tc 명령을 통한 NetEm테스트 방법 NetEm 모듈 활성화 확인 eth1 장치에 지연 명령 추가 1. 명령수행 2. 지연 확인 3. 패킷 지연 테스트 4. 패킷 지연 제거 기타 시뮬레이션 패킷 손실률 지터(Jitter) 패킷 중복(Packet Dup.. 2024. 1. 25. 파이썬(python)으로 MariaDB(MySQL) DBMS 성능 측정하는 법 - py-tpcc로 tpcc 테스트 하기 이 글에서는 py-tpcc라는 python으로 만들어진 오픈소스 tpcc 테스트 프로그램으로 mysql을 연동해서 실행하는 법을 설명합니다. Table Of Contents 1. 사전 조건 2. py-tpcc 소스 다운로드 3. odbctpcc.py 명령 확인 4. pytpcc 결과 보는 법 1. 사전 조건 먼저 테스트하려는 장비에 MariaDB 혹은 MySQL이 설치되어있고, pyodbc와 unix-odbc가 설치되어있어야 합니다. 이러한 준비를 위한 관련 내용은 아래 링크에서 확인하실 수 있습니다. Mariadb에 Linux unixODBC로 데이터베이스 연동 우분투 22.04 2. py-tpcc 소스 다운로드 github py-tpcc by lswhh clone https://github.com/l.. 2024. 1. 25. 가정집 컴퓨터(PC) 도메인 연결하기 - 공유기 포트 포워딩 | netis wf2710 | 집에있는 노트북 서버 만들기 대부분의 집에서는 공유기를 사용하여 인터넷을 연결합니다. 그럴때 내 노트북이나 컴퓨터가 외부에 노출되는 주소로 연결되기 위해서는 외부 연결이 가능한 포트를 열어 놓아야 합니다. 장비가 공유기 뒤에 있고 호스팅을 설정하기 위해서는, 공유기에서 포트 포워딩(port forwarding) 설정을 해야 합니다. 이를 통해 외 요청이 공유기를 통해 호스트된 서비스로 연결됩니다. 공유기 설정하기 5단계 wsl 리눅스 IP 공유기 설정하기 5 단계 1. 공유기 관리 페이지에 로그인합니다: 대부분의 경우 기본 게이트웨이 IP 주소 (예: http://192.168.1.1)를 사용하여 웹 브라우저를 통해 공유기 관리 페이지에 로그인합니다. 2. 관리자 ID / 비밀를 입력합니다: 기본 관리자 ID와 비밀번호를 입력하세요.. 2024. 1. 25. Clean Code(클린 코드) | 로버트 C. 마틴 - 1. 깨끗한 코드 핵심 정리 리뷰 이 글에서는 로버트 C. 마틴의 저서인 클린 코드에 대해서 소개하고 1장 깨끗한 코드에 대해서 설명합니다. 클린 코드 - 로버트 C. 마틴 1장 깨끗한 코드 1장 깨끗한 코드의 ppt 발표 버전 Table Of Contents 클린 코드 - 로버트 C. 마틴 1장 깨끗한 코드 코드가 존재하리라 나쁜 코드 나쁜 코드로 치르는 대가 원대한 재설계의 꿈 태도 원초적 난제 깨끗한 코드라는 예술? 깨끗한 코드란? 우리들 생각 우리는 저자다 보이스카우트 규칙 프리퀄과 원칙 결론 1장 깨끗한 코드의 ppt 발표 버전 클린 코드 - 로버트 C. 마틴 Clean Code: A Handbook of Agile Software Craftsmanship은 Uncle Bob으로도 알려진 Robert C. Martin이 쓴 책으.. 2024. 1. 24. MariaDB(Mysql) 프로시저 사용하기 - 예제 오늘은 MariaDB를 테스트를 할 일이 생겼습니다. 그런데, 데이터를 삽입하려고 하니 한 번에 쉽게 넣을 수 있는 방법이 필요해서 Procedure를 이용해서 데이터를 삽입하고 테스트해 보았습니다. Procedure를 이용한 데이터 삽입 MySQL에서 프로시저를 생성할 때는 `DELIMITER`를 사용하여 명령문의 끝을 표시해야 합니다. 이는 MySQL이 세미콜론(;)을 명령문의 끝으로 인식하기 때문입니다. 따라서 세미콜론이 포함된 프로시저를 생성할 때는 다른 구분자를 사용해야 합니다. 아래와 같은 구문을 통해서 mysql 또는 mariadb에 프로시저를 생성할 수 있습니다. 프로시저 생성 구문 예 DELIMITER // CREATE PROCEDURE PROC1() BEGIN DECLARE i INT .. 2024. 1. 24. 리눅스 IO 상태 모니터링 하기 - iostat 명령어 알아보기 우분투나 Centos등 리눅스에서 시스템을 관리하거나 테스트를 하다보면 IO를 모니터링해야할 때가 많습니다. 오늘은 리눅스에서 iostat으로 시스템에 발생중인 I/O를 모니터링하는 간단한 방법과 결과를 해석하는 방법을 알아보겠습니다. Table Of Contents 리눅스에서 I/O 모니터링 하기 iostat 명령 수행 결과 iostat 수행 결과 분석 Merged read/write request 란? 결론 리눅스에서 I/O 모니터링 하기 리눅스에서 I/O 상태를 1초마다 모니터링하는 한 줄 쉘 명령은 다음과 같습니다: iostat -x 1 이 명령은 iostat 명령을 사용하여 확장된 통계(-x 옵션)를 1초마다(1 옵션) 출력합니다. 이 명령은 CPU 사용률과 각 디스크 장치의 I/O 통계를 보여.. 2024. 1. 24. 티스토리 블로그를 구글 애널리틱스와 연결하는 방법 이 글에서는 티스토리 블로그를 구글 애널리틱스와 연결하는 방법에 대해서 설명합니다. 구글 애널리틱스에 티스토리 블로그 속성 추가 티스토리 블로그에 구글 애널리틱스 연결하기 구글 애널리틱스에 티스토리 블로그 속성 추가 티스토리에서 자체적으로 제공하는 통계도 있지만, 구글 애널리틱스에서는 더 다양한 통계정보를 제공합니다. 또, 여러 종류의 블로그를 운영 중인 분은 구글 애널리틱스에서 한 번에 모든 통계를 확인할 수 있다는 장점도 있습니다. 오늘은 티스토리 블로그를 구글 애널리틱스로 연결해 보기로 하였습니다. 먼저 구글 애널리틱스에 티스토리 블로그를 추가하기 위해서는 구글 애널리틱스에 접속합니다. 구글 애널리틱스는 속성 단위로 통계를 제공합니다. 여기서 신규 속성을 등록해야합니다. 관리 > 속성 만들기를 클릭.. 2024. 1. 23. 이전 1 ··· 5 6 7 8 9 10 다음