이번 포스트는 OOP에 대해 알아보고자 합니다. OOP : Object Oriented Programming : 객체지향 프로그래밍 객체지향 프로그래밍이란? 간단하게 말해서, 프로그램을 작은 조각들로 설계하여 결과물을 만들어내는 프로그래밍 방법론 객체지향 프로그래밍이 나오게 된 이유? 프로그래밍 기법은 순차적 프로그래밍 -> 절차적 프로그래밍 -> 객체지향 프로그래밍 순으로 발전했다. 순차적 프로그래밍의 단점을 보안 -> 절차적 프로그래밍 단점을 보안 -> 객체지향 프로그래밍으로 생각하면 되겠다. 많은 사람들이 오해하고 있는 것이 절차적 프로그래밍이 객체지향 프로그래밍의 반대라고 생각하는데 그것은 틀린 것이다. 1. 순차적 프로그래밍(Sequential Programming) 순차적 프로그래밍은 프로그래..
정적 프레임워크와 동적 프레임워크의 실행파일은 어떻게 다를까 프레임워크에는 두개의 클래스가 있다고 가정한다. Response Class Request Class 메인앱에서 정적프레임워크의 Response Class를 사용 할 때와 하지 않을때는 뭐가 다를까? 1.Response Class를 사용할때 Response Class의 코드가 실행파일에 포함되고 ,객체가 실행파일에 포함됐다. 2.사용하지 않을때 Response Class의 코드가 실행파일에 포함되고,객체가 실행파일에 포함되지 않았다. 즉,밑에 이미지 1번은 동일하게 포함되고,2번은 사용할때만 포함된다. 그렇다면 동적프레임워크에서는 어떻게 적용될까? 1.Response Class를 포함 했을때 2.Response Class를 포함 하지 않았을때 프..
Source Tree로 GitLab을 연동 할 때는 Https연동 방식을 이용했다. 그러나 HTTPS방식 보다는 SSH방식이 보안이 더 좋다고 하여 연동을 해보려고 한다. ssh인증 방식은 두가지가 존재한다. 1.비밀번호 인증 ssh로 접속을 요청하면 서버에 등록한 비밀번호를 입력하게 되고 입력한 값이 맞으면 접속이 허용된다. 2.Public key,Private Key를 통한 인증 ssh로 접속을 요청하면 서버에 등록한 Public Key를 내 로컬에 저장되어 있는 private key와 연동한다. GitLab은 2번의 방법을 이용하여 ssh 연동을 제공한다. https://docs.gitlab.com/ee/ssh/ GitLab 문서의 SSH를 보면 설명이 잘 되어있다. 본 포스트는 GitLab 문서를..
1.Git 새 저장소 생성(Private) 2.Source Tree -> Git Private Repo 연동 3.Xcode Project -> Git Push 4.Git - Push,Pull,Pull Request,Merge 1.Git 새 저장소 생성은 할 수 있다는 전제. 2.Source Tree -> Git Private Repo 연동. Source Tree 다운 -> Git 연동 Private는 OAuth로 계정을 연동해도 바로 보이지 않는다.(Git DeskTop과 다르다.) 에러 코드는 주로 OAuth로 계정 연동을 후에 3번을 진행하고 나서 Push를 할때, "sourcetree fatal:reprository not found push"라고 나온다. 즉,저장소를 찾지 못한다는 구문이 나온다...
Framework 나 Lybrary 를 생성하고 추가 할때에 Build Settings,Build Phases를 설정을 해줘야지 프레임워크가 적용된다 이 글에서는 "Framework" 와 "Lybrary" 를 추가 할 때에 설정했던것을 기준으로 설명한다 Dependencies 그러면 종속성이란 무엇일까? 하나의 메인 프로젝트(메인 앱)가 프레임워크에 대한 출력을 원한다면 메인프로젝트는 프레임워크에 의존한다고 할 수있다 메인프로젝트는 프레임워크에 대해 종속성을 추가 해야한다. 종속성의 종류는 암시적 종속성,명시적종속성이 있다 암시적 종속성이란?(Implicit Dependencies) 두 대상이 동일한 프로젝트 또는 작업 공간에 있는 경우 Xcode는 종속성을 자동으로 감지 할 수 있다. 따라서 Xcode..
Framework / Library / module 은 왜 사용할까? "분업 협업 빠른개발 효율적인 개발을 위함이다" "재사용성 코드" "코드 공유를 쉽게 하기 위함이다" "관련 코드를 그룹화(모듈화)하고 코드에 대한 엑세스를 제한(캡슐화) 하는 메커니즘도 제공한다" Library 정의 "하나 이상의 코드 자체의 모음이다" "프로그램이 연결 할 수 있는 패키징된 객체 파일들의 모임이다" "소프트웨어를 개발하기 쉽게 어떤 기능을 제공하는 도구들이다" Static Library [ * .A ] 컴파일 시간동안 앱에 사용될 코드가 Static Linker에 의해 실행파일에 복사된다. Static Lybrary는 응용 프로그램 실행 파일에 연결된 컴파일된 코드이다.응용 프로그램 실행 파일의 일부이다 Dynami..
