티스토리 뷰

∘ 양자보안 or 양자기술 기반 암호 통신 
- 통신상의 보안을 자연의 기본 원리인 ‘양자역학의 법칙’에 의해서 보장받기 때문에 도청이나 감청이 절대적으로 불가능한 차세대 통신 보안 기술 
- ‘양자 복제 불가능성’과 같은 양자 물리학의 법칙에 기초해서 송신자와 수신자 사이에 암호키(일회용 난수표)를 실시간으로 안전하게 분배하는 기술로 ‘양자 키 분배 기술’로도 잘 알려져 있음 
- 간단하게 설명하면, 송신자와 수신자의 광케이블 기준으로 같은 필터를 적용한 빛을 투과시켜서 생성되는 특정 값을 송신자에게 수신자로 값을 전달하는 것, 수신자도 마찬가지로 같은 필터를 거쳐 투과된 빛을 기준으로 생선된 값을 서로 비교해서 중간에서 이에 대한 위/변조 혹은 외부 취득에 대해 확인할 수 있는 것! 
- 최근 SKT에서 QANTUM 암호 방식으로 핸드폰에 탑재됨! Hot함 

∘ 엣지 컴퓨팅
- 소비자(사용자) 디바이스 가까운 곳에 정보소스, 저장소를 배치하여 정보를 처리하고 콘테츠를 수집ㆍ전달하는 컴퓨팅 토폴로지 
- 신속한 데이터 처리와 소통이 필요한 로봇ㆍ드론
ㆍ자율주행자동차 등에서 확산되고 있으며 5G 상용화 및 디지털 트윈 구현과 맞물려 가치 배가 

∘ 버그 바운티(bug bounty) 
- 보안취약점 신고제 기업의 서비스 및 제품을 해킹해 취약점을 찾은 해커에게 포상금을 주는 제도 
- 구글, 애플, MS, 페이스북 등 글로벌 기업 대부분이 시행 중 

∘ 애자일 개발 방법론 
- 계획을 통해서 주도해 나갔던 과거의 방법론과는 다르게 앞을 예측하며 개발을 하지 않고, 일정한 주기를 가지고 끊임없이 프로토 타입을 만들어내며 그때 그때 필요한 요구를 더하고 수정하여 하나의 커다란 SW를 개발해 나가는 adaptive style

∘ 옴니페이 (Omni-Payment)
- 옴니페이는 모든이라는 뜻이 있는 단어 “Omni”
와 결제수단을 뜻하는 “Payment”의 합성어로, 다양한 간편결제방식을 하나로 수렴해 다양한 상황에서도 간편결제가 가능하도록 서비스를 제공 

 

블랙박스 테스트(Black Box Test)
 - 사용자가 소프트웨어 또는 제품에 대한 요구사항과 결과물이 일치하는 지 확인하기 위한
   테스트 기법, 명세 기반 테스트
 - 모듈사양서를 기초로 입력, 출력 조건 등 모든 기능면의 테스트 진행
 - 특징, 요구사항, 설계도 필요
 - 기법 : 동등 분할 기법, 경계값 분석 기법, 오류 예측 기법, 원인 결과 그래프 기법,
         의사결정 테이블 테스팅, 상태전이 테스팅


화이트박스 테스트(White Box Test)
 - 개발자가 소프트웨어 또는 컴포넌트 등의 로직에 대한 테스트를 수행하기 위해
   설계 단계에서 요구된 사항을 확인하는 테스트 기법, 구현 기반 테스트
 - 모듈 사양서 소스코드를 기초로 모듈의 논리 테스트 진행(응용 프로그램의 내부 구조와 동작 검사)
 - 테스트 종류 : 제어 흐름 테스트, 데이터 흐름 테스트, 분기 테스트, 경로 테스트
 - 테스팅 검증 기준 : 문장 검증, 선택 검증, 경로 검증, 조건 검증


샌드박스(Sandbox)
 - 외부로부터 들어온 프로그램이 보호된 영역에서 동작해 부정하게 조작되는 것을 막는
   보안 형태, 소프트웨어 개발을 위한 테스트 환경
 - 자바가 지원하는 기본 보안 소프트웨어로, 외부에서 받은 프로그램을 JVM 보호 영역 안에
   가둔 뒤 작동시키는 방법, 악성 바이러스의 침투 막음
 - 네트워크를 통해 전송받은 애플릿의 시스템 자원에 대한 접근 제한
 - 클래스 로더(Class loader), 바이트코드 검사기(Bytecode Verifier), 보안 관리자(Security Manager)
   의 컴포넌트로 구성됨


