Archive 55

[REST API] 🏃‍♀️ 연습시작.

✅ 이번 시간에는 RestAPI에 대해서 정리를 해두려고 해. ✅ 왜 하게 되었는가? -> API 호출해서 데이터를 CRUD하는 과정을 정말 많이 사용하는데, 이 부분을 매끄럽게 하지 못해서 여러 번 반복하여 이번 기회에 완벽하게 갖춰둘 생각이야. -> 또한 내가 배열에 이미 들어있는 데이터는 잘 다루는데, 네트워크 세션여는 것과 비동기 처리에 있어서 아직도 많이 부족하다는 생각이 들었고 적어도 JSON를 완벽하게 자유자재로 다루는 개발자로 성장하기 위해서! ✅ 그럼 어떻게 할 것인가? -> 처음에는 파이어베이스를 이용하여 내 스스토 JSON트리를 다양하게 만들어서 테스트 하려고 하였으나, 카카오나 네이버 혹은 공공 API를 통해 연습하는 것이 더 실전에 가까워서 그렇게 하기로 했어! ✅ 현재 사용하는 ..

🤦‍♂️ git 원격 저장소에 올라간 commit 되돌리기

이번에는 깃 원격 저장소에 올라간 commit 되돌리는 법에 대해서 알아보자. (문제) 깃허브에 수동으로 파일을 추가하였는데, 나중에 알고보니까 코드가 잘못되었었음. 따라서 깃 허브에서 다시 수정할 필요가 생김. 하지만, 단일 파일이 아니라, 여러 폴더를 하나에 뭉쳐두는 방식이라서 어떻게 해야할지 고민이 생김. (나의 해결법) 1. Xcode - Source Control - Clone 을 클릭해 폴더로 되어있는 깃을 받아온다. 2. Terminal을 열고 clone이 된 곳으로 이동한다. ex) cd Document/"클론되어진 폴더 이름" 3. 그 이후 깃허브 홈페이지에 들어가서 폴더에 들어가 commit을 눌러 돌아가고자 하는 시점의 commit id(?)를 복사한다.\ 4. 클론된 곳으로 이동한 ..

Archive/git 2021.06.26

iOS firebase CRUD 기초 및 유의사항

iOS firebase CRUD 기초 및 유의사항파이어베이스를 공부하고 CRUD를 활용해서 작업해보자RealtimeDatabase랑 FireStore가 존재하는데, 서비스 형태에 따라서 적절하게 적용 //// ViewController.swift// FirebaseDemoApp//// Created by Hamlit Jason on 2021/04/30.//import UIKitimport Firebaseclass ViewController: UIViewController { var ref: DatabaseReference! @IBOutlet weak var label: UILabel! var todos = [String]() var todos2 = [String:Str..

사용자의 디바이스 시간 불법 변경 막는 법

사용자가 디바이스 시간을 변경하여 아이템 획득이나 불법적인 사용을 한다면 어떻게 막아야 할까? 예를들면 2시간이 지나면 아이템을 얻는건데, 디바이스를 시간 설정을 2시간 뒤로 바꾸면 아이템을 얻을 수 있게 되는 문제가 발생하는데 해결하는 방법은 간단하다. 현재 시간 확인 api를 만들어서 서버의 시간과 디바이스의 시간이 같은지 비교하고 시간을 변경하더라도 손쉬게 어뷰징 시도를 막을 수 있다. 즉 비교하는 로직을 추가하면 된다!

웹 UI vs 모바일 UI

이번학기 HCI 수업을 들으면서 UI/UX 부분에 관심이 많은데 도움되라고 적어두기!! 웹 애플리케이션은 화면에서 컨트롤의 값을 설정한 다음, 저장 버튼을 누르는 등의 액션을 취해야만 비로소 입력한 값이 저장되고, 누르지 않은 채로 화면을 벗어나 버리면 값이 저장되지 않는 경우가 많습니다. 이를 일괄 저장 처리 로직 모바일 앱은 조금 다르다. 각각의 컨트롤을 변경할 때마다 즉각적으로 값을 저장하기 때문에 저장 버튼으로 대표되는 일괄 저장 처리 로직을 사용할 필요가 없다. 즉, 앱에서는 일괄 저장 없이 각각의 컨트롤 값을 개별로 저장하는 것이 일반적이다. 웹과 모바일 앱의 이 같은 저장 방식 차이는 데이터 저장에 필요한 자원 소모 문제와 연관이 있는데. 웹은 대부분의 데이터를 서버에 저장하기 때문에 컨트롤..