목록분류 전체보기 (185)
cyphen156
1장에서 논리 게이트를 만들었으니 2장에서는 만들어진 논리게이트들을 조합해 산술논리연산장치(Arithmetic Logical Unit)를 만들 것이다. ALU는 CPU에서 연산을 담당하는 핵심 부품이다. 먼저 컴퓨터는 항상 모든 연산을 2진수의 덧셈을 통해 처리한다.때문에 우리는 맨 처음 덧셈 연산을 수행해주는 가산기(Adder)를 만들어야 한다. 2진수의 덧셈 연산 예를 들어 10진법 수 2개 15, 6을 덧셈연산한다고 생각해보자 10진수 체계에서의 두 자리 수 덧셈은 한 자리 수 5+6은 1의 올림수가 발생하고, 결과가 1이고, 두 자리 수 1+0은 한 자리 수 덧셈연산에서 발생한 올림 수 1을 추가로 더해 2라는 결과를 출력하고, 최종적으로 21이라는 결과를 출력한다. 코드로 표시하면 이렇게 된다...
※ 주의 글쓴이의 주관 200% 대충 이런생각하는사람도 있구나 정도로 받아들여줬으면 좋겠습니다. 잘못알고있다면 알려주시면 감사하겠습니다. 어제 퇴근하면서 좋아하는 개발자분(유튜브에 nullnull한 교수님이 있습니다...)이 자바 백엔드 공부하시면서 느낀점에 대한 영상을 시청했는데 상수라는 개념에 대한 이야기가 잠깐 나왔다. 내가 아는 상수는 선언과 동시에 초기화되어야 하는, 데이터의 불변성을 지키기 위해 선언되는 변수가 상수라는 것이었다. C와 C++에서는 상수가 앞서 언급했듯이 선언과 동시에 초기화 되고, 이 데이터가 변해서는 안된다는 것을 명시해주는 것이다. C/C++에서의 #define과 const의 차이 이 둘은 서로 비슷하게 상수의 역할을 하지만 엄청난 차이가 존재했다. 바로 #define은 ..
Boolean : Base of Computer 불리언이란 뭘까? 간단히 말하면 On/Off기능을 가지고 있는 스위치다. 디지털 기기는 참과 거짓이라는 2진 논리로 모든 것들을 처리하는데 이 2진 논리를 응용해서 만든게 불리언(부울 논)다. 이 챕터에서는 부울 논리에 대해 공부하고, NAND 논리 게이트를 이용해 16비트 AND, OR, NOT, XOR 게이트와 멀티플렉서, 디멀티플렉서를 만들어 보고, 32비트 체계로 확장하는 것을 할 것이다. 부울 대수(Boolean algebra) 0/1로 표현되는 2진수 논리 기본 부울 연산자 AND : A * B, A ∧ B OR : A + B, A ∨ B NOT : !A, ~A, ¬A 복합 부울 연산자 NAND(NOT AND) : !(A ∧ B), 유니버셜 게이..
오늘 비주얼 스튜디오로 C언어 알고리즘 공부를 하다가 잘 해결이 안되서 구글링을 해봤는데 대부분의 사람들이 배열의 길이를 변수를 통해 선언하고 있엇다. 그런데 내가 알기로 C언어에서는 malloc함수를 사용하지 않고는 배열길이의 가변선언이 불가능할텐데? 라는 의문이 떠올랐고, 이에 대해 찾아본 결과 C99 표준에서는 VLA(Variable Length Array/)이라는 동적 배열 선언이라는 기능을 지원한다는 것이다. 그럼에도 불구하고 비주얼 스튜디오에서는 이 기능이 사용되지 않았다. 이것은 비주얼 스튜디오가 C99표준을 완전히 따르는 것이 아닌 일부 사용하는것이기 때문이었다. 내가 이 알고리즘을 해결하는데 표준 입출력 라이브러리(stdio.h)를 제외한 모든 라이브러리를 사용하지 않고 문제를 해결하기로..
오늘 학교에 와서 자리에 앉고 편집기를 열자마자 고민이 생겼다. 확장기능을 사용자에게 어떻게 제공할 것인가? 에 대한 생각이다. Chatgpt를 사용하는 방법은 여러가지가 있지만 내가 주력으로 사용하는 것은 plus결제를 한 뒤 MS Edge를 통해 OpenAI 사이트에 접속하고, ChatGPT4모듈을 이용하는 방식이다. 여태까지 내가 생각해왔던 확장 개발의 방향성은 OpenAI에서 제공해주는 API를 통해 Chatgpt4모델을 사용하고, 대화 입출력 횟수에 따라 일정량의 요금을 부과받는 방식이었는데, 만약 +결제를 안한 사람이면 3.5모델을 사용하게 될 텐데 "그러면 그냥 셀레니움으로 OpenAI창에 자동으로 접속해서 쿼리와 대화 내역을 모두 찾아 가져오고, 이걸 하드웨어에 저장하고 있으면 되지 않나?..
이번엔 웹뷰를 만들겁니다. 비주얼 코드의 화면 구성은 이렇게 생겼습니다. 작업표시줄 : 기본 작업구성탭 5개 외에 확장 기능 리스트가 표시됩니다. 트리 뷰(기본 사이드바) : 작업표시줄에서 선택한 구성탭의 내용을 트리 형태로 표시합니다. 웹 뷰 : 트리뷰에서 선택한 코드를 보여주거나, 명령어를 실행시켜 띄운 창들이 기본적으로 표시되는 구역입니다. 상태 바 : 말그대로 현재 작업의 상태를 나타내줍니다. 이 가운데 저는 트리 뷰에 chat gpt와의 대화 내역을, 웹 뷰에는 실제로 chat gpt와 주고받는 대화를 구현할 것입니다. 처음에는 트리뷰와 보조 사이드바(웹 뷰 오른쪽)을 사용하여 gpt와의 대화를 구현하려 했지만 보조 사이드바에는 웹 뷰와 같이 통신을 통해 상호작용하는 것을 구성하는것이 현재로서는..
공부하러 학교에 왔는데 공부는 하기 싫고 ChatGPT랑 놀다가 보니 엣지 브라우저 열고 GPT창 켜는게 귀찮아서 시작한 Visual Code Extension만들기 프로젝트 필요한 것은 OpenAI 계정과 CHAT GPT API Key, 그리고 VS Code와 Microsoft계정입니다. 1. Visual Studio Code - Code Editing. Redefined Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code i..