https://12bme.tistory.com/184 [프로그래밍] Concurrency, Parallelism 차이 Concurrency(병행성) 그리고 Parallelism(병렬성) 포스팅 원본출처는 http://egloos.zum.com/minjang/v/2517211 입니다. Concurrency는 프로그램의 성질이고 parallel execution은 기계의 성질이다. Concurrenty.. 12bme.tistory.com Concurrency는 프로그램의 성질이고 parallel execution은 기계의 성질이다. Concurrenty is a property of the program and prallel execution is a property of the machine. concur..
원문: Differentiate between shared memory and message passing model in OS Differentiate between shared memory and message passing model in OS. Differentiate between shared memory and message passing model in OS. Shared memory system is the fundamental model of inter process communication. In a shared memory system, in the address space region the cooperating communicate with each other by establi ..
참고: https://web.mit.edu/6.005/www/fa14/classes/17-concurrency/#two_models_for_concurrent_programming 동시성 동시성은 여러 개의 계산이 동시에 일어나는 것을 의미한다. 동시성은 현대적 프로그래밍의 모든 곳에서 발생한다. 네트워크 상의 여러 컴퓨터들 하나의 컴퓨터에서 동작하는 여러 개의 어플리케이션 여러 개 프로세서를 가진 컴퓨터 실제로 현대적 프로그래밍에서 동시성은 필수적이다. 여러 명의 사용자를 동시에 처리해야 하는 웹 사이트 서버에서 여러 개의 모바일 앱에 필요한 작업을 수행하는 경우(클라우드) GUI 환경에서 사용자가 보는 UI 부분과 동시에 백그라운드 작업이 수행됨 (예를 들어 브라우저는 애니메이션을 보여주면서도 사용자..
러스트의 등장과 성공으로 메모리 관리, 스택과 힙 등 이슈가 새로 중요하게 조명받고 있습니다. 러스트 공부에 도움이 되었으면 합니다. 프로그램과 메모리 프로그램은 CPU의 레지스터에 메모리에 있는 데이터를 가져와서 계산하고 바꾸고 다시 저장하는 과정을 통해 수행됩니다. 이러한 load와 store가 컴퓨터의 기본 동작입니다. 그런데 컴퓨터에서 수행중인 프로그램은 아주 많으므로 컴퓨터(OS) 관점에서 볼 때 여러 개 프로그램이 필요한 만큼 메모리를 넉넉하게 줄 수는 없습니다. 그래서 컴퓨터는 각 프로그램이 사용하는 메모리를 제한하고 종류를 나누어 규칙에 따라 사용하도록 하고 있습니다. 그래서 메모리는 정적, 스택, 힙 세 종류로 나누어 집니다. 정적 메모리는 코드나 데이터가 저장되는 영역입니다. 프로그램이..
매년말이면 많은 사이트에서 여러 프로그래밍 언어에 대한 조사나 예측을 내놓습니다. 작년 초에 올렸던 2018년 가장 유망한 프로그래밍 언어 포스팅에 이어서 2020년을 예측하는 글들을 모아 다시 한번 정리해 보려고 합니다. 전세계적으로 엄청나게 많은 개발자들을 사용자로 보유하고 있는 스택오버플로우 사이트는 연말에 사용자들을 대상으로 IT의 거의 모든 분야에 대해 설문조사를 하여 분석 결과를 발표합니다. 그리고 이 조사에서 가장 많은 관심을 받는 부분이 (연봉 빼고) 프로그래밍 언어에 대한 내용입니다. 이 조사는 개발자들이 사랑하는 언어(선호도)와 수요가 많은 언어(인기도), 그리고 사라져가는 언어를 조사합니다. 여기서는 인기도와 선호도 결과를 분석한 여러 자료를 정리하여 우리에게 어떤 의미를 가지는지 분..
프로그래밍 언어를 이해하는데 중요한 키워드들이 여러 개 있습니다. 키워드를 중심으로 관련된 주제들을 모아서 살펴보는 글을 작성해 보려고 합니다. 소프트웨어 개발과 프로그래밍 언어에 관련된 이야기들을 키워드를 중심으로 풀어보는 시리즈입니다. 첫번째 키워드는 계산순서(evaluation order)입니다. 이것은 프로그래밍 언어의 패러다임과 깊이 연관되는 상당히 어려운 주제인데, 명령형 프로그래밍 언어부터 시작해서 차례로 살펴보겠습니다. 그리고 다음 글에서 lazy evaluation이라고 하는 좀 다른 프로그램의 실행 순서의 개념을 살펴보겠습니다. 명령형 프로그래밍 언어는 명령문(문장)을 차례대로 수행해 가는 방식의 프로그램을 작성하게 됩니다. 순서는 제어구조에 의해 결정될 것입니다. 문장은 수식을 포함하..
프로그래밍 언어를 이해하는데 중요한 키워드들이 여러 개 있습니다. 키워드를 중심으로 관련된 주제들을 모아서 살펴보는 글을 작성해 보려고 합니다. 소프트웨어 개발과 프로그래밍 언어에 관련된 이야기들을 키워드를 중심으로 풀어보는 시리즈입니다. 두 번째 키워드는 지연계산(delayed evaluation 또는 lazy evaluation)이라고 하는 명령형 프로그램의 실행 순서와는 좀 다른 계산 순서의 개념을 살펴보겠습니다. 이것은 함수 호출 시 매개변수의 계산에 관련된 것으로 명령형 프로그램은 매개변수 부분에 있는 수식의 계산을 모두 끝낸 후 함수를 호출할 수 있습니다. 그것을 applicative order라고 부릅니다. 즉 test(f(g()))라는 코드가 있다면 g()를 먼저 계산하고 다음에 그 값으로..
프로그램 안에서 쓰이는 이름 선언에서 변경될 수 없는 객체로 선언되는 것들이 있다. 자바의 final 키워드와 C/C++의 const 키워드가 그런 선언을 위한 키워드다. 그런데 이 키워드의 사용이 생각보다 까다롭다. 그리고 변경할 수 없는 이름 중에는 컴파일러에 의해 상수로 처리되는 경우도 있다. 이들의 응용법과 차이를 이해하는 것은 프로그래밍 언어에서 중요한 주제다. 먼저 이런 값을 변경할 수 없는 변수 이름이 어떤 경우에 쓰이는지 생각해 보자. 값을 저장하기 위해 사용하는 것이 변수인데 값을 변경할 수 없게 선언하는 이유는 무엇인가? 우리는 일상 생활에서도 정해진 값을 사용하는 경우가 많다. 지하철 역 번호나 버스 정류장 번호 등은 아마도 한번 정해지면 바뀌지 않을 것이다. 온라인쇼핑몰이라면 쇼핑몰..
폰뉴만 아키텍처의 프로그램이 동작하는 방식을 이해하기 위해 호출스택을 알아야 한다. 호출스택이란 함수가 호출되는 과정에서 데이터가 스택의 형태로 쌓이고(push) 팝되는 영역을 말한다. 프로그램의 메모리는 다음의 세 가지 영역으로 나누어진다. 정적 영역 : 프로그램이 실행을 시작할 때 일정 크기가 할당되어 프로그램이 끝날 때까지 유지되는 메모리 영역으로 주로 전역변수나 정적 변수가 저장되는 영역이다. 프로그램 코드 상에 나타나는 리터럴(상수값)도 여기에 저장된다. 스택 영역 : 함수의 매개변수와 지역변수들이 저장되는 영역이다. 스택은 함수가 호출될 때 그 함수의 매개변수와 지역변수를 저장할 영역이 할당되고 그 영역은 함수가 리턴될 때 팝된다. 함수가 호출되고 거기서 다른 함수가 또 호출되면 스택이 푸시된..
2019학년도를 맞이하여 새로운 언어를 배워본다면 어느 것이 좋을까... 고민하는 사람에게 추천할 만한 언어로 Go가 있다. 새로 나오는 모든 언어를 배우는 것은 불가능하지만 Go는 당신의 무기고(skill set)에 추가되었을 때 앞으로 커리어에 커다란 보탬이 될 언어다. Go는 2019년에 프로그래밍 세계를 지배할 언어인 듯 하다. 구글이 인터넷 세계를 지배하듯이... 2009년에 구글에 의해 만들어진 이 언어는 C/C++의 장점을 제공하면서 단순성, 간결성, 안전성을 제공한다. 간단히 말해서 Go는 실제적인 면에서 모든 점에서 우수하다. Go로 작성된 프로그램 코드는 이해하기 쉽고 실행할 때 믿을 수 없을 정도로 효율적이다. 새로운 개발자가 배우기도 쉽다. 정적 타입의 컴파일되는 언어로 동시성도 효..
- Total
- Today
- Yesterday
- format
- APPEND
- 패턴
- 자바regex
- ToString
- TypeError
- Camel Style
- CompareTo
- rust
- 동적바인딩
- sort key
- contentEquals
- C++ 클래스
- python exercise
- 이터레이터
- 스트링 +
- follow
- typedef
- 지연계산
- indexof
- 이터러블
- contains
- max
- 스트링
- Lazy evaluation
- 콜렉션
- Iterator
- zip
- comparable
- python example
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |