[xcode] extension 언제 사용?
·
🌙 iOS 스터디/iOS
stored property : 추가 못함. >> 상속을 너무 많이 받아서 코드가 난잡해지는 경우 분리를 위해 extension으로 나누어 줄 때 사용 또는 computed property나 method를 만들기 위하여 사용됨
[xcode] Animating View Properties
·
🌙 iOS 스터디/iOS
관련 애플 개발자 문서 developer.apple.com/documentation/uikit/animation_and_haptics/property-based_animations Apple Developer Documentation developer.apple.com 레이아웃 속성을 이용한 간접적 애니메이션 뷰의 속성을 직접 이용한 애니매이션 애니매이션 할 수 있는 뷰의 속성들 Position & Size : bounds. frame. center ... (AutoLayout과 겹칠 수 있기 때문에 , 잘 사용하여야함) Transformation : rotation, scale, translation ... (합쳐서 사용도 가능) Appearance : backgroundColor, alpha ...
[Xcode] MVVM을 이용하여 TableView로 구성한 원피스 현상금 앱
·
🌙 iOS 스터디/Xcode
개요 MVVM 디자인 패턴을 이용하여 원피스 현상금 랭킹앱을 디자인. 현상금이 높은 순서대로 보여주어야 한다. View구성은 TableView를 이용하였다. 실행 동영상 MVVM 디자인 패턴 View = UI + ViewController Model = 데이터 ViewModel = Model은 ViewModel를 거쳐서 접근 가능하여야 한다. 알고리즘적인 부분 수행 StoryBoard : UI TableView : Cell View에서 TableView를 구성한 다음에 Table View Cell 까지 디자인한다. 기존 Cell : xcode에서 자체적으로 지원하는 cell의 기본 디자인. 간단한 체크 표시 등등 가능. Custom Cell : 직접 디자인하여 cell을 구성하는 방법. 주로 이 방법으로..
[ios] IOS 디자인 패턴 Design Pattern
·
🌙 iOS 스터디/iOS
옷장에 있는 옷들처럼 코드도 체계적으로 분류하기위하여 필요한 것이 디자인 패턴. 유지 보수를 위하여는 패턴이 필요함. 클린 아키텍처 목표 : 기술부채 최소화, 재사용 및 지속 가능 MVC (model - view - controller) mvvm이 나오기 전의 패턴. model : 데이터 struct view : UI요소 controller : 두가지 사이에 중계자 viewController 단점: 개발이 커지면 커질수록, 중계자에서 해야할 일이 너무 많아짐 (massive view controller) 뷰와 모델의 경계가 모호해질 때가 있다. MVVM (model - view - viewmodel) 현재 가장 널리 사용하는 디자인 패턴 model : 데이터 view: UI요소 (view, viewcon..
[Swift] Computed Property vs Method
·
🌙 iOS 스터디/Swift
Property : 호출시 (저장된) 값을 하나 반환 Method : 호출시 어떤 작업을 함 또는 값을 리턴하는 작업도 가능. 자바가 익숙한 나는 값을 리턴할 때 자꾸 method를 찾게 된다. 둘의 차이점은? setter가 필요하면 Computed Property setter가 필요하지 않은데, 계산이나 여러가지 디비, 네트워크 등 복잡한 기능이 들어간다면 Method, 간단하다면 Computed Property
[Swift] 스위프트 문서 정리 잘된 한국어 번역
·
🌙 iOS 스터디/Swift
jusung.gitbook.io/the-swift-language-guide/ The Swift Language Guide (한국어) jusung.gitbook.io 스위프트 문서 한글 번역본 melod-it.gitbook.io/sagwa/ 애플 개발자 문서 한글 번역 melod-it.gitbook.io 애플 개발자 문서 한글 번역본
[Python] 이것이 코딩테스트다 10장 그래프 이론
·
💡 CodingTest/이것이코딩테스트다
그래프 이론의 핵심 지금까지 배운 내용 시간 제한 참고 파이썬 => 1초 20000000번 연산 데이터 20,000,000 => O(N) 데이터 1,000,000 => O(NlogN) 데이터 4~5,000 => O(N^2) 데이터 100~200 => O(N^3) 그래프의 구현 방법 노드의 개수가 V, 간선의 개수가 E라고 하면 인접 행렬 : 2차원 배열을 사용하는 방식 인접 행렬의 경우 O(v^2) 만큼의 메모리 공간 필요 (메모리 측면) 인접 행렬의 경우는 특정 노드의 간선의 비용을 알기 위해선 O(1)의 비용이 듦 (속도 측면) 인접 리스트 : 리스트를 사용하는 방식 인접 리스트의 경우 O(E) 만큼의 메모리 공간 필요 (메모리 측면) 인접 리스트의 경우는 특정 노드의 간선의 비용을 알기 위해선 O(..
[Python] 이것이 코딩테스트다 9장 최단 경로
·
💡 CodingTest/이것이코딩테스트다
최단 경로의 핵심 최단 경로 알고리즘에는 다양한 종류가 있음. 우선 , 한 지점에서 특정 지점으로 까지의 최단 경로를 구해야하는 경우 모든 지점에서 모든 지점까지의 최단 경로를 구해야 하는 경우 경우를 생각해본다. 또, 최단 경로의 합을 구하는 경우 최단 경로에서 거쳐온 노드들을 구하는 경우 를 캐치 한다. 🔑 앞서 공부한 그리디, 다이나믹은 최단경로 알고리즘에서 그래도 적용 된다. 다익스트라 알고리즘: 기준 노드에서 각 노드에 대한 현재까지의 최단 거리 정보를 항상 1차원 리스트에 저장하여 갱신한다는 특징이 있다. 방법 1. 구현하기 쉽지만 느리게 동작하는 다익스트라 O(n^2) 방법 2. 구현하기 조금 어렵지만 빠르게 동작하는 다익스트라 (우선순위 힙 이용) O(elogv) 플로이드 알고리즘 : 2차..
[Python] 이것이 코딩테스트다 8장 다이나믹 프로그래밍
·
💡 CodingTest/이것이코딩테스트다
다이나믹 프로그래밍의 핵심 🔑 수열의 점화식을 구하는 것이 핵심! 중복되는 연산을 줄이자. 연산 속도와 메모리공간을 최대한으로 활용할 수 있는 효율적인 알고리즘을 작성 현재의 항들로 다음 항을 구할 수 있는 경우 다이나믹 프로그래밍을 쓴다. 대표적 예시 >> 피보나치 수열 재귀 함수(탑다운 방식) 구현하긴 간편하지만 숫자가 커지면 기하급수적으로 연산횟수가 늘어난다. f(100)을 구하기 위해서는 약 1,000,000,000,000,000,000,000,000,000,000번 연산을 해야한다. 시간으로 따지면 수백억년이 넘어가는 시간이 걸림. 다이나믹 프로그래밍 (보텀업 방식) 하지만 다이나믹으로 풀 경우, 같은 문제라면 한번 씩만 풀어 저장해 놓기 때문에 효율적으로 해결하게 된다. O(N)의 성질을 보임..
[2장] 운영체제 - Operating System Concepts 공룡책
·
📗 Computer Science
2장. 시스템 구조 운영체제 서비스 사용자에게 도움이 되는 기능 사용자 인터페이스, 프로그램 실행, 입출력 연산 파일 시스템 조작, 통신, 오류 검출 시스템의 효율적 연산을 보장하는 기능 자원 할당, 계정 관리, 보호 및 보안 운영체제의 세 가지 사용자 인터페이스 CLI : 명령어 라인 인터페이스 GUI : 그래픽 유저 인터페이스 Batch Interface : 일괄처리 인터페이스 시스템 호출 시스템 호출은 프로세스가 운영체제에게 요청 할 수 있는 방법을 제공 프로그램은 시스템 API나 표준 라이브러리 함수를 사용하여 요청. API나 함수는 궁극적으로 일련의 시스템 호출로 구성. 시스템 호출에서 매개변수를 전달하는 방법 레지스터 : 가장 간단한 방법 블록 스택 운영체제는 블록이나 스택 방법을 선호한다. ..
[네트워크] Link Layer - 링크 계층
·
📗 Computer Science
Link Layer 처음에 호스트라 라우터에 보낼때 브로드케스트로 보내서 모든 호스트한테도 신호가 간다. 따라서 한명이 신호를 보내고 있을때 다른호스트가 동시에 신호를 보내면 충돌이 일어날 수 있다. 따라서 충돌이 일어나지 않도록 해야함. 충돌이 발생하지 않게 , 또 충돌이 발생한다면 해결하는 일을 하는것이 링크레이어의 핵심적인 일. 링크레이어는 유선(이더넷), 무선(와이파이) 일 수가 있음 유선인 상황 링크레이어의 어뎁터는 NIC(네트워크 인터페이스 카드)임 유선일 경우는 브로드캐스트 또는 포인트 투 포인트, 무선일 경우 브로드캐스트. Medium Access Control (MAC): 어떻게 하면 충돌을 해결할것인가? 와이파이도 맥 프로토콜이라 할수있음 현재는 유선을 얘기하겟음 TDMA: 타임 디비전..
[네트워크] Network Layer - 네트워크 계층
·
📗 Computer Science
네트워크 레이어의 핵심 2가지 forwarding routing IP 헤더 TTL (Time To Live) : 라우터를 거칠때마다 -1 씩해줌 0 되면 버림. IP address IPv4 : 32비트 8 비트씩 끊어서 10진수로 바꾼게 우리가 아는 아이피 주소 아이피 주소는 네트워크 인터페이스 카드(NIC) 를 지칭하는 주소 따라서 여러개 꽂으면 여러개 아이피 가질 수 있음. ( 라우터가 여러개 아이피를 가지는 대표적인 예) 라우터는 forwarding table을 보고 어디로 보낼 지 결정한다. Hierarchical addressing 12.34.158.0/24 라는것은 앞에 24피드가 네트워크 어드레스 라는것이고, 뒤에 8비트가 호스트 아이피라는 것이다. 포워딩 테이블이 단축되는 장점이있다. 아니..
슬라임 통통
'분류 전체보기' 카테고리의 글 목록 (4 Page)