🟩 개발환경이란 

프로그램 개발에 필요한 컴파일러, 통합개발도구(IDE), 서버 런타임, 편집기 및 유틸리티 등을 개발 컴퓨터에 세팅해 놓은 것.

 

🟩 Eclipse 

자바 기반의 오픈소스 통합 개발 환경(IDE)입니다. 이클립스는 프로그래밍 언어로 자바뿐만 아니라 다양한 다른 프로그래밍 언어와 프레임워크를 지원하며, 코드 편집, 디버깅, 빌드, 테스트 및 프로젝트 관리를 위한 다양한 기능을 제공합니다.


🟩 Web  

  • 정의 : 웹은 인터넷 브라우저를 통해 접근되는 웹사이트나 웹 애플리케이션을 의미합니다.
  • 접근 방식 : URL을 통해 접근하며, 다운로드나 설치 과정 없이 사용 가능합니다.
  • 호환성 : 다양한 브라우저와 기기에서 사용할 수 있어 호환성이 높습니다.
  • 개발 언어 : HTML, CSS, JavaScript 등 웹 표준 기술을 사용합니다.

🟩 Front-end 개발 

 

프론트엔드는 단어에서 예측할 수 있듯이 사용자의 앞에 보이는 화면, 즉 인터페이스를 만드는 작업이라고 볼 수 있다.

프론트에서 사용자가 선택한 요청사항에 따라 데이터나 서비스를 서버에 요청하거나 또는 요청해서 얻은 데이터를 사용자에게 보여주는 것. 보이는 인터페이스에 대한 개발인 만큼 사용자 인터페이스(UI)와 사용자 경험(UX)과 밀접한 관련이 있다.

 

🟩 HTML(HyperText Markup Language)

기능 : HTML 웹페이지의 구조를 정의하는 마크업 언어입니다. 웹페이지의 틀을 만들고, 텍스트, 이미지, 링크 등의 콘텐츠를 웹페이지에 배치합니다.
역할/필요성 : HTML은 웹의 기본 구조를 만드는 데 필수적입니다. 웹페이지의 모든 요소들이 HTML을 통해 정의되며, 이를 통해 사용자에게 정보를 제공하고 상호작용을 가능하게 합니다.

 

🟩 CSS(Cascading Style Sheets)

CSS 적용 전 - 후

기능 : CSS HTML로 만든 웹페이지의 디자인과 레이아웃을 꾸며주는 스타일 시트 언어입니다. 폰트 스타일, 색상, 간격, 레이아웃 및 다양한 시각적 효과를 정의합니다.
역할/필요성 : CSS는 웹페이지의 시각적 매력을 높이는 데 중요합니다. 사용자 경험(UX)을 향상시키고, 웹페이지를 더 읽기 쉽고 접근하기 쉬운 형태로 만듭니다. 반응형 디자인을 통해 다양한 기기에서도 웹페이지가 잘 보이게 할 수 있습니다.

 

🟩 JavaScript

기능 : JavaScript는 웹페이지에 Interactive한 요소를 추가하는 프로그래밍 언어입니다. 사용자와의 상호작용을 가능하게 하고, 데이터를 처리하며, 동적인 콘텐츠를 생성합니다.

 

역할/필요성 : JavaScript는 웹페이지를 동적이고 생동감 있게 만듭니다. 사용자의 입력에 반응하여 웹페이지의 내용을 실시간으로 변경할 수 있으며, 복잡한 사용자 인터페이스와 애니메이션, 게임, 양방향 어플리케이션 등을 구현할 수 있습니다.

 

🟩 AJAX (Asynchronous JavaScript and XML)

 비동기 통신: 서버와의 통신을 위해 XMLHttpRequest 객체를 사용하여, 사용자의 활동에 따라 필요한 데이터만 서버로부터 비동기적으로 요청하고 받아옵니다.

