기록.

IT용어 2 본문

Scrap

IT용어 2

Youngheon 2016. 5. 20. 16:50

페이징 기법

가상기억장치를 같은 크기의 페이지 단위로 나누어 운용하는 방법
가상주소는 순서쌍(p,q)으로 표현되어 p는 가상기억장치 내에서 참조될 항목이 있는 페이지 번호이고, d는 p에서 참조될 항목이 위치하는 변위를 나타낸다. 프로세스가 현재 참조하고 있는 페이지가 주기억장치에 있으면, 그 프로세스는 수행되고, 없다면 해당 페이지를 보조기억장치로부터 읽어와 페이지 프레임의 한 블록에 저장.
페이지 : 일정한 크기를 가진 블록

유비쿼터스

사용자가 네트워크나 컴퓨터를 의식하지 않고 장소에 상관없이 자유롭게 네트워크에 접속할 수 있는 정보통신환경
컴퓨터에 어떠한 기능을 추가하는 것이 아니라 자동차, 냉장고 등과 같이 어떤 기기나 사물에 컴퓨터를 넣어 커뮤니케이션을 가능하게 해주는 정보기술 패러다임(IOT)
1988년 제록스의 마크와이저가 유비쿼터스 컴퓨팅 이라는 용처를 사용하면서 처음으로 등장

U헬스케어

거주자의 생체상태나 변화를 감지할 수 있는 계측장비와 센서가 장착되고 이를 통해 수집된 생체정보는 의료연구센터 내 중앙서버에 실시간으로 전송하여 개인의 건강상태를 점검하는 데이터베이스로 활용

스마트타이어

기존 고무타이어에 각종 안전센서를 장착해 운전자가 위험상황을 경고하는 기능까지 수행하는 타이어로 실제 주행 중인 타이어가 펑크가 나기 전에 타이어 공기압 정보를 운전자에게 알려주거나 노면 조건을 감지하고 타이어 외부형태를 바꿈
타이어 압력 모니터링 시스템(TPMS : Tire Pressure Monitoring System)은 4개의 타이어 내부 링에 장착된 무선 송신기와 압력,온도센서 모듈 운전성에 설치된 전용수신기로 구성되어 계기판으로 압력정보를 전송하고 위험징후 시 경고 알람을 보내며 디스플레이를 통해 위급상황을 무선으로 줌

FM라디오기반 데이터방송

보통 라디오방송국에서 사용되는 FM주파수에는 다른 방송국들과 혼선을 막기 위해 음성정보가 실리지 않는 여분의 주파수 대역이 존재하는데 마이크로소프트사는 이 남은 FM 주파수 대역을 이용해 초당 12Kbps로 데이터를 전송하는 스팟(Smart Personal Object Technology)이란 기술 개발로 일상생활에서 필요한 뉴스, 날씨, 교통, 주식 및 기타 개인정보등의 문자 메시지를 실시간으로 받아 볼 수 있도록 함
마이크로소프트는 미국 전역의 FM라디오 방송국들과 주파수 임대계약을 체결했으며 현재 전국토의 80%를 서비스 영역으로 언제, 어디서나 온라인에 쉽게 접속하는 유비쿼터스 시대를 본격 구현 중.

BMS 프로젝트

버스 종합 사령실 (BMS: Bus Management System)은 위치측정시스템GPS과 무선송수신기를 장착하고 자신의 운행위치 및 상태와 배차간격, 도착 예정시간이 실시간으로 제공되며, 원하는 목적지까지의 소요시간과 노선정보 등의 각종 정보를 스스로 수발신하는 유비쿼터스 컴퓨팅 환경.

차세대 네크워크(NGN)프로젝트

Next Generation Network는 전화망, 인터넷, ATM, FR, 전용망, 무선망 등의 서로 다른 망을 하나의 공통된 망으로 구조를 단순화 해 음성과 데이터를 통합한 다양한 멀티미디어 서비스를 통합적으로 제공할 수 있는 차세대 통신 네트워크
NGN환경에서는 사용자의 편의에 따라 어떤 단말기로 통신을 시도하더라도 콘텐츠와 전자기기들의 사용이 가능하며 초고속 광대역으로 통신 가능

스마트웨어

