반응형 분류 전체보기505 컴퓨터 구조 - 레지스터(프로그램 카운터, 명령어 레지스터, 메모리 주소 레지스터등), 스택 주소 지정방식, 변위 주소 지정 방식 프로그램 속 명령어와 데이터 실행 전후로 반드시 레지스터에 저장된다. 따라서 레지스터에 저장된 값만 잘 관찰해도 프로그램의 실행 흐름을 파악할 수 있다. 다시 말해 레지스터 속 값을 유심히 관찰하면 프로그램을 실행할 때 CPU내에서 무슨 일이 벌어지고 있는지 어떤 명령어가 어떻게 수행되는지 알 수 있다. 그러므로 레지스터만 잘 관찰해도 프로그램의 자세한 실행 과정을 알 수 있다. 상용화된 CPU속 레지스터들은 CPU마다 이름, 크기, 종류가 매우 다양하다. 대부분의 CPU들이 공통적으로 가지고 있는 레지스터들에 대해 알아보자 01 프로그램 카운터(PC, Program Counter) 기능 : 메모리에서 가져올 명령어의 주소, 즉 메모리에서 읽어 들일 명령어의 주소를 저장하고 다음에 실행될 명령어의 위치를.. 2023. 11. 19. C# - INotifyPropertyChanged 인터페이스 INotifyPropertyChanged 인터페이스 객체가 속성의 변경을 클라이언트에게 알리고, UI가 동적으로 업데이트되도록 할 수 있다. public interface INotifyPropertyChanged PropertyChangedEventArgs 클래스 INotifyPropertyChanged 인터페이스에서 속성이 변경될 때 알리기 위해 사용되는 이벤트의 인자로 전달되는 클래스이다. 주로 PropertyChanged이벤트에 사용되며 어떤 속성이 변경되었는지를 나타내는 데에 활용된다. PropertyChanged 이벤트 public event PropertyChangedEventHandler PropertyChanged; PropertyChanged이벤트는 데이터 모델의 속성이 변경될 때마다 발.. 2023. 11. 19. Effective C# - Item6 nameof() 연산자를 적극 활용하라 부산 시스템의 대중화로 인해 여러 시스템 간에 데이터를 주고 받아야하는 일이 늘어났다. 이는 서로 다른 플랫폼과 다양한 언어로 개발된 프로그램 간에 데이터 교환의 필용성을 증가시키고 있다. 이름이나 문자열 식별자를 활용하는 간다한 라이브러리들이 이러한 차이를 극복하는데 사용된다. 방법은 간편하지만 그에 준하는 추가 비용이 발생하며 타입 정보 손실의 주요 단점을 가지고 있다. 이로 인해 동적 타입 언어의 유연성은 얻을 수 있지만 정적 타입 언어의 주요 장점 중 하나인 타입 정보를 활용한 개발 도구의 지원을 받지 못한다. 그렇게 탄생된 것이 nameof()라는 연산자이다. nameof()연산자 프로그램의 요소의 이름을 문자열 형태로 변환하는 역할을 한다. 이를 이용하면 코드의 유지보수가 용이해지고 디버깅이 .. 2023. 11. 19. 컴퓨터 구조 - ALU,플래그,제어장치 ALU 01 받아들이는 정보 레즈스터로부터 피연산자를 받아들여 데이터를 일시적으로 저장하고 제어장치로부터 제어 신호를 받아들이면서 어떤 종류의 연산을 수행할지에 대한 정보를 담는다. 그리고 그 결괏값을 레지스터에 보낸다. 결괏값은 숫자가 될 수도 있고 문자가 될 수도 있고 주소가 될 수도 있다. 02 내보내는 정보 CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 훨씬 느립니다. ALU가 연산할 때 마다 결과를 메모리에 저장한다면 당연하게도 CPU는 메모리에 자주 접하게 되고 이는 CPU프로그램 실행 속도를 늦출 수 있다. 그래서 ALU의 결괏값을 메모리가 아닌 레지스터에 우선 저장하는 것이다. 플래그 연산 결과에 대한 부가 정보이다. 이렇게 내보내진 정보는 플래그 레지스터라고 하는 특수한 .. 2023. 11. 18. 백준 C# - 9613 +) 풀이 (유클리드 호제법) 문제를 풀기전에 이해 부터 하자 01 문제 잘 읽자 두번째 줄의 첫번째수도 최대 공약수에 포함되어있는지 수인줄 알고 문제 풀다가 최대 공약수가 예제 출력이랑 왜 안맞지..? 최대 공약수 구하는 방법이 틀렸나 했는데 각 테이스 케이스 개수를 구하는 거였다😂 3 // 전치 테스트 케이스의 개수 4 10 20 30 40 // 맨 앞에 수는 각 테스트 케이스 그러므로 4개의 테스트 케이스 3 7 5 12 3 125 15 25 02 long 사용 N=100이고 모든 수가 100만일때 모든 쌍의 최대공약수 합이 int 값의 범위를 초과하는 경우가 있으므로 long을 사용해야 한다. 문제를 풀다가 반복문이 너무 많이 나와서 뭔가 잘못됐다라는 느낌을 받았다. 그래서 좋은 방법이 없을까 찾아보다가 유클리드 호제법을 찾게.. 2023. 11. 18. C# 문법 - Dispose 패턴 예전에 using문에 대해서 공부해서 Dispose메서드에 알고 있기는 했지만 더 자세히 알고 싶어서 게시글을 적게 됐다. using문 Unity - using문(using directive , using statement) 1. using directive 파일 상단에 namespace를 불러오는데 사용된다. using UnityEngine; using System.Collections; using System.Collections.Generic; 2. using statement using문을 사용하면 Resource를 사용한 후에 자동으로 정리 및 code-piggy.tistory.com Dispose패턴 관리되는 리소스와 비관리 리소스를 효과적으로 관리하기 위한 디자인 패턴으로 주로 IDispos.. 2023. 11. 17. 이전 1 ··· 29 30 31 32 33 34 35 ··· 85 다음 반응형