분류 전체보기 (64) 썸네일형 리스트형 [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.. [회고] 2024년 12월 9일(월) 수행청하 프로젝트 구현로그아웃/회원탈퇴/유저 프로필 변경 API Clean Architecture 구조로 수정공부X만족X아쉬움X개선점X느낀점조금 더 속도감 있게 코드를 작성해보자 [회고 구조]1. 수행: 오늘 하루 동안 했던 업무 정리2. 공부: 일을 하면서 인터넷으로 검색해서 알게 된 정보들, 혹은 팀원과 얘기하면서 알게 된 도메인 지식들을 정리3. 만족: 업무를 하면서 좋았던 점4. 아쉬움: 업무를 하면서 아쉬웠던 점5. 개선점: 아쉬움에서 썼던 것을 토대로 다음날 액션을 취할 수 있는 방법들을 작성6. 느낀점: 하루 일과 총평 [회고 노트 시 필수 사항]회고 노트는 반드시 당일에 작성한다. [회고] 2024년 12월 8일(일) 수행청하 프로젝트 구현청년정책 화면에서 정책 필터링 기능 구현싱글톤으로 로컬 저장소를 선언하여 선택된 필터링 요소 데이터 관리공부X만족X아쉬움개인적으로 홈 화면에서는 정책 필터링 요소 데이터 관리를 서버에서 관리하고, 청년정책 화면에서는 정책 필터링 요소 데이터 관리를 로컬에서 별개로 관리하는 것이 비효율적이라 느껴짐개선점추후 팀 회의에 안건으로 상정하여 정책 필터링 요소 데이터를 서버나 로컬에서 통합적으로 관리될 수 있도록 수정할 예정느낀점조금 더 속도감 있게 코드를 작성해보자 [회고 구조]1. 수행: 오늘 하루 동안 했던 업무 정리2. 공부: 일을 하면서 인터넷으로 검색해서 알게 된 정보들, 혹은 팀원과 얘기하면서 알게 된 도메인 지식들을 정리3. 만족: 업무를 하면서 좋았던 점4. 아쉬움: 업무를 .. [회고] 2024년 12월 4일(수) 수행청하 프로젝트 구현청년 정책 API 호출 관련 일부 메서드 파라미터 수정홈 화면에서 필터링 기능 코드 리팩토링홈 화면에서 필터링에 따른 맞춤 정책 갱신 로직 구현공부X만족X아쉬움X개선점X느낀점조금 더 속도감 있게 코드를 작성해보자 [회고 구조]1. 수행: 오늘 하루 동안 했던 업무 정리2. 공부: 일을 하면서 인터넷으로 검색해서 알게 된 정보들, 혹은 팀원과 얘기하면서 알게 된 도메인 지식들을 정리3. 만족: 업무를 하면서 좋았던 점4. 아쉬움: 업무를 하면서 아쉬웠던 점5. 개선점: 아쉬움에서 썼던 것을 토대로 다음날 액션을 취할 수 있는 방법들을 작성6. 느낀점: 하루 일과 총평 [회고 노트 시 필수 사항]회고 노트는 반드시 당일에 작성한다. 이전 1 2 3 4 ··· 8 다음