웨어러블 컴퓨터, 스마트 섬유, 스마트 패션 등 다양한 형태의 스마트웨어

ITS

Intelligent Transport System의 약자로 지능형 교통체계
교통시설에 통신, 제어 등의기술을 접목하여 교통 정보 및 서비스를 제공하고, 이를 활용하여 교통의 효율성과 안전성을 향상시키는 체계

ATMS(Advanced Traffic Management System)

도로상에 차량 특성, 속도 등의 교통 정보를 감지할 수 있는 시스템을 설치하여 교통 상황을 실시간으로 분석하고, 이를 토대로 도로 교통의 관리와 최적 신호 체계의 구현을 꾀하는 동시에 여행시간 측정과 교통사고 파악 및 과적 단속 등의 업무 자동화 구현

ATIS(Advanced Traveler Information System)

교통 여건, 도로 상황, 출발지에서 목적지까지의 최단 경로 소요시간, 주차장 상황 등 각종 교통 정보를 FM 라디오방송, 차량 내 단말기 등을 통해 운전자에게 신속, 정확하게 제공함으로써 안전하고 원활한 최적 교통을 지원

APTS(Advanced Public Transpotation System)

대중교통 운영체계의 정보화를 바탕으로 시민들에게는 대중 교통 수단의 운행 스케쥴, 차량 위치 등의 정보를 제공하여 이용자 편익을 극대화하고, 대중교통 운송 회사 및 행정 부서에는 차량관리, 배차 및 모니터링 등을 위한 정보를 제공함으로써 업무의 효율성을 극대화

CVO(Commercial Vehicle Operation)

컴퓨터를 통해 각 차량의 위치, 운행상태, 차내 상황 등을 관제실에서 파악하고 실시간으로 최적운행을 지시함으로써 물류비용을 절감하고 통행료 자동 징수, 위험물 적재차량 관리 등을 통해 물류의 합리화와 안전성 제고를 도모

AVHS(Advanced Vehicle and Highway System)

차량에 교통상황, 장애물 인식 등의 고성능 센서와 자동제어장치를 부착하여 운전을 자동화하며, 도로상에 지능형 통신시설을 설치하여 일정간격 주행으로 교통사고를 예방하고 도로소통의 능력을 증대

VOIP

Voice over Internet Protocol은 대표적으로 인터넷 전화에 쓰이는 기술로, 음성데이터를 인터넷 프로토콜 데이터 패킷으로 변환하여 일반 전화망에서의 통화를 가능하게 해주는 통신 서비스 기술
프로토콜은 H.323와 SIP/MGCP/MEGACO가 있는데, 우리나라에서 사용되는 VOIP장비는 대부분 H.323
세계 기술 표준은 VOIP/VoFR/VoATM 등 3가지가 있다.

IPTV

BroadBand연결상에서 인터넷 프로토콜을 사용하여 소비자에게 디지털 텔레비전 서비스를 제공하는 시스템
같은 망에 대역을 분리해서 한 쪽은 일반인터넷을 사용하고 다른 대역은 방송에 이용

와이브로

Wireless BroadBand Internet
무선 광대역 인터넷으로 최대 전송속도 10Mbps, 최대 전송거리는 1km, 시속 120km/h로 이동하면서 사용
해외에서는 모바일 와이맥스(WiMAX)

LTE(Long term evolution)

3세대 이동통신 (3G)를 장기적으로 진화 시킨 기술이라는 뜻에서 붙여진 명칭
유럽식 WCDMA에서 발전한 이동통신 규격

Java / C++

C++ Java
C코드와 하위 호환성 다른 언어와 코드 호환성은 없음
직접적인 시스템 라이브러리 호출 Java Native Interface를 이용
저수준 시스템 접근 가능 JVM위에서 실행
선택적 자동 경게 검사 항상 자동 경계 검사
부호없는 연산 지원 부호없는 연산 지원 안함
값에 의한 매개변수 전달 또는 참조에 의한 매개변수 전달 항상값에 의한 매개변수 전달. 매개변수로 객체애 대한 참조값을 사용
명시적 메모리 관리, 가비지콜렉션은 추가적인 라이브러리 사용 자동 가비지 콜렉션
명시적인 자료형 재정의 허용 자료형 안전성에 엄격
C++표준 라이브러리는 적절한 범위까지 지원 광대한 분량의 라이브러리
연산자 오버로딩 연산자 재정의 불가

