분류 전체보기
-
프로토콜/구조체/클래스에 관하여Swift 2020. 11. 23. 17:27
안녕하세요. 그린입니다! 이번 포스팅에서는 제가 학습하며 나름대로 간단하게 헷갈리는 부분을 정리한것을 공유하겠습니다. 바로 프로토콜/구조체/클래스에 관하여 이야기를 해볼까 합니다..! 스위프트를 처음 접하며 공부하다보니 왜 다른 언어와 달리 프로토콜 지향이며 구조체가 중요한지 궁금했습니다. 아직 명확하게 해답을 찾은건 아니지만 어느정도 정리된 부분을 기재하였으니 만약 다른 사항이거나 의견이 있으시면 댓글 달아주시면 감사하겠습니다 :-) 1. 프로토콜 : 어떤 기능을 실행하기 위해 프로퍼티와 메서드 그리고 다른 기능들의 틀이다. 우선 스위프트는 객체 지향이면서 프로토콜 지향 언어이기도 하다. 스위프트의 대부분은 기본 타입이 구조체로 구현되어있다. 클래스는 상속을 받아 구현되지만 구조체는 상속이 되지 않는데..
-
KVO와 Notification 간단 정리iOS 2020. 11. 19. 15:44
안녕하세요. 그린입니다! 이번 포스팅에서는 간단하게 KVO와 Notification에 대해 제 생각을 정리한 부분을 공유하겠습니다. 코드가 있는것은 아니고 학습한 내용으로 간단한 정리입니다. -. KVO : Key-ValueObserving의 약자로, 주체가 노티피케이션처럼 센터가 아닌 자기자신이다. 다른 인스턴스에 직접 매칭을 하며 변화를 찾는다. 예전방식으로 지금은 잘 사용되지 않는 방식 -. Notification : 인스턴스 간 통신으로 인스턴스 사이 정보를 전달해서 알려줄 수 있는 매개체로 볼 수 있다. 매개체를 알려주는것은 Notification이라고 하고 그 매개체의 변화를 지켜보고 싶은것을 Observing이라고 한다. 그리고 그 매개체를 알려주는 센터를 Notification center..
-
접근레벨 및 이니셜라이저 관련Swift 2020. 11. 19. 15:36
안녕하세요. 그린입니다! 이번 포스팅에서는 현재 학습하다가 생각난점을 정리해보도록 하겠습니다. 제 생각을 정리한 부분으로 다소 다르거나 맞지 않을 수 있으니 그런점 있으시면 알려주세요~!! 1. 접근레벨 swift에서는 기본적으로 5가지의 접근레벨이 있습니다. 1) private : 가장 제한적으로 접근할 수 있는 범위는 해당 정의된 메서드 내에서 가능합니다. 즉 해당 중괄호 안에서만 접근할 수 있습니다. 2) fileprivate : private 다음으로 제한적이지만 해당 스위프트 파일에서만 접근이 가능합니다. 3) internal : 기본적인 접근레벨로 접근레벨을 앞에 붙여서 설정하지 않고 생략한다면 다 internal입니다. 내부 소스파일에서 접근 가능합니다. 4) public : 외부모듈에서도 ..
-
git stash 명령어 사용법Git 2020. 11. 16. 10:03
안녕하세요. 그린입니다! 이번 포스팅에서는 git stash 명령어 관련하여 사용법을 게시하겠습니다~ 매번 협업을 하면서 브랜치를 생성하여 작업도중 PR에 대한 수정을 하려할때 기존 작업하고있던 브랜치를 커밋하지 않으면 checkout되지 않아 항상 불편함이 느껴졌습니다. 그걸 분명 해결하는 방법이 있을거라 생각하여 찾아낸것이 바로 git stash !!! 그럼 사용법을 아래와 같이 안내드리겠습니다 ^^ -. git stash: 아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 하는 명령어로 아직 완료하지 않은 브랜치를 커밋하지 않고 나중에 다시 꺼내와 마무리 지을 수 있다. 일종의 작업되고있는 파일들을 보관하는 셈 -. git stash: 하던 작업 임시 저장 -. git stash list:..
-
Git remote 별칭 추가 및 브랜치 삭제Git 2020. 11. 10. 20:43
안녕하세요. 그린입니다! 이번 포스팅에서는 Git에서 remote 별칭 추가하여 원격 저장소의 브랜치를 연결하는 방법과 브랜치를 리셋하는 방법에 대해 간략하게 알려드리겠니다. 1. Git remote 별칭 추가하여 원격 저장소 브랜치와 연결 1) git checkout "연결할 브랜치" 2) git remote add "별칭" "원격저장소 주소" 이후 git push "별칭" "푸쉬할 브랜치" 로 별칭을 주어 편리하게 사용할 수 있습니다. 원래 기본적으로 origin의 별칭이 하나의 브랜치(거의 메인)에 잡혀있기에 협업 할 시 여러 브랜치를 따기에 별칭을 주어 편리하게 할 수 있습니다. 2. Git reset 커밋과 푸쉬가 된 걸 돌이킬때 사용합니다. 1) git log로 돌아갈 시점 로그 확인 (더블클..
-
객체지향 프로그래밍 패러다임Swift 2020. 11. 8. 15:21
안녕하세요. 그린입니다! 이번 포스팅에서는 Swift 뿐 아니라 다른 객체지향 프로그래밍을 따르는 언어와 공통된 특성에 대해 이야기해보려합니다. 바로 객체지향 프로그래밍 패러다임인데요. 객체지향 프로그래밍 (Object Oriented Programming, OOP)는 컴퓨터 프로그래밍 언어를 공부하셨던 분들이라면 다들 들어봤겠죠?? 간단히 설명하면 프로그램을 단순한 명령들을 실행하는것에서 나아가 모든것을 객체들로 보고, 그 객체들의 모임으로 파악하여 상호작용을 하며 기능을 구현하는것을 말합니다. 이 객체지향 프로그래밍은 초기 프로그램을 통해 계산 같은 간단한것에서 발전하여 많은것 즉, 삶에 모든것을 객체로 보고 해결하고자하는 시각에서 발전되온것입니다. 패러다임이 뭘까요? 패러다임은 직역 그대로 시각,관..
-
컴퓨터과학 기초CS(ComputerScience) 2020. 11. 5. 11:20
안녕하세요. 그린입니다! 이번 포스팅에서는 CS 즉 ComputerScience == 컴퓨터과학을 뜻하죠. 이 컴퓨터과학에 대해 알아보겠습니다. 컴퓨터를 전공하였다면 전공과목으로 수강하였던 부분이기도 하지만 이번 CS카테고리에서는 이 부분을 아주아주 기초부터 심화된 내용까지 다뤄보도록 하겠습니다. 우리가 프로그래밍을 한다하더라도 컴퓨터에 대해 원초적으로 잘 알고 코딩을 한다면 더 좋은 성과가 있겠죠?? 부담없이 쭉 일어보고 아는것을 다진다라는 생각으로 구독해주시면 감사하겠습니다~! 1. CS 기초 용어 -. 프로그래머 : 컴퓨터 프로그램을 만드는 사람 -. 프로그래밍 : 컴퓨터 프로그램을 만드는 일 -. 프로그램 : 컴퓨터에 의해 실행될 수 있는 일련의 기능 모음 (집합체) 2. 컴퓨터의 발전과 역사 -..
-
랜덤함수Swift 2020. 11. 4. 15:35
안녕하세요. 그린입니다! 이번 포스팅에서는 짧게나마 랜덤함수에 대해 포스팅을 하겠습니다. 제가 랜덤함수를 찾아보고 학습하게된 계기는 제 블로그의 Swift > 개발 메뉴에서 확인할 수 있듯이 묵찌빠 게임을 프로그래밍하는 도중 컴퓨터의 묵찌빠를 랜덤하게 받아와야하는 일이 생겼습니다. 이에 차근차근 스위프트 문법을 학습하던 저는 우선 구글링을 통해 스위프트에서 랜덤함수 사용에 대해 학습을 해봤습니다. 자 그럼 스위프트에서 랜덤함수를 정의하고 원하는 조건에 맞게 랜덤값을 도출해내는 과정을 같이 진행해보시죠~! 스위프트 4.2 버전 이후 부터 모든 정수와 실수 타입은 자체적인 랜덤함수를 제공해주도록 업데이트 되었습니다! 그래서 이 포스팅에서는 4.2버전 이후와 이전으로 둘 다 알아보겠습니다~!! [Swift 4..