전체 글 45

[Flutter] 간단한 ToDo앱에서 MethodChannel 응용

Flutter 앱과 안드로이드 네이티브 코드(Kotlin) 간의 통신을 위한 플러그인(Platform Channel) 구현 코드📌 주요 역할Flutter에서 보낸 메소드 호출(Method Call) 을 안드로이드 네이티브에서 처리할 일 목록(To-Do List)을 저장하고 불러오는 기능 제공SharedPreferences를 이용해 데이터를 저장 및 관리📂 코드 상세 설명1. 기본 클래스 및 변수 선언class MainActivity : FlutterActivity() { private val CHANNEL_NAME = "com.example.to_do_list/task_channel" private val TAG = "MainActivity"MainActivity는 FlutterActivi..

개발/Android 2025.03.10

[Flutter] MethodChannel이란 ?

Flutter에서 MethodChannel은 Flutter와 네이티브 플랫폼(Android, iOS) 간에 데이터와 메서드를 주고받는 데 사용됩니다. 이를 통해 Flutter 앱 내에서 네이티브 코드(예: Java, Kotlin, Objective-C, Swift)와 상호작용할 수 있습니다. MethodChannel을 사용하면 Flutter와 네이티브 간에 기능을 확장하거나 네이티브 API를 활용할 수 있습니다.1. MethodChannel이란?MethodChannel은 Flutter와 네이티브 플랫폼 간에 메서드 호출과 결과를 전달하는 채널입니다.Flutter에서는 MethodChannel을 사용하여 네이티브 코드에 메서드를 호출하거나 네이티브 코드에서 결과를 Flutter로 반환할 수 있습니다.2. ..

개발/Android 2025.03.10

[Flutter] 상태관리 라이브러리 - Riverpod

Riverpod 개요Riverpod는 기존 Provider 패키지의 한계를 보완하여 더욱 유연하고 안정적인 상태 관리를 제공하는 라이브러리이다.컴파일 타임에 오류를 감지할 수 있어, 개발 중 발생할 수 있는 실수를 줄일 수 있으며, 반응형 패러다임을 기반으로 한다.특징Riverpod는 다음과 같은 핵심 개념을 기반으로 동작한다.Providers: 데이터의 원본을 선언하는 역할을 한다.Consumers: Provider를 구독하여 데이터의 변경 사항에 따라 UI를 재구성한다.Notifiers: Provider의 상태를 업데이트하는 역할을 한다.또한, 내부적으로 스트림을 활용하여 Provider의 상태 변화가 발생하면 자동으로 Consumer가 업데이트된다.기존 Provider보다 타입 안정성이 향상되었으며..

개발/Android 2025.02.20

[CS] Java 기초 (배열)

배열 ◼︎ 선언 방법 (1)자료형[] 변수명 = new 자료형[크기]; int[] numbers = new int[5];String[] names = new String[3]; ◼︎ 선언 방법 (2)자료형 변수명 [] = new 자료형[크기]; int numbers[] = new int[5];String names[] = new String[3]; ◼︎ 선언 방법 (3)자료형[]  변수명 = new 자료형[]{값1, 값2,...};int[] numbers = new int[]{1,2,3,4,5};String[] names = new String[]{"A","B","C"};자료형[]  변수명 = {값1, 값2,...};int[] numbers = {1,2,3,4,5};String[] names = {"A"..

CS 2025.02.14

[CS] Java 기초 (형 변환, 문자열 기능)

형 변환(자료형) 변수명 or 값;int score = 93;float score_f = (float)score;double score_d = (double)93;이때 (float) 과 (double)은 생략이 가능한데, 이를 묵시적 형 변환(=자동 형 변환)이라고 한다.즉, int ➝ long ➝ float ➝ double 처럼 데이터 크기가 작은 것을 보다 더 큰 것으로 변환하는 것은 생략 가능하다. 반대로, 명시적 형 변환은 double ➝ float ➝ long ➝ int 처럼 데이터 크기가 큰 것을 보다 작은 것으로 변환하는 것이므로 이 과정에서는 데이터의 손실이 발생할 수 있으므로 변화하려는 자료형을 생략할 수 없다. 문자열 기능String s = "I like Java" ;기능설명 예시결과l..

CS 2025.02.14

[CS] 소프트웨어 설계 -소프트웨어 아키텍처 패턴

◼︎ 소프트웨어 아키텍처 패턴 유형계층화 패턴(Layered Pattern)시스템을 계층으로 구분하여 구성각 하위 모듈들은 특정한 수준의 추상화를 제공, 각 계층은 다음 상위 계층에서 서비스를 제공서로 마주 보는 두 개의 계층 사이에서만 상호 작용이 이루어짐대표적으로 OSI 참조모델이 있음클라이언트-서버 패턴(Client-Server Pattern)하나의 서버 & 다수의 클라이언트로 구성사용자가 클라이언트 통해 서버에 서비스 제공서버는 클라이언트에게 서비스를 제공서버는 계속 클라이언트로부터 요청을 대기파이프 - 필터 패턴(Pipe-Filter Pattern)데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 단방향 패턴데이터 스트림 : 데이터가 송/수신 되거나 시간의 흐름에 따라 연속적으로 생성되고..

CS 2025.01.21

[CS] 소프트웨어 설계 - 분석 모델 확인(모델링/분석 자동화)

(1) 모델링 기법◼︎ 모델 모델은 객체, 시스템, 개념에 대한 구조나 작업을 보여주기 위한 패턴이다.이는 개발 대상을 추상화하고 기호나 그림 등으로 시각적으로 표현한다. 모델 특징SW에 대한 이해도 향상, 이해 당사자 간의 의사소통 향상문제 상황에 대한 이해도 높이고 해결책 설명향후 개발될 시스템에 대한 유추 가능개념 모델은 문제 도메인의 엔터티 들과 관계 및 종속성을 반영◼︎ 모델링: 모델링은 실세계의 물리현상을 특정한 목적에 대응하여 이용하기 쉬운 형식으로 표현하는 기법이다. 모델링 특징여러 분야의 엔지니어들이 공통된 개념을 공유하는 데 도움을 줌개발팀이 응용문제를 이해하는 데 도움을 줄 수 있음모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 있음절차적인 프로그램을 위한 자료 흐름도는 프로..

CS 2025.01.20

[CS] 소프트웨어 설계 - 애자일 방법론

애자일 방법론이란?소프트웨어 개바방법론의 하나로서 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법이다. ◼︎ 애자일 방법론 등장 배경소프트웨어 개발 환경의 변화기존 개발방법론의 한계◼︎ 애자일 방법론 특징프로젝트 요구사항은 기능 중심으로 정의한다.절차와 도구보다 개인과 소통을 중요하게 생각한다.작업 계획을 짧게 세워 요구 변화에 유연/신속하게 대응할 수 있다.소프트웨어가 잘 실행되는 데 가치를 둔다.고객과 피드백 중요하게 생각한다.◼︎ 애자일 선언문 **애자일 방법론을 실천하기 위한 주요 원칙공정과 도구보다 개인과 상호 작용계획을 따르기보단 변화에 대응하기포괄적인 문서보다는 동작하는 소프트웨어계약 협상보다 고객과의 협력◼︎ 애자일 방법론 유형XP, 린(Lean), 스크럼(SCRUM)① XP(e..

CS 2025.01.19

[CS] 소프트웨어 설계 - UML 다이어그램(시퀀스/상태)

③ 시퀀스 다이어그램시퀀스 다이어그램은 객체 간 상호 작용을 메시지 흐름으로 표현한 다이어그램이다. ◼︎ 시퀀스 다이어그램 구성요소구성요소 5가지객체 (object)객체는 위쪽에 표시되며 아래로 생명선을 가짐객체는 사각형 안에 밑출 친 이름으로 명시생명선 (Lifeline)객체로부터 뻗어 나가는 점선실제 시간이 흐름에 따라 객체의 생명주기 동안 발생하는 이벤트를 명시실행 (Activation)직사각형은 오퍼레이션(함수)이 실행되는 시간을 의미직사각형이 길어질수록 오퍼레이션 수행 시간이 긺메시지 (Message)객체 간의 상호 작용은 메시지 교환으로 이루어짐한 객체에서 다른 객체로의 메시지를 전달하여 전달받은 객체의 오퍼레이션을 수행 회귀 메시지 (Self-Message)같은 객체에 대한 함수(메서드)를 ..

CS 2025.01.19

[CS] 소프트웨어 설계 - UML 다이어그램(클래스/유스케이스)

① 클래스 다이어그램클래스 다이어그램은 객체 지향 모델링 간 시클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램이다.즉, 클래스 간의 관계와클래스의 속성을 표현한다. ◼︎ 클래스 다이어그램 구성 요소구성 요소 4가지 이름속성연산접근 제어자구성요소설명클래스 이름 (Class Name)- 클래스의 이름속성 (Attribute)- 클래스의 특징에 이름을 부여연산 (Operation)- 클래스에 속하는 객체에 적용될 메서드를 정의- 클래스가 수행하는 책임- 클래스의 동작을 의미하여, UML에서는 동작에 대한 인터페이스를 지칭접근 제어자 (Access Modifier)클래스에 접근할 수있는 정도를 표현- : 클래스 내부 접근만 허용 (private)+ : 클래스 외부 접근을 혀용 (public)..

CS 2025.01.19