동기 통신(좌), 비동기 통신(우)

 페이지 일부분만 갱신: 서버로부터 받은 데이터를 이용해 웹 페이지의 특정 부분만을 업데이트합니다. 이는 페이지 전체를 새로 고치는 것보다 빠르고 효율적입니다.
 JSON, XML, HTML, 텍스트 데이터 처리: AJAX JSON, XML, HTML, 텍스트 등 다양한 형식의 데이터를 처리하고, 이를 페이지에 동적으로 표시할 수 있습니다.

🟩 Back-end 개발 

 

백엔드 개발(Backend Development)은 웹사이트나 애플리케이션의 서버, 데이터베이스, 그리고 애플리케이션의 핵심 기능적 부분을 구축하는 과정을 말합니다. 사용자가 직접 보거나 상호작용하는 프론트엔드(웹 페이지의 시각적 요소 등)와 달리, 백엔드는 주로 데이터 처리, 보안, 서버 관리 등 사용자에게 직접 보이지 않는 부분을 담당합니다.

백엔드 개발의 주요 구성 요소는 다음과 같습니다:

  1. 서버: 클라이언트(예: 웹 브라우저)의 요청을 받아 처리하고, 필요한 데이터를 응답으로 보내는 시스템입니다.
  2. 데이터베이스: 정보를 저장, 검색, 업데이트, 삭제할 수 있는 구조화된 데이터의 집합체입니다. 백엔드 개발자는 데이터베이스와의 상호작용을 통해 데이터를 관리합니다.
  3. 애플리케이션 로직: 사용자의 요청에 따라 특정 작업을 수행하고, 결과를 사용자에게 전달하는 프로그램의 일부분입니다. 이 로직은 서버에서 실행됩니다.

백엔드 개발자는 주로 서버 사이드 프로그래밍 언어(예: Java, Python, Ruby, Node.js 등)와 데이터베이스 관리 시스템(예: MySQL, PostgreSQL, MongoDB 등)을 사용하여 이러한 기능을 구현합니다. 또한, API(애플리케이션 프로그래밍 인터페이스) 개발, 서버 보안, 데이터 처리 및 저장 최적화 등의 업무도 수행합니다.


🟩 JAVA

 기능 : 자바는 강력한 객체지향 프로그래밍 언어로서, 다양한 플랫폼에서 실행될 수 있는 애플리케이션을 개발하는 데 사용됩니다.

 

 

 역할/필요성 : 자바는 ‘WORA(Write Once, Run Anywhere)'이라는 특징을 가지고 있어, 다양한 환경에서의 호환성과 이식성을 제공합니다.
 

 

 JDK (Java Development Kit) : 자바 애플리케이션 개발을 위한 핵심 도구 모음으로, 소스 코드를 컴파일하고 실행하는 데 필요한 컴파일러와 라이브러리를 포함합니다. 자바 개발자에게 필수적인 환경입니다.
 JRE (Java Runtime Environment) : 자바 애플리케이션을 실행하는 데 필요한 환경을 제공하며, JVM을 포함한 라이브러리와 기타 파일로 구성됩니다. 사용자가 개발된 자바 애플리케이션을 실행할 때 필요합니다.
 JVM (Java Virtual Machine) : 자바 바이트코드를 실행하고, 다양한 운영 체제에서 자바 애플리케이션을 구동할 수 있도록 하는 가상 실행 환경입니다. '한 번 작성하면 어디서나 실행될 수 있음'을 가능하게 만드는 핵심 요소입니다.

 


🟩 Spring

 정의  : 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는 오픈소스 경량급 애플리케이션 프레임워크

장점 : 다양한 라이브러리를 제공하며 업무 분업화 및 느슨한 결합을 통해 유지보수에 용이하게 할 수 있다.
단점 : 초기 설정 및 러닝커브가 높다.  

