본문 바로가기

분류 전체보기159

Langchain 맛보기! 0. 강의한시간으로 끝내는 LangChain 기본기 (인프런)여기저기서 등장하는 LangChain이라는게 도대체 뭔지 궁금해서 들어봤다.1. 정리https://www.notion.so/LangChain-3321f930e278802ba470e6da36a59d07?source=copy_link 한시간 LangChain 기본기 | Notion1. 로컬에서 돌리는 LLM(Ollama 등)은 오픈소스다.www.notion.soLLM의 동작 방식이라던가, 오픈 모델을 사용해서 어떤식으로 활용하면 되는지 알게 되었다.Chain이라는 네이밍처럼 "연결"이 핵심이다.2. 마무리기회가 된다면 특정 도메인에 직접 오픈모델을 사용해서 챗봇이나 전용 LLM 서비스를 사용하게끔 만들어봐야겠다. 2026. 4. 1.
9. 탭 뷰 만들기 0. 이전 -> 추가 될 기능화면 1개(목록만) -> 3개 탭 (목록/오늘/캘린더)탭 간 데이터 연동모든 기능이 한 곳에 -> 역할별로 분리1. TabView앱 하단에 탭 바 생성각 탭에 다른 화면 표시탭 하면 화면 전환카카오톡, 인스타처럼TabView { EventListView( events: $events) .tabItem { Label("목록", systemImage: "list.bullet") } TodayView( events: $events) .tabItem { Label("오늘", systemImage: .. 2026. 3. 20.
8. 검색과 그룹별 0. 이전 -> 추가 될 기능검색 기능 없음 -> 제목 + 메모 실시간 검색일정이 쭉 나열 -> 날짜별 그룹화스크롤로 찾기 -> 검색 + 필터 + 그룹1. 검색 줄 .searchable네비게이션 바에 검색 바 자동 추가입력하면 실시간으로 필터링제목 + 메모에서 동시 검색필터 / 정렬과 함께 동작.searchable( text: $searchText)var searched: [Event] { if searchText.isEmpty { return filtered } return filtered.filter { $0.title .localizedCaseInsensitive Contains(searchText) // 대소문자 무시 .. 2026. 3. 20.
7. 기간 필터와 정렬 0. 이전 -> 현재카테고리만 필터링 -> 기간도 필터링추가한 순서대로 표시 -> 원하는 순서로 정렬단일 필터 -> 필터 조합(기간 + 카테고리)1. 날짜 계산기 Calendar오늘이 며칠인지 계산이번 주의 시작/끝 계산이번 달의 범위 계산날짜 비교(과거/미래)let cal = Calendar.currentlet today = cal.startOfDay( for: Date())// 이번 주 시작let weekStart = cal.dateInterval( of: .weekOfYear, for: today)?. start// 이번 달 시작let monthStart = cal.dateInterval( of: .month, for: today)?.startstartOfDay: 시간을 00:00:00으.. 2026. 3. 20.
6. 필터 추가해보기 (카테고리 필터링) 0. 이전 -> 추가할 것모든 일정이 다 보임 -> 원하는 것만 보기(필터링)일정 찾으려면 스크롤 -> 한 번에 필터1. 조건에 맞는 것만 고르기 .filter배열에서 조건에 맞는 것만 골라내기원본 배열은 변하지 않음!새로운 배열을 만들어서 반환$0 = filter 안에서 각 항목을 가리킴// 전체 일정let allEvents = [회의, 운동, 치과, 독서]// 업무만 필터링let workOnly = allEvents.filter { $0.category == .work}// -> [회의]// $0 = "이 일정"// $0.category = "이 일정의 카테고리"// == .work = "업무인가?"// -> true면 포함, false면 제외.filter는 원본을 안 바꿈 -> 새 배열 반환$0은 .. 2026. 3. 20.
5. 카테고리와 알림 0. 이전일정에 관련된 CRUD 완성모든 일정이 똑같이 보임 -> 카테고리별로 색상 구분일정만 저장 -> 알림 시간도 저장1. 카테고리에 사용될 enum 정해진 것만 선택 가능카테고리, 우선순위, 상태 등에 사용현재 앱에는 업무/개인/약속/기타enum EventCategory: String CaseIterable { case work = "업무" case personal = "개인" ... var color: Color { switch self { case .work: return .blue case .personal: return .green ... } }}rawValue: enum의 실제 값 .. 2026. 3. 20.
4. 삭제와 수정 추가 (CRUD 완성해보기) 0. 이전일정을 새롭게 추가할 수 있었다.제목을 쓰지 않으면 저장 불가오늘은 일정을 삭제 or 수정할 수 있게 기능을 추가해보자.1. 스와이프 삭제 .onDelete목록에서 왼쪽으로 밀면 삭제 버튼 등장일정을 밀어서 삭제ForEach(events) { event in // 일정 표시}.onDelete { indexSet in events.remove( atOffsets: indexSet )}// indexSet = "몇 번째를 지울지"// remove(atOffsets:) = 배열에서 제거.onDelete는 ForEach 바로 뒤에 붙여야 동작indexSet = 삭제할 항목의 위치(번호) 정보삭제하면 배열에서 완정히 사라짐(복구 불가)2. 수정 화면 만들기추가와 수정은 같은 폼수정의 경우 기존 데.. 2026. 3. 20.
3. 직접 새 일정 추가하기 0. 이전고정된 일정 수이번에 '+' 아이콘을 사용해 일정을 추가할 수 있는 기능을 만들어보자1. .toolbar = 상단 버튼 영역앱 상단에 버튼을 배치하는 영역캘린더 앱의 '+'버튼 처럼우리도 상단 오른쪽에 배치할 예정.toolbar { ToolbarItem(placement: .navigationBarTrailing) { Button { showingAddEbent = true } label: { Image(systemName: "plus") }}.toolbar는 NavigationStack 안에서만 동작placement: .navigationBarTrailing = 오른쪽 상당 배치버튼 탭 -> showingAddEvent = true ->.. 2026. 3. 20.
2. 상세화면 만들기 1. NavigationLink화면 이동 버튼카톡에서 채팅방 탭 -> 대화화면인스타에서 사진 탭 -> 상세 화면포인트- NavigationLink는 "탭하면 이 화면으로 가라!"는 명령- 뒤로가기 버튼은 NavigationStack이 자동으로 만들어줌2. EventDetailView 만들기SwiftUI에서 새 화면 == 새 struct새 화면이란?Day1에서 만든 일정 목록 화면오늘 만들 일정 상세 화면둘 다 같은 구조지만 다른 내용이다!3. 화면 사이 데이터 전달목록에서 선택한 일정을 상세 화면에 넘기는 방법목록 화면 -> (같은 내용 가지고 이동) -> 상세 화면// 목록에서 보내는쪽NavigationLink { EventDetailView(event: event) // .. 2026. 3. 20.
728x90
반응형