본문 바로가기

분류 전체보기133

Protocol에 관하여 1. Protocol(프로토콜) -프로토콜은 특정 기능을 수행하기 위한 메서드, 프로퍼티 등 요소들을 정의해 놓은 청사진을 말한다. -프로토콜은 정의와 제시를 할 뿐 원하는 특정 기능 구현을 제공하지는 않고, 클래스, 구조체 또는 열거형에서 프로토콜을 채택하여 특정 기능을 실제 구현할 수 있다. ex) 프로토콜 정의 protocol Example { } ex) 프로토콜 채택 struct ExamStruct : Example { } class ExamClass : Example { } enum ExamEnum : Example { } -extension을 통해 프로토콜에 추가적인 기능을 더해줄 수 있다. -다른 프로토콜을 상속받을 수도 있다.(다중 상속도 가능) 프로토콜에서 프로퍼티 요구사항 1. 이름과 .. 2022. 11. 14.
함수형 프로그래밍에 관하여 Swift는 함수형 프로그래밍을 지향한다. 따라서, Swift에서 사용되는 함수형 프로그래밍 관점에서함수형 프로그래밍을 알아보자. 함수형 프로그래밍 -프로그램이 상태의 변화 없이 데이터 처리를 수학적 함수 계산으로 취급하고자 하는 프로그래밍 패러다임이다. -기존 객체지향 프로그래밍이나 명령형 프로그래밍은 프로그램에서 값이나 상태의 변화를 중요하게 여기지만 함수형 프로그래밍은 함수 자체의 응용을 중요하게 여긴다. -부작용(side-effects)이 없는 디자인을 추구하며, 이는 테스트와 디버깅을 쉽게 하며 코드의 안정성을 높이는 데에 중요한 역할을 한다. 함수형 프로그래밍을 배워야 하는 이유 1. 동시성 문제 다중 프로세서는 항상 동시성 문제를 가져올 수 있다. 데이터의 상태를 변경하는 객체 지향 프로그래.. 2022. 10. 9.
lazy variables에 관하여 -Navigation bar에 right button을 두고 클릭했을 때 실행되는 메서드를 적어놓았는데 버튼을 눌러도 메서드가 실행되지 않는 오류를 겪었다. 그 때 button을 lazy var로 구성하니 메서드 실행이 가능해졌다. -이유도 모르고 사용하는 것보다 lazy가 하는 역할이 무엇인지 정확히 개념을 파악하고 사용하는 것이 중요하기 때문에 deep diving 해보고자 한다. lazy -lazy stored property(지연 저장 속성)은 해당 인스턴스가 초기화 될 때 초기화되지 않고, 이 property에 처음 접근하는 시점에 초기화된다. (초기화 시점을 지연시켜주는 역할) -메모리를 관리하기 위해서 코드를 짤 때 메모리 비용이 많이 들어갈 수 있는 작업은 최대한 지양하는 것이 중요하다. .. 2022. 10. 7.
IOS 개발자 로드맵 정리 -독학으로 IOS 개발을 배우다 보니 자신이 어느 지점에 있는지, 앞으로 어떤 것을 배워야 할지 가늠하기가 힘들다. 그래서 로드맵을 찾다보니 좋은 IOS 개발자 학습 로드맵 강의가 있어서 정리해본다.(모두 필수적으로 따라야 하는 길이 아니라 나의 목표와 위치를 파악하거나, 내게 필요한 개념이 무엇일지 등의 생각에 참고용으로 보면 좋을 것 같다.) -로드맵이기도 하지만 이 지도는 앱을 설계하고, 디자인 등의 과정들을 모두 거쳐 앱스토어에 배포하기까지의 과정에 요구되는 정보?들이라고 봐도 될 것 같다. IOS 개발자 로드맵 이전에 모든 개발자가 공통적으로 학습해야 하는 부분 1. 데이터 구조와 알고리즘 2. 기본 터미널 사용방법 3. 깃사용과 버전 컨트롤 사용방법 4. SSH 5. HTTP/HTTPs 그리고.. 2022. 10. 3.
TCP/IP (Transmission Control Protocol/Internet Protocol) -이전 시간에 OSI 7 Layer에 관해서 공부해보았는데, 현재 우리가 사용하고 있는 네트워크 모델은 OSI 모델이 아닌 TCP/IP 모델이라고 한다. (OSI 모델은 단지 네트워크를 묘사해주기 위한 모델) -예전에는 우편을 활용해서 메시지를 주고 받았다. 우편 서비스를 이용하기 위해서 정해진 규칙에 맞게 봉투에 이름과 주소를 기재해야 했다. 이와 같이 인터넷상에도 데이터를 주고 받기 위해 정해진 규칙을 따라야 하고, 우리가 주로 이용하는 규칙이 TCP/IP 모델인 것이다. TCP/IP -TCP는 전송 제어 프로토콜(Transmission Control Protocol)의 약자로 다른 기기로 데이터를 전송하는 것을 담당한다. (TCP는 IP위에서 동작하는 프로토콜) IP는 인터넷 프로토콜(Interne.. 2022. 9. 29.
OSI 7 Layer -OSI 7 계층이란 국제표준기구 iso가 발표한 네트워크 모델이다. -현재 우리는 다른 모든 컴퓨터들과 통신이 가능하다. 하지만 초기에 정보 통신 업체 장비들은 동일 업체 내의 장비끼리만 연결이 되어있어서 다른 장비와의 호환은 불가했다. 이런 문제들을 해결하기 위해, 원활한 통신을 위해 표준을 지정한 것이 1984년 iso에서 발표한 OSI 모델이다. -OSI 7 계층은 Physical, Data Link, Network, Transport, Session, Presentation 그리고 Application 계층까지 총 7개의 계층으로 나누어져 있다. -굳이 왜 7개의 계층으로 나누었나? *전송과 수신의 과정(통신 과정)을 일목요연하게 파악할 수 있다. 따라서 통신의 흐름을 쉽게 보고 이해할 수 있다.. 2022. 9. 29.