본문 바로가기
728x90
반응형

분류 전체보기296

[Flutter00]플러터 기본기 다지기2 home: Scaffold( appBar: AppBar(title: const Text('FunCoding')),),나만의 Flutter 위젯 분류위젯들을 이해하고 활용하는 것이 Flutter 개발의 핵심입니다.위젯의 종류Flutter는 풍부한 UI 위젯을 제공합니다. 자세한 내용은 공식 문서에서 확인할 수 있습니다.위젯들을 이해하기 쉽게 직접 나누어 봅시다(공식적인 분류는 아직 존재하지 않는 것 같음)1. 플랫폼별 위젯Material (Android) 위젯Google의 Material Design 가이드라인을 따르는 위젯들입니다.Cupertino (iOS) 위젯Apple의 Human Interface Guidelines를 기반으로 한 iOS 스타일 위젯들입니다.대부분의 경우 Material 위젯을 사.. 2025. 1. 8.
[Flutter00] 플러터의 기본개념 다지기1 "Everything is a Widget" — Flutter의 핵심 철학Flutter는 위젯 기반의 UI 프레임워크로, 모든 UI 요소를 위젯으로 표현합니다. 이는 개발의 일관성과 효율성을 크게 높여줍니다. 선언적 UI 구성Flutter는 React에서 영감을 받은 선언적 프로그래밍 방식을 채택했습니다. 개발자는 원하는 UI 상태를 직접 선언하며, 프레임워크가 이를 효율적으로 렌더링합니다=> 이것과 반대 : 명령적 UI   명령형 UI어떠한 상태가 되도록 명령한다.ViewA a = ViewA();ViewB b = ViewB();a.setColor(red) // 빨간색이 되어라b.setColor(yello) // 노란색이 되어라a.add(b) // b는 a의 child가 되어라 선언형 UI어떠한 최종 상.. 2025. 1. 8.
[1일1쿼리] 현재 재직중인 Technique Leader 의 월급중 가장 높은 사람의 부서는? ## 현재 재직중인 Technique Leader 의 월급중 가장 높은 사람의 부서는?WITH RankedSalaries AS ( SELECT t.emp_no, t.title, t.from_date, s.salary, m.dept_no, ROW_NUMBER() OVER (ORDER BY s.salary DESC) AS rnk FROM titles AS t JOIN salaries AS s ON s.emp_no = t.emp_no JOIN dept_emp AS m ON m.emp_no = t.emp_no WHERE t.title = 'Technique Leader' AND s.to_date = '9999-01-01')SELECT R.emp_no, R... 2025. 1. 7.
[Flutter 18] Dart에서 추상 클래스와 동적 바인딩 활용 이번 글에서는 Dart에서 추상 클래스와 동적 바인딩을 활용한 객체 지향 설계를 예제로 설명합니다.추상 클래스의 개념부터 동적 바인딩을 사용해 유연하고 확장 가능한 코드를 설계하는 방법까지 살펴보겠습니다.1. 팀장의 요청: 동물의 행동 구현1-1. 초기 설계처음에는 각각의 동물 클래스에 독립적인 메서드를 정의했습니다. 하지만, 물고기(Fish) 클래스에 다른 메서드(hungry())를 사용하면서 일관성이 깨졌습니다. class Dog { void performAction() { print('멍멍 배고파'); }}class Cat { void performAction() { print('야옹 배고파'); }}class Fish { void hungry() { print('뻐금뻐금 .. 2025. 1. 7.
[Flutter 17] Dart Mixin과 Java 관계 개념 정리 Java 객체 간의 관계 개념Java는 단일 상속만 허용합니다.(최상위 클래스인 Object를 제외한 모든 클래스는 하나의 부모 클래스만 상속 가능)1. 연관 관계객체들이 서로 연결된 일반적인 관계를 의미합니다.2. 컴포지션 관계 (Composition)정의:부분-전체 관계 중에서 생명주기가 밀접히 연관된 강한 소유 관계입니다.특징:전체 객체가 소멸되면 부분 객체도 함께 소멸됩니다.의존성이 매우 높습니다.예시:자동차(전체)와 엔진(부분) 관계class Engine { final String type; Engine(this.type); void startEngine() { print('${type} 엔진이 시동됩니다.'); }}class Car { final Engine engine; Ca.. 2025. 1. 7.
[Flutter 15] storeApp 만들기1 1. 프로젝트 생성 2. 필요한 이미지 프로젝트 내에 내장하는 방법     3. 초기코드 작성해보기 import 'package:flutter/material.dart';//코드의 시작점void main() { runApp(MyApp());} //end of main 자동정렬 필요 ( ctrl + alt  + l(엘))  시나리오1 - 초기 코드 작성// 플러터 동작시 반드시 있어야 함import 'package:flutter/material.dart';// 코드의 시작점void main() { // 플러터는 거의 모든 것이 위젯 // 전달된 위젯을 최상위 위젯으로 설정하고 앱을 시작하는 함수이다. runApp(MyApp());}// stl 단축키 활용class MyApp extends State.. 2025. 1. 6.
[1일1쿼리] 현재 재직중인 Technique Leader 의 월급중 가장 높은 사람은? 내가 만든 쿼리 (Query Cost = 144233.44)SELECT t.emp_no, t.title, t.from_date, s.salary FROM titles AS tJOIN salaries AS s ON s.emp_no = t.emp_noWHERE t.title = 'Technique Leader' AND s.to_date = '9999-01-01' ORDER BY s.salary DESC LIMIT 1;  개선 쿼리1. ROW_NUMBER()를 활용한 서브쿼리(queryCost = 3.50)ROW_NUMBER()를 사용하면 정렬된 순서에서 가장 높은 값을 가진 직원만 빠르게 가져올 수 있습니다. 이는 특히 많은 데이터를 .. 2025. 1. 6.
[Flutter 14] Dart의 상속과 다형성 다트(Dart)의 상속과 다형성 정리Dart는 객체지향 언어로, **상속(Inheritance)**과 **다형성(Polymorphism)**을 활용해 객체 간의 관계를 설계할 수 있습니다. 하지만 잘못된 설계는 유지보수성과 확장성을 저하시킬 수 있으므로, 상속과 다형성의 개념과 올바른 사용 방법을 이해하는 것이 중요합니다. 아래에서 이를 자세히 정리하겠습니다.1. 상속(Inheritance)상속은 부모 클래스가 가진 상태(변수)와 행위(메서드)를 자식 클래스가 물려받는 관계를 의미합니다.Dart에서 상속은 extends 키워드를 사용해 구현합니다.부모 클래스가 먼저 생성되고, 그 뒤에 자식 클래스가 생성됩니다.class Burger { String? b_name; Burger() { print(.. 2025. 1. 6.
[Flutter 13] Null 억제 연산자(!) 와 late Dart의 Null 억제 연산자 ! 완벽 정리Dart의 Null Safety 기능은 null로 인해 발생할 수 있는 오류를 방지하는 데 중점을 둡니다. 하지만 때로는 null일 가능성이 있는 값을 개발자가 null이 아님을 보장할 수 있는 상황이 있습니다. 이런 경우 **Null 억제 연산자 !**를 사용하여 null 체크를 생략할 수 있습니다. 아래에서 이 연산자에 대해 자세히 알아보겠습니다. 1. Null 억제 연산자 !란?기능: 변수나 값이 null이 아님을 Dart 컴파일러에게 명시적으로 알리는 연산자.Null Safety에서는 nullable 타입 (String?, int? 등)에 접근할 때 컴파일러가 null 여부를 검사합니다.! 연산자를 사용하면 컴파일러가 null 체크를 강제로 생략하도록 .. 2025. 1. 6.
[Flutter 12] Dart Null Safety 널 세이프티(Null Safety)는 개발자가 널 에러를 피할 수 있도록 도와주는 다트 프로그래밍 언어의 기능입니다.이 기능은 사운드 널 세이프티 인 다트(Sound Null Safety in dart)라고 불리며, 이를 통해 개발자는 코드 작성 시점에 널 에러를 잡을 수 있습니다.1. Null Safety란?Null Safety는 Dart 언어의 기능으로, null로 인해 발생할 수 있는 오류를 방지합니다.Sound Null Safety:Dart 컴파일러가 코드 분석 시, null이 될 수 있는 타입과 null이 될 수 없는 타입을 엄격하게 구분합니다.컴파일 단계에서 null 관련 에러를 확인하므로 런타임 중 발생할 수 있는 Null Pointer Exception을 예방합니다.Sound Null Sa.. 2025. 1. 6.
728x90
반응형