본문 바로가기

전체 글

(67)
[Flutter 기초] InheritedWidget 보호되어 있는 글입니다.
[Flutter 기초] StatefulWidget 보호되어 있는 글입니다.
[Flutter 기초] 상태 이해하기 보호되어 있는 글입니다.
[Swift 공부] Swift에서 옵셔널(Optional)이란 무엇이며, 언제 사용해야 하나요? 옵셔널(Optional)은 Swift에서 '값이 있을 수도 없을 수도 있는 상황'을 안전하게 처리하기 위해 도입된 데이터 타입으로, 내부적으로 열거형(enum)으로 구성되어 있습니다. 옵셔널은 .none(값이 없는 상태)과 .some(Value)(값이 있는 상태) 두 가지 케이스로 나뉘는데, 이러한 구조 덕분에 "nil이 될 가능성"을 코드 차원에서 명확히 표현할 수 있습니다. 이를 통해 런타임 오류를 예방하고 Swift의 타입 안정성을 높일 수 있습니다. 옵셔널을 사용하는 상황은 크게 두 가지로 요약할 수 있습니다. 첫 번째로, 외부에서 받은 값이나 형 변환의 결과물처럼 값의 존재 여부가 불투명한 데이터를 처리해야 할 때이고, 두 번째로 명시적으로 nil 상태를 표현해야 할 때입니다. 예를 들어 네트워..
[Flutter 기초] StatefulWidget 플러터는 화면에 보여지는 요소를 클래스로  표현되하며 이를 위젯이라 부릅니다.UI를 표현하는 위젯은 StatelessWidget과 StateFulWidget 두가지가 존재합니다. Widget Immutabililty위젯은 불변(Immutable) 법칙을 따릅니다. 따라서 Widget이 화면에 UI를 그릴 때 기존 UI를 메모리에서 지우고, 새롭게 UI를 메모리에 생성하여 변경된 요소를 반영하여 UI를 그려줍니다. Flutter에서 이렇게 실행되기 위해선 항상 build() 함수가 호출되야 합니다. 이 build() 함수를 호출하기 위해선 StatefulWidget 정의 시 State 클래스를 정의하여 내부적으로 setState() 메서드를 호출해주어야 합니다.
[Flutter 기초] Semantic Versioning Semantic VersioningSementic Versioning은 소프트웨어 버전 관리의 표준화된 규칙입니다. 기본적으로 아래와 같이 구성되어 있습니다. [MAJOR].[MINOR].[PATCH]Major 버전: 하위 호환성을 깨뜨리는 중요한 변경이 있을 때 올립니다. 주로 기존 API의 변경이나 기능의 큰 변화를 의미합니다.Minor 버전: 하위 호환성을 유지하면서 기능이 추가될 때 올립니다. 주로 새로운 기능이 소개되지만, 기존 코드에 영향을 주지 않는 변경 사항입니다.Patch 버전: 하위 호환성을 유지하면서 기조 기능의 버그를 수정할 때 올립니다. 새로운 기능이나 API 변경 없이 오로지 버그 수정 관련 업데이입니다.또한, '^'표시를 사용하여 Major 버전 업데이트 외의 모든 버전은 최신..
[회고] 2024년 12월 24일(화) 수행청하 프로젝트커뮤니티 화면 UI 구현커뮤니티 게시글 상세 화면 UI 및 댓글 입력 기능 구현공부PinLayout와 FlexLayout으로 애니메이션 구현 시 주의점 레이아웃 업데이트 시, 자동으로 유지되는 AutoLayout과는 달리 처음 설정했던 레이아웃 설정을 그대로 재작성하고 변경할 부분만 새로 추가해서 업데이트 해주어야 화면에 반영된다.만족PinLayout와 FlexLayout 만으로 스크롤 애니메이션과 키보드 표시여부에 따른 댓글 입력창 위치 변경 애니메이션 구현은 상당히 까다로웠지만 그만큼 PinLayout와 FlexLayout의 숙련도가 증가함아쉬움X개선점X느낀점PinLayout와 FlexLayout이 UI를 그리는 매커니즘을 좀 더 탐구해보자! [회고 구조]1. 수행: 오늘 하루 동안 ..
[Flutter 기초] YAML Structure YAML은 사람이 쉽게 읽고 쓸 수 있는 데이터 직렬화 언어이다.주로 설정 파일이나 데이터 전송 형식으로 사요되며 들여쓰기를 통해 계층 구조를 표현한다.// Key/Value Pair/// JSON{ 'name': 'Code Factory', 'age': 32, 'gender': 'Male'}/// YAMLname: Code Factoryage: 32gender: Male// List/// JSON{ 'ive_members': [ 'YuJin', 'WonYoung', 'Rei', 'GaiEul', 'ESeo' ]}/// YAML, 두칸 들여쓰기ive_members: - YuJin - WonYoung - Rei - GaEul - ESe..