선언형 / 명령형 프로그래밍선언형 프로그래밍명령형 프로그래밍선언형? 명령형?선언형 프로그래밍선언형 프로그래밍은 아래 두 가지 뜻으로 통용되고 있다고 한다.프로그램이 어떤 방법으로 해야 하는지를 나타내기보다 무엇과 같은지를 설명하는 경우에 '선언형' 이라고 한다. 웹 페이지는 선언형인데, 웹 페이지의 제목, 글꼴, 본문, 그림과 같이 '무엇' 이 나타나야 하는지를 묘사하는 것이지 '어떤 방법으로' 컴퓨터 화면에 페이지를 나타내야 하는지를 묘사하는 것이 아니다.프로그램이 함수형 프로그래밍 언어, 논리형 프로그래밍 언어, 혹은 제한형 프로그래밍 언어로 쓰인 경우에 '선언형' 이라고 한다.이 정의에서는 명령형 언어와 대비되는 프로그래밍 언어들을 선언형으로 통칭하는 것이다.선언형 프로그래밍 언어 : Lisp, H..
App is not indexable by Google Search 위 처럼 단순히 AndroidManifest.xml 의 intent-filter 에 ACTION_VIEW 만 추가해주면 해당 경고가 사라지지만,경고의 내용이 궁금하여 구글링 해보았다.이 경고는 앱에 딥 링크를 구성하기 위한 것이며, 사용자가 모바일 검색에서 웹/앱과 일치하는 특정 키워드를 검색하는 경우 앱 내에서 특정 Activity/View 를 열 수 있는 intent 와 직접 연결할 수 있다고 한다.딥 링크'특정 페이지에 도달할 수 있는 링크' 를 뜻한다.예로 웹 URL(http://blog.airbridge.io/deeplinkga-mweojyo/) 처럼, 모바일 어플리케이션에도 특정 페이지에 들어갈 수 있는 링크가 있다.모바일로 ..
개방-폐쇄 원칙 (Open-Closed Principle, OCP)개방-폐쇄 원칙 ?개방-폐쇄 원칙 예제References 개방-폐쇄 원칙 ?소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다.위키백과에 간단명료하게 정리되어있어 인용을 하자면,확장에 대해 열려 있다.이것은 모듈의 동작을 확장할 수 있다는 것을 의미한다. 애플리케이션의 요구 사항이 변경될 때, 이 변경에 맞게 새로운 동작을 추가해 모듈을 확장할 수 있다.수정에 대해 닫혀 있다.모듈의 소스 코드나 바이너리 코드를 수정하지 않아도 모듈의 기능을 확장하거나 변경할 수 있다.개인적으로 확장과 수정을 따로 생각하지 않는 것이 이해가 잘 되었다.확장성을 고려하여 설계함으로써 수정사항이 발생..