🟩 git

 

 기능 : 분산형 버전 관리 시스템의 한 종류이다.

 

 버전 관리란?

  • 각 파일을 이전 상태로 되돌릴 수 있다.
  • 프로젝트를 통째로 이전 상태로 되돌릴 수 있다.
  • 시간에 따라 수정 내용을 비교해 볼 수 있다.
  • 누가 문제를 일으켰는지도 추적할 수 있다.
  • 누가 언제 만들어낸 이슈인지도 알 수 있다.
  • 파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구할 수 있다.

 

 git의 장점 ?

 

  • 소스 코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬개발이 가능하다.
  • 분산 버전 관리이기 때문에 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있고, 중앙 저장소가 날라가 버려도 원상 복구할 수 있다.
  • 팀 프로젝트가 아닌, 개인 프로젝트일지라도 Git을 통해 버전 관리를 하면 체계적인 개발이 가능해지고, 프로그램이나 패치를 배포하는 과정도 간단해진다.

 

👇 git 공식사이트

https://git-scm.com/
 

Git

 

git-scm.com

 

👇 pro-git E-book 다운로드

https://github.com/progit/progit2-ko/releases/download/2.1.80/progit.pdf

 


🟩 웹 서버 (Web Server)


클라이언트가 GET, POST 등의 메소드를 이용해 전송한 요청을 받아 HTML이나 오브젝트를 HTTP 프로토콜을 이용해 전송하는 프로그램 입니다. 웹 서버는 웹 페이지, 이미지 등의 정적인 컨텐츠만 제공할 수 있습니다.

 


 Apache 란?

Apache란 아파치 소프트웨어 재단에서 관리하는 HTTP 웹 서버입니다. Apache는 오픈 소스이기 때문에 누구든지 수정, 재배포가 가능합니다. 게다가 Apache는 다양한 기능을 제공하고 다른 웹 서버들에 구축이 쉽다는 이유로 많이 사용되고 있습니다.

 

 Tomcat 란?


Tomcat이란 아파치 재단에서 만든 오픈 소스 WAS(Web Application Server)입니다. Tomcat은 Java Servlet과 JSP가 실행할 수 있는 환경을 제공하여 동적인 페이지를 생성합니다. 그리고 DB 연결 및 데이터 조작, 다른 응용프로그램들과 상호 작용이 가능합니다.


🟩 App ?

 정의 : 앱은 모바일 기기(스마트폰, 태블릿) 또는 데스크탑에 설치되어 사용되는 소프트웨어 응용 프로그램입니다.
 접근 방식 : 앱 스토어(Apple App Store, Google Play Store )를 통해 다운로드하여 설치한 후 사용합니다.
 호환성 : 특정 운영 체제(iOS, Android)에 최적화되어 있어, 기기 간 호환성이 웹에 비해 제한적일 수 있습니다.
 개발 언어 : Swift, Kotlin, Java 등 특정 플랫폼에 특화된 언어를 사용합니다.

 

🟩 모바일 App 개발 방식 ?

 

 Native App

 정의 : 특정 운영 체제에 최적화되어 개발된 앱입니다.

 개발 언어 : iOS의 경우 Swift Objective-C, Android의 경우 Java Kotlin을 사용합니다.
 장점 : 높은 성능, 운영 체제의 기능을 최대한 활용할 수 있습니다.
 단점 : 각 플랫폼에 대해 별도의 앱을 개발해야 하므로 시간과 비용이 더 듭니다.
 

 Hybrid App

 정의 : 웹 기술을 사용하여 개발되며, 네이티브 앱으로 패키징한 입니다.
 개발 언어 : HTML, CSS, JavaScript 등 웹 기술을 사용합니다.
 장점 : 하나의 코드베이스로 여러 플랫폼에 배포할 수 있습니다.
 단점 : 네이티브 앱에 비해 성능이 떨어질 수 있습니다.
 도구 : Apache Cordova(PhoneGap), Ionic 등이 있습니다.
 

 Cross Platform App

 정의 : 여러 운영 체제에서 실행될 수 있도록 개발된 앱입니다.
 개발 언어 : React Native(JavaScript), Flutter(Dart) 등 특정 프레임워크와 언어를 사용합니다.
 장점 : 하나의 코드베이스에서 여러 플랫폼을 지원하며, 네이티브에 가까운 성능을 제공합니다.
 단점 : 복잡한 기능이나 최신 API 지원에 제한이 있을 수 있습니다.

 

 

 

+ Recent posts