· 성취/개선/학습한 내용 🏆 오늘은 개발자라면 필수라고 할 수 있는 터미널과 git에 대해 학습을 했다. 터미널은 Shell에 명령을 입력할 수 있는 인터페이스이다. 여기서 shell은 사용자가 커널에 명령을 내릴 수 있는 명령어 해석기의 역할을 하는 것으로 다양한 종류가 있다. 그리고 커널은 운영체제의 core 한 부분으로 하드웨어/입출력/시스템 자원을 관리하는 역할을 한다. ShellKernelGit 명령어pwd(Print Working Directory): 터미널에서 현재 디렉토리 경로 확인cd(Change Directory): 디렉토리 이동할 때 사용하는 명령어ls(List): 현재 디렉토리의디렉터리의 파일과 하위 디렉터리의 리스트 확인mkdir(Make Directory): 디렉토리를 생성하..
· 성취/개선/학습한 내용 🏆 SwiftUI와 Socket IO 라이브러리를 사용해 간단하게 채팅 기능을 구현해 봤다. 보통 채팅 기능은 WebSocket을 통해 실시간으로 상대의 대화를 받아오고 내가 대화를 상대방에게 보낼 때는 API를 통해 보내는 형태로 구현된다고 한다. (물론 아닌 경우도 있다) 간단하게 채팅 프로세스를 채팅방에 진입시에는 DB에서 채팅 내역을 가져온 뒤, 가장 마지막 날짜에 전송된 채팅 날짜를 서버에 요청 후, 새로운 데이터가 있다면 DB에 저장한 뒤 테이블뷰를 갱신한다. 그리고 이 과정이 끝나면 소켓을 연결하는 방식이다. WebSocketSocket IO채팅 기능 구현· 궁금한 내용과 부족한 내용 ⁉️🤔그렇다면 카카오톡 같은 서비스는 어떻게 푸시를 보내는 걸까? FCM ..
· 성취/개선/학습한 내용 🏆 VCS(Version Control System)은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전으로 꺼내올 수 있는 시스템이다. 대표적으로 개발자들이 사용하는 Git이 있다. VCS는 CVCS와 DVCS로 분류할 수 있는데 중앙에서 집중적으로 관리하느냐 코드를 분산하여 관리하느냐에 차이이다. Git은 이중 DVCS라고 할 수 있다. 사실 최근에는 개인 프로젝트 위주로 진행했었고, 애플 디벨로퍼 아카데미에선 Reset이라든지 Revert라든지 Rebase 등을 사용해 볼 기회가 없어서 어떤 기능인지 정확하게 알지 못했다. 이번에 학습을 통해 알게 되었는데 Reset 같은 경우는 특정 과거 시점으로 돌아가고 그 뒤 커밋들의 연결 관계를 다 끊어버리는 기능이고,..
· 성취/개선/학습한 내용 🏆 오늘은 이진 탐색 알고리즘과 Heap 자료구조에 대해 학습을 하였다. 이진 탐색 같은 경우엔 배열의 중간에 있는 임의 값을 기준으로 타깃 값과 비교해서 중간에 있는 임의 값이 타깃 값보다 작으면 우측의 데이터 값들을 대상으로 탐색을 하고, 타깃 값보다 크다면 좌측을 대상으로 탐색하는 탐색 알고리즘이다. 단순히 배열의 index를 0번부터 탐색을 시작하는 것보다 훨씬 시간을 절약할 수 있다. 다만 중요한 점은 데이터가 '정렬'되어 있어야 한다는 조건이 붙는다. 이 조건만 충족한다면 내가 원하는 값을 빠르게 찾을 수 있으며, 구현코드도 간단하다.func binarySearch(_ arr: [T], _ target: T) -> Int? { var left = 0 var r..
· 성취/개선/학습한 내용 🏆 오늘은 Widget에 대해 학습을 하였다. 학습하면서 가장 충격적이었던 부분은 다른 '모듈'이라서 앱과 데이터가 공유되지 않는다는 점이었다. 따라서 이를 해결하기 위해 AppGroup을 통해 앱과 앱 Extension인 위젯을 한 그룹으로 묶어 데이터가 공유될 수 있게 설정을 해줘야 한다는 점이었다. 그 후 UserDefaults(suiteName: )을 통해 데이터를 공유하고, WidgetCenter의 reloadTimelines를 통해 위젯을 업데이트할 수 있다. 그 이유는 위젯이 하루 업데이트 될 수 있는 횟수가 60~70회 정도로 정해져 있는데 업데이트를 해주지 않으면 반영이 되지 않기 때문에 reloadTimelines를 통해 데이터를 반영해 주는 것이다.Widg..
프로젝트 소개앱 소개 & 기획 택시 합승 플랫폼, 택시팟! 기획 계기 수도권에서는 대중교통이 잘 되어 있어서 택시를 굳이 안 이용해도 되는 경우가 많다. 하지만 지방은 수도권의 상황과 다르다. 우선 버스 배차 시간이 길고, 지하철 역이 없는 곳이 많다. 작년 애플 디벨로퍼 아카데미 생활을 했는데, 아카데미가 위치한 포항은 대중교통이 불편했고, 택시를 자주 이용하였다. 그러다 보니 생각보다 교통비가 많이 부담되어 택시를 같이 탈 사람을 구해서 목적지까지 이동하는 경우가 왕왕 있었다. 그래서 택시를 같이 탈 사람을 구할 수 있는 플랫폼이 있다면 좋지 않을까라는 생각이 들어 기획을 하게 되었다. 개발 기간과 v1.0 버전 기능개발 기간2024.4.10 ~ 2024.5.5 (26일)Configuration최소..