Tip-Calculator (1)
이제는 Combine, RxSwift에 대한 이야기도 나와서 슬슬 준비를 해야겠다는 생각이 들어 글을 써본다. 시작 Test를 체크를 해준다. Test 체크를 하는 이유? 소스 코드에서 특정 모듈, 클래스가 개발자가 의도한 대로 정확하게 작동하는지 테스트를 한다. 라이브러리 추가 SPM을 통해 설치를 해주자. 3...
이제는 Combine, RxSwift에 대한 이야기도 나와서 슬슬 준비를 해야겠다는 생각이 들어 글을 써본다. 시작 Test를 체크를 해준다. Test 체크를 하는 이유? 소스 코드에서 특정 모듈, 클래스가 개발자가 의도한 대로 정확하게 작동하는지 테스트를 한다. 라이브러리 추가 SPM을 통해 설치를 해주자. 3...
일주일간의 팀프로젝트가 끝났다. 개인후기는 지난번 글에 적었고, 튜터님의 리뷰를 여기에 적어본다. 후기. 1. 장점 상용되어 있는 서비스처럼 퀄리티적인 측면을 많이 신경쓴 것으로 보임 화면이 엄청 많아서 앱이 풍성해 보였음 리드미 구성을 잘 해두었음. 2. 보완할 점 및 수정내용 1. 싱글톤 패턴 단순히 활용하고 끝이 아니라,...
최종점검 이것저것 테스트를하며 혹시나 생각하지 못했던 예외상황이 없는지 확인을 해보았다. 아니나 다를까 예외 상황은 발생했다. 1. 반납할때 코어데이터에 등록이 되지않았던 문제 수정 테스트를 하다가 뭔가 이상해서 보니 반납할때 킥보드의 위치가 그냥 싱글턴 배열에먼 저장이 되고 코어데이터에는 저장이 되지 않는 문제를 확인했다. 우선 반납할때 핀...
관리자 페이지 구현. 사실 이번 프로젝트에서 킥보드 등록 기능이 있는데 지금까지 구현한걸로 보았을때, 너무 유져입장에서 만든 것 같아, 관리자 입장에서도 만들어 본다. 우선 admin 계정일때만 새로 만든 Manage tabbar가 나오게 한다. import UIKit class TabbarViewController: UITabBarContr...
Test용 Dummy Data생성 기능 구현도 막바지 언제까지 계속 버튼으로 테스트용 핀버튼 눌러가며 할수는 없기에 DummyData를 만들어본다. 시뮬레이터를 쓸때 움직이는걸 확인하려면 어쩔수없이 기준을 Apple로 해야하기에 Apple의 위도, 경도를 기반으로 만들어 본다. 우선 간단한 모델링을 해주었다. import Foundation...
프로젝트 4일차다. 점점 눈으로 보이기 시작한다. 어제에 이어, Annotation Pin관련 기능을 구현하는게 가장 중요하므로. 오늘은 이부분을 구현하면 될것같다. AnnotationView의 경우, 우리가 주변에 있는 킥보드를 클릭했을때 간단한 정보 + 대여버튼이 있으면 좋을 것 같아서, 구현하려한다. 자료를 찾던 중 유튜브에 너무 코드 흐...
프로젝트 3일차 각 팀원분들이 올려준걸 머지를 어떻게 하는지 알려주고나니 슬슬 틀이 잡혀지는게 보인다. 약간의 추가기능 느낌이지만, 이부분은 어떻게 보면 나름 필수 기능이라고 생각해서 이부분에 대해 작성을 해보려 한다. 현재위치에서 가장 가까운 Marker와의 거리를 구하는 로직 구현. let pins = mapView.annotations le...
Kakao Map API V2를 사용하려 했으나, Docs대로 구현 하던 중 메서드가 먹히지 않아 searchBar에 대한 부분만 해보려 한다. 우선 검색을 했을때 해당 주소의 지역의 값을 가져오게 하려고 한다. searchBar 기능 구현 extension ViewController: UISearchBarDelegate { f...
일주일간 새로운 팀프로젝트가 시작된다. 이번엔 좀 더 다양한 기능을 사용할 수 있게된 프로젝트이다. 이번에 내가 기본기능에서 담당하는건, 반납 기능이다. 반납을할때 pin을 꽂으면 될 듯 하다. 그리고 대여값에 있던 내용을 지워주면 되기에 해당기능은 얼추 진행이 되었을 때 연결하면 될 듯하다. 테스트용 지도 구현. 우선 빈프로젝트에 해당 기...
playground를 통한 자연어 처리 Model 생성 우선 Dataset을 하나 가져온다. 내용은 다음과 같다. 여기서 playground로 만들어 주자. import Cocoa import CreateML let data = try MLDataTable(contentsOf: URL(fileURLWithPath: "")) Dat...