메모리 구조(Memory Structure) 1) 개요 1. 앱을 만들어서 실행을 하는 과정은 하드 디스크와 같은 저장 공간에 있는 프로그램이 메모리로 올라가 프로세스가 되는 과정과 같다. 2. 여기서 내가 궁금했던 것은 " 내가 작성한 코드들이 어떻게 메모리 내에서 공간을 차지하고 있을까 ? " 라는 의문이 생길 수 있다. 3. 메모리 구조를 살펴봄으로써 이 부분을 해소하고자 한다. 4. 그렇다면 굳이 메모리 구조를 살펴봐야 하나?? 5. 최근에는 대용량의 메모리 용량이 탑재되면서 메모리 관리를 정밀하게 해야하는 수준이 감소하기는 했지만, 메모리 관리를 통해 불필요한 메모리는 제거 해주면서 앱의 성능을 효율적으로 관리해줄 필요성이 있다 !! 메모리가 고용량이 된다고 하더라도 그 안에서 최고의 성능을 내..
스레드(Thread) 1. 개요 자.. 스레드(Thread). 컴퓨터에 조금이라도 관심이 있는 사람이라면 한번은 들어봤을 그 단어. 나도 들어는 봤지만 잘 모르고 있었던 부분이다. 알아보기로 한다. 2. 사전적 정의 (출처 : 위키백과) "" Thread 란? 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. "" 그래. 프로그램은 저장 공간에 있는 상태일때를 말하는구나, 뭔지 알겠어. 근데 프로세스(Process)는 뭔지 또 기억이 나질 않는다. "" 프로세스는 저장 공간에 있던 프로그램이 메모리에 올려져 독립된 메모리 공간을 할당받을 때, 프로그램이 ..
객체 지향 프로그래밍(Object-Oriented Programming) 1) 이론적 정의 - 객체 지향 프로그래밍(OOP)이란 캡슐화(Encapsulation), 다형성(Polymorphism), 상속(Inheritance)을 이용하여 코드 재 사용을 증가시키고, 유지보수를 감소시키는 장점을 얻기 위해서 객체들을 연결시켜 프로그래밍 하는 것. - 단순한 데이터 처리 흐름에서 벗어나 각 역할을 지닌 객체(Object)들의 상호작용으로 동작. * 객체 : 데이터 (상태) + 메서드 (행위) - 객체란 무엇인가? * 존재하거나 생각할 수 있는 것을 '객체'(Object) 라고 한다. 무형이나 유형의 개념까지의 모든 존재를 객체라고 볼 수 있다. * OOP 관점에서 보면 객체는 데이터와 함수를 속성(데이터)과..
1) 정의 "Technical debt is a concept in software development that reflects the implied cost of additional rework caused by choosing an easy solution now instead of using a better approach that would take longer." "기술적인 빚은 함축적으로 보면 '추가 재 작업 비용'을 나타내는 소프트웨어 개발 분야에서의 하나의 개념인데, 오랜 시간이 걸릴 수도 있는 최고의 접근 방법을 사용 하는 대신에 현재의 쉬운 해결 방법을 선택함으로써 유발된다." 2) 내용 "Technical debt can be compared to monetary debt. If t..
Ⅰ. GIT = DVCS(Distributed Version Control System)* VCS ( 버전 컨트롤 시스템, Version Control System )# 동일 목적의 데이터에 대해 각 시점의 버전을 기록하여 코드의 변화를 관리하는 것.# 각 변경사항마다 버전 번호를 부여하여 각각의 정보를 따로 기록* 장점# 현재 코드가 어떤 맥락을 거쳐 지금 상태가 되었는지 변경사항을 추적할 수 있다.# 소스 코드를 누가 수정했는지 파악할 수 있다.# 문제가 생겼을 때 이전 버전으로 돌아갈 수 있다.# 코드 백업기능 수행# 여러 사람이 협업 시, 코드의 동기화 수행 및 코드 충돌과 유실 방지# 히스토리 => 문서화 역할 가능* VCS의 종류# 기본 - 파일 복사 후 별도 저장 ex. 보고서_Final.t..
Ⅰ. 데이터 크기(Data Size)* 1 KB = 1024 Byte = 2진법으로 표현하면 210* 1 MB = 1024 KB = 2진법으로 표현하면 220* 1 GB = 1024 MB = 2진법으로 표현하면 230* 1 TB = 1024 GB = 2진법으로 표현하면 240 * ...Ⅱ. 비트 연산자(Bitwise Operation)* 1개 또는 2개의 2진수에 대해 비트 단위로 연산하기 위해 쓰는 연산자# & : AND 연산. 둘 다 참일때만 만족 (0은 True, 1은 False를 나타낸다)# | : OR 연산. 둘 중 하나만 참이여도 만족# ^ : XOR 연산. 둘 중 하나만 참일 때 만족# ~ : 보수 연산. # > : 오른쪽 시프트 연산자. 변수의 값을 오른쪽으로 지정된 비트 수 만큼 이동 Q..
★ 필요한 부분만 골라서 공부하기 ! 꼭 순서가 이어지지는 않습니다. Ⅰ. 데이터 단위(Data Unit)* 비트(Bit) : 정보 표현의 최소 단위. # 0, 1 / On, Off / True, False 처럼 두 가지 상태만을 표현한다.* Nibble : 1 nibble 은 4 bit 와 같다. 또한 16진수의 1자리 수이다. # 16진수의 1자리 수는 16가지의 상태를 표현하는데 4bit 는 16가지의 상태를 표현할 수 있기 때문이다.* Byte : 일정한 개수의 비트로 이루어진 비트열을 뜻한다 # 기본적으로 1 byte = 8 bit = 2 nibble # 문자 하나를 나타내는 최소 단위.Ⅱ. 수 체계(Number System) * 진법 - 수를 셀 때 자리수가 올라가는 단위를 기준으로 셈법의 총..
- Total
- Today
- Yesterday
- var
- fastcampus
- array
- swiftUI
- 딕셔너리
- 깃허브
- 튜플
- fallthrough
- function
- inswag
- GCD
- 패스트캠퍼스
- 열거형
- 리터럴
- ios
- OOP
- Dictionary
- 패캠
- ARC
- 타입
- Operator
- 스위프트
- iOS개발스쿨
- 컨버전
- 프로그래밍
- 개발스쿨
- lifecycle
- commit
- tca
- Swift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |