분류 전체보기 76

[iOS] Open API 기반 앱 개발 4

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성되었습니다. 📌 Root View ControllerRoot View Controller 는 UIWindow 의 가장 첫 번째, 최상위 뷰 컨트롤러입니다.앱이 실행될 때 처음 사용자에게 보여지는 메인 뷰 컨트롤러입니다UINavigationController, UITabBarController 와 같은 컨테이너 뷰 컨트롤러가 주로 루트로 사용됩니다. 📌 Action Segue와 Manual Segue버튼, 셀 등 스토리 보드에서 직접 연결하는 Segue 를 Action Seuge 라 하고, 코드로 직접 호출해서 트리ㄱ하는 것을 Manual Segue 라고 합니다. 이의 차이점에 대해 설명해 보겠습니다.항목Aciton SegueMa..

iOS 2025.05.21

[iOS]Open API 기반 앱 개발 3

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성되었습니다.📌 JSON Decoderfunc decode(_ type: T.Type, from data: Data) throws -> T where T : Decodable JSON데이터를 원하는 데이터 타입으로 변환JSON객체에서 데이터 타입의 인스턴스를 디코딩where T : Decodable 이 메서드는 Decodable 프로토콜을 준수하는 타입을 대상으로 합니다. 📌 iOS 에서 AutoLayout화면 크기가 각기 다른 iOS 기기(아이폰, 아이패드 등)에서 UI(버튼, 레이블 등)가 잘 보이도록 위치와 크기를‘조건’으로 지정해주는 레이아웃 시스템입니다.이의 장점으로는 쉽고 직관적이며 입문자에게 적합하지만 복잡한 레이아웃..

iOS 2025.05.21

[iOS] Open API 기반 iOS 앱 개발 2

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.저번 포스팅에 이어서, 계속해서 영화 관련 앱을 하나 만들어 보겠습니다. 이렇게 에러가 나는 이유는 무엇일까요?클로저의 특성입니다. 이는 slef 를 통해 정확한 명시를 해 주어야 합니다.의도를 명확하게 하기 위하여, 명시적으로 나타내 주게 된다면 클로저가 인스턴스를 캡처한다는 사실을 개발자에게 알릴 수 있습니다.즉, 이런 식으로 만들어 줍니다.self.movieData = decodedData이런 식으로 한 번만 출력되도록, func numberOfSections(in tableView: UITableView) -> Int { return 1 }}리턴 1 로 수정해 주었습니다. 다음으로는 상수로 ..

iOS 2025.05.14

[iOS] Open API 기반 iOS 앱 개발 1

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.이번 포스트에서는 Open API 를 기반으로 하는 iOS 앱 개발을 해 보겠습니다.영화 진흥 위원회의 API 를 가지고 만들 예정입니다.먼저, 저는 영진위 사이트에서 고유의 키를 발급하여, 진행하였습니다. shift + cmd + l 을 눌러 tableView 를 먼저 추가해 주겠습니다.view 에 Table View 를 추가해 준 뒤, label 등 다양한 것들을 이용해 UI 를 구성해 주었습니다. 그 후, Outlet 지정을 해 주었습니다.@IBOutlet weak var table: UITableView! 다음으로는 새로운 파일을 하나 만들어 주겠습니다. 이렇게 코코아 파일을 추가해 주고, MyTableViewCe..

iOS 2025.05.14

[iOS] RESTful API

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.📌 Restful먼저, Restful 에 대해 알아 보기 전 REST 에 대해 간단히 설명해 보고 시작하겠습니다.REST 는 HTTP 기반의 소프트웨어 아키텍처 스타일입니다. 이는 웹에서 정보를 주고 받는 방법입니다.즉, 웹에서 컴퓨터들이 데이터를 주고 받는 규칙이라고도 합니다.REST 의 특징으로는 세 가지로 정리해 볼 수 있습니다.리소스 (resource)주소 (URL, URI)행동 (HTTP 메서드)리소스는 인터넷에 존재하는 모든 정보를 의미합니다. 회원이나 게시글 같은 것들이 될 수 있습니다.주소는 리소스마다 부여되는 것입니다. 예를 들면, https://dbsc0f1a.tistory.com/ 이런 식으로 저의 ..

iOS 2025.05.06

[iOS] 클래스 열거형 구조체

더보기더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.먼저, 열거형에 대해 알아 보겠습니다.나열할 때 사용하는 자료형입니다. 미리 정ㄹ해진 값들의 집합을 하나의 타입으로 정의하는 것입니다. 📦 쉽게 예를 들어보면:커피 종류: 아메리카노, 라떼, 카푸치노이러한 코드를 작성해 본다면, 열거형으로 이렇게 나타낼 수 있습니다.enum CoffeeType { case americano case latte case cappuccino}이렇게 Swift 로 나타낼 수 있습니다. 그렇다면 이러한 열거형은 Swift 내에서만 사용이 될까요? 🔷 enum을 지원하는 주요 프로그래밍 언어 목록다음 언어들은 enum(열거형)을 기본적으로 문법 차원에서 지원하거나, 라이브..

iOS 2025.04.16

[iOS] 옵셔널 체이닝 Error_Handling Generic Array

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.오늘은 옵셔널 체이닝에 대해 먼저 예시를 들어 알아 보며, 작성을 시작해 보겠습니다. ✔️ 옵셔널 체이닝JavaScript에서 객체나 배열의 특정 속성 또는 메서드에 접근할 때, 해당 값이 `null` 또는 `undefined`인지 확인하지 않고도 안전하게 접근할 수 있도록 도와주는 문법입니다. 옵셔널 체이닝 연산자는 `?.`로 표시됩니다.쉽게 설명해 보자면, "만약 이 값이 존재하면 그 다음 속성에 접근하고, 그렇지 않으면 에러를 내지 않고 `undefined`를 반환해!“라는 역할을 합니다. 이제 Swift 옵셔널 개념 실습 코드를 간단히 올리며, 설명해 보겠습니다.일단 옵셔널은 값이 있을 수도 없을 수도 있는 타입입..

iOS 2025.04.09

[Flutter] 캘린더 디데이 기능 구현하기

더보기진행하고 있는 팀 프로젝트에서 사용했던 컴포넌트에 대해 기록한 포스트입니다.✔️ 들어가며,저번 포스트에서 캘린더 UI 및 일정 추가 기능을 구현한 코드를 포스트 하였습니다.이번에는 캘린더 마지막으로 특정한 날짜로부터 디데이를 설정하여 표시해 보겠습니다! ✔️ 구현해 보기 및 코드 설명! 먼저, 컨트롤러 코드입니다.import 'package:get/get.dart';class YcrCalenderController extends GetxController { var focusedDate = DateTime.now().obs; var daysToChristmas = 0.obs; @override void onInit() { super.onInit(); calculateDaysToCh..

Flutter 2025.04.05

[iOS] Table View

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.오늘은 먼저 Table View 에 대해 간단히 포스팅해 보겠습니다.Table View 는 하나의 부모에 두 개의 프로토콜을 사용합니다. 프로토콜은 Delegate 와 DataSource 로 끝납니다.이 두 가지 프로토콜은 상속을 받는 것이 아닌 채택을 합니다. 실전에서 사용해 보겠습니다.먼저 Xcode 에서 TableView 를 추가해 주겠습니다.Table View Controller Scene 을 추가해 주면,자동으로 Table View 와 Table View Cell 이 추가되어 있습니다. 이제 Table View Controller Scene 을 삭제한 뒤,View Controller Scene 에 Table Vi..

iOS 2025.04.02

[Flutter] 캘린더에 일정 추가 기능 구현하기

더보기이 포스트는 진행하는 프로젝트에서 사용한 컴포넌트를 기록하였습니다.✔️ 들어가며,저번 플러터 포스트에서 캘린더 UI 를 구현해 보았으니, 일정을 추가하는 기능을 포함된 코드를 업로드해 보겠습니다.저는 먼저 간단하게 바텀 시트에 플러스 아이콘을 추가해 준 뒤, 아이콘을 누르면 일정을 추가할 수 있는 시트가 올라와서 일정을 올릴 수 있도록 코드를 구현해 보았습니다. ✔️ 구현해 보며, 간단한 코드 설명!먼저, 일정을 추가하는 바텀 시트의 UI 전체 코드입니다.class YcrEventBottomSheet extends StatelessWidget { final YcrCalenderController controller = Get.find(); final TextEditingController eve..

Flutter 2025.03.29