교신 중 안테나 구동 로그에 다음과 같은 이상 계단 현상이 발생하였습니다.
위성과의 교신을 위해 지상국 시스템을 초기화 하는 과정에서 모뎀 장비에서 응답 신호가 수신되지 않아 전체 교신 프로세스가 실패하는 문제가 발생하였습니다.
지상국 운용 중 서버 프로그램이 디버깅 창과 함께 비정상 종료되는 문제가 간헐적으로 발생하였습니다.
대부분의 개발자들이 원하지 않는 파일이 삭제되어 패닉 상태에 빠진 경험 한 두번쯤 있을 것이다. 오늘은 그와 반대로 삭제하려는 파일이 삭제되지 않아 고생했던 나의 경험을 나누어 보려고 한다. 이직한 회사에서 퇴사한 여러 사람들이 개발해 놓은, 소스 파일 하나가....
CPU-1553B I/O 카드 데이터 동기화 문제를 해결한 사례를 기록합니다.
SDLC 메시지 프레임이 수신되었을 때, 수신 이벤트에 대한 인터럽트 서비스 루틴이 호출되지 않는 문제를 디버깅한 경험을 기록합니다.
네크워크 패킷 분석을 통한 트러블 슈팅 경험을 공유합니다.
개요 Process Monitor 는 실행중인 프로세스들의 Windows API 호출을 실시간으로 모니터링하기 위한 유틸리티 프로그램이다. 파일, 네트워크, 쓰레드, 레지스트리 등과 관련된 API 호출을 모니터링할 수 있다. 아래 공식 사이트에서 프로그램에...
단순하지만 의미있었던! Web 로그인 실패 문제 분석 과정 기록!
부제 : 무작정 코드를 수정하면 잘못간 궤적을 그대로 두고 길을 돌아오는 코드를 만들 수 있습니다. 요구사항을 분명히 하면 올바른 목표로 곧장 가는 새길을 만들 수 있습니다.
글쓰기는 역시 메타인지를 도와준다.
새벽에 전화가 걸려왔다.
intellij에서 스프링 부트 기반의 애플리케이션을 개발하고 있다. 종종 디버그 모드로 실행하고 브레이크 포인트를 걸어 코드를 확인해 보기도 하는데 디버그 모드로 실행하면 초기 애플리케이션 로딩시 아주 오랜시간이 걸린다. 디버그 모드라 다 그런줄 알고 있었는데, 오늘
Java 프로젝트에서 JNA(Java Native Access)를 활용하여 CJava 코드에서 문제가 발생했으면 호출 스택을 통해서 어느 파일, 어느 코드에서 문제가 발생했는지 쉽게 찾을 수 있었겠지만 라이브러리로 로드한 C어느 코드에서 죽는다는 것은 알았지만 왜 해당
윈도우 운영체제에서 DLL의 코드 영역은 운영체제 내 모든 프로세스가 공유하는 메모리 영역에 올라가서 시스템 전체에서 공유되어 사용된다. DLL 함수에서 선언된 지역변수는 각 프로세스의 쓰레드 스택에서 독립적으로 관리될 것이고, new 해서 생성되는 객체 역시 각 프로
토비의 스프링 책을 읽다가 DI(Dependency Injection)에 대해 정리된 설명을 읽는다. A→B라는 의존관계를 갖는 오브젝트가 있을 때 A와 B 사이에 표준화된 인터페이스를 두면 A는 변경하지 않으면서 B의 구현을 B1, B2, B3로 자유롭게 확장할 수
개발을 시작한지 얼마되지 않았을 때는 프로그램에 버그가 생기면 관련된 부분에 로그를 찍거나, 디버그 모드를 통해 코드를 추적해서 원인을 찾아갔다. 그때는 귀납적 방법, 그게 전부인 줄 알았다.
Java, Netty 기반 서비스에서 발생한 쓰레드 누수 이슈를 밑바닥에 있는 로그에서 시작해서 진짜 원인을 찾아서 해결한 귀납적 과정을 기록하며 객관화해 보았습니다.
가비지 컬렉터의 동작 원리를 이해하고 이를 근거로 프로그램의 힙 메모리 증가 현상을 분석한 과정을 정리해 보았습니다.
개발한 시스템에서 문제가 발생하면 우리가 가장 먼저 만나는 것은 문제의 표면적인 현상입니다. 우리는 문제를 해결해야 하는 엔지니어로서 문제의 현상 이면에 숨겨진 진짜 원인을 찾아야 합니다. 그래야 문제를 해결할 수 있습니다. 어느날 동료에게 전화 한 통을 받았습니다.
서비스에서 생성한 해시(SHA256) 계산 결과와 다른 범용 도구를 활용한 결과가 다르다는 컴플레인이 들어왔습니다. 원인을 분석해 보니 사람이 보기에는 똑같은 값이지만 컴퓨터가 값을 어떤 타입으로 다루냐에 따라 계산 결과가 달라지는 현상이었습니다. 예를 들어 다음은 사