JAVA

보안, 이식성과 빠르게 개발할 수 있어야 한다는 점에 매우 큰 비중
가상 머신 바이트 코드로 컴파일, 실행하려면 가상 머신이 필요
가비지 컬렉션을 사용 (연산자 오버로드나 다중 상속 같은 기능을 사용 못함, 대신 인터페이스로 다중 상속과 유사한 기능 제공)
모든 객체가 레퍼런스로 전달

C++

개발 과정에서 속도 및 C와의 하위 호환성에 중점
각 머신에 맞는 기계어로 컴파일
메모리 관리 제어, 포인터, 전처리기 같은 기능을 전부 유지

방화벽

기업이나 조직 내부의 서로 다른 네트워크간에 전송되는 데이터를 선별하여 허용하거나 거부, 검열 수정하는 능력을 가진 하드웨어나 소프트웨어 장치
패킷 필터링 방화벽, 이중 홈 게이트웨이 방화벽, 차폐 호스트 방화벽등이 있다.

IPV6

IP주소가 부족하여 만들어진 IPV6
증가한 네트워크 속도, 확장된 헤더의 크기, 패킷인증, 데이터 무결성과 비밀 보장이 있다.
인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜

MPEG4

양방향 멀티미디어를 구현할 수 있는 화상통신용 동영상 압축 기술
MPEG-4(ISO/IEC 14496)영상, 음성을 디지털 데이터로 전송, 저장하기 위한 규격
일반적으로는 동영상 인코딩 방식을 기술하는 비주얼 부분이 많으며 규격을 관리하는 동화상 전문가 그룹은 MPEG-4를 궁극의 영상/음성 인코딩 규격으로 삼으려는 의도가 있다.

RFID

Radio Frequency Identification의 약자로 전파를 이용하여 먼 거리에서 정보를 인식하는 기술
바코드와 비슷한 기능을 하지만, 바코드와 다르게 여러 개의 정보를 도잇에 판독, 수정, 갱신 등을 할 수 있고, 빛을 이용해 판독하는 대신 전파를 이용하여 물체를 통과해서 정보를 수신하고 장거리에서도 태그를 읽을 수 있어 물류, 대여 서비스에 이용
태그는 안테나와 집적회로로 이루어져 있다.

LBS (Location Based Service)

휴대폰 칩을 이용해 가입자들의 위치를 반경 수십센티에서 수십미터 내에서 언제든지 확인할 수 있도록 해주며 사용자가 원하는 각종 정보를 개인화된 환경에서 서비스가 가능

폭포수모형과 프로토타입

폭포수모형

소프트웨어 개발 과정의 앞 단계가 끝나야만 다음 단계로 넘어갈 수 있는 선형적 순차 모형
프로젝트 초기에 정확한 요구사항을 제시되지 않으면 진행 어려움
고객이 개발된 제품이 자신이 원하는 것인지 알기 위해 프로젝트 후반까지 기다려야함
두개 이상의 과정이 병행 수행되거나 이전 단계로 넘어가는 경우는 없음
개발 과정 중에 발생하는 새로운 요구나 경험을 설계에 반영하기 어려움
메뉴얼이 필요
각 단계가 끝난 후 결과물이 명확히 나옴
개발자와 사용자 간의 지식이나 표현의 차이가 있어 커뮤니케이션이 어려움
개발하고자 하는 시스템 자체가 복잡
사용자의 요구사항이 모호하고 부정확하며 불완전

프로토타입

짧은 시간 내에 시제품을 개발하여 사용자가 요구사항을 미리 확인하고, 기술적인 문제의 해결 가능성을 미리 확인할 수 있는 모형
요구분석이 어렵거나 불명확한 경우 사용하기 좋은 모델로 시제품을 개발하고 고객과 검증하고 지속적인 피드백으로 발전하여 완제품 만듦
요구 수집 -> 빠른 설계 -> 프로토타입 구축 -> 고객평가 -> 프로토타입 조정 -> 구현
실제 개발된 시스템 견본을 미리 만들어 최종 결과물을 예측하는 모형 -> 비용 증가

