본문 바로가기

수업/수업정리

2024-02-19-오후:SW개발환경의 이해

SW개발환경의 이해


1. 웹(Web)과 어플리케이션(Application)

1) PC환경 웹(Web)

정의 : PC를 통해서 텍스트 뉴스나 동영상 등 콘텐츠를 접하게 되는 통로.
예시 : naver.com

 

2) 모바일 웹(Web)

- 정의 : PC용 웹사이트를 모바일 스크린 크기에 맞춰 줄여 놓은 것.
- 예시 : m.naver.com

 

3) 반응형 웹(Web) = pc환경+모바일 웹

- 정의 : 동작하는 기기의 화면과 해상도에 맞춰 최적화된 화면을 변화.
- 단점 : 하나의 화면에 많은 컨텐츠를 표현해야 할 떄 적합하지 않음. 작은 규모의 사이트를 만들때 효율적.
예시 : 네이버 같은 대형 사이트는 개발이 복잡하고 한번에 읽어야 하는 컨텐츠의 양이 많아 로딩 속도가 느려진다.

4) native어플(앱)
- 정의 : Android 또는 iOS같은 어떤 구체적인 플랫폼을 위해 만들어진 응용 프로그램.
- Android 앱 개발 : Kotlin 또는 Java로 개발 가능.
- IOS앱 개발 : Swift 또는 Objective C로 개발 가능.
- 예시 : 계산기, 노트 등 폰에 기본적으로 내장되어있는 앱들, 대부분의 게임
- 장점 : 사용자에게 가장 빠르고 안정적이며 반응이 빠른 환경을 제공. 다양한 네이티브 기능을 쉽게 활용(ex:마이크,GPS)
단점 : 네이티브앱은 Android와 iOS의 호환이 되지 않기 때문에 별도로 제작.(더 많은 비용과 빌드 시간)

5) Hybrid웹앱=모바일웹+naive어플
- 정의 : 네이티브 앱과 웹 앱의 기능이 결합된 형태.
- 주요 사용되는 개발 언어 : JavaScript, HTML, CSS
- 예시 : 인스타그램, Gmail, 금융기관 앱 등
- 장점 : 하나의 앱을 빌드하고 약간 조정하여 두 플랫폼에서 모두 작동(시간과 돈 절약), 손쉬운 확장(네이티브 기능 엑세스 가능)
단점 : 네이티브 앱에 비하여 떨어지는 성능의 문제. 각 플랫폼에서 적절하게 실행되도록 하려면 상당한 노력이 필요(총비용이 많이 들 수 있음)

 

7) Web서버

- 정의 : HTTP 또는 HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램.

- 종류 : Apache WEB Server, Nginx WEB Server, IIS WEB Server 등

 

8) Web 어플리케이션

- 정의 : 사용자의 웹 브라우저에서 실행되는 소프트웨어. 비즈니스는 원격으로 정보를 교환하고 서비스를 제공. 웹 애플리케이션을 사용해 편리하고 안전하게 고객과 연결.

- 종류 : apache tomcat, JEUS, WebLogic, IIS, JBOSS 등

 


2. 개발환경 구성

NO OS DBMS WAS S.L(back End) C.L(front End)
1 Windows Oracle apache-tomcat Java 공통
2 Windows My-sql apache-tomcat Java 공통

 

 OS(운영체제)는 Windows, DBMS(데이터베이스)는 Oracle, WAS(웹 애플리케이션 서버)는 apache-tomcat,

Server 측 언어(back End:화면구성)는 java, Client 측 언어(front End:화면)는 html, css, javascript, jquery 등으로 웹 응용 프로그램 개발환경이 구성되어 있다. 


3. 웹 동작 원리

 

1) 프론트엔드(Front-End)

- 정의 : 사용자가 볼 수 있는 화면. 사용자 인터페이스(User Interface:UI).

- 사용하는 언어 : HTML(뼈대), CSS(장식), JavaScript(동작구현가능) 등

 

2) 백엔드(Back-End)

- 정의 : 사용자가 보지 못하는 영역인 서버나 데이터베이스를 관리하는 기술.

- 사용하는 언어 : Java(유지보수용이), PHP(쉬운접근성), Ruby(인간중심적언어) 등


4. DBMS(Database Management System)

1) DBMS 정의

-  데이터베이스에 적재된 데이터 작업을 수행할 뿐만 아니라 데이터베이스를 보호하고 보안을 제공한다. 데이터베이스 관리 시스템의 기능은 크게 구성(정의), 조작, 제어 기능으로 나눌 수 있다.

 

2) DBMS 순위

- https://db-engines.com/en/ranking/relational+dbms


※참고링크
1. pc웹과 모바일웹:
https://brunch.co.kr/@storypop/134
2. 네이티브앱과 하이브리드앱:
https://velog.io/@openhub/%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C-%EC%95%B1Native-App-vs-%ED%95%98%EC%9D%B4%EB%B8%8C%EB%A6%AC%EB%93%9C-%EC%95%B1Hybrid-App-vs-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%A0%88%EC%8B%9C%EB%B8%8C-%EC%9B%B9-%EC%95%B1PWA-%EC%A0%95%EC%9D%98%EC%99%80-%EC%9E%A5%EB%8B%A8%EC%A0%90
3. 웹서버:

https://server-talk.tistory.com/296

4. 웹 애플리케이션:

https://studium-anywhere.tistory.com/19

5. 웹 동작의 원리:

https://velog.io/@yoon_han0/%EC%9B%B9-%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EA%B3%B5%EB%B6%80-5%EC%A3%BC%EC%B0%A8

'수업 > 수업정리' 카테고리의 다른 글

2024-02-21-오후:UI의 특징  (0) 2024.02.21
2024-02-21-오전:Eclipse첫실습  (0) 2024.02.21
2024-02-20-오후:절대경로 지정하기  (0) 2024.02.20
2024-02-20-오전:Eclipse시작하기  (0) 2024.02.20
2024-02-19-오전:기본설정  (0) 2024.02.19