Back-end/ETC 6

API vs LIbrary vs Framework

API(Application programming interface) 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 특징 구현과 독립적으로 사양만 정의되어있다 API에 따라 접근 권한이 필요할 수 있다 Java API, 여러 기업들의 오픈 API Library 응용 프로그램 개발을 위해 필요한 기능(함수)을 모아 놓은 소프트웨어 특징 독립성을 가진다 응용 프로그램이 능동적으로 라이브러리를 사용한다. Apache Commons, Guava, Lombok, jQuery Framework 응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기위해 제공된 소프트웨어 환경 특징 상호협력하는 클래스와 인터페이스의 집합 응용 프로그램이 수동적으로 프레임워크에 의해..

Back-end/ETC 2021.05.07

빌드 용어

빌드 빌드 컴파일 + 링크 빌드 과정 원시파일(.java) -> 컴파일러 : 오브젝트파일(.class) -> 링커 : 실행파일(.jar) 빌드 도구 소스 코드로부터 실행 가능한 어플리케이션을 생성하는 것을 자동화하는 프로그램 java : ant -> maven -> gradle Ant Maven Gradle xml pom.xml 절차적 의존성 다운로드 가능 Groovy/ Kotlin 유연성(하나 하나 명시) 컨벤션(간편 해졌다.) 유연성 스크립트를 직접 명시 사용자 의도에 맞는 로직 개발이 어려움 스크립트의 규모가 작음 현대적인 빌드 도구 c# : MSBulid 닷넷 : .NetFrameWork, Nant *자동화(서비스 중 프로그램 코드 수정) 1. 코드수정 2. Git 3. 컴파일 4. 빌드 -> 빌..

Back-end/ETC 2021.05.04

Web Server VS WAS

Web 인터넷을 기반으로 한, 정보를 공유, 검색할 수 있게 하는 서비스 URL(주소), HTTP(통신 규칙), HTML(내용) Server 클라이언트에게 네트워크 통해 정보나 서비스를 제공하는 컴퓨터 시스템 Web Server 인테넛을 기반으로 클라이언트에게 웹 서비스를 제공하는 컴퓨터 APACHE MICROSOFT LLS Web Application Server Web Application 웹에서 실행되는 응용프로그램 Web Application Server 웹 애플리케이션과 서버 환경을 만들어 동작 시키는 기능을 제공하는 소프트웨어 프레임워크 웹 애플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에게 전달 1. php, jsp, asp 를 사용해 동적인 페이지를 생성할수 있는 서버 2..

Back-end/ETC 2021.05.03

함수형 프로그래밍

고계함수 일급함수 커링과부분적용 재귀와 꼬리 재귀 최적화 멱등성 순수함수와 참조 투명서 불변성과 영속적 자료구조, 메모제이션 1. 높은 표현력을 통해 불필요한 코드를 줄일수 있다. 2. 함수형 프로그래밍 언어군은 프로그래밍 언어론의 최신 연구 결과를 반영하고 있다. 1. Lambda 익명 함수 내부의 변수는 불변하거나 실직적으로 불변해야하는 제약이 있다 -> 배열을 쓰면 회피 가능 익명 함수는 Checked Exception을 던질 수 없어서 반드시 내부에 Try - Catch 문을 써줄 수밖에 없다 Exception을 던지는 FunctionallInterface를 직접 정의하여 회피 가능 2. Currying 커리 함수 만들면 어느 함수나 커링 가능 3.Stream Sream은 실질적으로 List 와 ..

Back-end/ETC 2021.04.28

Git Bracnches

Why git? 1. Version Control -> 최종분 수정 2. Co - Working Tool -> 협업에대한 전달 3. Powerful -Branchimg -> 관심사의 분리 Git Overview Commit -> 완전한 상태가 아니라, 부모 커밋이 있어야 한다 Common Parent -> Merge 를 하려면 공통부분이 있어야 한다. Merge -> 2개를 수정하지 않고 합친다. Rebase -> 하나의 흐름으로 생성되지만, 원래 있던 커밋이 뒤에가서 붙는다. Conflict -> 커밋의 중복되어 겹치는 수정 부분이 있어, 어떻게 할지 모른다. - Resovle Conflict -> 수동으로 작업한다 - Revert -> 사라지는 커밋의 자식 커밋을 붙여주고, 삭제해서, 충돌도 없어고 ..

Back-end/ETC 2021.04.26