티스토리 뷰

∘ 지오펜스(Geofence)
- 지리 + 울타리의 합성어
- 특정 위치에 가상의 경계나 구역을 만드는 기술
- 해당 위치에서 발생하는 다양한 정보를 네트워크를 활용해 기록하거나 전달하며 정해진 동작을 수행 
- ex) 지오펜스로 설정한 구간에 사용자가 진입 시 인근 상점에서 쇼핑정보 등을 제공받을 수 있음 
- or 사용자가 집 근처에 도착하는 시점에 자동 냉난방 등을 가동시킬 수 있음 

∘ 빅블러 현상 
- 산업 간 경계가 희미해지는 현상으로 다른 산업이 금융사의 담장을 무너뜨렸듯이, 금융사도 무너진 담장을 넘어 다른 산업으로 진출하는 것을 말함 

∘ 데이터 3법 
- 개인정보 빅데이터를 기업에서 적극 사용 가능하도록 한 법안으로 개인정보보호법, 정보통신망법, 신용정보보호법의 3가지 법을 말함

∘ 데이터 스크래핑 
- 고객이 자신의 인증 정보를 한 번만 제공하면 컴퓨터가 고객이 이용하는 금융사에 접속해서 흩어져 있는 정보를 모아 제공하거나 가공하는 기술 
- 이용자가 인증 정보를 핀테크 업체 서비스에 입력, 인증 정보를 저장하고 필요한 서비스에 접속 시 활용하는 방식 

∘ 단위테스트 
- 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차 
- 즉, 모든 함수와 메소드에 대한 테스트 케이스를작성하는 절차를 말함 
- 이를 통해서 언제라도 코드 변경으로 인해 문제가 발생할 경우, 단시간 내에 이를 파악하고 잡을 수 있도록 해줌 

 

1. OS 관점에서의 동기와 비동기 
동기적 방식은 무언가의 완료 사인을 받은 뒤, 그러고 나서 다음 동작을 시행하는 것을 말한다. 비동기적 방식은 완료가 되든 말든 나는 시작한다라는 마인드다. 즉, 자원공유가 일어나는 스레드에서는 동기적 방식을 채택해야 하는 것이다. 동기적 방식의 구현으로 뮤텍스와 세마포어가 있다.

2. TDD 
Test Driven Development. 
애자일 프로세스의 일환으로, 현재 가장 메인 스트림에 속하는 개발 방법론이다. 개발을 하기 전에 테스트 코드를 먼저 짜본다는 아이디어에서 시작한 개념. 기존의 방법이 [디자인 -> 코드작성 -> 테스트] 였다면, TDD는 [디자인 -> 테스트 -> 코드작성] 의 과정이다. 
무엇을 테스트할지 디자인하는 과정에서 프로그램의 전체 목적이 명확해지고, 후 수정의 불필요하게 돌아가는 과정을 방지하게 된다. 
테스트 시나리오를 정의하는 과정에서 예외 상황들을 잘 고려하게 된다는 장점이 있다. 프로그램에서 예외처리의 중요성은 아무리 강조해도 지나치지 않다.
 
단점
코드 생산성이 낮아지고 시간이 오래 걸린다는 단점이 있다. TDD는 능숙하지 못한 경우 애자일 방법론을 위배하는 상황이 되기 쉽다.


3. 애자일 방법론
애자일(Agile)의 사전적 의미는 '날렵한, 민첩한' 이다. 사전적인 의미를 본다면 어떤 의미인지 조금은 알 수 있을 것이다. 애자일 방법론은 앞서 잠시 설명한 '폭포수형 모델'에 반대되는 개념으로 탄생한 방법론이다.
반면에 애자일 방법론은 꾸준히 고객의 반응을 반영하면서 소프트웨어를 개발하는 방법론으로 문서기반의 개발보다는 실질적인 코딩을 통한 방법론이라 할 수 있다.
고객의 고객에 의한, 고객을 위한 개발 방법론임을 알 수 있다. 미래를 미리 예상해 정해 놓은 계획대로 움직이기 보다는 고객의 요구와 개발 상황에 맞게 유동적으로 개발할 수 있는 개발 방법론

4. DevOPs 
Development, Operation의 약자
개발 조직과 운영 조직의 시스템을 통합하는 것.
운영의 입장에서는 사용자의 니즈에 발빠르게 대응하는 것, 개발의 입장에서는 deploy의 속도를 높이는 것이다.
개발 뿐 아니라 시스템의 모든 조직을 통합하여 collaboration과 optimization을 지향함. 좁은 의미에서는 Dev, Ops에 집중함. 페이스북의 경우 디플로이 주기를 점점 줄여가고 있음. (디플로이 = 배포)
또한 데브옵스는 TDD와 결합하여 시너지를 내고, 애자일 프로세스와 함께 설명될 수 밖에 없는 용어이다.

