2025/04 33

42. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (4)

🧑‍💻 숙련 주차 팀 프로젝트오늘은 팀프로젝트 4일차이다.오늘 구현할 내용은 마커 등록이다. 마커를 등록하기 위해서는 CoreData를 사용해서 위도와 경도 값을 디바이스에 저장하고저장된 위도와 경도 값을 불러와서 마커로 표시해주면 된다. 추가로 gps 버튼을 누르면 현재 위치로 지도를 이동하게 하는 것도 구현하였다.그리고 지도를 마우스로 선택하면 위도와 경도를 받아와서 textView에 표시하고 등록하는 것도 구현하였다. 🗺️ 지도의 기본 위치 값 변경하기네이버 Map API를 이용하여 지도를 표시할 때아무런 설정을 해주지 않으면 기본적으로 네이버 본사가 위치한 판교 정자역 근처 중심으로 지도가 표시된다. 나는 지도의 기본 위치를 홍대입구역으로 바꾸기 위해 코드를 추가 작성하였다.lazy var..

41. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (3)

🧑‍💻 숙련 주차 팀 프로젝트오늘은 팀 프로젝트 3일 차이다.오늘 구현할 내용으로는 AddViewController에 Kakao map API를 사용하여 지도 띄워보기,킥보드 등록 로직 구현이다. ⚠️ Kakao MAP API먼저 카카오 맵 API를 사용하기 위해서는 준비 과정이 필요하다. 카카오계정 accounts.kakao.com [ 1. kakao developers에서 애플리케이션 추가하기 ] 아래 부분에 앱 이름, 회사명, 카테고리를 선택하고 저장을 눌러준다.앱 아이콘은 생략 가능하다. [ 2. 애플리케이션 선택 → 앱설정 → 플랫폼에서 번들 ID 등록하기 ] - 내 프로젝트의 번들 ID는 Xcode내 General → Identity에서 확인할 수 있다. [ 3. Xcode에 앱..

40. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (2)

🧑‍💻 숙련 주차 팀 프로젝트오늘은 팀 프로젝트 2일 차이다.오늘의 작업 내용은 킥보드 등록 페이지의 UI를 구현하고,지도 API 관련 자료를 찾아보며 공부하는 것이다. 우리 팀은 회의를 통해 Kakao API를 사용하기로 했다.나는 먼저 지도를 구현해 보기 전에 UI를 먼저 작업하기로 했다. 추가로 튜터님께 SA 피드백을 받고 사용자 상호작용에 관련된 와이어 프레임을 추가로 작성하고 폰트를 추가했다. 🔠 Font 추가우리 팀에서 추가한 폰트는 네이버 폰트 중 하나인 나눔스퀘어 네오이다. 네이버 글꼴 모음네이버가 만든 150여종의 글꼴을 한번에 만나보세요hangeul.naver.com [ 프로젝트에 폰트 추가하기 ]1. 프로젝트에 폰트 추가하기 2. Info.plist에 폰트 등록하기 3. ..

39. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (1)

🧑‍💻 숙련 주차 팀 프로젝트오늘(4월 25일)부터 5월 2일까지 팀 프로젝트를 진행한다.API를 사용해서 네트워크 통신을 하고 데이터를 저장하고 사용하는 프로젝트를 진행한다. 주제는 2가지 중 팀별 회의를 통해 1가지를 선택하게 된다.킥보드 예약 앱과 영화 예매 앱 중에 우리 팀은 지도 API를 사용하는 킥보드 예약 앱을 만들어 보기로 결정했다. 오늘 진행한 내용은 와이어 프레임 제작, 역할 분담, 마일스톤 설정, 컬러 코드 설정 등등 프로젝트 진행 초반에수행해야 하는 것을 하였다. 팀 프로젝트의 앱 이름은 Swift이다.Swift는 형용사로 빠른 이라는 뜻을 가지고 있는데우리가 현재 배우고 있는 Swift와 킥보드의 빠른 속도를 연관 지어서 이름을 지어봤다. 📱 와이어 프레임 Figma로 ..

25. 스파르타 코딩 클럽 - 4월 25일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 배열 뒤집기정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return 하도록 solution 함수를 완성해 주세요.나의 정답 코드import Foundationfunc solution(_ num_list:[Int]) -> [Int] { var result = [Int]() for i in num_list.reversed() { result.append(i) } return result} ✓ TIL오늘은 오전 알고리즘 시간에..

24. 스파르타 코딩 클럽 - 4월 24일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 가장 가까운 같은 글자문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다.예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다.b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다..

38. 스파르타 코딩 클럽 - 포켓몬 연락처 앱 만들기 (5)

🧑‍💻 오늘까지 진행한 요구사항 [ ContactsViewController.swift ]// CoreData 데이터 수정하기func updateData(currentName: String, updateName: String, currentPhoneNumber: String, updatePhoneNumber: String, currentImgaeUrl: String, updateImageUrl: String) { // 수정할 데이터를 찾기 위한 fetch request 생성 let fetchRequest = Contacts.fetchRequest() fetchRequest.predicate = NSPredicate(format: "name == %@", currentName) // 예..

23. 스파르타 코딩 클럽 - 4월 23일 코딩테스트 연습 (코드카타)

❓ 오늘의 문제1. 잘라서 배열로 저장하기문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해 주세요.나의 정답 코드import Foundationfunc solution(_ my_str:String, _ n:Int) -> [String] { var result = [String]() var i = 0 while i ✓ TIL오랜만에 알고리즘 문제를 풀었다...오늘의 문제는 잘라서 배열로 저장하기이다. 배열이 주어지고 int 값 n 이 주어질 때배열을 n씩 잘라서 저장하고 출력하는 문제이다. 나는 이 문제를 해결하기 위해서 my_str[0:5] 처럼 시작점부터 끝점까지 result 배열 변수에 따..

37. 스파르타 코딩 클럽 - 포켓몬 연락처 앱 만들기 (4)

🧑‍💻 오늘까지 진행한 요구사항 이름순으로 정렬되게 하려면테이블 뷰에 들어가는 배열을 정렬해야 한다. 배열을 정렬하는 방법은 생각보다 간단하다.예를 들어 Person 이라는 구조체를 가진 배열 people가 있다면struct Person { var name: String var age: Int}var people = [ Person(name: "마리오", age: 28), Person(name: "루이지", age: 27), Person(name: "동키콩", age: 26), Person(name: "데이지", age: 25)] 이 people 배열을 정렬하는 방법은 sorted 함수를 사용한다let sortedPeople = people.sorted { $0.nam..

36. 스파르타 코딩 클럽 - 포켓몬 연락처 앱 만들기 (3)

🧑‍💻 오늘까지 진행한 요구사항 디스크에 사용자가 입력한 정보를 실제로 저장하기 [ Contacts+CoreDataClass]import Foundationimport CoreData@objc(Contacts)public class Contacts: NSManagedObject { public static let className = "Contacts" public enum Key { static let name = "name" static let phoneNumber = "phoneNumber" static let imageUrl = "imageUrl" }} [ Contacts+CoreDataProperties]import Foundationim..