본문 바로가기

IT6

DIP : Dependency Inversion Principle 의존성 역전 원칙 (SOLID 원칙 중 “D” 에 속한다) DIP : Dependency Inversion Principle 1. DIP 용어를 알아본다. 2. DIP 를 적용하지 않은 사례를 알아본다. 3. DIP 를 적용한 사례를 알아본다. 4. DIP 적용 시 주의사항을 알아본다. 1. DIP 용어를 알아본다. DIP 에는 “고수준 모듈”과 “저수준 모듈” 이라는 용어가 나오기 때문에 해당 용어에 대한 의미를 알아야 한다. 고수준 모듈 의미 있는 단일 기능을 제공하는 모듈이다. 저수준 모듈 고수준 모듈에서 정의한 기능을 실제로 구현하는 모듈이다. 2. DIP 를 적용하지 않은 사례를 알아본다. 위 용어를 특정 사례로 보면 아래와 같다. DIP 원칙을 지키지 않고, 위 사례에 대해 코드를 작성한다면 .. 2023. 1. 1.
잡과 스텝 "스프링 배치 잡은 개념적으로 상태 기계에 지나지 않는다." 그럼 상태 기계가 무엇인가? 간단히 검색해보면 각 상태(state)를 특정한 조건(event)에 따라서 연결되어 있는 다른 상태로 전이시키는 장치라고 한다. 상태 기계가 잡이라면 상태는 스텝이다. 스텝은 아래 이미지와 같이 스텝과 스텝으로 연결되어 있을수 있으며 스텝은 태스크릿과 청크 라는 두가지 처리방식을 지원한다. (아래 예시 이미지는 청크 유형 방식) 태스크릿(tasklet) 태스크릿은 청크 기반 스텝보다 구조가 간단하며 초기화, 프로시저 실행, 알림 전송등 단순한 작업에서 사용된다. 단순히 Tasklet 인터페이스를 구현하기만 하면되고, 해당 인터페이스에는 execute 메서드만 존재하기 때문에 복잡하지 않다. (특정한 조건으로 스텝을 .. 2022. 9. 10.
무료 html 템플릿 추천 디자이너 없이 개발자 혼자서 웹 사이트를 개발할 때, 웹 사이트 디자인을 어떻게 하면 좋을지 가장 고민이 됩니다.이때, 저는 다른 사이트를 참고하여 비슷하게 만들거나 혹은 무료 템플릿을 이용합니다. 제가 알고 있는 무료 html 템플릿 사이트를 추천해드리겠습니다. 1. https://bootsnipp.com/ - bootsnipp은 html 템플릿 사이트라기보다는 고유 기능들에 해당하는 것들을 모아둔 사이트입니다. 검색 기능도 있어서 필요한 기능에 들어갈 html 디자인을 찾기 쉽습니다. 2. https://startbootstrap.com/- startbootstrap은 개발자들 사이에서는 유명한 기본적인 base template 사이트 입니다. bootstrap을 기반으로 만든 html 템플릿 입니다.. 2018. 3. 21.
[코딜리티] CyclicRotation 코딜리티 프로그래머 두 번째 Lesson 문제인 CyclicRotation 은 정렬되지 않은 n개의 숫자 배열(array)에 있는 값들을 하나씩 오른쪽으로 옮기는데 파라미터로 몇번 옮겨야 하는지(k)도 같이 주어집니다. (int[] array, int k) 옮겨야되는 수(k)가 3이라면 총 3번 오른쪽으로 옮기면 됩니다. 마지막에 있는 값은 첫 번째 자리로 옮기면 됩니다. ex)[1,2,3,4,5] -> [5,1,2,3,4] , [5,1,2,3,4] -> [4,5,1,2,3] , [4,5,1,2,3] -> [3,4,5,1,2] java로 구현을 하였는데, 의식에 흐름대로 풀고난 후에 다른 사람의 코드를 보고 자괴감이 들었습니다.. 코드를 짤 때, 조금 더 생각하면서 짜야겠다고 다시 한 번 느끼게 됬습니다.. 2018. 3. 19.