분류 전체보기 56

[Article] Choosing Between Structures and Classes

Choosing Between Structures and Classes — Deside how to store data and model behavior mutating 을 공부하면서 든 의문점 중 하나는 만약 mutating 을 써야할 필요가 있는 경우에 굳이 뭔가 데이터를 변경하기 위해 mutating 키워드를 사용해야 한다면 클래스를 사용하는게 낫지 않을까? 왜 swift는 mutating 이란 기능을 만든걸까? 한 구조체 내에서 mutating 을 너무 자주 사용한다면 성능적으로 더 안 좋은 점이 있는건가? 데이터가 메소드내에서 자주 변경된다면 클래스를 사용하는게 더 나은걸까? 뭐 이런 생각이 들면서 그렇다면 구조체와 클래스를 언제 써야 좋은것일지 판단하기가 어려워졌다 전에 부캠을 할 때도 이런 ..

[요약본] Method

Methods — The Swift Programming Language (Swift 5.5) Method 란, 특정 타입과 관련된 함수 function 를 의미함 클래스, 구조체, 열거형 모두 Instance Method 를 정의할 수 있음 또한 Type Method 도 정의할 수 있음 Instance Method : 해당 타입의 instance 내에서 특정 작업과 기능을 하는 함수 Type Method : Type 자체와 연관된 함수. Objective-C 에서의 class method 와 유사함 Swift 의 구조체와 열거형에서 method 를 정의할 수 있다는 것은 C와 Objective-C 와의 아주 큰 차이임 C와 Objective-C 에서는 클래스가 함수를 정의할 수 있는 유일한 타입임 In..

iPhone 백업 외장하드로 위치 변경하기

참고 링크. 백업 외장하드로 위치 변경 방법 작업 환경. MacOS 아이폰 용량이 점점 커지다 보니,, 언젠가부터 맥에 백업하는건 못할짓이고 몇 년 전부터 이 방법으로 백업을 했는데 할 때마다 영상 확인하기 싫어서 드디어 정리..! ㅋㅋ 1. 파인더에서 cmd + shift + g → ~/라이브러리/Application Support/MobileSync/ 로 이동 → MobileSync 폴더가 없으면 만들면 됨 2. 시스템 환경설정 -> 보안 및 개인 정보 보호 -> 전체 디스크 접근 권한 -> (잠금해제하기) -> iTerm/Terminal 앱 선택 → 다음에 열리는 터미널 앱에서는 권한이 주어짐 3. 다음 명령어 입력 ln -s /Volumes/[외장하드이름]/[백업폴더명]/Backup/ ~/Libr..

# TIPs/--- iPhone 2021.11.01

GC. Garbage Collection

KEYWORD 메모리 관리 방법 Garbage Collection 이란? 메모리 관리 방법 중 하나로, 시스템에서 더 이상 사용하지 않는 동적 할당된 메모리 블럭을 찾아 다시 사용 가능한 자원으로 회수하는 것으로 시스템에서 가비지 컬렉션을 수행하는 부분을 Garbage Collector 라고 부름 GC 기능을 채택한 언어의 경우 프로그래머가 프로그램 코드로 메모리를 명시적으로 해제하지 않음 메모리 할당과 해제가 자동으로 실행되며 프로그램 실행 과정에서 쓸모없어진 메모리들을 알아서 수집하고 관리해 줌 예시. String[] array = new String[2]; array[0] = '0'; array[1] = '1'; array = new String[] {'G', 'C' }; 새로운 스트링 배열이 할당..

# CS 2021.06.23

[클린 아키텍처] 객체 지향 프로그래밍

그냥 읽는 것만으로는 여전히 책을 이해하기 힘들기에 정리하는 글.. 객체 지향에 대한 한 가지 의견 → 캡슐화 encapsulation, 상속 inheritance, 다형성 polymorphism 캡슐화 Encapsulation 데이터와 함수를 쉽고 효과적으로 캡슐화하는 방법을 제공하기 때문 구분선 바깥에서 데이터는 은닉되고(private), 일부 함수만이 외부에 노출(public) But, C 언어에서도 완벽한 캡슐화가 가능함 // point.h struct Point; struct Point* makePoint(double x, double y); double distance(struct Point *p1, struct Point *p2); // point.c #include "point.h" #in..

[클린 아키텍처] 구조적 프로그래밍

클린 아키텍처를 보는데 구조적 프로그래밍 편에서 대충 이러이러하다 뭐 그런건 알겠는데.. 사실 그래서 구조적 프로그래밍이란게 어떤 것을 의미하는 건지 딱 와닿지 않는달까.. 일단 이것저것 먼저 참고하려고 찾아본 내용들! 뭔가 더 좋은 자료들이 있다면 알려주세요..ㅎ 구조적 프로그래밍 - 위키백과, 우리 모두의 백과사전 구조적 프로그래밍은 구조화 프로그래밍으로도 불리고 프로그래밍 패러다임의 일종인 절차적 프로그래밍(Procedural Programming)의 하위 개념으로 볼 수 있다. 이 패러다임은 GOTO문을 없애거나 GOTO문에 대한 의존성을 줄여주었음 구조적 프로그래밍 | Zoe의 기술블로그 프로그래밍 패러다임순차적(비구조적),절차적(구조적),객체지향적 프로그래밍 :: Kamang’s IT Blog..