결합도(Coupling)
 - 모듈 간에 상호 의존하는 정도, 두 모듈 사이의 연관 관계를 의미
 - 결합도가 약할수록 품질이 높고, 강할수록 품질이 낮음(강하면 시스템 구현 및 유지보수 어려움)
   (약할수록 품질 좋음)
 * 결합도의 종류(약한 순서대로)
  1) 자료 결합도 : 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도
  2) 스탬프 결합도 : 모듈 간의 인터페이스로 배열이나 레코드 등의 자료구도가 전달될 때의 결합도
  3) 제어 결합도 : 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 
                이용하여 통신하거나 제어 요소(Switch, Tag, Flag)를 전달하는 결합도
  4) 외부 결합도 : 한 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합도
  5) 공통 결합도 : 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도
  6) 내용 결합도 : 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도



응집도(Cohesion)
 - 정보 은닉 개념을 확장한 것으로, 모듈이 독립적인 기능으로 정의되어 있는 정도를 의미
 - 응집도가 강할수록 품질이 높고, 약할수록 품질이 낮다(강할수록 품질 좋음)
 * 응집도의 종류(강한 순서대로)
  1) 기능적 응집도 : 모듈 내부의 기능 요소들이 단일 문제와 연관되어 수행될 경우 응집도
  2) 순차적 응집도 : 모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로
                  사용할 경우의 응집도
  3) 교환적 응집도 : 동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을
                  경우의 응집도
  4) 절차적 응집도 : 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을
                  순차적으로 수행할 경우의 응집도
  5) 시간적 응집도 : 특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도
  6) 논리적 응집도 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이
                  형성되는 경우의 응집도

 

-딥러닝
기존의 머신러닝 기술을 위해선 컴퓨터가 알 수 있는 데이터의 '특징'을 인간이 지정해주어야 했다. 이때, 적절하지 않은 특징을 지정하면 인공지능은 제대로 작동하지 못한다. 딥러닝은 컴퓨터 스스로 데이터의 특징을 찾아냄으로써 머신러닝의 단점을 보완한다. 이 기법을 통해 3차 인공지능 붐이 시작됐다.

-인공지능
 4차 산업혁명의 핵심 기술이자 앞으로 경제, 사회, 문화의 모든 측면에서 인류의 삶에 커다란 변화를 가져올 것으로 예상되는 기술. 검색엔진, 포털 뉴스, 인터넷 광고 등에 사용되어 우리 일상에 깊게 들어와 있다. 크게 4가지 유형으로 나눌 수 있다.
1) 일반적 소프트웨어에  불과한 인공지능
엄밀한 의미에서 인공지능이라고 하기 곤란하지만 마케팅 목적으로 인공지능이라고 주장함
2) 고전적인 인공지능
초보적인 인공지능으로서 아주 제한된 기능만 제공
3)  머신러닝 기반의 인공지능
빅데이터를 이용해  지식을 학습
4) 딥러닝 기반의 인공지능
컴퓨터 스스로 데이터를 바탕으로 특징을 추출하고 이를 기반으로 학습 강화

-사물인터넷 
사람과 사물을 연결하고 사물과 다른 사물을 연결한다. 사물 인터넷의 기본 철학은 모든 사물이 언제든지 어디서든 누구에게나 연결되는 것이지만 시스템의 목적 및 보안 요구사항 등에 따라 달라질 수 있다. 세상의 수많은 사물들이 연결되고 상호작용을 하기 위해서는 고도의 기술요소들이 복합적으로 필요하다. 크게 하드웨어 기술, 네트워크 기술, 소프트웨어 기술, 데이터 기술 등에서 복합적으로 활용된다.
앞으로 사물인터넷은 인공지능에게 데이터를 제공해 인공지능을 향상시키게 되고, 그렇게 향상된 인공지능의 지원을 받아 사물인터넷이 다시금 향상되는 선순환을 구축하는 방향으로 진화할 것이다.

