분류 전체보기
-
조인의 종류와 원리CS/데이터베이스 2022. 6. 14. 12:27
조인(JOIN) 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것 MySQL에서는 JOIN, MongoDB에서는 lookup 이라는 쿼리로 처리한다. 하지만 MongoDB의 lookup은 성능이 떨어지므로 지양해야 한다. 따라서 여러 테이블을 조이하는 작업이 많을 경우 관계형 데이터베이스를 써야 한다. 조인의 종류 셀프 조인, 오른쪽 조인, 합집합 조인, 교집합 조인, 교차 조인, 왼쪽 조인이 있는데 중요한 내부 조인, 왼쪽 조인, 오른쪽 조인 합집합 조인에서 알아 보겠다. 참고하면 좋은 사이트 : SQL JOIN 시각화 사이트 : https://sql-joins.leopard.in.ua/ SQL Joins Visualizer Please select how do you wa..
-
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)ios/개발하다가 2022. 6. 13. 21:57
Swift 코드의 맥락에서, EXC_BAD_INSTRUCTION 일반적으로 컴파일러 트랩, 즉 런타임에 감지된 버그로 인해 컴파일러가 코드에 삽입한 정의되지 않은 명령어를 의미합니다. 가장 흔한 원인은 다음과 같다. optional 언래핑 실패 — 강제 언래핑(!) 또는 암시적 언래핑(nil인 암시적으로 unwrapped 옵셔널에 액세스)으로 인해 범위를 벗어난 배열 실패한 강제 캐스팅(as!), 값이 nil optional이거나 값이 잘못된 타입이기 때문에 옵셔널을 다룰 때, 목표는 그 옵셔널의 범위를 가능한 한 많이 제한하는 것이어야 한다 . 그렇게 하면 한 번만 풀기만 하면 되므로 한 곳에서만 실패할 수 있으므로 다른 모든 코드가 더 간단해집니다. 참고 https://developer.apple.c..
-
제 1 정규화CS/데이터베이스 2022. 6. 12. 13:05
제 1 정규화 릴레이션의 모든 도메인이 더 이상 분해될 수 없는 원자 값(atomic value)만으로 구성되어야 한다. topic table title type description created author_id author_name author_profile price tag MySQL paper MySQL is... 2011 1 kim developer 10000 rdb, free MySQL online MySQL is... 2011 1 kim developer 0 rdb, free ORACLE online ORACLE is... 2012 1 kim developer 0 rdb, commercial 위의 정규화 되지 않은 topic table은 tag가 atomic 하지 않아 제 1 정규형을 만족..
-
데이터베이스의 기본CS/데이터베이스 2022. 6. 11. 17:14
데이터베이스(DB, DataBase) 조직의 여러 응용 시스템들이 공용하기 위해 통합, 저장한 운영 데이터의 집합을 의미 해당 데이터베이스를 제어, 관리하는 통합 시스템을 DBMS(DataBase Management System)라고 한다. DB 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어(query language)를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있다. 실시간 접근과 동시 공유가 가능하다. 응용 프로그램 DBMS 데이터베이스 엔티티(Entity) 엔티티는 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미한다. 예를 들어 회원이라는 엔티티가 있다면 회원은 이름, 아이디, 주소, 전화번호의 속성을 갖는다. 속성은 서비스의 요구 사항에 맞춰 속성이 정해..
-
UITableViewios/Etc 2022. 6. 3. 16:03
UITableView 단일 열 안에 행을 사용하여 데이터를 나타내는 view 수직 스크롤을 할 때 같은 형태가 반복되면서 내용은 달라지는 view 수직 스크롤만 가능하다. 테이블의 개별 항목을 구성한는 단위를 cell이라고 하며 타입은 UITaleViewCell이다. indexPath값을 통해 cell을 구분하며 여러 행은 하나의 섹션 안에 구성될 수 있고, 각 섹션은 header와 footer를 가질 수 있다. 또한 스크롤, 행 선택, 테이블 내용 편집, 행 추가 또는 제거 애니메이션과 같은 일반적인 동작을 처리하기 위한 내장 기능이 있다. UITableView를 왜, 언제 사용할까 UI가 반복되고, 데이터만 다른 경우 데이터가 많아 재사용이 필요한 경우 데이터가 가변적일 때, 동적할당이 가능하다. 메..
-
Optionalios/Etc 2022. 5. 27. 17:32
스위프트는 안전성을 매우 중요시하는 까다로운 언어이다. 이러한 안정성을 대표하는 중요한 요소 중 하나가 Optional이라는 개념이다. Optional은 Type casting이나 nil value(= null ) 체크 등에 있어서 중요한 역할을 한다. 옵셔널 값이 존재할 수도 있고 값이 존재하지 않을 수도 있다고 명시하는 것 래핑된 값이 존재하거나 값이 없다는 nil을 표현하는 형식 옵셔널로 정의한 변수와 그렇지 않은 변수는 서로 다른 타입이다. //옵셔널 변수를 정의할 때는 타입 어노테이션에 ?를 붙여야 한다. //옵셔널에 초깃값을 지정하지 않으면 기본값은 nil이다. var a:String? var b:String = "I'm b" //옵셔널 변수가 아니라면 nil을 할당할 수 없다. a = nil..
-
MVC/MVVMios/Etc 2022. 5. 27. 15:52
Design Patterns 2022.03.06 - [ios/Etc] - GoF Design Pattern MVC(Model - View - Controllers) MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴 간단한 쇼핑 리스트 앱이 있다고 해보자. 우리가 원하는 것은 이번 주에 사야할 각 항목의 이름, 개수, 가격의 목록이다. MVC 를 사용해 이 기능의 일부를 구현하는 방법을 아래에서 설명하겠다. (view: controller = n:1 구조) MVC 패턴의 구성 요소 모델(Model) 모델은 앱이 포함해야할 데이터가 무엇인지를 정의한다. 데이터의 상태가 변경되면 모델을 일반적으로 뷰에게 알리며(따라서 필요한대로 화면을 ..
-
AutoLayoutios/Etc 2022. 5. 19. 19:09
AutoLayout Auto Layout은 뷰 계층 구조에 있는 모든 뷰의 크기와 위치를 해당 뷰에 적용된 제약 조건에 따라 동적으로 계산한다. 예를 들어, 버튼이 이미지 view에서 수평으로 가운데에 놓이고 버튼의 위쪽 가장자리가 항상 이미지 아래쪽에서 8포인트 아래로 유지되도록 버튼을 제한할 수 있다. imageView의 크기나 위치가 변경되면 버튼의 위치가 자동으로 그에 맞게 조정된다. 외부 변경 사항 슈퍼뷰의 크기나 모양이 변경되면 외부 변경이 발생한다. 변경할 때마다 사용 가능한 공간을 최대한 활용하도록 view 계층 구조의 레이아웃을 업데이트해야 한다. 외부 변경의 몇 가지 일반적인 소스 사용자가 창 크기를 조정할 때(OS X). 사용자가 iPad(iOS)에서 Split View를 시작하거나 ..