전체 글(39)
-
Network(HTTP, REST)
1) HTTP 프로토콜에 대한 이해 2) REST API 1) HTTP 프로토콜에 대한 이해 • TCP/IP 프로토콜 인터넷에서 표준으로 사용되는 네트워크 프로토콜이다. OSI 참조모델 3계층인 네트워크 계층인 IP를 비롯한 여러 프로토콜을 집합체를 묶어서 TCP/IP라고 부른다. ▫︎ 이 프로토콜은 데이터를 패킷으로 나누어서 보내는데, 각 패킷에는 목적지 주소(상대 IP)가 포함되어 있다. 여기서 TCP는 1개의 데이터를 여러개의 패킷으로 쪼개는 역할, IP는 쪼개진 패킷에 주소를 할당하고 전송하는 역할이다. ▫︎ TCP는 패킷이 제대로 전달되었는지 확인하므로 데이터 전달 신뢰성이 높고 정확하게 데이터를 송수신하는데 사용한다. 하지만 패킷 전달 확인 작업 또는 재송신 작업 때문에 TCP는 무거운 프로토..
2023.01.14 -
BookLog(북로그) 앱 출시 리뷰-2
■ 2주차 리뷰 • 화면통합이 쉽지않은 작업이었지만 보람있었다. 그 동안은 화면별로 파일을 일일이 생성해서 화면을 나눴다. 하지만 구조가 동일하고 공통UI가 많다면 같은 파일에서 다른 데이터를 불러오는 방식으로 화면을 통합할 수 있다는 걸 배웠다. 그 과정에서 초기화를 어떻게 해야하는지, 열거형을 사용해서 화면분기를 어떻게해야하는지도 배울 수 있었다. 아마 이번 프로젝트를 통해 가장 많이 배운 부분이지 않을까 싶다. • 별점과 한줄평을 어떻게 넘길지 고민이 많았다. 푸시하면서 넘기는 것이 아니라 반대방향이었기 때문이다. 그 때 문득 수업 때 배운 내용이 생각났다. 클로저나 notificationCenter를 사용하면 화면전환과 다른 방향으로도 데이터를 전달할 수 있다는 내용이었다. notification..
2023.01.12 -
BookLog(북로그) 앱 출시 리뷰-1
■ 1주차 리뷰 • realm테이블구조를 짤 때 필요한 상황에 대해 충분히 생각하고 짜야함. 놓쳤다가 중간에 필요한 데이터인 경우 변경하는데 시간소요됨. 나같은 경우 메모작성날짜(lastUpdate)를 UI상에만 구현해놓고 막상 realm에는 처리안하고 있던 걸 중간에 수정했음. 만약 추가할 컬럼이 여러개였으면 더 많은 시간 소요했을 듯. • 테이블뷰 만들때 delegate, datasource, register개념에 대해 다시한번 숙지하게 됨. delegate, datasource는 기능사용, register는 컨트롤러 안에 여러개 일 수 있는 테이블뷰 객체 중 재사용할 하나를 지정하는 것. • 화면전환에 따라 데이터 전달을 어떻게 할지 큰그림을 조금 더 구체적으로 그려보고 했으면 좋았을듯함. 코드짤때..
2023.01.05 -
BookLog(북로그) 앱 출시 프리뷰
독서노트 앱을 만들기로 하고 기획서를 작성해봤다. 기본기능은 이미 출시한 레퍼런스를 참고해서 책검색, 책저장으로 했다. 그리고 한줄평과 별점기능을 핵심기능으로 추가했다. 기획하는 동안 DB설계가 상당히 중요할 것 같다는 생각이 들었다. 이번 앱출시 프로젝트가 개발 뿐만 아니라 앱출시에 대한 전반적인 과정을 이해하는 계기가 되길 바래본다. ■ 소개 및 특징 • 내가 읽었던 책을 기록하여 나의 독서데이터를 관리할 수 있는 앱(독서량, 서평 등) • 책 내용, 감상평을 오래 기억하기 위해 나만의 독서평 기록할 수 있음 • 내가 읽고 싶었던 책에 대한 정보를 미리 확인하여 독서예정리스트로 저장해놓을 수 있음 • 나의 현재 위치를 기반으로 주변 프렌차이즈 서점 위치정보를 확인할 수 있음 ■ 기능 • 도서 검색: ..
2022.12.27 -
SLP(스터디 메이트 매칭) 리뷰 및 소감
다른 수강생처럼 프로젝트를 잘 따라가지 못했다. 내가 부족한 탓이다. 공부량과 열정이 턱없이 부족했다. 변명이지만 개인사정 때문에 공부에 많이 집중하지 못해서 나온 결과라고 말하고 싶다. 그래도 긍정적인 부분은 있었다. 디자인파일을 참고하면서 앱서비스를 처음부터 끝까지 기획하고 개발해볼 수 있었다는 점이다. 다른 말은 특별히 하고 싶지 않다. 그냥 앞으로 열심히해서 내년 3월 안에 꼭 취업하고 싶다는 생각 뿐이다.
2022.12.17 -
083_Network(signup, login)
-. 회원가입 시 네트워크통신으로 회원정보를 서버에 저장(signup->server) -. 로그인 시 네트워크통신에 성공하면(입력한 정보가 저장된 회원정보와 일치하면) 토큰발급(login->server) -. 토큰을 Userdefaults 통해 사용자정보 헤더에 넣어서 화면전환할때마다 로그인 할 필요없도록 함. 코드축약 전 -. 네트워크 통신에 필요한 요소를 각각 선언(url, header, parameter) func login() { let url = "http://api.memolease.com/api/v1/users/login" let header: HTTPHeaders = ["Content-Type": "application/x-www-form-urlencoded"] let parameter =..
2022.11.02