본문 바로가기
Back-End/Spring Framework

[IT교육] IT Software 두 축과 MVC

by 언니팬더 2016. 4. 18.



[ IT 정보 기술 Information Technolgy ]

IT Software 의 두개의 축

근본원리는 다 같아 웹이던 앱이던 데이터를 어디 저장해둬 처리하겠다.

     cf) ICT : IT에 커뮤니케이션, 통신의 개념을 덧붙인 것

1. 데이터 저장소 


프로그램은 메모리에만 있어서 컴퓨터를 끄면 날라간다. 

   데이터는 저장 되어야 한다.

DB라고만 부르다가 DB로 안되는게 있더라 : 데이터 저장소라고 부름


1-1) 관계형 데이터 베이스 RDB : Sql 명령어 

1-2) ~.file ~.doc ~.pdf 파일 저장 가능

    - 단일 서버에 저장 가능

2) Not Only Sql = Nosql 

    - 빅데이터의 개념이 나오면서 등장

     - 웹서버의 로그파일이 10GB , 20GB 점점 늘어나면서 서버가 늘어짐 

( 로그에는 불법침입 내역 등 캘 정보가 있는데 다 버릴 순 없어 그러니 파일 기반으로 저장하자 : 비 정형 데이터)

     - 빅데이터를 단일 서버에 저장 할 수없음으로 분산 저장한다 (하둡)

cf) 정형 데이터 : 2차원으로 표현 가능(엑셀처럼)

2. 프로그램 ( 처리하기 )

 


MVC 개념


>> MVC 패턴, 개념, 방식( 모든 프로그램 언어에 들어가는 개념 )

Moble(데이터) View(화면) Control(처리)


- 데이터가 있는데 변하지 않으면 의미가 없고, 데이터가 날라가도 의미가 없으니, 이 모든것을 의미있게 관리 하는 것이 MVC


- Spring에서 근본이 되는 개념 


ex) 1. 아이폰 

M 데이터 : SQLite

V 화면 : 내부적인 XML 

C 처리 : Object-C, Swift 


     2. 안드로이드 

M 데이터 : SQLite

V 화면 : XML 

C 처리 : JAVA 


  3. 모바일 웹앱

M : HTML (

HTML이 Modle이 될 수 있을 까? 자체적으로 데이터를 처리할 수 없는데?

    HTML은 테그로 이루어진 View이지만 HTML tag자체는 데이터 

ex) <b></b>는 굵게가 아니라 "강조"라는 데이터임 javascript가 처리해서 css으로 굵게 해주는 것 

* HTML은 데이터다 *

)

   V : CSS

   C : Javascript



OOP + 순수 함수형

- 객체 지향 언어의 한계가 점점 들어 나고 있는 현재

 : 멀티 쓰레드 환경에 적합하지 않음, 단일 컴퓨터에서 단일 작업만 수행해서 한계를 느낄 수 없었음


- 하지만  무어의 법칙이 끝이 남 더이상 CPU를 집합할 수 없는 시대가 옴

 : 듀얼 코어, 퀴드코어 한 칩에 여러 코어를 넣어 성능 향상

멀티 쓰레드 제대로 짜기 어렵다

ex ) 재원에 ABC가 접근 가정 , 멀티 쓰레드라 어느게 먼저 갈지 모름, 이벤트 간혈적으로 발생


A(변경전 데이터 필요)

B(번경후 데이터 필요)

C(A,B후에 디이터 필요)


어떻게 짤래? 어려움 에러가 나면 제어를 할 수 없음, 멀티쓰레드는 언제 에러가 날지 알 수가 없음

- 이런 결정적인 한계를 극복하기 위해 "순수 함수형 언어"의 개념을 접합

: OOP + 순수 함수형


ex) 

java

int a = 10;

.

.

print(a); >> 10??이라 자신 할 수 없다. 가운데 어떤 변경이 있을지 모름으로 


함수형 언어

a=10

.

.

print(a)>>10 중간에 어떤일이 있어도 불변 특성 보장 

final기본 값 

: 중간 코드를 살펴볼 필요 없이 그냥 a=10


- Js에도 적용된 함수형 : 이런 개념을 도입해 변수 뿐만 아니라함수도 불변하게 만듬


- 시대가 OOP + 순수 함수형을 섞어 쓰는 시대가 옴

      멀리 보면 준비 해야 함 이런 이슈들이 말이 안나와서 그렇지 

      미국 스타트업과 금융들이 이런 흐름으로 가고 있음


- Swift, 스칼라는 메이저로 갈 전망이 있고

  파이선의 경우 중소 기업쪽으로 갈 전망이 있다. 



'Back-End > Spring Framework' 카테고리의 다른 글

[IT교육] Spring Framwork  (0) 2016.04.19
[IT교육] Spring의 특징  (0) 2016.04.18
[IT교육] Web Application  (0) 2016.04.18
[IT교육] "현재"에는 배워야할 Spring  (0) 2016.04.18
[IT교육] Spring을 배워야 하는 이유  (0) 2016.04.18