하찮은 버그가 하나 더 있었쩌
주말에 코딩을 하게되어서 슬프빈다.
게임을 안 하면 더 유익하여서 손해본거는 아닐꺼빈다.
아무거나 막 알려주는 것 같은데, 앵간하게 여러분야에 사용되는 것이어서 아무데나 끼워맞추면 댈꺼삔다.
설계한 프로토콜에 특성 상 싱크상태 계산이 복잡하여서 변한 상태를 백업하는 변수를 사용하여서 이상한 계산을 더 하지 않으면 좋스빈다.
네트워크 상에 패킷은 순서가 다르게 올 수도 있어서 정렬 과정이 필요한데 수신 부분에만 백업 변수를 넣어서 망했쩌. 정렬하는 부분도 고쳐서 아주 잘 대빈다. 이럼 프로토콜은 완성되었을 것이어요. 내일 시간이 남는다면 윈도우 원격데스크탑 연결에 이 프로토콜을 씌워서 되는지 보아야 하겠어요. 이케하면 앵간하게도 해킹하기 어려워 지겠쩌.
쉐도우 변수는 무엇일까.
쉐도우 변수(Shadow variable)는 컴퓨터 과학에서 변수, 함수 또는 데이터 구조에 대한 간접적인 참조 또는 사본을 의미합니다. 이는 여러 목적으로 사용될 수 있으며, 주로 다음과 같은 경우에 활용됩니다:
1. 메모리 관리: 쉐도우 변수는 가비지 컬렉션(Garbage Collection)이나 메모리 해제와 같은 메모리 관리 기법에 사용됩니다. 원본 변수의 참조 카운트를 추적하거나 원본 변수의 메모리 해제를 관리하기 위해 쉐도우 변수를 사용할 수 있습니다.
2. 동시성 제어: 멀티스레드 프로그램에서 쉐도우 변수는 뮤텍스(Mutex)나 세마포어(Semaphore)와 같은 동시성 제어 메커니즘을 구현하는 데 도움을 줍니다. 쉐도우 변수를 사용하여 스레드 간의 자원 공유를 관리하고 데이터 경합(Data Race)을 방지할 수 있습니다.
3. 데드락 감지: 쉐도우 변수는 데드락(Deadlock)을 감지하고 해결하는 데 사용될 수 있습니다. 쉐도우 변수를 사용하여 동시에 여러 자원에 대한 참조를 추적하고 데드락을 식별할 수 있습니다.
4. 최적화: 일부 경우에는 쉐도우 변수가 변수 액세스 패턴이나 사용 빈도를 분석하는 데 사용되어 코드를 최적화하는 데 도움을 줄 수 있습니다.
5. 동적 프로그래밍: 동적 프로그래밍 문제에서 쉐도우 변수는 하위 문제의 결과를 저장하는 데 사용될 수 있습니다. 이를 통해 중복 계산을 피하고 효율성을 높일 수 있습니다.
쉐도우 변수는 프로그래밍 언어, 알고리즘, 시스템 설계 등 다양한 컴퓨터 과학 분야에서 활용되며, 문제 해결과 최적화에 중요한 역할을 합니다.
