전체 글 51

컴퓨터 구조 - 디스패처(Dispatcher)란?

디스패처? 컴퓨터 시스템에서 작업을 적절한 처리기로 할당하거나, 이벤트를 적절한 핸들러로 전달하는 역할을 수행하는 소프트웨어 구성 요소입니다. 디스패처는 작업이나 이벤트의 발생 시기와 우선순위를 관리하고, 해당 작업 또는 이벤트를 처리할 적절한 처리기나 핸들러로 전달합니다. ​ 디스패처 동작원리 사용자가 프로그램을 실행하면 프로세스가 생성되고 Ready 상태가 됩니다. 그 후 스케줄러가 Ready Queue에 있는 프로세스 중 하나를 프로세서(CPU)가 사용 가능한 상태가 될 때 CPU를 할당해 줍니다. ​ 이때 Ready에서 Running으로 State Transition이 일어나는데 이 과정을 Dispatching이라고 하고 Dispatcher가 이 작업을 수행합니다. 디스패처의 역할 작업/ 이벤트 ..

컴퓨터 구조 - 인터럽트(Interrupt)란?

이번 시간에는 여러분이 개발하면서 많이 듣게될 용어중 하나인 인터럽트에 대해 설명하겠습니다. ​ 인터럽트? 인터럽트란 컴퓨터 시스템에서 현재 실행 중인 프로세스나 스레드의 정상적인 흐름을 중단시키고, 특정 이벤트에 대한 처리를 수행하는 것을 말합니다. 머...멈춰!!!! 인터럽트는 크게 하드웨어 인터럽트와 소프트웨어 인터럽트 두가지 종류로 나뉩니다. 인터럽트의 종류 ​ 하드웨어 인터럽트 하드웨어 장치로부터의 신호나 요청으로 발생하는 인터럽트입니다. 하드웨어 인터럽트는 입출력(I/O) 인터럽트, 타이머 인터럽트, 외부 인터럽트 등이 있습니다. 입출력 인터럽트는 입출력 장치에서 데이터의 입출력 요청이 발생할 때, 타이머 인터럽트는 정해진 시간 간격으로 발생하는 타이머 신호 등이 이에 해당합니다. 하드웨어 인..

컴퓨터 구조 - 메모리 구조

회사에서 일하고 있는데 대표님이 메모리 구조표 들고오시면서 이거 뭔지 아시냐고 물어보시더군요.. 대학생때 컴퓨터 구조론 들으면서 봤던 기억이나서 이거저것 이야기 하다가 나중에 대표님이 신입 면접볼때 이거 아는지 물어봐야겠다 라고 하셔서 아이거 포스팅 해야겠다... 라고 마음먹었습니다. ​ 우선 완전 딥하게는 들어가지 않을겁니다. 그냥 컴퓨터 구조론에있는 메모리 구조에 대한 전반적인 설명만 드릴겁니다. 이정도 까지만 알아도 OK입니다. ​ 깊게내려가면 정말 한도끝도 없는거라 이해해 주시길 바랍니다. ​ 주절주절 설명할 이유가 있겠습니까 먼저 그림부터 보시죠. 메모리의 구조 ​ 위키백과에서 나타내는 메모리구조 음... 일단 너무 복잡한것 같습니다. 좀더 간략화 해보도록 하죠. 메모리의 구조는 크게 5가지 영..

AWS RDS t2, r4, m4 인스턴스가 삭제됩니다. 이전 작업하세요

아마존의 t2, r4, m4 삭제 선언 회사 메일함 정리하고 있는데 어제 뜬금없이 AWS에서 이런 메일이 왔더군요... ​ 내용이... 너희 DB t2 이용하고 있더라? 근데 모든 t2, r4, m4 인스턴스는 2024년 4월에 다 삭제할 거임 인스턴스 업그레이드해야 함 안 하면 너희들이 사용하고 있는 DB는 2024년 4월 이후에 몽땅 삭제될 것임. ​ 네.. 결론은 인스턴스 한 단계 위 상품으로 올리라는 겁니다. 달라지는 건 뭔가? T2에서 T3로 올라간다고 비용이 많이 올라갈까 걱정을 많이 했는데... ​ EC2 RDS ...? 찾아보니 현시점 RDS t3와 t2는 가격이 동일하고.. EC2 t3가 t2보다 더 저렴한 것을 찾아볼 수 있었습니다. ​ 아무래도 AWS에서 t2, r4, m4 인스턴스 ..

개발관련/정보 2023.07.07

임베디드 개발자/장비 관련 개발자들은 왜 Git을 안 쓰는 걸까? (Git 안 쓰고 다른 형상관리 시스템 쓰는 이유)

https://blog.naver.com/cjy2103/222691144742 GitHub? / Git 사용법 /GitHub사용법/ Git, GitHub연동 저번 포스팅에서 형상관리에 대해 설명한적이 있습니다. https://blog.naver.com/cjy2103/222690456098 그... blog.naver.com 이전에 형상관리 시스템 중 하나인 Git에 대해 소개했던 적이 있습니다. ​ 이존 CVS나 CVN에 비해 사용하고 있는 개발자들이 매우 많고 장소에 구애받지 않기 때문에 정말 좋은 형상관리 시스템이라고 말했습니다. ​ 하지만 개발을 하다 보면 대부분의 임베디드 진영에서는 Git을 잘 사용하지 않는 것을 흔하게 볼 수 있습니다. Git 좋은데 왜 안쓰냐고오.... 다른 개발자들이 Git..

