목록전체 글 (50)
씬디의 블로그

Swift(강의자료 14회차)1. 인스턴스 프로퍼티인스턴스 프로퍼티는 특정한 구조체, 클래스에 속하는 저장 프로퍼티와 연산 프로퍼티이다값 저장의 여부에 따라 저장 프로퍼티, 연산 프로퍼티로 나뉜다 1-1. 인스턴스 저장 프로퍼티주로 값을 저장하기 위한 목적으로 클래스나 구조체 내에 정의된 변수나 상수를 말한다 프로퍼티를 선언할 때 초기화를 하거나class DrinkClass { let name: String var count: Int var size: String init(name: String, count: Int, size: String) { self.name = name self.count = count self.size = size ..

정보처리기사수제비2024 기출문제집으로 공부하면서 틀린 부분 위주로 기록1. 물리 요소 조사 분석분산 데이터베이스 시스템데이터베이스의 설계가 비교적 어렵고, 개발 비용과 처리비용이 증가한다는 단점이 있다분산 데이터베이스 시스템의 주요 구성요소는 분산 처리기, 분산 데이터베이스, 통신 네트워크 등이 있다분산 데이터베이스의 투명성 [위복병 분장]위치 투명성복제 투명성병행 투명성분할 투명성장애 투명성3. 데이터베이스 무결성과 키무결성은 권한이 있는 사용자로부터 데이터베이스를 보호하는 것이고,보안은 권한이 없는 사용자로부터 데이터베이스를 보호하는 것이다 기본 키NOT NULL 제약 조건을 포함하고 있어 NULL 값을 가지지 않는다UNIQUE 제약 조건을 포함하고 있어 릴레이션에서 튜플을 구별할 수 있다릴레이션 ..

정보처리기사수제비2024 기출문제집으로 공부하면서 틀린 부분 위주로 기록2-1 데이터 입출력 구현1. 논리 데이터 저장소 확인수식의 표기법전위 표기법(PreFix): 연산자 -> Left -> Right중위 표기법(InFix): Left -> 연산자 -> Right후위 표기법(PostFix): Left -> Right -> 연산자2-2 통합 구현1. 모듈 구현테스트 vs 디버그테스트: 오류를 찾는 작업디비깅: 오류를 수정하는 작업Migration소프트웨어 재공학의 주요 활동 중 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업Component명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 일부분으로 넓은 의미에서 재사용되는 모든 단위라고 볼 수 있으며 ..

SwiftUI(강의자료 76회차)SwiftUI 프레임워크에는 'ViewModifier' 라는 프로토콜이 내장되어 있다이 프로토콜을 사용하면 기존에 생성한 뷰에 추가적으로 꾸며줄 수 있는 Custom Modifier를 생성할 수 있다 ViewModifier 구현struct PurpleModifier: ViewModifier { func body(content: Content) -> some View { } }먼저, ViewModifier를 채택한 구조체를 선언한다구조체 내에 body를 입력하면 자동완성으로 메서드가 나타난다 body 메서드는 some View 타입을 반환해야 한다자동완성 된 메서드의 파라미터를 보면 content: Content가 있는데이 파라미터가 ..

Swift면접 단골 질문 앱 생명주기 (강의자료 2회차, 6회차) 앱의 생명주기란?앱의 처음 실행되는 순간부터 종료되는 시점까지의 상태,그리고 앱이 비활성화되거나 background로 전환되는 상태 등의 일련의 과정을 뜻한다 앱의 생명주기를 왜 배워야하지?메모리 효율성앱이 실행되면서 메모리를 효율적으로 사용해야한다. 생명주기를 이해하면 필요할 때 자원을 할당하고, 필요 없을 때 해제하여 시스템 성능을 최적화할 수 있다안전성앱이 예기치않게 종료되거나 비정상적으로 동작하지 않도록 하는 것은 ⭐️매우 중요⭐️ 하다. 생명주기를 알면 앱이 종료되기 전에 중요한 데이터를 저장하거나, 사용자 상태를 유지할 수 있다디버깅 용이성생명주기를 알면 앱이 특정 상태에서 문제가 발생했을 때, 어디에서 무엇이 잘못되었는지 쉽게..

프로그램이 실행되면 운영체제(OS)는 4가지 영역으로 공간을 할당한다 프로그램의 정보를 메모리에 로드해야 하고프로그램이 실행되는 동안 CPU가 코드를 처리하기 위해서는메모리가 명령어와 데이터들을 저장해야 한다 메모리를 그냥 사용하면 비효율적이기 때문에, 어느정도 구분을 시켜서 사용하는 것이 효율적이다그래서 메모리의 구역을 논리적으로 나눈 영역이 -> 코데힙스 이다 코드 영역우리가 작성한 코드를 저장하는 영역이다프로그램이 시작하고 끝날 때 까지 메모리에 계속 남아 있다데이터 영역우리가 코드에 작성한 변수(전역변수, 타입변수)들을 저장한다프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸한다힙 영역클래스의 인스턴스, 클로저 등을 저장한다할당시 스택처럼 차곡차곡 쌓는게 아니라, 스캔 후 비어있는 메모리..

정보처리기사수제비2024 기출문제집으로 공부하면서 틀린 부분 위주로 기록1-2 요구사항 확인2. 요구사항 확인클래스 다이어그램이란?클래스 다이어그램은 구조 다이어그램으로 클래스 내부 구성요소 및 클래스 간의 관계를 도식화하여 시스템의 특정 모듈이나 일부 및 전체를 구조화한다. 개발 하기 전, 클래스 다이어그램을 그리게 되면 시스템 내 클래스 간의 의존성 파악과 팀원들 간 의사소통이 편리해진다클래스 다이어그램의 요소구성 요소설명클래스 이름(Class Name)클래스의 이름을 명시속성(Attribute)클래스의 특징에 이름을 부여연산(Operatoin)- 클래스에 속하는 객체에 적용될 메서드를 정의- 클래스의 동작을 의미하며, UML에서는 동작에 대한 인터페이스를 지칭접근 제어자(Access Modifier..

Swift AnyObject 프로토콜을 채택함으로써 클래스 타입을 제한할 수 있다? 왜?? 왜 굳이굳이 AnyObject 프로토콜을 채택해서 클래스 타입으로 제한하는걸까?프로토콜의 채택을 클래스로 제한하는 것이 합리적이라면, 프로토콜을 클래스 전용으로 표시하여 더 나은 런타임 성능을 얻을 수 있다 프로토콜을 클래스 전용으로 표시하면 어떻게 런타임 성능을 얻을 수 있을까?프로토콜을 클래스 전용으로 표시하면, 컴파일러가 클래스만 이 프로토콜을 충족한다는 것을 기반으로 프로그램을 최적화 한다고 한다 그래서 AnyObject라는 프로토콜을 채택하게 되는데AnyObject 프로토콜은 모든 클래스 타입의 인스턴스만 담을 수 있다