본문 바로가기

Software Engineering5

프레임워크 VS 라이브러리 프레임워크원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 기능을 갖추고 있는 골격, 뼈대를 의미합니다.프레임워크는 애플리케이션 개발 시 필수적인 코드등과 같은 기능을 위해 어느정도 구조(뼈대)를 제공하고, 이러한 구조 위에서 사용자가 코드를 작성해서 애플리케이션을 개발합니다.즉, 개발자가 구현한 메서드가 프레임워크에 의해 호출되며, 이를 제어의 역전(IoC)이라고 합니다. "소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합"이라 할 수 있으며, 완성된 어플리케이션이 아닌 프로그래머가 완성시키는 작업을 해야합니다. 프레임워크는 전체 어플리케이션의 구조를 정의하여 일정한 개발 패턴을 따르게끔 합니다. 프레임워크 예시안드로이드 앱 개발에 사용되는 AndroidJAV.. 2024. 12. 14.
비즈니스 로직 vs 도메인 로직 비즈니스 로직, 도메인 로직이 대체 뭐야?'비즈니스 로직'을 분리하라.비즈니스/도메인 로직은 다른 계층에 의존해서는 안 된다.좋은 설계에 대해 얘기할 때 이런 말을 정말 많이 듣는다.대충은 무슨 말인지 알겠다. UI 업데이트하는 코드는 비즈니스 로직은 아니니까. 비즈니스 로직은 좀 더 추상적인 데이터를 다루는 쪽인 거지...?근데 DB에서 특정 조건의 데이터를 가져오는 코드는?서버에서 가져온 데이터를 파싱하는 코드는?화폐 단위를 다른 화폐로 바꾸는 코드는?사용자가 검색한 데이터가 실제로 있는지 확인하는 코드는?음... 비즈니스 로직인가? 아닌가...?이 단어를 자주 쓰면서도 어렴풋하게 알고 있단 사실을 깨달았다.그러다 매우 명료하게 설명해주는 글을 찾아서, 오늘은 비즈니스/도메인 로직이 뭔지에 대해 간단.. 2024. 9. 21.
함수형 프로그래밍 명령형 프로그래밍 VS 선언형 프로그래밍명령형 프로그래밍프로그래밍의 상태와 상태를 변경시키는 구문의 관점으로 접근하는 프로그래밍 방식.명령형 프로그래밍은 컴퓨터가 실행할 명령들을 실행 순서대로 구현해야 한다.대부분의 객체 지향 프로그래밍 언어가 명령형 프로그래밍 언어이다. 알고리즘 처리 작업에 적합한 언어이다.절차지향 프로그래밍, 객체지향 프로그래밍이 이에 속한다. 예시) point를 얻기 위해 실행할 명령들을 순서대로 구현fun getPoint(customer: Customer): Int { for (i in 0..customers.size) { val c = customers[i] if (customer == c) { return c.point .. 2024. 6. 16.
CI/CD란? - 지속적 통합(Continuous Integration) / 지속적 배포(Continuous Deployment) 매번 개발자가 코드를 수정하고 빌드와 테스트를 하고 배포까지 한다면 상당히 많은 시간이 소요가 된다. 하지만 git에 코드를 올리는 것만으로도 누군가가 빌드와 테스트, 배포까지 해준다면, 쓸데없는 시간을 단축시키고 개발에 더 많은 시간을 투자할 수 있을 것이다. CI, CD의 개념에 대해 알아보자. CI란? CI는 간단히 요약하자면 빌드/테스트 자동화 과정 과정입니다. CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 .. 2023. 9. 19.
명령형 프로그래밍 vs 선언형 프로그래밍 우선, 두 프로그래밍 패러다임의 차이점을 이해하기 전에 각각의 프로그래밍에 대한 개념을 이해하고자 한다. 명령형 프로그래밍 (Imparative Programming) 컴퓨터 과학에서 명령형 프로그래밍(命令型 프로그래밍, 영어: imperative programming)은 선언형 프로그래밍과 반대되는 개념으로, 프로그래밍의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명하는 프로그래밍 패러다임의 일종이다. 자연 언어에서의 명령법이 어떤 동작을 할 것인지를 명령으로 표현하듯이, 명령형 프로그램은 컴퓨터가 수행할 명령들을 순서대로 써 놓은 것이다. 글들을 읽다보면, 이해가 갈법하면서도, 잘가지 않는다. 가장 이해하기 쉽게 생각하면, 명령형 프로그래밍은 "HOW"를 제시한다. 우선 예시 코드를 보자. /.. 2023. 9. 18.