Dev (26) 썸네일형 리스트형 DevOps? DevOps 애플리케이션 개발의 품질과 속도를 개선하고 신규 또는 수정된 소프트웨어 기능이나 제품의 릴리즈 주기 단축을 장려하는 새로운 철학이자 프레임워크. DevOps 사례는 애플리케이션 개발 팀(Dev)과 해당 IT 운영 팀(Ops) 팀 간의 원활하고 지속적인 커뮤니케이션, 협업, 통합, 가시성 및 투명성을 장려함. "Dev"와 "Ops" 간의 이러한 긴밀한 관계는 초기 소프트웨어 계획부터 코딩, 구축, 테스트 및 릴리즈 단계와 구축, 운영 및 지속적인 모니터링에 이르는 DevOps 라이프사이클의 모든 단계에 걸쳐 계속됨. 이러한 관계는 추가 개선, 개발, 테스트 및 구축에 대한 지속적인 고객 피드백 루프를 추진하는 원동력이 됨. 이러한 노력이 제공하는 결과 중 하나는 필요한 기능 변경 또는 추가 기.. Marshal & Unmarshal unmarshal : XML -> 자바 객체 marshal : 자바 객체 -> XML 이것을 하는것이 JAXBf라는 JAVA API ❗️주의할 점❗️ thread-safe JAXBContext의 경우는 1회 생성 후 재사용을 권자. 생성 비용이 적지 않기 떄문에 마샬/언마샬을 수행될 때마다 매번 생성하는 것보다 한 번 생성하고 재사용하는 편이 좋음 다만, marshaller & unmarshaller의 경우 스레드 안전하지 않기 때문에 마샬/언마샬이 수행될 때마다 다시 생성하는 것을 권장. 다행히 비용은 크지않음 Marshaller public interface Marshaller { public void marshal( Object jaxbElement, javax.xml.transform.Result.. Gradle Gradle Groovy를 기반으로 한 빌드 도구. Ant 와 Maven 과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점만 가져와서 만들어진 오픈소스로 공개된 빌드 도구 Ant - xml 기반으로 빌드 스크립트를 작성한다. - 자유롭게 빌드 단위를 지정할 수 있다. - 간단하고 사용하기 쉽다. - 유연하지만 프로젝트가 방대해지는 경우 스크립트 관리나 빌드 과정이 복잡해진다. - 생명주기(Lifecycle)을 갖지 않아 각각의 결과물에 대한 의존관계 등을 정의해야 한다. Maven - XML 기반으로 작성한다. - 생명주기(Lifecycle)와 프로젝트 객체 모델 (POM, Project Object Model)이란 개념이 도입되었다. - Ant의 장황한 빌드 스크립트를 개선했다. - pom.xml에.. OOP OOP Object-Oriented Programming 객체 지향적인 프로그래밍. 즉, C언어같은 절차 지향적인 프로그래밍이 아닌 객체의 관점에서 프로그래밍을 하는 것 OOP 특징 1. 캡슐화 (encapsulation) 하나의 객체에 대해 그 객체가 특정한 목적을 위한 필요한 변수나 메소드를 하나로 묶는 것 정보 은닉 객체에서의 정보를 private로해서 데이터를 보호해서 접근을 제한 하고, getter / setter 등의 메서드를 통해서만 간접적으로 접근 허용 2. 추상화 (abstraction) 목적과 관련이 없는 부분을 제거하여 필요한 부분만을 표현하기 위한 개념. 객체들은 실제 그 모습이지만, 클래스는 객체들이 어떤 특징들이 있어야 한다고 정의하는 추상화된 개념. 추상화는 객체들의 공통된 특.. Fetch Type JPA에서 테이블 간 연관 관계는 참조를 통해 이뤄짐. 서비스가 커질수록, 참조하는 객체가 많아지고, 객체가 가지는 데이터의 양이 많아짐. 이렇게 객체가 커질수록, DB로부터 참조하는 객체들의 데이터까지 한꺼번에 가져오는 행동은 부담이 커짐. 따라서 JPA는 참조하는 객체들의 데이터를 가져오는 시점을 정할 수 있음. ➡️ Fetch Type EAGER 성실한, 열심인 뜻을 가짐. 말 그대로 데이터를 가져오는데 성실함. 하나의 객체를 DB로부터 읽어올 때 참조 객체들의 데이터까지 전부 읽어오는 방식을 뜻함. 언제나 한번의 쿼리로 모든 정보를 가져옴. 참조 객체와 항상 함께 로드되어야 하는 조건을 가진 entity에 적합함 연곤된 entitiy를 따로따로 조회하는 것이 아니라, 조인을 이용해 하나의 쿼리로 .. JAVA 8, 9, 10 java 8 JDK 2개 버전 1. 폐쇄적인 상업 코드 기반의 Oracle JDK 2. 오픈 소스 기반의 OpenJDK Lambda 및 함수형 프로그래밍, Default Method Interface, 메소드 참조 Lambda 함수형 프로그래밍 널리 쓰이는 언어 중 함수형으로 분류되는 언어 - JavaScript 함수 = ‘1급 시민’ - 변수에 저장할 수 있으며 - 함수의 리턴값일 수 있고 - 다른 함수에 파라미터로 전달할 수 있다. 함수형 인터페이스를 이용하면 메서드, 즉 함수를 객체로서 다룰 수 있다. 클로저 자바스크립트에서는 외부 함수와 내부 함수가 있을 때, 내부 함수가 더 오래 유지되는 경우 내부 함수가 외부 함수의 지역변수에 접근할 수 있다. 그 이유는 함수가 접근 가능한 변수의 scope가.. Bean & Component @Component 싱글톤 클래스 빈을 생성하는 어노테이션 물론 @Scope(“Prototype”) 통해 싱글톤이 아닌 빈을 생성 가능 @Service, @Repository 도 이에 해당됨 이 어노테이션은 선언적(Declarative)인 어노테이션. 즉, 패키지 스캔 안에 이 어노테이션은 “이 클래스를 정의했으니 빈으로 등록해줘” 라는 의미 @Bean @Configuration 어노테이션이 들어간 Spring을 설정하는 클래스 내에 들어가는 메소드에서 선언. 만약 이를 @Component로 따지면, 스프링은 스캔할 패키지를 검색해서 @Component 어노테이션을 발견하면 아래와 같이 등록하는 것처럼 됨. @Component public class MyBean { // ... } // 스프링 내부 처리.. Swagger 처음 개발하거나 혹은 유지보수를 진행할 때, API 서버가 어떤 스펙을 가진 데이터를 주고받는지에 대한 문서작업이 꼭 필요함. 뭇너작업은 굉장히 시간이 많이들고, API가 수정될 때마다 문서도 같이 수정해줘야 하는 번거로움을 동반함. Swagger 는 Open API Specification(OAS)를 위한 프레임워크 API 들이 가지고 있는 스펙을 명세, 관리할 수 있는 프로젝트 Swagger Annotation으로 swagger-ui 보강 @ApiOperation Annotation -API 메소드에 대한 설명을 추가 할 수 있음. @ApiImplicitParams Annotation DTO 상세 파라미터의 설명을 추가하거나 필수 파라미터, Data Type, 파라미터 Type을 설정. @ApiMod.. 이전 1 2 3 4 다음 목록 더보기