Study: ComputerScience(CS)
[Linux] gdb로 process/threads 디버깅하는 방법(feat. 좀비 프로세스)
💡 본 문서는 'gdb를 활용한 실행 중인 프로세스 & 스레드 디버깅 하기'에 대해 정리해놓은 글입니다. 딱히 프로세스가 죽은 것은 아닌데 과도하게 cpu를 잡고 있거나(특정 스레드 무한루프), 프로세스가 살아는 있지만 아무런 응답을 하지 않는(데드락) 경우가 있습니다. 혹은 이경우에 사용하는 gdb 디버거를 이용하여 실행 중인 프로세스에 직접 붙어 현재 상태를 체크하는 방법을 정리하였으니 참고부탁드립니다. 1. 스레드/프로세스 상태 확인하기 $ ps -eLf | grep UID PID PPID LWP C NLWP STIME TTY TIME CMD kukuta 11048 1 11048 0 8 10:52 pts/0 00:00:00 kukuta 11048 1 11050 1 8 10:52 pts/0 00:00..
[Network] 네트워크 기본 개념 정리 (IP, Route, Subnet...)
💡 본 문서는 '네트워크 기본 개념'에 대해 정리해놓은 글입니다. 와이파이를 설정하거나 서버 및 네트워크에 접속하는 등 생활속이나 개발하는데에 있어 종종 네트워크의 기본개념이 활용됩니다. 관련 기초개념에 대해 자세히 다루었으니 참고하시기 바랍니다. 네트워크(Network) 란? 분산되어 있는 컴퓨터들을 자원이나 정보를 공유하기 위하여 통신망으로 연결한 것을 의미합니다. 프로토콜을 사용하여 데이터를 교환하는 시스템의 집합을 통칭하며, 전송 매체로 서로 연결된 시스템을 의미합니다. 1. 네트워크 활용의 장점과 단점 모든 종류의 물리적 및 논리적 자원을 공유할 수 있으므로 자원 활용이 극대화 병렬 처리가 가능해지고 성능이 향상 데이터의 중복 저장이 가능하므로 데이터 복구가 용이하고 신뢰성이 향상되지만 일관성 ..
[Linux] 라우팅(Routing) 이란? 리눅스 라우팅 설정 (feat. route)
💡 본 문서는 '리눅스 라우팅 설정'에 대해 정리해놓은 글입니다. 이는 라우팅에 대해 설명하고 라우팅 테이블 설정 및 특정 목적지까지 라우팅 경로를 확인하는 방법까지 다뤄었으니 참고하시기 바랍니다. 1. 라우팅 (Routing)이란? 라우팅이란? 한 네트워크에서 다른 네트워크로 최적의 경로를 탐색하여 지정한 후 네트워크 안의 호스트에게 패킷들을 전달하는 과정을 말합니다. 리눅스 시스템은 미리 설정되어 있는 라우팅 테이블이라는 지도를 보고 패킷을 어떤 네트워크 인터페이스를 거쳐 목적지로 보낼지 결정합니다. 2. 리눅스 라우팅 설정 2.1 라우팅 테이블 확인 route 명령어를 통해 현재 시스템에 설정된 라우팅 테이블을 확인할 수 있습니다. $ route Kernel IP routing table Desti..
[Linux] NTP 서버 시간 동기화
💡 본 문서는 'NTP 서버를 활용한 시간 동기화'에 대해 정리해놓은 글입니다. 각 서버의 시간이 조금이라도 틀어지게 되면 로그를 확인하는 과정에서 시간 간극으로 인해 정확한 원인을 파악하지 못하는 경우가 발생합니다. 이를 예방하기 위해 서버 간 시간 동기화 하는 과정이 필요하며, 글 하단에서는 내부망 내에서 NTP 서버를 이용하여 지속적으로 시간 동기화를 해주는 작업에 대해 소개하고 있으니 참고하시기 바랍니다. Linux 서버 간 시간 동기화 (일시적) 수동으로 시간 변경하기 (매우 비추천) 사용자가 특정 시간을 지정해서 시간을 설정하는 방법이 있으나, 이는 특정한 목적이 아니라면 매우 비추천하는 방법입니다. date -s "2022-09-27 18:00:00" 하나의 서버를 기준으로 시간 동기화 특정..
[SW공학] 다양한 종류의 SW 테스트 분류 및 정의
💡 본 문서는 '다양한 종류의 SW 테스트 분류 및 정의'에 대해 정리해놓은 글입니다. 개발한 SW에 대해 한가지 관점으로 테스트를 하게된다면, 다른 부분에 있어서 여러 문제가 발생할 수 있습니다. 이를 예방하고 이에 대한 관점을 넓히기 위해서는 다양한 종류의 SW 테스트에 대해서 아는 것이 중요합니다. 해당 문서에서는 다양한 SW 테스트를 분류하고 정리하였으니 참고하시기 바랍니다. 1. SW 테스트 분류 기준 테스트의 종류는 여러가지 분류기준에 따라서 다양하게 이름 붙여질 수 있으며, 다양한 종류의 테스트를 먼저 아래와 같이 구분하고 정리할 것입니다. 1.1 블랙박스 테스트 vs 화이트박스 테스트 블랙박스(Black Box) 테스트: 소프트웨어 내부 구조가 어떻든 간에 외부로 나타나는 현상만을 기준으로..