CS 지식/개발 상식6 MVC vs MVVM MVC vs MVVM 아키텍처 패턴이란? 소프트웨어 시스템의 기본 구조와 그러한 구조 및 시스템을 만드는 분야 각 구조는 소프트웨어 요소, 이들 간의 관계, 요소와 관계의 속성으로 구성 시스템 및 개발 프롲게트의 청사진 역할을 하며 설계 팀이 실행하는 데 필요한 작업을 제시함 MVC 패턴 MVC 패턴은 Model + View + Controller를 합친 용어입니다. Model : 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분입니다. View : 사용자에게 보여지는 UI 부분입니다. Controller : 사용자의 입력을 받고 처리하는 부분입니다. 순서 사용자들의 입력이 Controller에 들어오게 됩니다. Controller는 사용자의 입력을 확인하고, Model을 업데이트 합니다. C.. CS 지식/개발 상식 2023. 2. 9. 함수형 프로그래밍(Functional Programming) 함수형 프로그래밍 함수형 프로그래밍은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나입니다. 함수형 프로그래밍 언어의 종류에는 대표적으로 Scala(스칼라), Haskell(하스켈), Clojure(클로저) 등이 있습니다. Javascript, Java, Python, Kotlin 등에서도 함수형 프로그래밍 문법을 사용할 수 있습니다. 선언형 프로그래밍 패러다임을 따르고 있습니다. 선언형 프로그래밍은 WHAT(무엇을 할 지) 을 중요시 하고, 명령형 프로그래밍은 HOW(어떻게 할 지) 를 중요시 합니다. 함수형 프로그래밍 장단점 장점 순수 함수를 이용하기 때문에 함수에서 함수로 전달되는 상태만 있을 뿐, 전역 상태 자체가 존재하지 않습니다. -> 외부.. CS 지식/개발 상식 2023. 2. 6. Git 과 Github GIT 과 GITHUB "GIT 과 GITHUB는 커피와 카페 같은 관계이다" -노마드 코더- GIT 이란? 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. GIT의 특징 Git 홈페이지 에서 Git의 특징을 다음과 같이 6가지로 정의한다. Branching and Merging 사용자는 메인 코드에서 가지를 생성하여 독립성을 유지한 채로 개발을 진행할 수 있다. 이는 다양한 코드를 개발 또는 테스트 해 볼 수 있는 환경을 제공해준다. Small and Fast Git은 대부분 로컬에서 진행되는 만큼 매.. CS 지식/개발 상식 2023. 2. 2. 애자일 (Agile) 애자일 (Agile) 애자일이란? 신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식 고객의 요구에 민첩하게 대응하고, 그때 그때 주어지는 문제를 해결해 나가는 방법론 종류: 스크럼(Scrum), 익스트림 프로그래밍(XP), 칸반(Kanban) 애자일 방법론은 소프트웨어 개발에 필요한 작업을 알려주는 규정이 아니라, 협업을 바라보는 관점이고, 우리가 무엇을 어떻게 만들지에 관해 선택하게 하는 가치 체계이다. 폭포수 vs 애자일 폭포수 모델 선형 순차 모델 각 단계는 병행 수행되지 않고 순차 수행됨 폭포수 모델 장점 이해하기 쉬움( 단순한 선형 모델) 체계적 문서화가능 ( 단계별로 정형화된 접근 방법) 프로젝트 진행 상황 명확히 파악 가능 폭포수 .. CS 지식/개발 상식 2023. 1. 26. RESTful API란? RESTful이란? -> REST 원리를 따르는 시스템을 RESTful하다고 말한다. RESTful의 목적 -> 이해하기 쉽고, 사용하기 쉬운 REST API를 만들기 위해 사용된다. REST란? -> Representational State Transfer의 약자로, 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것이다. -> REST는 일반적으로 HTTP 프로토콜을 사용하기 때문에 웹의 장점을 활용할 수 있는 아키텍처 스타일이다. -> 네트워크 상에서 client와 server간의 통신 방식 중 하나이다. -> HTTP URI를 통해 자원을 명시하고, HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것. REST의 장점 1. HTTP 프로토콜의 인프라를 그.. CS 지식/개발 상식 2023. 1. 26. OOP(객체 지향 프로그래밍) OOP OOP란? OOP란 Object Oriented Programming의 약자로, 객체 지향 프로그래밍이다. 객체 지향 프로그래밍은 우리가 실생활에서 사용하는 모든 것을 객체라고 하며, 객체 지향 프로그래밍은 프로그램 구현에 필요한 객체를 파악하고 각각의 객체들의 역할이 무엇인지를 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것을 의미한다. 객체는 클래스라는 틀에서 생겨난 실체(instance)이다. 따라서 객체 지향 프로그램은 객체와 객체 간의 연결로 되어 있으며 각각의 객체안에 자료구조와 알고리즘이 들어있다. 절차 지향 vs 객체 지향 절차 지향 vs 객체 지향 출처 : https://velog.io/@1205kjw/6.1.2-%EC%A0%88%EC%B0%A8%EC%A7%80%ED%9.. CS 지식/개발 상식 2023. 1. 26. 이전 1 다음