재사용

SW 개발의 품질과 생산성을 높이기 위한 방법
클래스, 객체 등의 요소를 통해 재사용성 증가
장점 : 개발 시간과 비용 단축, 품질 및 생산성향상, 프로젝트 실패 위험 감소, 시스템 구축 방법에 대한 지식 공유, 시스템 명세, 설계, 코드 등 문서공유

SOA

Service-oriented architecture
서비스 지향 아키텍쳐는 기업이 내부 애플리케이션을 기업 내/외부까지 통합할 수 있는 표준 소프트웨어 요소이자 비즈니스 프로세스 집합체
SOA는 기업IT 자원간의 궁극적인 상호 호환성을 제공하기 위한 차세대 통합 개념

클라우드 컴퓨팅

구름과 같이 무형의 형태로 존재하는 하드웨어/소프트웨어 등의 컴퓨터 자원을 자신이 필요한 만큼 빌려쓰고 이에 대한 사용요금을 지급하는 방식의 컴퓨팅 서비스로, 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합해 제공하는 기술
기업또는 개인이 컴퓨터 시스템을 유지보수관리 비용과 서버에 대한 비용 감소와 백업 기술을 통해 안전하게 보관이 가능
다만 서버 장애가 발생할 경우 자료 이용이 불가능

USN

다양한 위치에 설최된 태그와 센서노드를 통해 사람과사물, 환경정보를 인식하고 그 정보를 무선으로 수집해 언제 어디서나 자유롭게 이요할 수 있도록 구성된 정보네트워크
RFID 칩을 통한 사물 인식까지 포함, WSN(Wireless Sensor Network) 보다는 위의 개념

======================================================================

결합도 vs 응집도

결합도

소프트웨어 코드의 한 요소가 다른 것과 얼마나 강력하게 연결되어 있는지, 또한 얼마나 의존적인지 나타내는 정도이다. 프로그램의 요소가 결합도가 낮다는 것은 그것이 다른 요소들과 관계를 그다지 맺지 않은 상태를 의미한다.
결합도 높은 클래스
연관된 다른 클래스가 변경되면 더불어 변경해야 하고,
수정하려는 클래스를 이해하기 위해 연관된 다른 클래스를 함께 이해해야 하고
나중에 다른 프로그램에서 클래스를 재사용하기도 힘들다.

응집도

프로그램의 한 요소가 해당 기능을 수행하기 위해 얼마만큼의 연관된 책임과 아이디어가 뭉쳐있는지를 나타내는 정도이다. 일반적으로 프로그램의 한 요소가 특정 목적을 위해 밀접하게 연관된 기능들이 모여서 구현되어 있고, 지나치게 많은 일을 하지 않으면 그것을 응집도가 높다고 표현한다. 응집도가 높으면 프로그램을 쉽게 이해할 수 있으므로 유지보수성이 높아진다.
응집도가 낮은 클래스이면
이해하기 힘들고
따로 재사용하기 힘들며
유지보수하기 힘들고
다른 클래스의 변화에 민감하다.

POST vs GET

POST

GET방식보다 많은 데이터 전송 가능
수행하는것

GET

주소에 html?id=5 형식
가져오는 것

Fintech

파이낸셜 테크놀로지(financial technology)의 준말이다. 금융과 기술의 합성어로 모바일 결제, 모바일 송금, 온라인 개인 자산 관리, 크라우드 펀딩 등 전반적인 금융 서비스를 모바일 인터넷 환경으로 옮기는 것을 말한다. 이때문에 스타트업을 찾기 힘든 분야였던 금융업에서도 스타트업이 나타나고 있다. 역시 이쪽 분야의 기술들이 그렇지만 빅데이터가 중요하다. 페이팔이 핀테크 기술로 뜬 곳이다.

ERP

