본문 바로가기

분류 전체보기

(268)
[Algorithm] 그래프의 의미 및 DFS, BFS 탐색 방법 기본 개념 완전 뿌수기!!!! [Algorithm] 그래프의 탐색 DFS, BFS 탐색 그래프란 무엇인가? 그래프의 개념 그래프 표현 방법 DFS란? BFS란? DFS와 BFS 차이 그래프란 무엇인가? 일반적으로 그래프 하면 떠오르는 개념은 통계 수치를 비교할 때 사용되는 히스토그램(histogram), 방정식 같은 이미지를 떠올린다. 알고리즘에서 그래프는 어떤 현상, 사물을 정점으로 표현하고 연관된 정보를 간선을 통해 표현한다. 이 또한 그래프의 개념에 속한다. 다시 말해 정점은 주요한 대상 정보를 나타내고 간선은 정점과 정점(정보와 정보)을(를) 이어주는 관계가 된다. 즉, 데이터가 존재할 때 각 데이터를 연관 지어 시각적으로 표현한 것을 그래프라고 한다. 위 그림은 네트워크와 연관된 이미지이다. 위에서 흰색 점들은 선으로 연결되..
[Today I Learned] 22.09.12 BindingMVVM MVVM의 꽃이라 할 수 있는 바인딩을 하는 방법은 크게 두가지가 있다. View to ViewModel binding ViewModel to View binding Q1> What is View to ViewModel binding? 사용자가 클라이언트에 입력을 할 때 자동적으로 연관된 ViewModel 인스턴스 내 특정 프로퍼티 값이 없데이트 되어야 한다. 클라이언트에 한개의 TextField가 있고 VM안에 temp 프로퍼티가 있다고 가정한다면, 사용자가 TextField를 입력했을 때 temp 프로퍼티 또한 그 값이 바로 바로 할당되야 한다. ( 내 추측인데 이런 바인딩은 더욱 Controller의 의존성을 떨칠 수 있다. ) 이제부터 정리하는 글의 컨텐츠는 이 코드를 기반으..
[Today I Learned] 22.09.11 GoodWeather 새로 적용한 것 & 느낀점 강의 계획을 보고 사전에 UI 구현 클린코드를 읽으며 TDD 개념에 대해 알게 되었다. 한번 TestModule로 데이터 파싱에 대한 테스트 코드를 만들어 봤다. 이게 맞는건지는 추가적으로 공부 해야겠다. 테스트 코드를 통해 성공적으로 작동될 경우에 VM 등을 만들어서 하는 것도 좋은 방법임을 알게 되었다. 테스트 코드를 몇가지 상황에서 작성을 해봤다. VM의 역할은 클라이언트에 데이터를 채울때 그 모든 정보를 VM에서 제공하는 것. 그래서 VM은 Controller한테 특정 데이터들 값을 바로 바로 제공하면 되는 것! Controller는 VM의 처리과정에 대한 연산 없이 결과값을 반환 받기만 할 정도로 Controller역할이 낮아지고 VM역할이 커지는..
[Today I Learned] 22.09.08 HotCoffee 강의 보기전에 대략적인 UI를 구현했습니다. 이번엔 Autoresizing 레이아웃을 사용하지 않고 구현해봤다. 오호.. Hiroku로 간단하게 주간단하게 웹 서버가 동작하는 법을 살짝 맛봤다. 초기 order 서버에는 빈 배열만있는데 iOS로 새로운 데이터 전송을 하지않고 (네트워킹 툴)포스트맨에서도 쉽게 value를 추가 할 수있다. 근데 이 강의에서 소개한 서버는 한번 실행하면 몇시간만에 저장해둔 db 값들을 다시 싹 날려버린다. (헛;; 기존 서버가 만료됬나.. 요청 안됬는데 다행히 공지사항을 보니 새 서버 주소가 있네 휴..) 실제로 Web API를 test할 때는 포스트맨 같은 네트워킹 툴을 사용하면 휠씬 편하다.(잘 응답 되는지 등등+ 문서화도 가능) 이미지1 서버 정상동작..
[iOS] Codable 프로토콜 사용 유무 차이.. 완죤 대박 #4 이전 글에서 Codable에 대해 공부를 했었는데요. 이번글에서는 Codable을 쓰면 좋은 점을 URLRequest +URLSession vs Alamofire 을 비교하면서 공부를 해볼까 합니다. 지난 글의 연장선이라고 할 수 있습니다. 저번 글과 마찬가지로 https://www.youtube.com/watch?v=w7xJrAYQoHE 이 유튜브에서 나오는 REST API url을 사용할 것입니다. // 위에서 언급했던 url 에서 정의된 JSON형식의 데이터 { "results":{ "sunrise":"2022-09-01T02:45:56+00:00", "sunset":"2022-09-01T16:15:33+00:00", "solar_noon":"2022-09-01T09:30:45+00:00", "da..
[iOS] Codable 개념 뿌수기!! #3 Codable protocol 란? Swift 표준 라이브러리에서 데이터를 encoding 또는 decoding하기위한 접근을 표준화했습니다. 고 녀석이 바로 Codable인데요. Codable은 Encodable과 Decodable의 typealias입니다. 타입으로 사용하거나 제너릭 형태로 제약을 걸 경우에 어떤 타입이든 Encodable 또는 Decodable 두 프로토콜의 요구조건을 만족시키게 됩니다. Encodable 또는 Decodable 프로토콜을 적용한 Codable타입의 데이터는 Encodable 또는 Decodable 프로토콜을 구현하므로 external representation(== JSON, 인스턴스 등)로 인코딩 또는 디코딩 할 수 있습니다. Encodable또는 Decodab..
[iOS] JSON형식의 데이터 파싱 뿌수기!! with Alamofire #2 이전에 작성한 RESTful API 파싱 방법은 URLRequest에 헤더를 정의하고 URLSession의 dataTask(with:)를 통해 결과 응답 처리 이후 .resume()로 HTTP 요청 메시지를 전송했었습니다. Alamofire은 URLRequest와 URLSession을 더 쉽게 사용할 수 있는 오픈 라이브러리 입니다. HTTP 네트워킹을 위해 스위프트 기반으로 개발된 비동기 라이브러리이고,, 정말 편리합니다. Codable을 채택한 데이터 파싱은 코드 길이가 많이 줄어든다고 생각합니다. Alamofire(5. ver) 특징 URLRequest + URLSession 객체를 Wrapping해 AF namesapce를 사용해 간결하게 사용할 수있게되었습니다. 서버요청 간결!! 서버 응답 컨텐..
[Today I Learned] 22.09.04 GoodNews 기본 강의를 듣기 전에 일단 MVC패턴으로 뉴스 REST API를 받아왔습니다. URLSession보단 최근에 Swift 재은씨 실전편을 통해 익혔던 Alamofire를 통해 데이터를 파싱하고 구현했습니다. 강의를 보면서 새롭게 Controller 대신 ViewModel 을 적용시켜 View에 관여하도록 코드를 구현했는데 음..? Scene과 대응하는 Controller는 역시 제거를 안하는구나,, 좀 더 MVVM 패턴 공부를 해봐야겠다는 생각이 들었습니다. GoodNews->ViewModel->ArticleViewModel.swift 다만 ViewModel은 Model과는 달랐다고 느낀게 Model은 데이터 그 자체 틀인건 분명한데 ViewModel에서는 Model을 인스턴스로하는 구조..