개발
개발자의 관점에서 개발이란
엔진, 프레임워크 등의 특정한 개발 환경에서 함수, 라이브러리 등의 개발킷, 개발 도구를 불러와 사용 가능한 개발 언어로 인터페이스에 맞게 특정 플랫폼, 운영체제 등의 시스템에서 동작할 수 있는 프로그램, 소프트웨어를 만드는 것
이라 볼 수 있습니다. 먼저 개발환경과 개발툴 대하여 어떠한 것들이 있는지 알아보도록 하겠습니다.
플러그인
기존 응용소프트웨어에 특정기능을 추가하기 위한 소프트웨어 요소로 특정기능이 기본적으로 포함되어 있다면 빌드시간이 늘어나고 실행파일이 무거워질 수 있습니다. 그렇기 때문에 필요할 때 꽂았다가 언제든 뺄수 있는 소프트웨어라고 생각하시면 좋을 듯 합니다.
예를 들어 유니티 ASSET 폴더 안에 Plugins 폴더 안에는 앱이나 게임 내 결제를 하려면 UnityIAP 플러그인이 필요합니다. 결제가 필요없는 앱이나 게임이라면 필요없는 폴더가 됩니다.
소프트웨어
Bootstrap : 웹 사이트나 응용 프로그램을 작성하기 위해 사용하는 무료 소프트웨어 도구 모음
MonoDevelop : 에디터
phpMyAdmin : MySQL을 월드와이드웹상에서 관리할 목적으로 PHP로 작성한 도구
Sequel Pro : DB 접속 프로그램
SourceTree : Git 소스 분산버전관리
Spine2d : 애니매이션
Sublime Text : 에디터
VSCode : 에디터
Xdebug : PHP 어플리케이션의 버그 발견. 성능 개선 소프트웨어
Xamarin Mono : 기반. 크로스 플랫폼. MS 2016년 인수
SDK
(Software Develpment Kit) 소프트웨어 개발도구
함수 : 프로그램을 구성하는 가장 작은 단위
Android SDK : 안드로이드 소프트웨어 개발 키트
iOS SDK : iOS개발을 위한 애플의 소프트웨어 개발 키트
JDK : JRE + SDK. JRE 자바 실행 환경과 SDK 프로그램 개발 키트
NDK : Native. C로 만들어진 코드를 java 로 다시 만들 필요 없음
라이브러리
함수들을 제작하여 나중에 다시 쓸 수 있게 모아둔 것
API : 운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식
- REST API : http 프로토콜의 장점을 살릴 수 있는 네트워크 기반 아키텍쳐- Web API : REST API 제약조건으로 지원이 어려울 때 외부 소스에서 데이터 등의 자원을 가져오도록 요청할 수 있는 API
ThirdParty : 개발자들에게 필요한 라이브러리를 제작해 공급하는 업체
OpenSSL : 보안 라이브러리. TLS와 SSL의 오픈 소스 구현판
OmniSharp : 다양한 에디터에서 사용할 수 있는 오픈소스 프로젝트 그룹. C#코딩을 Sublime Text, Atom, Emacs 등 여러 에디터에서 가능하게하고, 개발 시 인텔리센스 기능(자동코드완성) 제공
React : 사용자 인터페이스 빌드를 위한 자바스크립트 라이브러리
RxJava : 함수형 프로그래밍을 활용 리액티브(반응형) 자바 라이브러리
jQuery — 모든 브라우저에서 동작하는 클라이언트 자바스크립트 라이브러리.
인터페이스
CLI : 명령줄 인터페이스
JNI : C/C++ 언어로 작성된 프로그램을 java에서 사용할 수 있도록
Win32 API : MS사의 윈도 계열 운영 체제로 사용되고 있는 32비트 API
IDE : 통합개발환경
RE : 실행환경
Android Studio : V3.1 구글제공 안드로이드 통합개발환경
Eclipse : 자바 기반 통합 개발 환경
J2SE : 자바 플랫폼 스탠더드 에디션. 자바 가상 머신 규격 + API
JRE : (Java SE Runtime Environment) 자바 실행 환경. 자바 프로그램을 시스템에서 실행하기 위한 것.
NetBeans : 자바 기반 자바, 자바스크립트, PHP, C/C++ 등을 개발하기 위한 통합개발환경
PhpStorm : PHP IDE
Xcode : 애플이 개발한 OS X의 개발 툴 모음. 8.3버전 이상 : swift 3
Vagrant Ruby on Rails : 윈도우 루비 개발 환경 구축
Visual Studio : 마이크로소프트 통합 개발 환경
엔진
개발자가 필요로 하는 특정 분야의 기능을 모두 다 제공하는 라이브러리
Cocos
Mono : 다양한 OS에서 닷넷 프레임워크 기반 개발을 가능하도록 지원 크로스플랫폼 개발도구. C#과 CLI 기반이며.Net 오픈소스기반이므로 .Net의 최신기술을 이용할 수 없다.
Template_ (템플릿 언더바): MVC패턴 방식을 아주 쉽게 적용할 수 있고 편리하게 프로젝트를 진행할 수 있게 만들어 주는 템플릿엔진입니다.
Unity Mono : 엔진 기반 -> 정체된 .Net 기술
프레임워크
라이브러리처럼 단지 함수의 집합이 아닌 함수들이 서로 연결되고, 함수나 컴포넌트를 사용하는 규칙까지 정해진, 아키텍트가 포함
Backbone.js : 자바 스크립트 프레임워크
플러터 : AOS, iOS에서 네이티브 인터페이스를 구축하기 위한 크로스 플랫폼 모바일 앱개발 프레임워크Rails
Spring : 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크. 동적인 웹사이트 개발
MyBatis (마이바티스) : 객체 지향 언어의 자바의 관계형 데이터 베이스 프로그래밍을 보다 쉽게 도와주는 프레임워크. MyBatis는 JDBC를 보다 편하게 사용하기 위해 개발
JDBC : 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 API
관련포스트
플랫폼
응용 프로그램이 동작하는 환경을 제공
그 자체로서 완성된 하나의 시스템. 운영체제로 라이브러리나 엔진을 포함
쿠버네티스 (Kubernetes) : 리눅스 컨테이너 작업을 자동화하는 오픈소스 플랫폼
OS : 운영체제
플랫폼과의 차이 : 하드웨어 자원의 관리를 맡는다
.NET 확장성 생성 언어(XML)와 단순 객체 접근 프로토콜(SOAP)을 기반으로 한 통합 웹 서비스 플랫폼
.NET 툴 : ReSharper .NET 개발자를 위한 생산성 향상 툴, 코드 품질 분석, 코드 생성, 리펙토링.Visual Assist Visual Studio 용 C/C++, C#을 위한 코드 자동화
유닉스 OS 계열 : 솔라리스, 맥 OS X, 리눅스, BSD
리눅스 OS 계열 : CentOS 업스트림 소스인 레드햇 엔터프라이즈 리눅스와 완벽하게 호환되는 무료 기업용 컴퓨팅 플랫폼. 레드햇 엔터프라이즈 리눅스 레드햇이 개발하여 판매하고 있는 상용 리눅스 배포판
윈도우 OS
기타
데브옵스 (Dev-Ops) : 개발과 운영을 결합한 혼성어로 소프트웨어 개발 방법론. 개발 담당자와 운영 담당자가 연계하여 협력하는 개발 방법론
- 깃허브 : 소스 제어 관리
- 젠킨스 : 지속적 통합
- 나기오스 : 경고 관리 및 모니터링
- 도커 : 컨테이너 관리
- 엘라스틱 서치 : 로그 분석
- 아이싱어 : 분산 모니터링
- 세프 - 설정 관리
'컴퓨터공학 > 개발환경' 카테고리의 다른 글
버전관리 | SourceTree (0) | 2020.01.16 |
---|---|
에디터 | ATOM (0) | 2019.12.16 |
개발환경 | 웹프레임워크의 종류 (0) | 2019.11.21 |
개발환경 | 프로그래밍 언어의 분류 (0) | 2019.11.21 |
버전관리 | Git (0) | 2019.09.26 |
에디터 | SublimeText3 (0) | 2019.04.26 |
버전관리 | Github (깃허브) 사용법 (0) | 2019.04.26 |
개발환경 | 서버의 종류 (0) | 2018.09.19 |
댓글