ERP는 데이터베이스를 기반으로 MRPⅡ를 기업활동 전반에 모든 업무의 경영자원으로 대상이 확대되었다. 생산부서의 의사결정은 타부서의 의사결정과 밀접하게 영향을 주고 받으므로 전체를 유기적으로 통합하여야 하고, 생산부서의 상부와 하부의 연결체계를 이어주는 공급체인의 흐름을 고려해야 한다. 이를 위해 첨단의 IT를 기반으로 하여 선진 비즈니스 프로세스(Best Practice)가 구현된 ERP패키지 소프트웨어가 있다.
ERP란 용어는 미국의 ‘ERP벤더’ 라는 소프트웨어 개발회사가 자사의 소프트웨어 제품에 이름을 붙인데서 유래했다고 알려져 있다. 처음에는 통합적인 컴퓨터 데이터베이스를 구축해 회사의 자금, 회계, 구매, 생산, 판매 등 모든 업무의 흐름을 효율적으로 자동 조절해주는 전산 시스템의 하나였다. 1990년대 도입당시, SAP코리아는 독일 본사에서 ERP 제품을 국내에 들여오면서 ‘ERP’(Enterprise Resource Planning)로 번역하였다.

XML VS JSON

XML

장점

작성하기가 간편
사람이 읽기가 편함
DTD등 XML 자체의 기능을 확장할 여지가 있따.

단점

문서의 양이 필요이상으로 많다.
배열형식이나 반복구조의 경우 불필요한 데이터가 계속해서 나타난다.=> 파싱 속도가 느려짐

JSON

장점

내용이 함축적으로 최소한의 정보 => 용량 작아지며 속도 증가
객체 구조와 {} 배열구조 [] 통해 효율적인 데이터 구성 가능
파싱이 간편, 일반적인 변수로 사용하기 편함

단점

함축적이다 보니 내용 의미파악 어려움
대용량급의 데이터 송수신엔 부적합(데이터 교정 어려움)

사물인터넷(Internet Of Things)

사물 인터넷(Internet of Things, 약어로 IoT)은 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술을 의미한다. 여기서 사물이란 가전제품, 모바일 장비, 웨어러블 컴퓨터 등 다양한 임베디드 시스템이 된다. 사물 인터넷에 연결되는 사물들은 자신을 구별할 수 있는 유일한 아이피를 가지고 인터넷으로 연결되어야 하며, 외부 환경으로부터의 데이터 취득을 위해 센서를 내장할 수 있다.

ICT

ICT란 정보 통신 기술(Information & Communication Technology)의 약자로써 흔히 알고 있는 정보 기술(Information Technology, IT)로 더 친숙하게 접하고 있습니다.
IT는 흔히 접하는 인터넷, 휴대전화 등의 기술 및 이를 운영하는 프로그램 등을 IT로 총칭하는 경우가 많습니다. ICT도 이러한 면을 지니고는 있으나, ICT는 기존의 정보기술인 IT와 통신산업간의 컨버젼스를 통해 새롭게 발전해 나가는 산업을 뜻합니다.
즉, IT+Communication 이라고 볼 수 있는 것입니다.

System Integration (대기업의 자회사)

개발+보수개발
기간이 정해놓고 하는 프로젝트

System Maintenace(대기업)

유지보수+추가개발
이미 만들어진 시스템 개발

Spring

크기와 부하의 측면에서 경량.

  • 제어 역행(IoC)이라는 기술을 통해 애플리케이션의 느슨한 결합을 도모.
  • 관점지향(AOP) 프로그래밍을 위한 풍부한 지원을 함.
  • 애플리케이션 객체의 생명 주기와 설정을 포함하고 관리한다는 점에서 일종의 컨테이너(Container)라고 할 수 있음.
  • 간단한 컴포넌트로 복잡한 애플리케이션을 구성하고 설정할 수 있음.
    1) 경량 컨테이너로서 자바 객체를 직접 관리.
    각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다.
    2) 스프링은 POJO(Plain Old Java Object) 방식의 프레임워크.
    일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리
    등을 지원하기에 용이하고 객체가 가볍다.
    3) 스프링은 제어 반전(IoC : Inversion of Control)을 지원.
    컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출한다.
    4) 스프링은 의존성 주입(DI : Dependency Injection)을 지원
    각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다.
    5) 스프링은 관점 지향 프로그래밍(AOP : Aspect-Oriented Programming)을 지원
    따라서 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수 있다.
    6) 스프링은 영속성과 관련된 다양한 서비스를 지원
    iBatis나 Hibernate 등 이미 완성도가 높은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공한다.
    7) 스프링은 확장성이 높음.
    스프링 프레임워크에 통합하기 위해 간단하게 기존 라이브러리를 감싸는 정도로 스프링에서 사용이 가능하기 때문에 수많은 라이브러리가 이미 스프링에서 지원되고 있고 스프링에서 사용되는 라이브러리를 별도로 분리하기도 용이하다.

