개발64 [프로그래밍 패러다임] 함수형 프로그래밍 함수형 프로그래밍(Function Programming) 함수형 프로그래밍은 하나의 프로그래밍 패러다임이며, 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임이다.(위키백과) 함수형 프로그래밍은 말 그대로 깨끗하고 유지 보수가 가능한 소프트웨어를 만들기 위해 함수를 사용하여 최상의 효과를 내는 것을 의미한다. 이해를 돕기 위해서 공장을 생각하면 쉬울 것 같다. 컵라면 공장을 생각해보면 컵라면의 컵을 먼저 레일에 올리고, 면이 담기고, 스프가 담기고, 뚜껑을 닫는다. 함수형 프로그래밍을 공장으로 생각해보면 각각의 역할(컵라면의 컵에 면을 담는 행위)처럼 공장에선 개별 장치들이 각자 자신이 맡은 역할만 한다. 같은 입력을 받으면 항상 똑같은 행위(결과)를 내보낸다.. 2022. 10. 10. 17:34 [디자인 패턴]MVC패턴, MVVM패턴 MVC패턴 MVC패턴은 Model + View + Controller의 약자로 각 Model, View, Controller의 역할로 나누어서 개발하는 디자인 패턴이다. 가장 널리 사용되고 있는 패턴이다. 비즈니스 로직과 화면을 분리하여 사용한다. MVC 패턴의 각 역할을 보면 - Model : 데이터와 비즈니스 로직을 담당 - View : 화면을 담당 - Controller : 사용자의 입력을 받으면 처리(모델과 뷰로 라우팅)를 해준다. 모델(Model) 모델은 앱에 표현할 데이터를 정의해준다. 데이터를 요청하거나 상태가 변경되면 뷰에게 알려준다. DB와의 연결을 해주며 데이터와 직접적으로 연동되는 부분이다. 뷰(View) 사용자에게 보여지는 방식을 정의한다. 웹 사이트라고 하면 사용자가 직접적으로 볼.. 2022. 10. 9. 20:55 [NetWork] CORS(Cross-Origin Resource Sharing) CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유) 개발하다가 흔히 볼 수 있는 아래와 같은 내용이다. 오늘은 이 CORS에 대해 포스팅해보고자 한다. 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 HTTP 헤더에 추가되어, 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다. 웹 어플리케이션은 리소스의 도메인, 프로토콜, 포트가 다를때 교차 출처 HTTP 요청 실행한다. - 도메인 https://www.naver.com 과 같은 주소를 도메인이라고 한다. - 프로토콜(protocol) 컴퓨터나 원거리 장비사이에서 서로 메세지를 주고받는 양식과 규칙이다. 대.. 2022. 10. 8. 22:09 [JavaScript] Event Loop(이벤트 루프) Event Loop(이벤트 루프) 자바스크립트는 단일 스레드 기반의 인터프리터 언어이다. 스레드가 하나라는 말은 하나의 작업을 처리하면 다른 작업은 하지 못한다. 하지만 자바스크립트는 동시에 여러 작업이나 이벤트를 보여줄 수 있다. 어떻게 단일 스레드 기반에서 동시에 요청과 이벤트들을 처리하는 것일까? 자바스크립트에서는 이벤트 루프(Event Loop)라는 개념을 사용해 여러 이벤트들을 처리할 수 있다. 이 이벤트 루프(Event Loop)는 비 동기 방식을 지원해 동시에 처리할 수 있다. 비동기(Asynchronous , 동시에 일어나지 않는) 비 동기는 요청과 결과가 동시에 일어나지 않을 거라는 약속이다. 보통은 요청이 온 뒤 결과가 나타나는 방식인데 비 동기방식은 요청을 보낸 후 결과가 오는지 안오.. 2022. 10. 7. 22:34 REST API는 무엇일까? REST API REST API를 알아보기 전에 우선 API의 개념부터 정리해보자. API(Application Programming Interface) API는 프로토콜 및 정의된 규칙을 따라 두 소프트웨어 간 통신할 수 있게 하는 메커니즘이다. 기상청의 open api를 예로 들어 기상청에서 정해놓은 규칙을 가지고, 기상청의 일일 데이터를 받아올 수 있도록 서로 통신하는 것이다. 웹 API는 클라이언트(사용자)와 웹 리소스 사이의 게이트웨이라고 생각할 수 있다. 클라이언트(사용자) 클라이언트는 웹에서 정보를 요구하는 사용자이다. 클라이언트는 API를 사용하는 사람 또는 소프트웨어 시스템이다. 개발자가 만약 날씨를 가져오는 프로그램을 만들 수도 있고, 사용자가 날씨 데이터를 불러오는 웹 사이트를 접속할.. 2022. 10. 7. 14:44 [Network] DNS(Domain Name System)란? DNS(Domain Name System)? 우리가 일반적으로 보는 www.naver.com과 같이 우리가 사용하는 주소가 도메인이다. 도메인 네임 시스템은 이 주소를 사용자가 입력하면 IP 주소로 변환해주는 역할을 한다. 그 반대의 역할도 수행한다. IP 주소 우리의 컴퓨터는 네트워크 상에서 숫자를 사용하여 통신하게 된다. 192.xx.x.x 이렇게 흔히들 본 적이 있을 것이다. 이를 IP주소라고 한다. 하지만 이러한 숫자를 입력하게 되면 우리는 그 숫자들을 다 기억해야 한다. 그렇기 때문에 도메인이 나온 것이고, 그 도메인을 IP주소로 변환하는 DNS(Domain Name System)이 탄생하게 된 것이다. DNS의 동작 방식 DNS는 다음과 같은 동작 방식으로 동작한다. 동작 방식을 보기 이전에 .. 2022. 10. 6. 23:56 이전 1 ··· 5 6 7 8 9 10 11 다음 728x90