본문 바로가기

분류 전체보기326

원피스 현상금 랭킹앱 만들기(1) - 테이블뷰 기초개념 이번 목표는 원피스 현상금 랭킹앱을 만들면서 테이블뷰에 대한 기초 개념을 익히는 것이다. 구현 목표는 아래와 같다. 구현목표 화면은 크게 2개로 구성되어있고 각 셀을 클릭했을 때, 자세한 내용을 표시해주는 페이지를 모달로 구현한다. 모달 : 아래에서 위로 올라오는 스타일의 뷰 전환 방식 여러 아이템을 리스트로 보여주는 것이 주요 학습목표이다. 여러 앱에서 볼수 있는 리스트형식 리스트 UITableView 아이템을 나열해서 보여주는 방식 각 데이터들은 테이블 뷰 셀을 가지고 있다. 테이블 뷰 셀은 다양하게 표현가능한데 시스템상의 기본 셀 뿐만아니라 커스텀해서 사용하기도 한다. 대부분은 커스터마이징해서 사용 Recycle cell 테이블 뷰는 셀을 재활용 해서 보여준다. 우리가 100개의 데이터를 보여준다고.. 2021. 10. 21.
데이터 사이언스 학습 로드맵 (나의 버전) 내 경우 데이터사이언스 자체를 목표로 한다기보다는 처음부터 RPA와 UIpath라는 목적을 두고 공부하고 있다. 하지만 해당 분야가 데이터 사이언스라는 분야에 있어서 한 축을 담당하기에 배경지식을 어느정도 이해하고 있어야 유기적인 판단과 처리를 할 수 있을 것으로 판단되어 로드맵을 따라 학습 하려고 한다. -> 데이터사이언스의 로드맵을 따르지만 우선순위로는 UIpath를 위한 서포트 파트를 공부할 것 내가 앞으로 만들어가야할 학습과정 및 포트폴리오는 아래와 같다. 1. 처음엔 아주 기초적인 아웃풋 사례에서 부터 복잡한 과정을 담아갈 것 -> 실질적으로 기업에 도움이 될수있는 아웃풋 그걸 위해 순차적인 레벨1짜리 아웃풋을 수차례 경험할 것 2. 실패했던 사례와 보완하는 사례를 만들것 3. 학습, 성장 셀프.. 2021. 10. 21.
데이터 사이언스의 학습 로드맵 기본적으로 *데이터 컨설턴트 Harshit Tyagi의 프리코드캠프 기고글을 기반으로 한 로드맵 입니다. 번역 출처 : https://ebadak.news/2021/03/20/data-science-learning-roadmap/ 번역 전문 사실 그냥 숫자가 바뀌는 것 뿐일지도 모릅니다만, 새해가 되면 사람들은 무언가 새로운 것을 시작하려는 꿈을 꿉니다. 이 때, 어떤 계획이나 잘 구체화된 목표 그리고 적절한 로드맵이 있다면, 한 해의 성장을 만들 수 있는 멋진 레시피를 갖는 것과 같죠. 이 글은 데이터 사이언스의 전문성을 갖출 수 있는 포트폴리오를 구축하기 위해 필요한 프레임워크, 리소스 그리고 프로젝트 아이디어를 충분히 제공해서 여러분의 계획을 더 풍성하게 하기 위해 작성되었습니다. (잠깐. 이 로드.. 2021. 10. 21.
생성자 이해하기, 2-phase Initialization, Convenience Initializer Initializer (생성자) 앞선 강의에서 Inheritance(상속)에 대해서 공부했다. 상속받은 클래스들을 생성할때 기본 생성자를 가지고 만드는데 부모자식간의 모양이 비슷한 것을 알 수 있다. 하지만 자식 클래스는 부모와 다르게 만들 수도 있다. import UIKit // 처음 코드 struct Grade { var letter: Character var points: Double var credits: Double } class Person { var firstName: String var lastName: String init(firstName: String, lastName: String) { self.firstName = firstName self.lastName = lastName } .. 2021. 10. 20.
클래스상속은 언제 하면 좋을까? 개발철학에 따라 다르다고 할 수 있다. 상속은 중복된 코드를 제거할 수 있는 기회가 있다. 하지만 상속이 잦아지면 상속의 깊이가 깊어져서 유지보수가 어려워질 수 있다. 사실 경험에서 나온다. 1. Single Responsibility 단일책임 ; 클래스가 한가지 점만 취급하는가? 2. Type Safety 타입이 분명해야할 때 ; 부모 혹은 다른 자식의 클래스를 명확하게 표현해야하는가? 3. Shared Based Classes 다자녀가 있다 ; 기본동작에 대해서 다양하게 구현해야하는가? 4. Extensibility 확장성이 필요한 경우; 외부앱에서 사용되어야 하는가? , 확장성이 필요한가? 5. Identity 정체를 파악하기 위해 ; 객체 자체의 정체성을 구분하고 싶은가? 1. 각 클래스는 한개의.. 2021. 10. 19.
RPA란? RPA의 정의 RPA (Robotic Process Automation)은 인간이 컴퓨터와 함께 일을 하는 사무환경에서 정형화되고 반복적인 업무를 사람의 작업을 모방하는 자동화기술이다. 저렴한 비용으로 빠르고 정확하게 업무를 수행하는 디지털 노동이라고 생각할 수 있다. 위키피디아 정의 RPA는 소프트웨어 로봇이나 AI(인공지능)의 개념을 기반으로 하는 비즈니스 프로세스자동화 기술의 새로운 형태입니다. 전통적인 워크플로우 자동화 도구에서 소프트웨어 개발자는 작업을 자동화하는 목록을 생성하고 내부 응용 프로그램 인터페이스(API) 또는 전용 스크립팅 언어를 사용하여 백 앤드 시스템에 대한 인터페이스를 생성합니다. 반대로 RPA시스템은 사용자가 응용 프로그램의 그래픽 사용자 인터페이스(GUI)에서 해당 작업을.. 2021. 10. 19.
상속 개념을 코드로 익히기 기본적인 형태 class Parent class Child : Parent Person : Super Class Student: Sub Class (Child Class) 아래 코드를 보자 Person과 Student라는 클래스가 두개 있다. 자세히보면 같은 내용의 코드들이 중복되어있는 것을 알수있다. 이럴때 상속이라는 개념을 적용할 수 있다. struct Grade { var letter: Character var points: Double var credits: Double } class Person { var firstName: String var lastName: String init(firstName: String, lastName: String) { self.firstName = firstNa.. 2021. 10. 18.
클래스, 언제 클래스? 언제 스트럭트? 클래스 개념 클래스는 스트럭쳐 처럼 관계가 있는 것들을 묶어서 표현한다. Object = Data + Method Objects는 클래스와 스트럭쳐 형태로 만들 수 있다. 하지만 두가지의 차이점은 실제 동작에서 차이가 있다. 생성되는 인스턴스가 할당되는 메모리의 차이가 있다. Structure는 Stack이라는 공간에 생성된다. Class는 Heap이라는 공간에 생성된다. Stack Heap은 다른 속성을 갖고 있는 메모리 공간이다. Stack 시스템에서 당장 실행해야하거나 타이트하게 컨트롤 및 매니징 해야하는 경우 함수를 생성 , 처리후 리턴하고 해당 변수도 스택에서 제거가 되나. 효율적이고 빠르다. Heap 시스템에서 클래스 같은 레퍼런스타입을 저장하는 데 사용된다. 큰 메모리 풀을 가지고 있어서 시.. 2021. 10. 16.
메소드 개념 ( + extension) Method 는 function과 마찬가지로 기능을 담당한다. 스트럭트와 관련 된 메소드 1. 스트럭트 생성, 함수생성, 인스턴스 생성 //스트럭트 생성 struct Lecture { var title: String var maxStudent: Int = 10 var numOfRegistered = 0 } //인스턴스 생성 var lec = Lecture(title: "iOS Basic") func remainSeats(of lec: Lecture) -> Int{ let remainSeats = lec.maxStudent - lec.numOfRegistered return remainSeats } remainSeats(of: lec) //10 2. 관계된 함수를 만들고 스트럭트에 메서드로 구현하기 오브젝.. 2021. 10. 14.
프로퍼티 vs 메소드 두개념이 언뜻 보면 비슷해보여 헷갈릴 수가 있어 개념을 다시 비교해보자 1. computed property 이미 저장된 것을 가지고 재가공할때 쓰임 2. 함수로 만드는 것 결론은 사실 같다 어떤 것이 더 좋을까? person.fullName person.fullName() 개념 Property: 호출시 (저장된) 값을 하나 반환한다. Method: 호출시 어떤 작업을 한다. 만약 Method가 그냥 값을 리턴하는 작업만 한다면? 2021. 10. 14.