오버로딩 vs 오버라이딩

오버로딩

함수의 인자값으로 사용

오버라이딩

클래스나 인터페이스를 상속받아서 부모 클래스의 있던 함수를 재정의

프렌드 클래스

friend 키워드는 함수나 클래스에 적용
선인이 이루어진 클래스에 있는 비공개 멤버에 대한 프렌드 함수 또는 프렌드 클래스 액세스를 허용
다른 클래스의 비공개 멤버를 건드릴 수 있기 때문에 객체지향 프로그래밍의 원칙이 위배
(어떤 클래스의 내부 구현을 바꿨을 때 그 클래스의 비공개 멤버를 액세스하는 프렌드 클래스에서 문제가 생기면 예상치 못한 버그가 만들어질 수 있다.)
프렌드 클래스를 사용함으로써 얻을 수 있는 이득이 단점에 비해 크기 때문에 프렌드 클래스를 써야 하는 경우가 있다.
복잡한 동적 배열 클래스를 구현했다고 가정해보면 배열에 대한 반복자를 별도의 클래스로 만들고 싶은 경우도 있을 것이다. 이 반복자 클래스에서 동적 배열 클래스의 비공개 멤버를 액세스할 수 있어야 제대로 작동할 수도 있다. 이런 경우에는 반복자를 배열 클래스의 프렌드 클래스로 선언하면 된다. 그 두 클래스는 서로 뗄레야 뗄 수 없는 관계이므로 곧이 그 둘을 깔끔하게 분리시켜야 하는 것도 아니다.
자바와 C#은 프렌드 클래스 개념을 지원하지 않는다.
다만 비슷한 방법으로는 접근 권한으로 지정(자바), internal 접근 제한자 쓰는 C#

인자 전달

void foo(Fruit bar); //1)
void foo(Fruit* bar); //2)
void foo(Fruit& bar); //3)
void foo(const Fruit* bar); //4)
void foo(Fruit*& bar); //5

1) 객체 인자가 값으로 전달
즉 Fruit의 복사 생상자가 호출되면서 스택에 그 객체의복사본이 만들어진다.
Fruit에 별도의 복사 생성자가 정의되어 있지 않으면 멤버 복사 생성자로 기본 멤버를 생성
=> 동적으로 할당된 메모리나 파일 핸들과 같은 별도의 자원에 대한 포인터가 포함되어 있으면 버그가 생길 수 있다.
그 함수 내에서 bar는 Fruit 클래스의 객체로 취급, bar는 함수에 전달된 객체의 복사본이므로 bar를 어떻게 바꾸든 그 내용은 원래 객체에는 반영되지 않는다. 객체에 있는 모든 데이터 멤버를 객체의 새 복사본에 일일이 복사해 넣어야 하므로 객체를 전달하는 가장 비효율적인 방법

2) bar가 Fruit객체에 대한 포인터
객체 자체가 아닌 객체의 주소가 스택(상횡에 따라 레지스터 일 수도 있음)에 복사되기 때문에 값으로 전달하는 경우에 비해 더 효율적, bar는 foo에 전달된 객체를 가리키기 때문에 bar 변수를 통해 객체를 건드린 부분은 원래 객체에도 그대로 반영

3) bar를 레퍼런스로 전달
두번째 방법과 비슷하며 객체가 복사되지 않으며, foo에서 호출하는 함수에 있는 객체를 직접 건드릴 수 있다. 레퍼런스를 사용하는 함수와 포인터를 사용하는 함수 사이의 가장 큰 차이는 문법적인 부분에 있다. (화살표연산자(->),점연산자(.))

4) bar가 객체에 대한 상수 포인터로 넘어간다.
포인터를 인자로 전달할 때와 마찬가지로 성능면에서 유리하면서도 bar를 변경하는 일은 방지
foo안에서는 const로 선언된 메소드만 호출할 수 있기 때문에 bar에서 간전접으로 변경 불가

