본문 바로가기

knowledge/development5

프로그래밍 패러다임(1) - 프로그래밍 패러다임과 언어의 관계 프로그래밍 패러다임 프로그래밍 패러다임은프로그래머에게 프로그래밍의 관점을 갖게 해 주고, 결정하는 역할을 한다. 예를 들어객체지향 프로그래밍은 프로그래머들이 프로그램을 상호작용하는 객체들의 집합으로 볼 수 있게 하는 반면에,함수형 프로그래밍은 상태값을 지니지 않는 함수값들의 연속으로 생각할 수 있게 해준다. - wikipidea : programming paradigm 패러다임(Paradigm) 의 사전적 의미는 한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계. 또는, 사물에 대한 이론적인 틀이나 체계. 순화어는 '틀' 이라고 한다. 다시 말하자면 programming paradigm은 프로그램을 어떻게 짜야할 지에 대한 이론적인 틀이나 체계를 아울러 말하는 셈이다. 프로그래밍 패.. 2020. 8. 5.
final과 static final A Java(TM) programming language keyword. You define an entity once and cannot change it or derive from it later. More specifically: a final class cannot be subclassed, a final method cannot be overridden and a final variable cannot change from its initialized value. class에서의 사용 final로 선언된 class는 extend가 불가능하다. class나 내부의 변수가 immutable해 지는게 아니다. public final class Greet { } public class Gre.. 2020. 7. 15.
RESTful API의 조건 REST는 REpresentation State Transfer, application 사이의 결합도를 낮추기 위한 아키텍쳐 스타일이다. 아키텍쳐 스타일이라는 말은 제약조건의 집합이라는 뜻. REST는 아키텍쳐 스타일인 동시에 아키텍쳐 스타일의 집합이다. REST는 URI와 HTTP method 로 무엇을 어떻게 할지가 잘 정의된 API라고 할 수 있다. REST를 구성하는 architecture style client-server 네트워크가 클라이언트와 서버로 구성되어야 함을 의미한다. 서버는 리소스를 보여주고, 클라이언트는 서버에 저장된 리소스와 상호작용한다. 일대일 통신을 기반으로 한다. stateless http와 같이 client의 이전 상태(작업)를 기록하지 않는 접속을 뜻한다. 반대로 sta.. 2020. 6. 10.
Dependency Injection DEPENDENCY dependency는 쉽게 말하자면 B를 하기 위해서는 A가 필요하다! 라는 뜻이다. Class A: pass Class B: self.a = A() 이 경우, A 때문에 B가 바뀌거나, 정의될 수 없거나... 하는 경우가 생길 수 있다. 이를 의존성이라고 한다. INJECTION dependency injection은 이러한 종속성의 문제를 해결하기 위해 등장했다. 한마디로 A가 없어도 B가 가능하게 하는 것! 방법은 외부에서 종속성을 가지게 만드는 요소를 주입해주는 방식으로 해결하는 것이다. 클래스면 클래스, 함수면 함수든지 간에 해당 요소를 내부에서 사용하려고 하는 것이 아니라, 외부에서 주입해주도록 만들고, 내부에서는 해당 요소를 받을 것을 가정하고 받는 식으로 진행한다. 2020. 6. 8.