공부/Java 3

빌드

서버에 기능을 추가 하려면 개발자가 로컬 pc에서 개발하고 테스트까지 진행한 뒤에 문제가 없을 경우 사용자가 사용할 수 있도록 수정된 코드를 실서버에 반영해야함 서버에 반영하는 것을 배포라하고 배포(Deploy)하기 위한 과정을 빌드라 함 빌드 (Build) 소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정과 그 결과 ex) java프로젝트를 진행시 개발자가 작성한 A.java와 여러 정적파일등에 해당하는 resource가 존재함, 빌드를 한다면 소스코드를 컴파일해서 .class로 변환하고 resource를 .class에서 참조할 수 있는 적절한 위치로 옮기고 META-INF와 MANIFEST.MF들을 하나로 압축하는 과정을 의미, 컴파일은 빌드의 부분 집합이라고 생각하면 됨. ..

공부/Java 2022.12.20

Dependency

Dependency 의존 -어떤 클래스 A가 다른 클래스(또는 인터페이스) B를 이용할 때 A가 B에 의존한다고 함 - A는 B없이 작동할 수 없고 B를 재사용하지 않으면 A또한 재사용 할 수 없음 - 여기에서 클래스 A는 Dependant라고 하고 클래스 B는 Dependency라고 함 - Dependant는 자신의 Dependency들에게 의존한다. 서로를 이용하는 두 클래스는 각각 coupled라 함 - 클래스 사이의 coupling은 느슨 할 수도 타이트할 수도 있음, tightness의 정도는 연속적임, 의존선 또한 강/약함으로 나타낼수 있음, 타이트한 커플링은 강한 의존성을 만들고, 느슨한 커플링은 약한 의존성을 만들거나 만들지 않을 수 있음 - 의존성, 커플링은 방향이 존재함 (A가 B에 의..

공부/Java 2022.12.20

Gradle란?

Gradle(그래들, 그래이들) Build Tool Gradle는 일종의 Build Tool(빌드 도구)임, Groovy(그루비)를 이용한 빌드 자동화 시스템임 Ant, Maven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합하여 만든 오픈소스로 공개된 빌드 자동화 도구 라이브러리를 간편하게 추가, 관리 가능 버전도 효율적으로 동기화해서 개발자가 비즈니스 로직에 집중할 수 있도록 도와줌 빌드 도구 발전 순서 Ant > Maven > Gradle Gradle Ant와 Maven이 가진 장점을 함께 가지고 있고, 의존성 관리를 위한 다양한 기능을 제공, 빌드 스크립트를 xml언어가 아닌 JVM에서 동작하는 스크립트 언어 그루비 기반의 DSL(Domain Specific Language)를 사용 ..

공부/Java 2022.12.20