728x90 전체 글87 [ Flutter ] 플루터 초기 설정 Flutter의 Dev Tools flutter 는 다음과 같은 개발 툴을 사용할 수 있다.Android StudioVisual Studio CodeIntellij IMEA 나는 익숙한 Visual Studio Code를 사용해서 flutter를 작성하였다. 근대 VS Code 를 사용해도 Android Studio를 다운받아야 한다. - 편함 시작하기에 앞 서 다음과 같은 과정을 해준다. 안한 사람만.1. Flutter SDK 다운https://docs.flutter.dev/get-started/install Choose your development platform to get startedInstall Flutter and get started. Downloads available for Windo.. 2025. 5. 21. UART - SPI - I2C 마이크로 프로세서의 데이터 교환 방법통신 방식은 직렬 방식(Serial)과 병렬 방식(Parallel)이 있다. 1. 직렬 통신(Serial Communication)데이터 비트를 1개의 비트 단위로 외부에 송신하는 방식구현이 쉽고 장거리 전송이 가능, 기존의 통신 선로(전화선 등)을 쉽게 활용할 수 있어 비용 절감이 크다는 장점이 있다.2. 병렬 통신(Parallel Communication)컴퓨터 내의 장치와 정보교환시, 통상적으로 고속 통신 속도를 필요로 한다.한꺼번에 많은 정보를 처리할 수 있어 일반적으로 쓰임.대량의 정보를 빠른 시간에 한번에 처리함으로 컴퓨터 성능을 향상시킬 수 있지만, 통신거리의 제한, 구현상 기술적 어려움, 고비용 문제 등의 한계가 있다.UART - Universal Asy.. 2025. 5. 19. CS CS CS CS CS CS CS - Computer Science MVC 패턴 동작 순서Http Request - 사용자 요청 HttpDispatcherServlet 핵심 진입점클라이언트로 부터 url 요청이 DispatcherServlet에 도달.Handler Mapping요청 url에 매핑되는 handler(컨트롤러)를 탐색.Handler Adapter 매핑을 통해 찾은 핸들러(컨트롤러)를 실행하기 위해 필요.요청을 매핑된 핸들러(컨트롤러)에 위임.Controller실제 요청로직에 대한 수행 기능.Service, Repository, DB 접근 등View Resolver클라이언트 요청에 대한 응답을 렌더링 할 View 를 결정하는 역할컨트롤러에서 반환된 논리적 view 이름을 실제 view 경로로 매핑ViewThymeleaf 등으로 구성된 실제 화면을 사용자에게 R.. 2025. 5. 15. 오브젝트 - 5주 (책임 할당하기) Week 4🔖 오늘 읽은 범위 : 5장 책임 할당하기 (133~174p)🤓 책에서 기억하고 싶은 내용데이터 중심 설계로 발생하는 문제점을 해결하는 가장 기본적인 방법은 데이터가 아닌 책임에 초점을 맞추는 것이다. 책임에 초점을 맞춰 설계할 땐 어떤 객체에 어떤 책임을 할당할지를 결정하기가 쉽지 않다는 것이 가장 큰 어려움이다.동일한 문제를 해결하는 다양한 책임 할당 방법이 존재하며, 어떤 방법이 최선인지는 상황과 문맥에 따라 달라지기 때문이다. 책임 중심의 설계를 위해선 다음 두 가지 원칙을 따라야 한다.데이터보다 행동을 먼저 결정협력이라는 문맥 안에서 책임을 결정객체에게 중요한 것은 데이터가 아닌 외부에 제공하는 행동이다. 객체는 협력에 참여하기 위해 존재하며, 협력 안에서 수행하는 책임이 객체의 .. 2025. 4. 20. 오브젝트 - 4주 (설계 품질과 트레이드오프) Week 4🔖 오늘 읽은 범위 : 4장 설계 품질과 트레이드오프 (97~132p)🤓 책에서 기억하고 싶은 내용 객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다. 설계는 변경을 위해 존재하고, 변경에는 어떤 식으로든 비용이 발생한다. 따라서 훌륭한 설계란 합리적인 비용안에서 변경을 수용하는 구조를 만드는 것이다. 객체지향 설계는 두가지 방법으로 시스템을 객체로 분할할 수 있다.상태를 분할의 중심축으로 삼는 방법객체의 상태에 초점을 맞춘다.객체를 독립된 데이터 덩어리로 바라본다.책임을 분할의 중심축으로 삼는 방법객체의 행동에 초점을 맞춘다.객체를 협력하는 공동체의 일원으로 바라본다. 훌륭한 객체지향 설계는 데이터가 아닌 책임에 초점을 맞.. 2025. 4. 13. 오브젝트 - 3주 (역할, 책임, 협력) Week 3🔖 오늘 읽은 범위 : 3장 역할, 책임, 협력 (73~96p)🤓 책에서 기억하고 싶은 내용 객체지향의 핵심은 역할, 책임, 협력이다. 클래스나 상속은 역할과 책임이 어느 정도 정의된 후 사용하는 메커니즘일 뿐이다. 객체지향의 애플리케이션 제어 흐름은 어느 한 객체에 통제되지 않고 다양한 객체에 균형 있게 분배되는 것이 일반적이다. 기능 구현을 위해 수행하는 상호작용을 협력이라고 한다.협력에 참여하기 위해 수행하는 로직을 책임이라고 부른다.객체들이 협력 안에서 책임들이 모여 객체가 수행하는 역할을 구성한다. 협력객체지향 시스템은 자율적인 객체들의 공동체이다.메시지 전송은 객체가 협력을 위해 사용할 수 있는 유일한 커뮤니케이션 수단이다. 객체를 자율적으로 만드는 가장 기본적인 방법은 내부 구.. 2025. 4. 6. [ Java/자바 ] 자료구조 - Set 에 대해 Set 이란Set은 프로그래밍 언어에서 사용되는 자료구조에 한 종류로 값을 저장하는 추상 자료형이다.Set 은 Interface 로써 다음과 같은 구현체가 존재한다.HashSetLinkedHashSetTreeSet먼저 Set은 기본적으로 중복을 허용하지 않고, 순서를 보장하지 않는다.수정이 가능한 Mutable 객체이다.HashSetHashSet은 set을 구현하는 대표적인 구현체로써, 중복을 허용하지 않고, 순서를 보장하지 않는다.내부적으로 HashMap을 사용해 요소를 저장한다.각 요소는 HashMap의 키로 저장되며, 모든 키에 대해 동일한 더미 객체를 값으로 사용한다.이를 통해 중복은 자동으로 삭제되며, 고유 해시 값을 기반으로 요소를 관리한다.HashMap 은 내부적으로 key-value로 값을.. 2025. 3. 31. CS 에 대한 정리 1일차 1. 세마포어, 뮤텍스이 두가지 기법은 동시성 처리와 교착상태를 방지하기 위한 기법이다.하지만 모든 교착상태를 해결하지는 못한다. 그렇다면 무슨 차이점이 있을까 뮤텍스는 key 값을 기준으로 상호배제를 원칙으로 한다.key 값으로 0과 1만 존재하며, 한가지 공유 자원에 대해선 하나의 쓰레드, 프로세스만 접근할 수 있다.뮤텍스는 자원을 소유할 수 있고, 책임 또한 가지고 있다. 세마포어는 하나의 변수를 기반으로 상호배제를 원칙으로 한다.공유자원에는 프로세스의 최대 허용치만큼의 사용자가 동시 접근할 수 있다.세마포어는 자원을 소유할 수 없고, 책임이 없다. 2. String, StringBuffer , StringBuilder1. StringString 불변(Immutable) 객체이다.String는 다른.. 2025. 3. 31. [ Java ] Redis 뜯어보기 (with : Java 8 date/time type `java.time.LocalDateTime` not supported) Redis를 뜯어보기 위해선 Redis에 대한 의존성을 추가해야 한다. implementation 'org.springframework.boot:spring-boot-starter-data-redis' 다음과 같이 Redis 에 대한 의존성을 추가해 주면 된다 그럼 끝! Redis 를 사용하기 위해선 다음과 같이 Config를 작성해 주어야 한다.import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.dat.. 2025. 3. 24. 이전 1 2 3 4 ··· 10 다음 728x90