본문 바로가기
반응형

전체 글346

[Jenkins] 1장 - 지속적 통합이란? (Feat. 폭포수 모델, 애자일, 스크럼) 초보를 위한 젠킨스 2 활용 가이드 2/e를 읽고, 정리한 글입니다. 목차 · 소프트웨어 개발 주기 · 폭포수 모델 · 애자일 방법론 · 스크럼 프레임워크 · 지속적 통함 · CI의 구성 요소 · CI 사용의 장점 잦은 변경에 빠르게 대응할 수 있는 소프트웨어 배포 솔루션으로 애자일 방법론이 전세계적으로 성장했다. 그 결과 지속적 통합(Continuous Integration)과 지속적 배포(Continuous Delivery) 방법론은 사람들의 관심을 받게 되엇다. 이런 방법론을 통해 이슈의 조기 발견, 지저분한 코드가 상용 코드에 들어가는 것을 막고, 빠르게 배포하여 생산성을 향상시키고 있다. 소프트웨어 개발 주기 · 소프트웨어 개발 주기(SDLC, Software Development Life Cy.. 2022. 2. 13.
[Spring] Ch 01-1. 스프링 시큐리티를 위한 gradle 설정하기 패스트캠퍼스"한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지" 강의의 "안정적인 서비스를 위한 스프링DATA와 Security - 스프링 시큐리티" 파트를 정리한 글입니다. 강의 관련 코드 https://github.com/jongwon/sp-fastcampus-spring-sec 다음 내용은 스프링 시큐리티 실습을 위한 프로젝트를 gradle 통해 구성하는 방법에 대해서 다룹니다. gradle 프로젝트 구성하기 settings.gradle · settings.gradle에서는 전체 프로젝트의 구조를 빌드한다. · 다음 설정으로 한개의 프로젝트를 구성할 수 있다. rootProject.name="project-name" include "project-name" · 다음 설정으로 여러 모.. 2022. 2. 11.
자바의 변성 - 공변/무공변/반공변, 사용지점 변성과 선언 지점 변성 목차 · 변성 · 제네릭과 공변/무공변 · 와일드카드 타입과 공변/반공변 · 사용지점 변성과 선언 지점 변성 변성 변성(Variance)은 타입의 계층 관계에서 서로 다른 타입 간에 어떤 관계가 있는지 나타내는 개념이다. 해당 개념은 자바의 제네릭을 설명하기 위해 자주 사용된다. 변성에는 네 가지 종류가 있다. 공변(covariant), 반공변(contravariant), 이변량(bivariant), 무공변(or 불공변, invariant) 이 중에서 알아볼 것은 공변, 반공변, 무공변이다. 제네릭과 공변/무공변 공변은 사전적 의미로 '함께 변하는'이라는 뜻이다. 제네릭은 기본적으로 무공변(or 불공변, invariant)이다. 즉, 서로 다른 타입 Type1과 Type2가 있을 때, List은 List.. 2022. 2. 8.
[Effective Java] 이펙티브자바 정리: 7장 람다와 스트림 목차 · 아이템 42. 익명 클래스보다는 람다를 사용하라 · 아이템 43. 람다보다는 메서드 참조를 사용하라 · 아이템 44. 표준 함수형 인터페이스를 사용하라 · 아이템 45. 스트림은 주의해서 사용하라 · 아이템 46. 스트림에서는 부작용 없는 함수를 사용하라 · 아이템 47. 반환 타입으로는 스트림보다 컬렉션이 낫다 · 아이템 48. 스트림 병렬화는 주의해서 적용하라 · 자바 8에서 함수형 인터페이스, 람다, 메서드 참조 개념이 추가되면서 함수 객체를 더 쉽게 만들 수 있게 되었다. · 이와 함께 스트림 API가 추가되어 데이터 원소의 시퀸스 처리를 라이러리 차원에서 지원하기 시작했다. · 위 기능들을 효과적으로 사용하는 방법을 알아보자. 아이템 42. 익명 클래스보다는 람다를 사용하라 핵심 정리 .. 2022. 2. 7.
[Effective Java] 이펙티브자바 정리: 5장 제네릭 목차 · 아이템 26. 로 타입은 사용하지 말라 · 아이템 27. 비검사 경고를 제거하라 · 아이템 28. 배열보다는 리스트를 사용하라 · 아이템 29. 이왕이면 제네릭 타입으로 만들라 · 아이템 30. 이왕이면 제네릭 메서드로 만들라 · 아이템 31. 한정적 와일드카드를 사용해 API 유연성을 높이라 · 아이템 32. 제네릭과 가변인수를 함께 쓸 때는 신중하라 · 아이템 33. 타입 안전 이종 컨테이너를 고려하라 · 옮긴이의 말 아이템 26. 로 타입은 사용하지 말라 핵심 정리 · 로 타입을 사용하면 런타임에 예외가 날 수 있으니 사용하면 안 된다. - 로 타입은 제네릭이 도입되기 이전 코드와의 호환성을 위해 제공될 뿐이다. · Set는 어떠 타입의 객체도 저장할 수 있는 매개변수화 타입이고, Set는.. 2022. 2. 6.
스프링에서 트랜잭션을 처리하는 방법: @Transactional JPA와 트랜잭션 관리 · JPA 자체는 어떠한 선언적인 형식의 트랜잭션 관리 기능도 제공하지 않는다. DI 컨테이너 외부에서 JPA를 사용할 때 트랜잭션은 개발자가 프로그래밍 방식으로 처리해야 한다. - 선언형 프로그래밍은 '무엇을'을 정의하믄 프로그래밍, 명령형은 프로그래밍은 '어떻게'를 정의하는 프로그래밍을 말한다. https://velog.io/@mgm-dev/선언적-VS-명령적 UserTransaction utx = entityManager.getTransaction(); try { utx.begin(); businessLogic(); utx.commit(); } catch(Exception ex) { utx.rollback(); throw ex; } · 이러한 트랜잭션 관리 방식은 코드에서 트.. 2022. 2. 4.
반응형