일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 성분
- 알고리즘 공부
- C
- 지혜를가진흑곰
- 화장품
- 경제
- algorithmtraining
- 주식
- C++
- 자바
- algorithmTest
- 다독
- 독후감
- 프로그래밍언어
- 알고리즘트레이닝
- 책알남
- 채권
- 돈
- 독서
- 투자
- 책을알려주는남자
- algorithmStudy
- JavaScript
- 서평
- 프로그래머스 알고리즘 공부
- 백준알고리즘
- 알고리즘공부
- 자바스크립트
- Java
- 재테크
- Today
- Total
목록[Snow-ball]프로그래밍(컴퓨터)/프로그래밍 및 컴퓨터 개론 이론 (42)
탁월함은 어떻게 나오는가?
파라미터란? 컴퓨터 프로그래밍에서 매개변수(parameter 파라미터)란 변수의 특별한 한 종류로서, 함수 등과 같은 서브루틴의 인풋으로 제공되는 여러 데이터 중 하나를 가리키기 위해 사용된다. 여기서 서브루틴의 인풋으로 제공되는 여러 데이터들을 전달인자(argument) 라고 부릅니다. 보통 매개변수의 목록은 서브루틴의 정의 부분에 포함되며, 매번 서브루틴이 호출될 때 마다 해당 호출에서 사용된 전달인자들을 각각에 해당하는 매개변수에 대입시켜 줍니다. 보통 수학에서 사용되는 것과 마찬가지로, 전달인자는 실제로 함수 또는 루틴에 전달되는 값을 의미하며, 반대로 매개변수는 함수의 내부에서 해당 함수로 전달된 값을 가리키기 위한 변수를 의미합니다. 대부분의 경우 매개변수는 call by value 의 형태로..
스핀락(SpinLock) 스핀락은 Critical Section에 진입이 불가능할 때 진입이 가능할 때 까지 루프를 돌면서 재시도 하는 방식으로 구현된 락을 가르킵니다. 스핀락은 바쁜 대기의 한 종류입니다. 스핀락은 운영체제의 스케줄링 지원을 받지 않기 때문에, 해당 스레드에 대한 Context Switch가 일어나지 않는다. 따라서 스핀락은 임계구역에 짧은 시간안에 진입할 수 있는 경우에 Context Switch을 제거할 수 있어서 효율적입니다. 하지만 만약 스핀락이 오랜 시간을 소요한다면 다른 스레드를 실행하지 못하고 대기하게 되며, 이 경우 비효율적인 결과를 가져게 됩니다. 컨텍스트 스위칭(Context Switching) CPU내에 존재하는 레지스터들은 현재 실행중인 프로세스 관련 데이터들로 채..
메모리 계층 구조란 메모리를 필요에 따라 여러가지 종류로 나누어 둠을 의미합니다. 이때 필요한 대부분의 경우 CPU가 메모리에 더 빨리 접근하기 위함이며, 일반적으로 레지스터와 캐시는 CPU내부에 존재합니다. 당연히 CPU는 아주 빠르게 접근할 수 있고, 메모리는 CPU 외부에 존재합니다. 레지스터와 캐시보다 더 느리게 접근 할 수 밖에 없으며, 하드 디스크는 CPU가 직접 접근할 방법 조차 없습니다. CPU가 하드 디스크에 접근하기 위해서는 하드 디스크의 데이터를 메모리로 이동시키고, 메모리에서 접근해야 하고, 아주 느린 접근 밖에 불가능합니다. 그렇다면 메모리 계층구조는 어째서 피라미드 형태로 말할까?(실제로 논문으로도 발표됬다고 합니다.) 이는 컴퓨터 과학에서 증명된 법칙인데, 큰 메모리를 사용한다..
[시분할 시스템] 시분할 시스템(TSS, Time Sharing System)은 다중 프로그래밍을 논리적으로 확장한 개념으로 프로세서를 통해 다중 작업을 교대로 수행합니다. 컴퓨터를 대화식으로 사용하려는 시도에서 탄생하였습니다. 시분할 운영체제는 CPU 스케줄링과 다중 프로그래밍을 이용해서 각 사용자들에게 컴퓨터 자원을 시간적으로 분할하여 사용할 수 있게 해줍니다. 출력이 사용자에게 표시되고 입력을 키보드에서 읽어들이는 대화식 인터페이스를 제공할 수 있습니다. 대화식 입출력 속도는 보통 사람들의 처리속도와 같으므로 종료할 때 까지 오랜 시간이 걸린다. 예를 들면, 입력은 타이핑 속도에 의해 제약을 받는데 사람에게는 1초에 5문자를 치는 것이 빠른 편이지만 컴퓨터 입장에서는 아주 느린 것입니다. 이러한 경..
https://repl.it/~ Log In Repl.it is a simple yet powerful online IDE, Editor, Compiler, Interpreter, and REPL. Code, compile, run, and host in 50+ programming languages: Clojure, Haskell, Kotlin, QBasic, Forth, LOLCODE, BrainF, Emoticon, Bloop, Unlambda, JavaScript, CoffeeScript, repl.it 1. 프로그램 언어랑 API가 없어도 간단한 결과를 조회가 가능한 유용한 사이트입니다. 위의 링크로 들어가서 간단하게 로그인을 하면 됩니다. 2. My repls 누른후 > New repl을 눌러..
C, C++의 초보자분들이 코드연습하기 좋은 사이트를 소개해드립니다. 저 또한 여기서 연습해보고 있습니다. 혼자서 문제를 풀며 기초적인 이론과 실제프로그램을 짜는것을 공부할 수 있는 사이트입니다. codeup.kr/index.php CodeUp ☆ 파이썬 다운로드 : 파이썬3 ☆ 무료 C언어 IDE : Code::blocks DEV C++ ☆ 추천 온라인 IDE : C++11 Python3 Java ☆ 채점 가능 언어 : C, C++, JAVA, Python 3.5 ★ C++로 제출시 void main()을 사용하면 컴 codeup.kr 다양한 기능들이 있으니, 상황에 맞게 연습하면 좋을듯 합니다. 기초 100문제부터 다양한 문제들이 많습니다. 그리고 회원가입 후 로그인하면 답이 틀렸는지 맞았는지도 표시..
데이터(관찰이나 측정을 통해 현실 세계에서 수집된 사실이나 값)는 그 자체로 존재하면 별 의미를 가질 수 없지만, 이것을 컴퓨터라는 도구를 이용해서 적절한 처리를 거치면 개인이나 조직의 의사결정에 유용한 정보를 얻을 수 있습니다. 이와 같은 목적으로 하나의 기관에서 데이터를 수집, 조직, 저장하고 정보를 생성, 분배하는 시스템을 정보처리 시스템이라고 합니다. 이러한 시스템에서는 여러 응용 소프트웨어 기술 중에서 실세계의 방대한 데이터를 효과적으로 저장, 운용하기 위한 데이터베이스 기술의 응용이 필수적입니다. 데이터베이스 정의와 특징 데이터베이스는 개념적으로 "한 조직의 여러 응용 시스템이 공용(shared)으로 사용하기 위한 통합(interated), 저장된(stored) 운영(operational) 데..
컴퓨터는 자료를 처리하는 기계입니다 우리가 사용하는 자료는 컴퓨터가 이해할 수 있는 내부적인 표현으로 바꿔 컴퓨터의 기억장치에 기억시킨 후 처리됩니다. 자료는 현실 세계로부터 관찰이나 측정을 통해 단순히 얻어지는 값이나 사실을 의미합니다. 자료를 처리한다는 것은 평가되지 않은 값이나 사실에 대해서 가공 또는 변환 등의 과정을 거쳐 어떤 목적에 적합한 정보(information)를 생성하는 것입니다. 이런한 정보는 어떤 상황에 대해 적절한 의사결정을 수행할 수 있게 하는 지식으로 사용되고, 이와 같이 자료를 정보로 가공하여 변환하는 과정이 바로 자료처리(data processing)입니다. 예를 들어보겠습니다. 장사가 잘되는 핫도그집이 있다고 가정하겠습니다. 핫도그 가게에서 하루 동안 많은 건의 매출이 이..