본문 바로가기
728x90

분류 전체보기302

[CS] 프로세스와 스레드 프로세스와 스레드 1. 프로세스의 개념 어떤 작업을 위해 실행할 수 있는 파일을 '프로그램'이라 한다. 그 프로그램이 컴퓨터에서 연속적으로 실행될 때, 그것을 프로세스라고 한다. 메모리에 올라와서 실행되고 있는 프로그램의 인스턴스를 가리키기도 한다. 프로세스는 CPU 시간, 운영되기 위해 필요한 주소공간, code-data-stack-heap의 구조로 된 독립된 메모리 영역을 자원으로 할당받는다. 여러 프로세스를 함께 돌리는 작업은 동시적, 병렬적, 또는 이 둘의 혼합으로 이루어 진다. 동시성은 프로세서 하나가 이거 조금 하고 이거 조금 하고 이거 조금 하고, 이렇게 여러 작업을 돌아가면서 일부분씩 진행하는 것이다. 이 과정이 빠르게 돌아가면 사람들은 이 프로세스들이 동시에 진행되는 것처럼 느낄 수 있다.. 2022. 7. 6.
[CS] 동기와 비동기의 개념 차이 [CS] 동기와 비동기의 개념 차이 우리는 이 개념어를 처음 들어보았을 수 있다. 하지만, 이 개념은 우리 일상속에 깊숙히 자리하고 있다. 평일 동안 열심히 일을 하거나 학교를 다니거나, 열심히 학원을 다니거나 해서 집안일에 소홀해져 집안이 엉망이 되었다고 하자. 주말을 맞이해서 우리는 집안을 원래대로 복구시켜 놓아야 한다. 밀린 빨래부터 널부러져 있는 옷가지, 수북히 쌓인 설거지 더미, 버리지 않아 초파리가 하나 둘 씩 생겨가고 있는 음식물 쓰레기 봉투, 방바닥에 널린 머리카락... 생각만 해도 3시간은 치워야 할 것 같다. 집안일은 어려운 것이 아니라 귀찮은 것이다. 그렇다면 귀찮은 일은 후딱 해치우고 다른 여가생활을 즐겨야 하지 않겠는가. 그럼 집안일을 시작해보자. 집안일을 빨리하고자 하는 사람은 .. 2022. 7. 5.
[Web] REST API와 GraphQL [Web] REST API와 GraphQL ~목차~ RESTful API GraphQL REST API와 GraphQL의 비교 1. RESTful API 1) REST API 간단 요약 RESTful API는 HTTP 요청을 사용하여 데이터에 액세스하고 사용하는 애플리케이션 프로그램 인터페이스(API)의 아키텍처 스타일이다. GET, PUT, POST 및 DELETE 등의 메소드를 활용하여 서버에 있는 리소스에 접근하고, 그것을 json 등의 파일 형태로 받아오는 방식인 것이다. 하는 데 데이터를 사용할 수 있다. 쉽게 설명하면 다음과 같다. 소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단을 API(Application Programming Interface)라고 한다.. 2022. 7. 5.
[C언어] call-by-reference vs call-by-value [C언어] call-by-reference vs call-by-value 정말 배우면 배울 수록 멱살을 잡고 흔들어 재끼고 싶은 C언어. 포인터 변수 / 포인터 상수 / 상수 포인터 등등등 무슨 비슷한 말은 많고 뜻은 전혀 다르고 처음들어보고... 하지만 살살살 알아가는 것이 공부의 재미 아니겠나... 이번 포스팅은 저번에 scanf를 다루다가 알게된 call-by 시리즈에 대해 알아보고자 한다. ✏️ call by value는 값에 의한 호출이라고 하며, ‘인자’로 받은 값을 ‘복사’하여 처리한다. ✏️ call by reference는 참조에 의한 호출이며, ‘인자’로 받은 값의 주소를 참조하여 직접 값에 영향을 준다. 그림으로 쉽게 보는 두 가지 개념 Call by value(값에 의한 호출) 실제.. 2022. 7. 4.
[C언어] 배열과 포인터의 관계 [C언어] 배열과 포인터의 관계 배열과 포인터는 매우 긴밀한 관계를 맺고 있다. 어떤 부분에서는 서로를 대체할 수도 있다. 일반적으로 다른 언어를 배우면 배열이 다음과 같다는 것을 이미 알고 있을 것이다. int arr[5] = {1, 2, 3, 4, 5}; int b = arr[1]; // b는 2라는 값을 가지게 된다. 변수들이 모여 있는 것이 배열이 아닌가? 라고 생각할 것이다. 맞다. 그것도 옳은 말이다. 그런데 그 근본에는 '포인터'가 있다. 배열에 인덱스로 접근하는 자바의 문법도 '포인터'를 쉽게 사용하게끔 바꾸어 놓은 것에 불과하다. 아래에서는 포인터 상수 개념과 포인터로 배열에 접근하는 방법에 대해 알아볼 것이다. 1. 포인터 상수(배열의 이름) 포인터 상수(Constant Pointer).. 2022. 7. 4.
[Java] 상위 클래스의 타입으로 변수 선언을 하는 이유 [Java] 상위 클래스의 타입으로 변수 선언을 하는 이유 - 다형성 추가. 1. 다형성에 대한 의문점 발동 이전에 다형성에 대해 알아본 적이 있다. 그 때는 이해했지만, 무엇인가 알기 어려운 '왜'라는 질문을 자꾸 품게 되었다. 2022.06.13 - [프로그래밍 언어/Java] - [Java] 다형성(Polymorphism) 알아보기 [Java] 다형성(Polymorphism) 알아보기 [Java] 다형성(polymorphism) 알아보기 칼은 참 다양한 종류가 있다. 요리할 때만 해도, 과일칼, 채소자르는 칼, 고기 다지는 칼, 빵칼 등등등.. 요리 용도가 아니라 도축, 수술 등등 많은 곳에서 쓰는 masterpiece-programming.tistory.com (1) 굳이 상위 부모클래스의 타입으.. 2022. 7. 3.
728x90