Binary search
TCP Dump and Wireshark can show us ongoing network connections
ps
top
free
show us the number the type of resourece
어떻게 작동하는지 알 수 없는 바이너리 파일을 받고,
그 파일이 어떻게 작동하는지 등을 다양한 방법을 통해 알아내야함.
바이너리 분석은 다양한 기술과 기법을 활용해 더 많은 정보를 얻어야 하고, 대부분의 경우 소스코드가 없으므로 소스코드가 아닌 다른 형태의 코드를 읽어야 함.
바이너리를 분석할 때도 코드를 읽음 - '역어셈블 처리 과정' 이용
(역어셈블 : 기계어 코드를 사람이 해석하기 쉬운 어셈블리 언어로 변환)
strace
itrace == library call
트레이서 (trace: 쫓다, 프로세스의 특정 동작을 추적하는 프로그램)
-strace : 리눅스 프로그램이 호출하는 시스템 콜을 추적
-itrace : 리눅스 프로그램이 호출하는 공유 라이브러리 함수를 추적
So, For trouble shooting or Debugging,
I have to
1. Getting information as much as i can
2. Finding the root Casue
그리고 마지막으로,
3. Performing the necessary remediation
Throughout this process, Document what we do is very important.
발생 사례 상황 다큐멘테이션 하는거 굉장히 중요함.
strace ./script.py | less
Great work! Piping the less command allows you to scroll through a lot of text output.
linux
/var/log/syslog == 시스템 로그
.xession-error == user-specific log
MacOs
/library/logs
Windows
event viewer tool
-
하이젠버그. 격리 또는 검사를 시행하려 하면 금세 행동을 바꾸는 소프트웨어 버그를 지칭하는 프로그래밍 용어(불확정성 원리를 주창한 ''하이젠베르크''와 ''버그''의 합성어)
선형검색 (linear search) ------
어떠한 배열에서, 찾고자 하는 아이템을, 1번 아이템에서부터 차례로 비교해가며, 검색하는 알고리즘이다.
이 방법에는 단점이 있는 데,
배열에서 찾으려는 아이템이 뒤쪽에 배치되어 있다거나,
애초에 배열에 없다면
수행시간이 아주 길어질수도 있다는 것이다. (선형 시간복잡도 linear time complexity)
인풋과 수행시간이 비례.
이진 검색 (binary search) ~~|~~
이 시간을 단축할 수 있는 알고리즘
하지만 사용가능한 배열이 한정적이다.
=> 순서대로 정렬된 배열sorted array에서만 가능. (선형 검색은 어느 배열에서나 가능)
순서대로 정렬이 안되있으면, 정렬 시키는 것이 먼저임
리스트 경우 먼저 순서대로 정렬 시키는 것이 1순위라고 말 할수 있음
이 특성 때문에 이진검색 알고리즘에도 단점이 있는데, 평소에 어떤 아이템 하나를 추가하려면,
순서대로 정렬하기 위한 시간이 어느정도 소요된다는 것이다.
(선형검색.. 순서가 상관없으니 그냥 맨뒤에 배치하면 됨.)
persis == 집요하게
intermittent == 간헐적인, 간헐적으로 일어나는
interation == 상호작용
interfering == 간섭하는
hypothesis == 가설
mitigate == 완화, 경감 시키다
reproduction == 복사, 복제
appropriate == 적절한
hassle == 귀찮은, 번거러운 상황, 따지기
remediation == 복원, 교정
interchangeably == 교체, 교환할수 있는
phenomenon == 현상
'Service > Coding' 카테고리의 다른 글
[API Stack]Blocking vs Non-Blocking, Sync vs Async (0) | 2025.04.02 |
---|---|
파이썬 클래스 설명 (0) | 2022.10.26 |
Quiz Week 5 - Python (0) | 2022.02.15 |
Quiz week 4 - Python (0) | 2022.02.15 |
Quiz: Week 4 - Python (0) | 2022.02.15 |