TIL/2021
-
201027 - TILTIL/2021 2020. 10. 28. 02:18
Swift grammar Swift 문법이 중요하다! 오늘 복습한 부분은 Initializer Extension Protocol 이 세 가지였는데 복습하며 부족하다고 느낀 부분은 self 속성과 Self Type 그리고 failable Init 이였다. 그래서 이 부분을 중점적으로 복습했다. CS 컴퓨터 구조에 대해서 공부를 했다. 분량이 좀 있어서 하드웨어를 간단하게 공부했다. 입력장치 출력장치 CPU RAM 이 4가지를 이어주는 System BUS Main board Port 그리고 폰 노이만 구조에 대해서도 공부를 했다. 폰 노이만 구조 이전에는 하드웨어(전선)의 위치를 바꾸며 프로그램을 실행했는데 이후 Stroed Program Concept (내장형 프로그램 개념)이 도입됐다. 이 부분도 자세히..
-
201026 - TILTIL/2021 2020. 10. 27. 03:08
오늘은 현업 개발자 분과 만나서 도움이 되는 말씀을 듣고 궁금했던 점을 질문하는 자리가 있었다. 아주 많은 도움이 됐다!!! 그래서 오늘은 문법공부를 하지 못했다... 서울까지 지하철을 타고 가는 동안 Clean Code 책을 읽었다. 왕복 3시간쯤 걸려서 앉아 책 읽을 시간이 많아서 좋았다. Navigation Controller를 이용해서 class를 만들지 않고 화면을 구상하는 방법을 계속 고민 중인데 해결방법을 못 찾겠다 ㅠㅠㅠㅠ class를 만들지 않았으니 ChildViewController에 Label.text에 접근할 방법이 없다고 생각해서 그럼 toNav버튼을 누르면 아래에 만들어둔 TempViewController가 대신 pop 되도록 해볼까?? 생각을 하고 구현을 시도해보는데 변화가 없..
-
201024 - TILTIL/2021 2020. 10. 25. 02:19
Swift 문법 오늘은 extension과 protocol에 대해서 공부했다. extension으로 확장이 가능한 것들은? extension에서는 override는 금지! property는 computed property만 method는 instance와 type method 다 가능! initializer는 class를 확장하는 경우 convenience init만 가능! 상속을 지원, 다중 상속도 가능! Member들에 따른 protocol 선언 방법 protocol type protocol composition optional requirements protocol extension 기본으로 제공하는 Equtable, Hashable, Comparable 이해는 모두 갔다! 하지만 디테일을 기억해야..
-
201022 - TILTIL/2021 2020. 10. 23. 03:59
Swift 문법 오늘 Swift도 복습!! Subscript DynamicMemberLookup Inheritance Overriding Overloading Typecasting Upcasting, Downcasting Designated Initializer Convenience Initializer Initializer Delegation Failable Initializer Deinitialzer 복습을 하면서 까먹거나 기억을 못 했던 부분은 let str = "String" , String도 구조체이므로 이것도 인스턴스를 생성하는 것이다! 상속이 필요한 이유? final 이 필요한 이유? Init Delegation의 3가지 규칙 구조체에는 convenience를 사용하지 않는다. Init은 중..
-
201021 - TILTIL/2021 2020. 10. 22. 02:51
Swift 문법 오늘도 복습의 날!! 오늘 복습한 것들이다. Dictionary Set Enumeration RawValue Struct Class Property Instance Method 이렇게 복습을 했는데 복습을 하면서 기억해야 할 만한 부분은 다음과 같다! 할당 연산자를 이용한 코드는 리턴형이 없다!! RawValue를 사용하는 이유 Copy on Write Optimization이란? Instance Method 선언에서 다른 instance method를 호출할 수 있다. Dynamic Member Lookup Type Property는 선언과 동시에 초기화돼야 한다. Factory Method 선언하는 방법 CS 컴퓨터가 정수와 실수를 어떻게 표현하는지에 대해서 공부했다. 정수를 표현하는..
-
201020 - TILTIL/2021 2020. 10. 21. 02:01
Swift 문법 오늘은 Property에 대해서 복습을 했다. 애매하게 알고 있던 computed property에 대해서 공부했고 self 속성과 Self 타입에 대해서도 다시 복습을 했다. 이전에 fomat을 공부하면서 extension을 이용하여 string interpolation을 확장시켰던 코드도 다시 보았다. import UIKit let doubleNum = 12.345678 let formatNum = String(format: "%.3f", doubleNum) print(formatNum) extension String.StringInterpolation { mutating func appendInterpolation(_ value: Double, _ num: Int) { let str..
-
201019 - TILTIL/2021 2020. 10. 20. 02:17
Swift 문법 저번에 부족하다고 느꼈던 String과 Collection의 속성과 메서드 들에 대해서 복습을 했다. 주의해서 기억해야 할 것들은 popLast()와 dropLast(), removeLast()의 차이 SubString과 ArraySlice 형식 filter() 메서드 왜 String은 0-based index가 아니라 String.index를 사용할까? 문자열 좌우의 공백은 trimmingCharacters(in:) 메서드 문자열 사이의 공백은 replacingOccurrences(of:with:) 메서드 forEach 메서드의 사용 KeyValuePairs ( 이건 사용할 일이 없어보이지만 기억은 해두자) Sequnce와 Collection에서 공부했는데 레퍼런스를 확인했지만 이해가 ..
-
201018 - TILTIL/2021 2020. 10. 18. 23:39
주말 알바를 그만뒀지만 이번 주는 친형 결혼식이 있어서 바쁜 주말이었다! 공부는 하지 못했고 한 달 전에 만들어 보았던 계산기를 있는 그대로 만들어보며 느낀 점을 말해보려 한다. 처음 만들어 본 날이 9월 8일이었는데 그때 당시에 내가 이해하고 있던 부분은 계산 함수를 구현하는 정도에 그쳤다. (사실 함수가 아니라 메서드인데 그때는 둘의 차이도 구분하지 못했다. //사칙연산 메서드 func calcArithmetic(a: Double, op: String, b: Double) -> Double { var result: Double = 0 switch op { case "+": result = a + b case "-": result = a - b case "*": result = a * b case "/..