-스마트팩토리
사물인터넷은 스마트팩토리를 구현하는데 이용되는  주요 기술요소 중 하나이다. 스마트팩토리는 생산 설비가 인간의 개입 없이 자동으로 가동되고 시장 트렌드와 고객 요구사항을 파악해 생산 방식을 스스로 재구성할 수 있는 미래형 공장을 의미한다.
단순히 생산의 자동화가 아니라 "제품의 디자인, 생산 계획, 생산, 유지보수까지 전 단계가 유기적으로 연결되고 지속적으로 최적화되는 시스템"을 의미한다.

-디지털 트윈
실제 사물이나 프로세스의 디지털 이미지를 거의 실시간에 가깝게 가상 공간에 구현하는 것. 이 기술을 통해 과거에는 불가능했던 문제의 조기발견이나 설계 방식 및 제조공정의 최적화가 가능해짐.

 

클린코드
(1) 클린코드란? 
- 코드를 작성하는 의도와 목적이 명확하며, 다른 사람이 읽기 쉬운 코드를 뜻함 

(2) 클린코드를 만들기 위한 규칙
- 변수, 클래스, 메소드에 의도가 분명한 이름을 사용한다.
- 범용적으로 사용되는 단어를 이름으로 사용하지 않는다.
- 반드시 달아야 하는 경우에 주석을 작성한다. (설명을 위한 설명은 달지 않는다)
- 규칙적인 들여쓰기와 줄바꿈
- 메서드를 이용하여 중복 코드를 제거한다.
- 비교문의 경우 왼쪽에는 변수, 오른쪽에는 상수를 둔다.
- 부정이 아닌 긍정을 다뤄야 한다.
- if/else를 사용하며, 삼항 연산자는 매우 간단한 경우만 사용한다.
- do/while 루프는 최대한 쓰지 않는다. 
- 함수는 가급적 하나의 기능만 수행한다.


리팩토링
(1) 리팩토링이란?
- 코드리뷰를 통해 스파게티 코드를 발견하면, 점진적으로 개선해나가는 것

(2) 리팩로링 대상 
- 메소드 정리 : 그룹으로 묶을 수 있는 코드, 수식을 메소드로 변경한다.
- 객체 간의 기능 이동 : 메소드 기능에 따른 위치 변경, 클래스 기능을 명확히 구분한다.
- 데이터 구성 : 캡슐화 기법을 적용해 데이터 접근 관리
- 조건문 단순화 : 조건 논리를 단순하고 명확하게 작성한다.
- 메소드 호출 단순화 : 메소드 이름이나 목적이 맞지 않을 때 변경한다.
- 클래스 및 메소드 일반화 : 동일 기능 메소드가 여러개 있으면 수퍼클래스로 이동시킨다.  


WAS(Web Application Server) 
(1) WAS란? 
- DB 조회 및 다양한 로직 처리 요구시 동적인 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버
- HTP를 통해 애플리케이션을 수행해주는 미들웨어
- 웹 컨테이너 혹은 서블릿 컨테이나로고도 불림 
- 웹 서버 + 웹 컨테이너 

(2) WAS 주요 기능
- 프로그램 실행 환경 및 DB 접속 기능 제공 
- 여러 트랜잭션 관리 기능
- 업무 처리하는 비즈니스 로직 수행 

스마트 시티 
- 첨단 정보통신기술을 이용해 도시 생활 속에서 유발되는 교통 문제, 환경 문제, 주거 문제, 시설 비효율 등을 해결하여 시민들이 편리하고 쾌적한 삶을 누릴 수 있도록한 똑똑한 도시를 의미함

클라우드 네이티브 
- 클라우드 컴퓨팅 모델의 장점을 모두 활용하는 애플리케이션을 개발하고 실행하기 위한 접근 방식을 의미함
- 작은 단위의 서비스를 지속적으로 추가하고 변경할 수 있는 구조를 갖고 있음 
- 서비스를 늘 최신으로 유지할 수 있으며, 비즈니스 변화에도 빠른 대응이 가능함 

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

[2020/6/16] IT 용어 스터디  (0) 2020.06.17
[2020/6/15] IT 용어 스터디  (0) 2020.06.15
[2020/6/11] IT 용어 스터디  (0) 2020.06.13
[2020/6/10] IT 용어 스터디  (0) 2020.06.13
[2020/6/9] IT 용어 스터디  (0) 2020.06.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/03   »
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
글 보관함