헝클어진 알고리즘13 AWS에서 말하는 인스턴스란? 객체 지향 프로그래밍에서 인스턴스는 해당 클래스의 구조로 컴퓨터 저장공간에서 할당된 실체를 의미한다. 여기서 클래스는 속성과 행위로 구성된 일종의 설계도이다. OOP에서 객체는 클래스와 인스턴스를 포함한 개념이다. MMORPG게임 WOW에서 던젼은 인스턴스 던젼이라고 불린다. 이 인스턴스 던젼은 게임 사용자에게는 퀘스트의 해결 공간 또는 아이템의 파밍공간이 된다. 이 공간은 특정 조건을 만족하는 경우에 생성되며 내부에 배치되는 지형, 몹, 보스 등등에 대한 내용은 미리 설계된 설계도에 의해서 조금씩 변형된 채로 만들어진다. AWS에서 인스턴스는 나에게 할당된 컴퓨터이다. 이 인스턴스는 사용자에게 가상컴퓨팅환경을 제공해준다. 이 공간은 카테고리로 나누어져 있어서 사용자는 이 카테고리에서 하나의 인스턴스를 .. 2024. 10. 30. CRC(Cyclic Redundancy Check) 알고리즘 한글로는 순환 반복 체크 알고리즘이라고 정의되어 있다. 순환하면서 반복하는 알고리즘 쯤으로 상상이 된다. 그런데 순환과 반복? 이건 같은 말 아닌가? 이름으로는 이 알고리즘은 어떤 것이라는 그림이 그려지지 않는다. 먼저 체크섬부터 이야기 하자. (CRC의 C는 체크섬이 아니다)체크섬은 전송받은 데이타 값 + 체크섬값이 영이 되면 전송 데이타가 원본과 일치한다는 알고리즘이다. 체크섬값은 원데이타의 합을 모두 더한 후, 그 값의 2의 보수를 체크섬 값으로 한다. 송신측은 원데이타와 체크섬값을 수신측에 전송하면, 수신측에서는 원데이타와 체크섬값을 모두 더해주면 0이 되는 원리를 이용한다. 더한 값의 2의 보수를 취한 이유는 더하는 값을 음수로 만들기 위해서이다. 음수의 보수표현보수란? 보충수(數)이다. 차량.. 2024. 6. 14. C 포인터 변수는 어떤 값을 저장하기 위한 메모리 공간이다. 그러면 포인터변수는 무엇일까? 포인터 변수는 "주소 값"이다. 설명은 아랫 코드에 달았다. #include int main(void) { int a=1; //a변수에 1을 대입한다. int* pa=&a; // 포인터형 변수pa에 주소값을 대입한다. printf("변수 a의 값 : %d\n", a); *pa=2; //pa주소 값의 역참조. 역참조 되었으니 그 공간을 의미한다. 여기서는 a공간에 2를 넣는다라는 의미이다. printf("역참조를 이용해서 a의 값을 바꾼 후의 a 값 : %d\n", a); printf("a 변수의 실제 메모리상에서의 위치(주소) %p\n", &a); printf("실제 주소 값을 입력 한 후 그 주소에서의 값 출력 : %d\n.. 2023. 2. 2. 빅오 표기법(Big-O notation) 성능을 절대적인 값으로 표현하지 않고 상대적으로 표현하는 방식이다. 예를 들면, 영화 "기생충"에서 송광호씨가 하루에 접을 수 있는 최대 피자박스의 수가 100 개 이다. 그러면 200 개를 접으려면 얼마나 걸릴까? 당연히 2 일이 걸린다. 그러면 우리는 이것을 입력(n)에 따라 비례하는 것이니 O(n)으로 표시할 수 있다. O(n)은 우리 주위에서 쉽게 볼 수 있다. 설계사무실에서의 도면, 자동차공장에서의 차량, 포장기계가 생산하는 제품 등등의 생산성능도 모두 O(n)이다. 그러면 입력크기(n)가 커져도 항상 같은 시간을 유지하는 것이 있을까? 있다. 배열의 원소에 접근하려고 할 때이다. 배열의 첫 번째 원소를 가기 위해서는 배열의 첫 주소에 0을 더한 후 값을 읽어온다. 4 번째 접근하려면 배열의 첫.. 2023. 1. 31. UML(Unified Modelling Language) UML은 통합된 모델링 언어로 해석할 수 있다. 기존에 모델링 언어가 여러개 있었을 것 같고 이러한 언어를 통합한 것이다. 그러면 모델링은 또 뭐야? 옷을 디자인하는 사람은 옷을 만든 후, 모델에게 입혀서 패션쇼에 선보인다. 자. 이 옷이 이런거야! 공학자는 레이저다이오드의 내부구조와 이에 따른 레이저 발생을 수학적으로 구현 및 컴퓨터 프로그래밍 하여(모델링) 그 내부구조를 변화시키면서 레이저의 상태 및 그 출력을 예상할 수 있다. 프로그래머는 사용자의 요구사항을 도형을 이용해서 표현(모델링) 한 후, 개발자와 사용자간의 명확한 의사교환에 사용하고, 그 모델을 프로그래밍 개발의 기준점이 되도록 한다. 이 때 사용하는 것이 UML이다. 사전적 의미의 모델링은 현실세계의 추상화된 반영이다. UML은 OOP와.. 2021. 11. 20. 함수의 파라미터와 아규먼트의 차이 첫 인상이라는 것은 우리가 처음 만난 사람을 어떠한 파라미터를 가지고 바라보는 것에 따라 달라진다. 개인별로 차잇점이 있겠지만 체형, 목소리, 얼굴형태, 행동 등을 주요 파라미터로 가지고 판단할 것이다. 여기서의 파라메타는 판단의 근거가 되는 요소라 할 수 있겠다. 이러한 파라미터라는 용어는 아랫처럼 사용해도 거부감이 없을 것이다. 어떤 블랙박스가 있다. 우리는 이 블랙박스의 내부를 모른다. 다만 우리는 이 블랙박스를 파라미터로 접근할 수 있다. 어떤 함수가 있다. 우리는 이 함수의 내부 동작 매커니즘을 모른다. 다만 우리는 이 함수에 파라미터를 가지고 접근할 수 있다. 프로그래밍 언어에서의 파라미터는 매개변수라고 번역되어진다. 중매해 주는 변수라는 의미를 강조하는데 프로그래밍 언어에서 사용하는 함수에 .. 2021. 9. 24. 음수의 보수표현 보수란? 보충수(數)이다. 차량 냉각수의 수위가 낮다면? 냉각수를 보충해 준다. 숫자값이 부족하다면 숫자를 보충해주는 것이다. 암산으로 더하거나 뺄 때 사용한다. 왜? 편하니까. 15 - 7 = 10 -7 +5 = 8로 해서 푼다. 왜? 논리적이며 빠르니까. 그런데 여기서 10-7? (1)은 10에서 7을 빼라는 의미이다.(2)식은 10에서 음수인 7을 더해주라는 의미이다. 이해될 것이다. 이제부터는 음수를 표현하기 위한 보수 개념이 나온다. 이전까지는 우리가 계산을 빠르게 하기 위한 방법으로 보수를 사용했다면 이제부터는 음수를 표현하기 위한 보수를 사용한다는 의미이다. 음수 -8을 예를 들면, 음수 -8은 +10-8-10과 같다. 왜 10? 편하니까... +9-8-9해도 된다. 즉, (10-8)-.. 2021. 9. 8. 정보처리기사 최종 합격 2020년 2회차에 신청해서 1,2회차 통합 시험 필기와 동회차 통합 실기시험을 통과해서 8월 28일 합격자 명단에 올랐습니다. 공부는 필기는 시나공, 실기는 수제비와 두목넷 인강으로 했으며, 공부기간은 필기 2개월, 실기 1개월을 했습니다. 기본적으로 프로그래밍 및 SQL에 대한 이해가 있었던 점이 합격에 큰 도움이 된 것 같습니다. 필기시험 시나공 책을 2회독을 했으며, 공부법은 다음과 같다. 40일에 1회독을 하기 위한 하루치 공부 분량을 정했다. 다음 날에는 전날 공부한 내용을 빠르게 복습했다. 1주일 후부터는 전날 공부한 내용과 더불어 1주일 전에 공부한 내용을 같이 복습했다. 데이타베이스와 프로그램 알고리즘 문제에 대한 대책으로는 책에 나와 있는 설명부분을 "데이타베이스와 프로그램 알고리즘 공.. 2020. 9. 4. 이전 1 2 다음