5. 콜백함수
일반적인 함수는 파라미터를 받아 무언가를 리턴하거나, call by reference로 들어온 값을 변경하고 무언가를 리턴하지 않을 수 있는 형식을 가지지만, 콜백함수는 파라미터를 통해 다음 실행지점을 지시하는 함수를 전달하는 것
콜백함수를 전달받은 함수는 특정 상황에서 이 콜백함수로 진입
함수가 일급객체로 표현되는 언어에서는 함수 그 자체를 파라미터로 쓰고, 그렇지 않은 언어에서는 함수의 포인터를 넘김. 쉽게 말하면 일반 함수는 필요할 때 쓰는 것이고, 콜백 함수는 특정한 이벤트가 발생하면 알아서 호출되는 것임
콜백은 보통 즉각적인 응답을 기대하기 어려울 때 사용
예를 들어 네트워크에 요청을 날렸을 때, 지속적으로 요청이 도착했는지 확인하는 것 보다 콜백함수를 통해 요청이 도착했을 때만 그것을 인지하게 하는 것이 효율적인 경우임
자바에서는 인터페이스를 활용하여 콜백을 구현하기도 한다

 

인덱스
(1) 인덱스 개념
- (탐색 키, 레코드에 대한 포인터)로 이루어진 데이터 구조 
- DBMS가 화일 내의 특정 레코드를 빠르게 찾을 수 있도록 하는 데이터 구조 
- 인덱스를 이용하면 디스크 접근 횟수를 줄일 수 있어 데이터베이스의 성능을 크게 향상시킬 수 있음 

(2) 인덱스의 특징 
- 일부 애트리뷰트만 인덱스에 포함되기에 보통 데이터 화일의 10-20% 정도의 크기를 가짐 
- 따라서 인덱스 순차적 탐색 시간 < 데이터 화일 순차적 탐색 시간
- 더욱이 인덱스의 엔트리들은 탐색 키 값을 기준으로 오름차순으로 저장되어 있어 이진 탐색도 가능함 
- 인덱스에 포함된 애트리뷰트를 탐색 키라고 부르며, 어떠한 애트리뷰트도 탐색키가 될 수 있기에 반드시 고유하지 않음

(3) 인덱스의 단점 
- 인덱스 된 애트리뷰트의 Data를 업데이트하거나, Record를 추가 또는 삭제시 성능이 떨어짐 
- 데이터 변경이 자주 일어나는 경우 성능에 큰 영향을 미침(인덱스를 다시 재 구성해야함)  

HTTPS(HyperText Transfer Protocol Secure) 
(1) HTTPS 개념 
- 인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 사용하여 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약
- HTTPS는 텍스트를 공개키 암호화 방식으로 암호화함 

CA(Certificate Authority) 
보안적격 여부와 그리고 메시지의 암호화와 복원을 위한 공개키들을 발급하고 관리하는 네트워크 상의 기관  디지털 인증서 요구자에 의해 제공되는 정보를 검증하기 위한 등록기관과 함께 안정성 등을 검사함  만약 등록기관이 요구자의 정보를 입증하면 인증기관은 인증서를 발급할 수 있음


REST 
(1) REST 개념 
- 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하는 데이터 송수신 아키텍처 스타일
- 네트워크 상에서 클라이언트와 서버 사이의 통신 방식 중 하나
- 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것을 의미 
- JSON 혹은 XML을 통해 데이터를 주고 받는 것이 일반적 

(2) REST의 구체적인 개념 
- HTTP URI를 통해 자원을 명시하고, HTTP 메서드를 통해 해당 자원에 대해 CRUD Operation을 적용함
- 자원 기반의 구조(ROA) 설계의 중심에 Resource가 있으며, HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍처

(3) REST가 등장한 이유? 
- 최근의 서버 프로그램은 다양한 브라우저, 스마트폰과 같은 모바일 디바이스에서 통신이 가능해야함
- 즉, 멀티 플랫폼에서 하나의 서버로 데이터를 제공하기 위하여 등장  

SQL 인젝션 
클라이언트의 입력값을 조작하여 서버의 데이터베이스를 공격할 수 있는 공격방식을 의미함 
주로 사용자가 입력한 데이터를 제대로 필터링, 이스케이핑하지 못했을 경우 발생함 굉장히 간단하며 쉬운 난이도이지만 파괴력이 어마어마 하기 때문에, 필수적으로 필터링을 해주어야함 

'IT > IT 용어 스터디' 카테고리의 다른 글

[2020/6/12] IT 용어 스터디  (0) 2020.06.13
[2020/6/11] IT 용어 스터디  (0) 2020.06.13
[2020/6/10] IT 용어 스터디  (0) 2020.06.13
[2020/6/8] IT 용어 스터디  (0) 2020.06.13
[2020/6/7] IT 용어 스터디 참여시작  (0) 2020.06.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
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
글 보관함