본문 바로가기

분류 전체보기

Swift 05 - 프로토콜(Protocol) Swift 에서 프로토콜은 어떤 것이 가져야만 하는 어떤 프로퍼티와 메서드를 설명하는 방법이다. Swift에게 해당 프로토콜에서 사용하는 타입을 알려주는 것이다. 아래 코드를 보면 BackNumber 를 프로토콜로 작성했고 그 내부에는 backNumber가 int 타입으로 작성되어있다. 이 프로토콜은 get과 set으로 읽기 쓰기 가능한 int 타입의 backNumber를 필요로 한다는 뜻이다. TottenhamPlayer struct에서 BackNumber를 준수하기로 했고 프로퍼티로 그대로 backNumber를 int 타입으로 작성해 주어야 한다. protocol BackNumber { var backNumber: Int { get set } } struct TottenhamPlayer: BackNu..
Swift 04 - 클래스(class) class 프로퍼티와 메서드로 새로운 타입을 만들 수 있다는 점에서 구조체와 공통점이 있지만, 차이점이 있다. 첫번째 차이점은 memberwise initializer가 기본으로 제공되지 않는다는 점이다. 이것은 class에 프로퍼티가 있는 경우 꼭 자체 initializer를 함께 작성해야 한다는 점이다. class ManchesterCityPlayers { var playerName: String var playerNubmer: Int init(playerName: String, playerNubmer: Int) { self.playerName = playerName self.playerNubmer = playerNubmer } } // 나머지는 struct와 같다. let manCityPlayers..
Swift 03 - 구조체(struct) ❑ Struct(구조체 : structure) \Swift에서 String, Int 등과 같이 타입을 만들 수도 있는데, 가장 일반적인 방법은 구조체(struct)를 선언하는 것이다. struct에는 자체변수와 상수, 함수를 준다음 원하는대로 생성하고 사용할 수 있다. 아래 그림 처럼 String에 커맨드 + 클릭을 하면 String 타입에 대한 정의를 볼 수 있고.... String 타입이 struct임을 확인할 수 있다.. ❑ Property, Stored Property 구조체에 내부에 선언한 변수를 프로퍼티(property)라고 한다. 구조체로 타입을 정의하였으면 구조체의 인스턴스를 만들어 사용할 수 있다. Tottenham struct에 선언한 playerName, backNumberr과 같이 ..
Swift 02 - 클로저(Closure) ❑ 클로저 Swift에서는 문자열(String)이나 정수(Int)와 같은 다른 타입들처럼 타입으로 함수를 사용할 수 있다. 이 말은 함수를 만들어 변수에 할당하고 해당 변수를 사용해 함수를 호출하고 해당 함수를 매개변수로 다른함수에 저장하는 등의 기능을 할 수 있다는 뜻이다. 이런 식으로 사용하는 함수를 Closure(클로저)라고 한다. 함수 동작 방식과 유사하지만 다른 점이 있다. SwiftUI에서 클로저 정말 많이 사용하게 된다. let sprint = { print("손흥민이 스프린트한디.") } sprint() 변수에 할당하는 클로저는 함수(function)와는 달리 따로 이름이 없고 변수에 그대로 할당한다. 할당한 변수명을 함수와 같이 호출하여 사용할 수 있다. 작성된 클로저를 보면 파라미터(p..
Swift 01 - 함수(function) 함수(function)는 코드를 재사용할 때 유용하다. 필요한 함수를 작성해 이곳저곳에서 그 함수를 실행할 수 있다. 같은 기능을 하는 코드를 여러 번 작성하는 것은 비효율적이기 때문에 함수를 사용하면 효율적인 코드를 작성할 수 있다. Swift 함수는 func 라는 키워드로 시작한다. 함수를 실행하는 것을 함수호출이라고 한다. // 토트넘 설명을 출력하는 함수의 예시 func printTottehamDescription() { let mainDescription = """ 토트넘은 영국 잉글랜드 프리미어리그의 프로축구클럽으로 \ 연고지는 런던, \ 홈 구장은 토트넘 핫스퍼 스타디움이다 """ print(mainDescription) } // 선언한 함수를 사용 printTottehamDescriptio..
피파온라인4 강원FC 팀컬러 스쿼드(올스타?) K리그 2021시즌 개막이 1주일도 남지 않았다. 코로나 시국이지만 코로나가 얼른 해결이되고 K리그와 강원FC의 부흥을 위해 즐겨하는 피파온라인4의 부캐로 강원FC 팀케미 스쿼드를 꾸려보았다. 강원FC 팀컬러 효과 강원 FC 팀컬러는 다른 팀컬러와 마찬가지로 전체능력치 +3이 오른다. 조직적인 병수볼 전술에 필요한 짧은 패스 +2와 드리블 +1 효과까지! 강원FC 팀컬러 효과는 구현이 잘 되어있다. 게임 내에서도 짧은 패스로 게임을 이어나가는 것이 뭔가 재밌다. 베스트 11 중원에서의 짧은 패스로 빌드업 이후 김승대 선수와 이근호 선수의 침투나 고무열선수의 돌파 후 낮은 크로스로 득점하는 것이 주요 득점원이다. 가끔 나는 이근호선수의 오른발, 이을용선수의 왼발 감아차기는 강원FC 운영을 즐겁게 하는 백미..
[Fxxkin Easy Pytorch - 01] - 비선형 회귀를 Pytorch로 돌려보자 비선형회귀를 Pytorch로 돌려보자 지난번에는 선형회귀를 Pytorch로 돌려봤으니 이번에는 비선형회귀를 돌려보자. 데이터는 역시 기상청이 운영하는 기상자료개방포털에서 얻어왔다. 지난번포스팅참조 [Fxxkin Easy Pytorch - 00] 기온을 이용한 지면온도 예측 기온 데이터를 통한 지면온도 예측 Linear Regression(선형회귀)를 적용한 간단한 예측 Pytorch에서 linear Regression을 사용해 분석하는 법을 알아보자 분석을 하는 개개인에 따라, 분석 데이터에 따라 다 kd1658.tistory.com 선형회귀랑 전체적인 구조는 비슷하지만 이번에는 시각화를 통해서 어떤 방식으로 찾아가는지도 gif로 만들었다. 나는 원주 ASOS의 2020년 1월 1일 ~ 2020년 12월..
[Fxxkin Easy Pytorch - 00] Pytorch를 이용한 선형회귀 기온 데이터를 통한 지면온도 예측 Linear Regression(선형회귀)를 적용한 간단한 예측 Pytorch에서 linear Regression을 사용해 분석하는 법을 알아보자 분석을 하는 개개인에 따라, 분석 데이터에 따라 다르겠지만 딥러닝을 적용한 데이터 분석은 보통 이런식으로 진행한다. 1. 문제(가설)설정 : 지면온도를 예측하고 싶다. 혹은 지면온도는 기온과 관계가 있을 것 같다. 2. 데이터수집 : 지면온도와 관련될 것 같은 데이터를 수집한다. ex. 기상자료개방포털, 공공자료개방포털 등 3. 데이터분석 : 데이터 평균, 최대값, 최소값 등 기초통계를 뽑아보고 그래프로 뿌려보는 등 특징을 추출한다. 4. 데이터전처리 : 데이터 학습에 필요없는 데이터를 제거하거나 순서를 섞는 등 학습에 사용할..