코드와이
CS 이론(2) 프로그래밍 본문
[프로그래밍]
객체지향 : 어떠한 객체, 사물을 중심으로 만드는 방법
절차지향 : 일련의 동작을 중심으로 만드는 방법
1. 객체지향
- 소프트웨어 객체는 현실 세계의 객체를 필드와 메서드로 모델링한 것이다.
- 필드는 객체 내부에 '선언된 변수'를 의미하고, 메서드는 객체 내부에 '정의된 동작'을 의미한다.
- 캡슐화 : 필드와 메서드를 하나의 캡슐처럼 포장해 세부 내용을 외부에서 알 수 없도록 감추는 것이다.
- 상속 : 상위 객체를 상속받은 하위 객체가 상위 객체의 메서드와 필드를 사용하는 것이다.
- 다형성 : 대입되는 객체에 따라서 매서드를 다르게 동작하도록 구현하는 기술이다.
멀티태스킹 : 운영체제가 CPU에 작업을 줄 때 시간을 잘게 나누어 배분하는 기법
멀티프로세싱 : CPU를 여러 개 사용하여 여러 개의 Thread 를 동시에 처리하는 작업 환경
CPU 멀티 Thread : 핟으웨어적인 방법으로 하나의 CPU에서 여러 Thread를 동시에 처리하는 병렬 처리 기법
멀티 Thread : 운영체제가 소프트웨어 적으로 프로세스 를 작은 단위의 Thread로 분할하여 운영하는 기법
* thread : 따로 따로 돌아가는 각각의 기능들
자바에서의 Thread에서의 병행성 문제
1. 병행성 문제
- 두 개 이상의 Thread가 어떤 객체에 있는 하나의 데이터에 접근하게 되는 경우
- 서로 다른 두 스택에서 실행되는 메소드가 객체에 있는 동일한 객체에 대한 getter 또는 setter 메소드를 호출하게 되는 경우
- Thread 는 자신이 잠시 중단된 적이 있다는 것을 기약할 수 없음
2. Thread에서의 동기화
- 다중 Thread 환경에서 한번에 하나의 쓰레드 만이 공유 데이터를 접근할 수 있도록 제어하는 것
- 여러 Thread가 동시에 실행되는 다중 Thread에서 데이터를 공유하기 위해서는 어떤 Thread가 다른 Thread의 상태와 행동 등을 고려
데이터분석 주요언어
1. R
- 연구 목적의 업무에 최적화되어 있고, 데이터 분석에 매우 용이하고, 방대한 R 패키지 저장소지원
- R은 구글 'Visualization Chart API'로 구글과 통신하여 데이터 고급 분석이 가능
- Spotifire. Qlik View 등의 상업용 데이터 시각화 프로그램과 연동이 가능
2. Python
- Numpy는 대형, 다차원 배열 미 ㅊ행렬 등 이러한 배열에서 작동할 수 있는 높은 수준의 수학 함수 모음을 제공
- Pandas는 관계형 또는 레이블이 있는 데이터 작업을 쉽고 직관적으로 처리할 수 있도록 설계된 라이브러리
3. SAS
- 기본적인 빈도분석, 기술통계량, 교차분석에서부터 다변량 분석인 판별분석, 군집분석, 요인분석 등과 기타로 다차원척도법, 로짓분석 등과 같은 복잡한 프로그램 등도 쉽게 결과를 얻음
4. Excel
- 통계분석, 목표값 찾기, 기상 분석 등 데이터를 가공하는데 있어서 뛰어나고 데이터 분석의 강점 때문에 여러가지 플러그인이 개발되어 있음
'CS이론' 카테고리의 다른 글
[CS 이론] 운영체제(4) (0) | 2021.08.07 |
---|---|
CS 이론(3) (0) | 2021.06.22 |
CS 이론(1) 소프트웨어 공학 (0) | 2021.06.16 |