CS 지식

· CS 지식
오늘은 Solid 원칙에 대해 작성해보려고 한다. Solid 원칙은 코드를 더 깨끗하고 견고하게 만들기 위해 개발자들이 따라야 할 기본 가이드라인으로, Robert C. Martin이 제안했다. 객체 지향 프로그래밍에서 코드의 유지보수성, 확장성, 재사용성을 높이는 데 도움을 주는 다섯 가지 설계 원칙이다. 자세한 내용은 아래에 정리하려고 한다.  1. 단일 책임 원칙 (Single Responsibility Principle, SRP) "클래스는 하나의 책임만 가져야 한다." 하나의 객체는 하나의 책임만 담당책임을 적절히 분배하면서 책임 변경이 다른 책임의 변경으로 전파되지 않음.코드 가독성이 좋아지고, 유지보수가 쉬워짐책임을 드러낼 수 있는 명확한 이름으로 클래스를 생성하는게 좋음낮은 결합도와 높은 ..
· CS 지식
서론 요즘은 단순 기능 개발에 목표를 두는 게 아닌 가독성 좋고 효율적인 코드를 작성하기 위해 노력 중이다. 위 목표를 달성하기 위해 최근 클린 아키텍처에 대한 개념을 학습 중에 있다. 아직 이해도가 많이 부족하다고 느끼지만 한번 정리해보려 한다. Clean Architecture란? 클린 아키텍처(Clean Architecture)란 소프트웨어 개발에 사용되는 디자인 패턴 중 하나로, Robert C. Martin이 제안한 아키텍처 원칙이다. 위 아키텍처는 소프트웨어를 모듈화 하고 느슨하게 결합된 컴포넌트로 구성하여 유지보수성과 테스트 용이성을 높이는 것을 목표로 한다. 클린 아키텍처의 의존성은 외부에서 내부로 향하고, 외부 요소는 내부 요소에 영향을 미치지 않는다. 즉, 안쪽으로 갈수록 고수준(추상화..
· CS 지식
서론 Android Flow 학습 중에 등장했던 Cold Stream, Hot Stream의 개념에 대한 정리가 필요해 보여 간단하게 정리해보려 한다. Cold Stream과 Hot Stream의 차이 보통 flow를 Cold Stream, StateFlow/SharedFlow를 Hot Stream으로 분류한다. 데이터가 생성되는 위치 생산자가 발행한 데이터를 동시에 여러 소비자들이 수신할 수 있는지 여부 스트림이 데이터를 생산하는 시점 Cold Stream 데이터가 내부에서 생성됨 데이터는 소비자가 소비를 시작할 때 생산됨 하나의 생산자에는 하나의 소비자가 존재함 터미널 연산자(collect, collectLatest, single, reduce, toList 등..)가 호출되기 전까지는 활성화되지 않..
· CS 지식
서론 최근 Android 개발을 진행하던 중 함수형 프로그래밍, 리액티브 프로그래밍 등 다양한 용어들을 접하게 되어 프로그래밍 패러다임에 대해 정리해보려 한다. 프로그래밍 패러다임이란? 프로그래밍 패러다임이란 개발자가 프로그래밍을 위해 어떤 관점을 가지고 개발을 할지에 대한 결정에 도움을 줄 수 있는 방법들을 의미한다. 패러다임은 일반적으로 프로그래밍 언어의 사용, 데이터 구조, 알고리즘, 설계 방법 등을 포함 패러다임은 다양한 분야에서 사용되며 각각의 패러다임은 특정한 목적과 문제 해결 방법을 지님 프로그래밍 패러다임은 크게 명령형 프로그래밍과 선언형 프로그래밍으로 나뉨 명령형 프로그래밍(Imperative Programming) 명령형 프로그래밍은 문제를 어떻게 해결할지에 관점을 두고 컴퓨터가 수행할..
· CS 지식
안드로이드 4대 컴포넌트는 Activity, Service, BroadcastReceiver, ContentProvider입니다. 이는 안드로이드의 주요 구성 요소이고, Intent를 통해 통신합니다. 각 컴포넌트들은 하나의 독립적인 형태로 존재하고, 각각의 고유 기능을 수행합니다. 또한, 각각 나름의 생명 주기(LIfeCycle)가 있어 구성 요소의 생성 및 소멸 방식을 정의합니다. 액티비티 (Activity) 액티비티는 사용자가 애플리케이션과 상호작용하기 위한 진입점입니다. 이는 사용자 인터페이스를 포함한 화면 하나를 나타냅니다. AppCompatActivity 클래스를 상속받는 클래스를 액티비티로 이용할 수 있습니다. 액티비티는 애플리케이션에서 반드시 하나 이상 존재해야 하고, 여러 액티비티를 동시..
· CS 지식
Cookie란? 웹 서버가 웹 브라우저에게 보내어 저장했다가 서버의 부가적인 요청이 있을 때 다시 서버로 보내주는 문자열 정보 웹 페이지 방문 시 방문 기록 등 브라우저에서의 정보들이 저장된 텍스트 파일 데이터 형태는 Key, Value 형태로 String 형식 쿠키는 서버를 대신해 웹 브라우저에 저장하고 요청할 때 해당하는 정보를 서버에 보내 사용자를 식별할 수 있게 한다. 보통, 로그인 상태를 유지하고 사이트 환경설정을 기억하는 등 웹사이트와 관련된 작업을 할 때 사용된다. Android에서의 Cookie 활용 안드로이드에서 쿠키를 활용할 때는 Webview로 보여주는 사이트의 쿠키를 제어하려고 할 때이다. 안드로이드에서는 Webview 인스턴스에서 사용하는 쿠키를 CookieManager를 통해 관..
빡수수
'CS 지식' 카테고리의 글 목록