사실 지금까지는 iOS앱을 구현하는 데 있어서 부족하다고 생각하는 부분을 많이 공부하였다.또 공부하는 과정에서 많이 배웠고, 실제로 TIL을 쓰기 전과 지금의 실력은 정말 많이 차이가 난다고 생각을 한다. 하지만 취업을 준비하면서 또 구현을 하는 과정에서 정리가 되지 않은 부분과 부족한 부분이 많다는 것을 알게 되었다.그래서 당분간은 TIL보단 블로그글을 통해 이런 부분을 정리하는 식으로 블로그에 글을 지속적으로 작성해보려고 한다. 또 TIL이 과연 의미가 있는 글일까 다시 한번 생각을 해봐야겠다.물론 나의 배움 등을 다시 돌아보는 역할을 하지만 그게 다일뿐인 것 같다는 생각이 든다.여러 가지 측면에서 생각해 보았을 때, TIL이 도움이 된다면 다시 TIL로 돌아오겠다..
· 성취/개선/학습한 내용 🏆GitWebSocket채팅 구현· 어려웠던 내용 😵😵💫채팅을 구현하는데 생각보다 고려해야 하는 사항이 너무나도 많다. 예를 들자면 웹소켓을 연결해야 하는 시점, 데이터 베이스 저장 및 호출, 마지막 대화 이후 대화 내용 API call 등 여러 부분을 다 고려해야 한다. 또 UI 적으로는 날짜가 변경되는 시점, 상대와 나의 채팅 Cell을 다르게 설정, 프로필 사진 및 시간이 중복해서 나오지 않게 설정하는 등 여러 개를 고려하다 보니 생각보다 구현하는 게 길어지는 것 같다. 이런 고려 사항 같은 부분은 따로 글을 작성할 예정이다.· 느낀점 🌟 Git을 터미널로 할 때마다 느끼는 점은 굉장히 재밌다는 것이다. 아마도 Git Kraken을 사용해서 GUI로 깃에 대한..
· 성취/개선/학습한 내용 🏆운영체제동시성프로그램 / 프로세스 / 스레드메모리 구조동시성 이슈Swift에서 동시성 이슈를 해결하는 방법 [운영체제] 동시성(Concurrency)1. 동시성이란?여러 작업을 동시에 실행되는 것처럼 보이게 하는 것을 말한다. 2. 프로그램 / 프로세스 / 스레드 정의프로그램: 단순한 코드 덩어리로 실행되지 않는 이상 특정 목적을 수행하d0ngurrrrrrr.tistory.com · 느낀 점 🌟 CS 지식이 왜 중요할까? 작년에는 구현하는데만 신경 쓰다 보니 중요성을 별반 느끼지 못했다. 하지만 올해 그 생각이 약간 바뀌었다. 자료구조는 공부하면서 현실에 있는 구조를 어떻게 하면 컴퓨터가 인식할 수 있게 코딩할 수 있을까를 고민하는 CS 지식이었다. 이런 식으로 몇 가지..
· 성취/개선/학습한 내용 🏆 오늘은 개발자라면 필수라고 할 수 있는 터미널과 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 ..