Dev/etc (11) 썸네일형 리스트형 DevOps? DevOps 애플리케이션 개발의 품질과 속도를 개선하고 신규 또는 수정된 소프트웨어 기능이나 제품의 릴리즈 주기 단축을 장려하는 새로운 철학이자 프레임워크. DevOps 사례는 애플리케이션 개발 팀(Dev)과 해당 IT 운영 팀(Ops) 팀 간의 원활하고 지속적인 커뮤니케이션, 협업, 통합, 가시성 및 투명성을 장려함. "Dev"와 "Ops" 간의 이러한 긴밀한 관계는 초기 소프트웨어 계획부터 코딩, 구축, 테스트 및 릴리즈 단계와 구축, 운영 및 지속적인 모니터링에 이르는 DevOps 라이프사이클의 모든 단계에 걸쳐 계속됨. 이러한 관계는 추가 개선, 개발, 테스트 및 구축에 대한 지속적인 고객 피드백 루프를 추진하는 원동력이 됨. 이러한 노력이 제공하는 결과 중 하나는 필요한 기능 변경 또는 추가 기.. Gradle Gradle Groovy를 기반으로 한 빌드 도구. Ant 와 Maven 과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점만 가져와서 만들어진 오픈소스로 공개된 빌드 도구 Ant - xml 기반으로 빌드 스크립트를 작성한다. - 자유롭게 빌드 단위를 지정할 수 있다. - 간단하고 사용하기 쉽다. - 유연하지만 프로젝트가 방대해지는 경우 스크립트 관리나 빌드 과정이 복잡해진다. - 생명주기(Lifecycle)을 갖지 않아 각각의 결과물에 대한 의존관계 등을 정의해야 한다. Maven - XML 기반으로 작성한다. - 생명주기(Lifecycle)와 프로젝트 객체 모델 (POM, Project Object Model)이란 개념이 도입되었다. - Ant의 장황한 빌드 스크립트를 개선했다. - pom.xml에.. Swagger 처음 개발하거나 혹은 유지보수를 진행할 때, API 서버가 어떤 스펙을 가진 데이터를 주고받는지에 대한 문서작업이 꼭 필요함. 뭇너작업은 굉장히 시간이 많이들고, API가 수정될 때마다 문서도 같이 수정해줘야 하는 번거로움을 동반함. Swagger 는 Open API Specification(OAS)를 위한 프레임워크 API 들이 가지고 있는 스펙을 명세, 관리할 수 있는 프로젝트 Swagger Annotation으로 swagger-ui 보강 @ApiOperation Annotation -API 메소드에 대한 설명을 추가 할 수 있음. @ApiImplicitParams Annotation DTO 상세 파라미터의 설명을 추가하거나 필수 파라미터, Data Type, 파라미터 Type을 설정. @ApiMod.. Query DSL 정적 타입을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해주는 프레임워크. 문자영로 작성하거나 XML 파일에 쿼리를 작성하는 대신, Querydsl이 제공하는 fluent API 를 이용해서 쿼리를 생성 가능 Querydsl은 SQL, JPQL을 코드로 작성할 수 있도록 도와주는 오픈소스 빌더 API 장점 IDE의 코드 자동 완성 기능을 사용. 문법적으로 잘못된 쿼리를 허용하지 않음. 컴파일 시점에 문법 오류 발견. 도메인 타입과 프로퍼티를 안전하게 참조. 도메인 타입의 리팩토링을 더 잘할 수 있음. 동적 쿼리 만들기 쉬움. 타입 안정성 도메인 타입의 프로퍼티를 반영해서 생성한 쿼리 타입을 이용해서 쿼리를 작성. 완전히 타입에 안전한 방법으로 함수/메서드 호출이 이루어짐. 일관성 기반 기술에 상관없.. DDD & TDD Domain 일반적인 요구사항, 전문 용어, 그리고 컴퓨터 프로그래밍 분야에서 문제를 풀기 위해 설계된 어떤 소프트웨어 프로그램에 대한 기능성을 정희하는 연구의 한 영역 소프트웨어로 해결하고자 하는 문제 영역 Domain Model 특정 도메인을 개념적으로 표현한 것 도메인 모델을 사용하면 여러 관계자들 (개발자, 기획자, 사용자 등)이 동일한 모습으로 도메인을 이해하고 도메인 지식을 공유하는데 도움이 됨. 모델의 각 구성 요소는 특정 도메인을 한정할 때 비로소 의미가 완전해지기 때문에, 각 하위 도메인마다 별도로 모델을 만들어야 함. presentation layer 표현 영역 또는 UI 영역. 사용자의 요청을 받아 응용 영역에 전달하고, 응용 영역의 처리 결과를 다시 사용자에게 보여주는 역할 (Con.. JWT Token JWT는 JSON Web Token의 약자로 전자 서명된 URL-safe(URL) JWT는 API 인증 등에 사용하는 토큰이므로 스펙에 인증하는 방버베 대한 내용은 적혀있지 않고 토큰을 어떻게 만들고 검증하는지에 대해서 나와 있다. ** Auth0에서 만든 JWT사이트가 참고하기 제일 좋음. 위 그림에서 보이 듯이 왼쪽은 토큰 오른쪽은 디코딩(복호화된)된 값이다. 빨간색 - 헤더 보라색 - 페이로드 JWT Claim Set 이라고도 함 하늘색 - 시그니쳐 JOSE 헤더 JWT 토큰을 어떻게 해석해야 하는지를 명시한 부분. 이 헤더르르 열어보고 이어서 설명할 JWT Claim Set이나 Signature를 어떻게 해석할지를 알 수 있음. JOSE 헤더의 값을 base64로 인ㅋ호딩해서 헤더를 생성함. JW.. OSI 7 Layer Layer 1 - Physical Layer 주로 전기적, 기계적, 기능적인 특성을 이요해서 통신 ㅔ이블로 데이터를 전송 통신단위 bit 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경쓰지 않음. 대표적인 장비 : 통신 케이블, 리피터, 허브 Layer 2 - DataLink Layer 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할 통신에서의 오류도 찾아주고 재전송도 하는 기능을 갖고 있음 Mac 주소를 가지고 통신 전공되는 단위 : 프레임 대표적인 장비 : 브리지, 스위치 Point to Point간 신뢰성있는 전송을 보장하기 위한 계층으로 CRC기반의 오류 제어와 흐름 제어가 필요 네트워크 위의 개체들 간 데이터를 전달하고 물리.. LoadBalancer client 가 한두명인 경우 server는 여유롭게 사용자가 원하는 결과를 응답 해줌 client 가 수천만명인 경우 server는 응담을 해주려고 노력하다가 결국 지쳐서 멈춤 해결점 Scale-up Sever가 더 빠르게 동작하기 위해 하드웨어 성능을 향상 Scale-out 하나의 서버 보다는 ㅇ여러 대의 서버가 나눠서 일을 하는 법 Scale-out 장점 하드웨어 향상하는 비용보다 서버 한대 추가 비용이 저렴 여러 대의 서버 덕분에 무중단 서비스를 제공 가능 여러대의 Server에 균등하게 Traffic을 분산시켜주는 역할을 하는 것이 Load Balancer Load Balancing? -> 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러대의 서버가 분산처리하여 서버이 로드율 증가, 부하량.. 이전 1 2 다음