5)bar가 Fruit객체에 대한 포인터에 대한 레퍼런스로 전달
두번째 경우와 마찬가지로 객체를 바꿨을 때 호출하는 함수 쪽에서도 그 변경 내역을 그대로 볼 수 있다.
추가로 bar가 그냥 포인터가 아니라 포인터에 대한 레퍼런스이므로 bar를 다른 Fruit 객체를 가리키도록 수정하면 호출하는 함수 쪽의 포인터로 변경

빅엔디언과 리틀엔디언

0x12345678 를 스택에 넣을때

리틀엔디언 ( 인텔 주사용 )
(스택입구)
| |
| 7 8 |
| 5 6 |
| 3 4 |
| 1 2 |
| |
로 들어가는 것을 리틀엔디언 이라 하고 산술연산이 메모리 주소가 낮은쪽에서 높은쪽으로
가면서 처리되는 순서와 같기 떄문에 프로세서에서 산술연산의 수행이 더 쉬워진다

빅엔디언 ( 모토롤라 주사용 , 네트워크 통신시 사용(규약))
(스택입구)
| |
| 1 2 |
| 3 4 |
| 5 6 |
| 7 8 |
| |
로 들어가며 정수로 정렬된 큰수에 대한 비교를 메모리의 앞주소(네트워크주소)부터 뒷주소(HOST 주소)방향으로 읽으면서
바로 비교할수 있어 더 빨리 찾을 수 있다. 모든 정수와 문자열을 같은 순서 방향으로 읽을수 있다는 장점

접근 지정자에 대한 설명

public - 모든 접근을 허용
protected - 같은 패키지(폴더)에 있는 객체와 상속 관계의 객체들만 허용
private - 현재 객체 내에서만 허용
default - 같은 패키지(폴더) 내에서만 허용

트랜잭션 4가지 (ACID)

원자성(Atomicity ) - 트랜잭션에 포함되는 모든 작업이 성공적으로 처리 되지 않으면 트랜잭션에 들어 있는 어떤 작업도 처리되지 않아야 한다.
일관성(consistency) - 트랜잭션은 트랜잭션이 시작되기 전과 트랜잭션이 종료된 후에 데이터베이스가 올바르고 일관된 상태가 되도록 처리되어야 한다.
고립성(isolation) - 한 트랜잭션에서 데이터베이스를 변경한 내용은 트랜잭션이 커밋될 때까지 다른 어떤 질의나 트랜잭션과도 고립되어야 한다.
영속성 (durability)- 일단 커밋이 되고 나면 트랜잭션에 의해 변경된 내용은 영구적이어야 한다. 데이터베이스의 현재 상태가 유실되지 않도록 시스템 충돌 등의 문제로부터 복구할 수 있는 방법을 갖추고 있어야 한다.

Call by Value vs Call by Reference

Call by Value

데이터(값)을 복사해서 함수로 전달하기 때문에 원본의 데이터값이 변경될 가능성은 없다.
인자를 넘겨줄 때마다 메모리의 공간을 할당하기 때문에 메모리 공간을 더 사용

Call by Reference

메모리 공간 할당의 문제는 벗어나지만 원본의 데이터 값이 훼손됨

해시테이블 vs 이진검색트리

해시테이블

데이터를 저장하거나 가져오는 면에는 매우 빠름(O(1), 상수시간 알고리즘
정렬되지 않은 자료구조를 사용하면 값들을 알파벳 순서대로 화면에 표시한다거나 하는 경우에는 메모리 추가 사용

이진검색트리

o(lon(n))으로 자료를 넣어가 찾아낼 수 있다.
자료가 정렬된 순서 그대로 유지

'Scrap' 카테고리의 다른 글

집중하는 힘 - 마르코 폰 묀히 하우젠  (0) 2017.11.29
난생처음 경제공부 기초용어 정리.  (0) 2017.11.29
자기소개서 지원동기 논리패턴 모음  (0) 2016.04.07
지하철 노선별 맛집  (0) 2016.02.29
IT 용어  (0) 2016.02.24