일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 바이트디그리
- unrecognized selector sent to class
- actionSheet
- weekly calendar
- 주간 달력
- 다짐글
- struct
- AnyObject
- uikit
- class
- 내_삶
- copy-on-write
- 회고
- 연관값
- K디지털기초역량훈련
- 파스칼표기법
- On branch is up to date with ' '
- 생명주기
- 제어전송문
- SWIFT
- 글또
- Git
- ios 개발 강의
- MyLife
- Switch
- 코드스니펫
- error해결
- 글또9기
- avaliable
- IOS
- Today
- Total
목록IOS (37)
seong_hye, the developer
보호되어 있는 글입니다.
이번에 기술 면접을 보게 되면서 현재 내가 어떤 점이 부족한지 알게되는 기회가 되었다. 그 중에서 클래스와 구조체가 어떤 차이가 있고 어떨 때 사용되는지에 대한 질문을 해주셨다. 형식적으로 차이에 대해 알고 있었지만 실제로 코드에서 활용시 어떻게 차이가 나는지를 알고 있지 않다는 점을 알게 되었다. https://programming-seonghye.tistory.com/15 Swift) 문법 정리 - 클래스(Class) vs 구조체(Struct) 대부분의 언어에서 말하길 클래스는 프로그래밍의 패러다임이라고 말한다. 패러다임 어떤 한 시대 사람들의 견해나 사고를 지배하고 있는 이론적 틀이나 개념의 집합체 클래스를 도입하면서 programming-seonghye.tistory.com 이 경험을 바탕으로 한..
협업을 진행하다보면 개발자마다 코딩 스타일이 다르고 성향이 다르다는 것을 알 수 있다. 이런 경우 서로의 코드를 이해하는 데에도 많은 시간이 걸리고 후에 유지보수에도 어려움을 느낄 수 있다. 이런 경우 코딩 컨벤션을 정해주면 협업에 큰 도움이 될 수 있다. 코딩 컨벤션이란? 일종의 코딩 스탕일 규약으로 모든 구성원들이 읽고, 관리하기 쉬운 코드를 작성하는 것을 의미한다. 이를 통해 잠재적인 오류를 줄일 수 있고, 가독성이 높아지게 되어 다른 개발자가 작성한 코드를 이해하는 데에 도움을 주어 유지보수에도 도움이 된다. 코딩 컨벤션 가이드 중에는 린터(Linter)가 존재한다. 린터는 스타일 가이드를 따르지 않은 코드를 찾아서 알려주는 도구로 사용하는 언어에 따라 다르다. 이외에도 오류가 발생하거나 알려지지..
캘린더를 사용하는 과정에서 다른 라이브러리를 사용하지 않고 주간 캘린더를 어떻게 구현하면 좋을지 고민하며 공부한 내용을 정리해 보려 합니다. 날짜에 따른 데이터를 받아오는 기능을 만드는 과정에서 FSCalendar 라이브러리를 사용했던 것을 캘린더를 공부해서 직접 만들어보자 하는 생각이 들게 되었습니다. Calendar 날짜별 장식이 있는 일정관리를 표시하고, 단일 날짜 또는 여러 날짜를 사용자가 선택할 수 있도록 제공하는 기능으로 캘린더 뷰를 사용하여 사용자가 커스터마이징한 추가 정보(ex_ 스케줄)가 있는 특정 날짜를 표시할 수 있습니다. 또한 캘린더 뷰를 사용하여 하나의 특정 날짜, 여러 날짜 또는 날짜가 없는 날짜를 선택할 수 있습니다. 단일 선택 주간 달력 뷰를 구현하기 위해 collection..
우선 왜 코드를 나눠서 설계하려고 할까? 여러명이서 하나의 거대한 앱을 만들게 됨(수만줄의 코드) -> 기준이나 룰에 따라 나누지 않으면 보기 힘듦 -> 유지보수가 편해야하기 때문에 코드를 계층으로 분리하려함 아키텍처란? 하나의 서비스가 어떻게 구성이 되며 어떻게 동작이 되는지 즉 서비스의 동작 원리를 나타내는 것 좋은 아키텍처의 특징들 단단하고/안정적, 모듈화 가능(재사용), 확장 용이(향후 확장성) 테스트 가능(UI와 비즈니스 로직에서 강력/안정적), Decoupling (느슨한 결합) 등.. 올바른 아키텍처 선택의 기준 - 유지보수 용이해야 한다. - 명확한 분리 기준: 단일 책임 원칙 - 테스트 가능: TDD(테스트 주도 개발) / 유닛테스트 가능해야 (더 안전한 코드 작성 가능) 완벽한 / 절대..
시작하게 된 과정 이번에 부트캠프에서 만든 앱 "피코 PICO"가 출시되었다. MBTI를 통해 나와 맞는 사람을 PICK! 새로운 연인과 두근거리는 CONNECT! 위와 같은 컨셉을 바탕으로 매칭 어플을 출시하게 되었다. https://apps.apple.com/kr/app/%ED%94%BC%EC%BD%94-pico-pick-connect/id6473959557 피코 PICO: Pick & Connect MBTI를 통해 나와 맞는 사람을 PICK! 새로운 연인과 두근거리는 CONNECT! MBTI와 맞춤 필터링으로 원하는 친구를 만나보세요! 인물사진을 인공지능으로 판별하고 휴대폰 인증으로 더욱 안전한 프로 apps.apple.com 출시 후 수많은 오류와의 만남이 있었지만 그 중에서 쪽지에서 채팅으로..
보호되어 있는 글입니다.
확장(Extension)이란? 기존 클래스, 구조체, 열거형 타입에 새로운 Property, Method, Initializer 등을 추가하는 것으로, 원본 타입(소스 코드)에 접근하지 못하는 타입들도 확장해서 사용할 수 있음 extension이란 키워드를 사용하여 확장함 사용하는 이유? 원본 소스 코드에 대한 액세스 권한이없는 유형을 확장하는 기능이 포함 (소급-모델링 retroactive modeling) 예) Int, String, Double 등 애플이 미리 만들어 놓은 타입에 확장도 가능 [ Struct에선 self를 사용할 때 mutating 키워드 필요 ] class Person { var id = 0 var name = "이름" var email = "1234@gmail.com" func ..