분류 전체보기 221

DB공부전략

1. 설계 : DB구조와, 스키마 짜는 원리, 각 명칭. 2. 사용 : 관계형과 SQL위주로 보기. 0. 서론 0.1 DBMS가 생겨난 이유 -> 데이터 손상을 피하고, 필요시 데이터 복구하기 위한 방법의 필요성을 느껴서. 0.2 발전단계(tech tree) 파일구조, 플로우 차트로 관리(1960's) Hierachical, Network형 DB가 등장(1970's) 관계형 DB가 상용화(1980's) 객체 관계형 DB로 발전(1990's) ; 인터넷 발전과 함께 0.3 관계형 DB가 상용화(1980's) - 1970년 처음 소개 -> IBM의 SQL 개발 -> Oracle이 상용화. -> 파일시스템/계층/망형 DB를 대체 1. 구조 - 3단계가 있다. 외부(스키마) 개념(스키마) 내부(스키마) 2. 모..

Back/DB 2022.01.20

[swift 입문] Dynamic Table View - Data Source

1. 테이블 뷰가 데이터를 표시하는 방식 1.1 numberOfSectionsInTableView : How Many Sections In that Table View? 1.2 numberOfRowsInSection : How Many Rows In that Section 1.3 cellForRowAtIndexPath : What should I display in that (Section, Row) 1.4 TitleForHeaderInSection : Section의 타이틀을 달 수 있다. ex)축구선수 Section 1.5 TitleForFooterInSection : Section의 꼬릿말? 같은것을 달 수 있다. ex)총합 : 95 아래 예제에서 return 값을 셋팅해 놓으면 원하는 sectio..

연습/swift개발 2022.01.20

4.11 얼굴에 제스처를 적용해보자

이제 데모를 통해서 이런 움직임 등을 어떻게 구현할 지 보자 ​ 제일 먼저 핀치 제스처(pinch gesture)를 만들어볼꺼야 ​ 우리 얼굴을 크거나 작게 조절해 줄 녀석이지 ​ 손가락으로 오므렸다 펴면서 이미지 스케일을 조정해 줄 거야 ​ 그 다음엔 팬 제스처(pan gesture)를 만들건데 ​ 차라리 스와이프 제스처(swipe gesture)로 하는게 낫겠다 ​ 이걸로 우리가 만든 모델(Model)을 바꿀거야 ​ 스와이프 제스처로 모델을 웃거나 슬픈 표정을 만들어 줄거야 ​ 표정을 웃거나 슬프게 하면 FaceView에도 적용돼서 보일거야 ​ 그럼 그렇게 해보자 ​ FaceIt 프로젝트로 다시 돌아와서 ​ 어떻게 시작하면 될까? ​ 우선 우린 Gesture Recognizer를 추가해야 해 ​ 전에..

연습/swift개발 2022.01.20

4.10 제스처는 어떻게 만들까

좋아, 슬라이드로 다시 돌아가서 제스처에 대해서 알아보자 ​ 그리고 돌아와서 실제로 우리 얼굴에 제스처를 넣어볼꺼야 ​ 우리는 마지막 시간에 뷰에서 어떻게 그리는지 배웠지 ​ 우리는 입이랑, 눈이랑, 눈썹 같은 모든 걸 그려봤고 ​ 이제 어떻게 하는지 감이 꽤 잡힐꺼야 ​ 우리는 drawRect에 UIBezierPath를 사용했어, 어렵지 않지 ​ 하지만 제스처는 어떨까? ​ 제스처라는 것은 화면을 통해 전달된 사용자의 입력이야 ​ 우린 화면 위에 올려진 모든 손가락의 위치와 운동을 알 수 있지 ​ 이건 가능해 ​ 이걸 해주는 API도 있지만 절대로 사용하지는 않지 ​ 왜 사용하지 않을까? ​ 그 이유는 사용자는 너희가 만든 UI와 소통하는 방법이 ​ 스와이프(Swipe)나 핀치(Pinch)처럼 제스처로..

연습/swift개발 2022.01.20

4.9 얼굴앱 - 모델과 컨트롤러 분리

여기 있는 controller에 대해 이야기해보자 Model이 필요한데 여기에 만들어둔 작은 Class를 생성할거야 FacialExpression(얼굴 표정)라는 이름의 클래스인데 여기로 드래그해서 여기 copy에 체크할거야 어떤 것을 드래그해 올 때 거의 항상 체크해야 할거야 copy를 원하고, link되는 것을 원하지 않는다면 집중해서 들어야 해 대부분 이렇게 해줄거야 미리만들어 둔 FacialExpression을 복사해 가져왔고 이제 FacialExpression 안을 살펴보자 여기 FacialExpression을 보면 이건 UI 같은 것이 아니라 Model이야 Foundation만 import 해왔고 UI와는 완전히 독립적이야 이 모델에서 얼굴에 대한 개념은 FaceView와는 달라 FaceVie..

연습/swift개발 2022.01.20

4.8 다양한 얼굴 표정