개발관련/정보 2023.07.07

IntelliJ 주석 단축키 안됨 해결 방법

인텔리제이에서 주석 단축키는 ctrl + /입니다. ​ 그런데 가끔가다 주석이 안되고 "/" 이 쳐지는 현상이 생기는 경우가 있습니다. ​ 해결 방법은 다음과 같습니다.​ ​ 키보드 한영 키 누르기 키보드 한/영 키를 누르시고 다시 한번 해보시길 바랍니다.​ ​ Microsoft 입력기로 변경 키보드 자판이 Microsoft 입력기가 아니라 엉뚱한 자판기로 설정돼서 그럴 수 있습니다. 저 같은 경우는 한컴 입력기로 설정되어 있어서 주석이 안되는 문제가 있었습니다.

개발관련/정보 2023.07.07

컴퓨터가 0에서부터 시작하는 이유 / 배열 인덱스 0이 시작인 이유

전에 개발자 방에서 학생분 한 분이 정말 재미있는 질문을 하셔서 해당 내용을 블로그에 기록하게 되었습니다. 컴퓨터가 0번째부터 시작하는 이유가 무엇인가요? 개발자는 정말 이상한 사람들입니다. 일반인이라면 보통 숫자를 셀 때 1에서부터 세는데 개발자들은 0부터 숫자를 세니까요. 하지만 어쩔 수 없습니다. 대부분의 컴퓨터 언어는 1번째부터가 아니라 0번째부터 숫자를 세게 기본 설정으로 되어있기 때문이죠. 왜 이렇게 처리해놨을까요? 이 질문에 대한 답에는 정말 여러 가설과 이유가 있습니다. 저 역시 학부생 때 이런 질문 교수님께 했었던 적이 있었고요.. 그 당시 교수님이 하신 말씀과 다른 여러 가지 가설들을 정리해 보겠습니다.​ 과거 메모리가 부족하던 시절 하나라도 더 많은 숫자라도 표현하기 위해 지금에서야 ..

개발관련/정보 2023.07.07

소스트리 안열림/안됨 / Window SourceTree(소스트리) 바로 닫히 버그

아침에 오자마자 소스 트리 켰는데 계속 안 열려서 뭐지.. 하고 재부팅을 했는데 그래도 안 열리더군요... 혹시나 싶어 개발자 방에 있는 다른 분들한테 물어봤는데... 맥을 쓰시는 분들은 열리는데 Window 쓰시는 분들은 안 열리는 상황이.... ​ 찾아보니 어제 (6월 14일) 윈도우 업데이트를 하고 나서부터 안된다고 말이 나오기 시작했네요.. 생각해 보니 저도 어제 회사 끝나고 컴퓨터 끌 때 자동 업데이트를 했었네요 ㅋㅋㅋ... 아무래도 이 윈도우 버전이 소스트리와 충돌 나고 있는 거 같습니다. ​ 어떻게 해결? 내컴퓨터 -> C -> 사용자 -> 계정폴더 -> AppData -> Local -> Atlassian -> SoureTree.exe_Url_aqok3l..... -> 버전 -> Compo..

개발관련/용어 2023.07.05

YouTube Data API (v3) 할당량 계산 / 1회 검색 할당량

YouTube Data API v3를 쓰실 때 할당량이라는 것을 부여받습니다. 그런데 많은 분들이 Docs를 읽어보지 않고 어떤 작업 하나당 무조건 할당량이 1씩 소모되는 걸로 잘못 알고 계십니다. (Ex. 1회 검색 후 나온 결괏값 하나마다 1씩 감소 20개를 검색하면 20이 소모된다) 하지만 전혀 아닙니다.. ​ 우선 대표적으로 1회 검색을 하게 될 시 무조건 100의 할당량이 소모가 됩니다. ​ 그 외 다른 할당량들도 무조건 1씩 소모되는 것이 아니니 아래 Docs를 꼭 확인해 보시길 바랍니다. ​ https://developers.google.com/youtube/v3/determine_quota_cost?hl=ko YouTube Data API (v3) - 할당량 계산기 | Google for ..

개발관련/정보 2023.07.05

객체지향형, 함수형 프로그래밍 특징 및 장단점

자바와 코틀린을 공부하다 보면 객체지향형과 함수형 프로그래밍에 대해 알게 되실 겁니다. ​ 자바도 JDK8 이상부터 객체지향형 + 함수형 프로그래밍을 지원하고 코틀린 역시 자바 언어를 호환하기 때문에 객체지향 + 함수형 프로그래밍을 지원합니다. ​ 즉 두 언어 모두 객체지향과 함수형 프로그래밍을 지원하는 다중 패러다임 프로그래밍 언어라고 할 수 있죠. ​ 하지만 보통 언어를 설명할 때 자바는 객체지향형, 코틀린은 함수형 프로그래밍 언어라고 많이 말합니다. ​ 이유는 두 언어가 강조하는 특성이 자바는 객체지향 쪽을... 코틀린은 간결성을 위해 함수형 프로그래밍을 강조하기 때문이죠... 아마 언어가 만들어진 시기의 차이 때문에 그런 게 아닌가 싶습니다... JDK8 이후 자바도 사실 함수형을 지향하긴 하는데..

개발관련/정보 2023.07.05