데모로 바로 들어가보자 내가 이야기했던 두가지를 할건데 인터페이스 빌더(Interface Builder)와 모델(Model)이야 모델은 FaceViewController에 쓰일 얼굴의 표정이 될거야 놀랍지도 않지 여긴 지난 시간에 끝냈던 FaceView야 지금부터 빠르게 FaceView를 업그레이드할거야 조금 더 멋지게 만들기 위해서지 지난 시간을 기억해보면 우리 FaceView엔 입이 있었지 입을 약간 변형해 줄 수 있었는데 웃거나 찡그리게 할 수 있었어 그리고 눈이 두 개 있었지 두가지를 추가해 볼건데 첫번째는 두 눈을 감게 할거야 나머지 하나는 눈썹을 추가할거야 굉장히 빨리할거야 이것을 만들 코드를 통해 배울게 많이 없거든 하지만 우리가 그동안 해왔던 것들보단 훨씬 많은 내용이야 자, 몇개의 pub..

연습/swift개발 2022.01.20

4.7 얼굴앱 - 눈 넣기

FaceView로가서 좀 더 추가해보자 눈을 추가해볼까 얼굴에 눈을 추가해 볼꺼야 여기에 작은 헬퍼 함수를 만드는 걸로 시작해보겠어 눈과 입 등 모두를 두개골(skull)의 사이즈와 연관되게 만들거야 두개골의 사이즈가 어떻든간에 안에 들어갈 모든 것들을 두개골에 연관되도록 할거란 말이지 그럼 skullCenter와 skullRadius를 drawRect밖으로 꺼내서 이것들을 변수(var)로 만들거야 이렇게 하게 되면, 숙제에도 있을건데 이런 에러가 뜰거야 인스턴스 멤버인 ‘bounds’는 'FaceView’ 타입에서 사용할 수 없다 라고 말하고 있지 너흰 매우 혼란스러울 거야 왜냐하면 bounds는 명확히 FaceView의 인스턴스 멤버인데 어떻게 여기서 bounds를 사용할 수 없다는걸까? 그에 대한 ..

연습/swift개발 2022.01.20

4.6 얼굴앱 - 스토리보드 연결

UI로 어떻게 가져올 수 있을까 여기에 있는 스토리보드로 돌아가면 지금은 비어있지 여기에 아무것도 없어 지금은 오직 배경이 되는 뷰만 있지 이 FaceViewController 안에 변수(var)가 있다고 말했었지 그 변수는 이 뷰를 가르키지 오른쪽 클릭을 통해서 보여줄거야 여기에 있는게 보이지 마우스를 여기 위에 올리면 어떤 것이 하이라이팅되는지 보이지 이건 view라고 불리는 outlet이야 계산기앱에서 display라는 이름의 outlet 처럼 이건 UIView타입에 view라는 이름을 가진 outlet 또는 var야 이것은 여기에 연결되어 있어 자동으로 연결해주지 ctrl + 드래그 같은 것을 해주지 않아도 돼 하지만 우린 view에 코드를 추가로 적지 않을거기때문에 그 변수가 필요하진 않아 거기..

연습/swift개발 2022.01.20

4.5 얼굴앱-얼굴형

여기서 계산기 실습을 하지 않을거야 완전히 새로운 앱을 만들거야 여기로 내려와서 새로운 Xcode 프로젝트를 만들거야 여기있지, 여기 iOS application에서 single view application을 만들거야 FaceIt이라고 부를거고 얼굴그리기앱이니까 당연히 Objective-C말고 Swift지 Universal 앱으로 할거야 드디어 여러개의 MVC도 같이 만들거야 테스팅이나 코어데이터도 안할꺼고 계산기를 넣던 같은 곳에 넣을거야 아직 소스코드 컨트롤은 안할거야 자, 여기 우리의 새로운 앱이 있네 항상 하던 같은 일을 할거야 images.Assets라고 부르긴 했는데 Assets.xcassts라고 불려 여기는 원하는 이미지를 드래그해서 여기에 넣는 곳이야 foo같은 이름을 가진 UIImage..

연습/swift개발 2022.01.20

4.4 텍스트를 넣으려면

텍스트를 그리는 경우는 어떨까? 우리는 UIBezierPath로 텍스트를 그리지 않아 텍스트는 폰트로 표현되는 UIBezierPath의 모음일 뿐이야 폰트는 UIBezierPath의 모음으로 된 각각의 문자를 정의해 새겨진 문자 말이야 그러니까 우리는 텍스트를 그리는 높은 수준의 방법이 있는거야 여기 문자열이 있으니까 그려보라고 하는 것처럼 말야 UIBezierPath가 그려지는 높은 수준의 방법이지 너흰 분명 UIBezierPath 수준으로 문자를 표현하고 싶지 않겠지 하지만 대부분은 drawRect로도 텍스트를 직접 그리지 않아 이미 익숙한 UILabel을 사용해서 문자를 그려내지 직사각형이 있으면 여기 놓일거고 이 친구 이마에 Hello라고 적고 싶으면 저기에 ULabel을 얹어놓고 Hello라고 ..

연습/swift개발 2022.01.20