기타 12

[iOS Swift AVFoundation] 2편. 음성파일 재생 하기 - AVPlayer

[iOS Swift AVFoundation] 1편. 미디어 파일을 다루려면? - AVKit [iOS Swift AVFoundation] 2편. 음성파일 재생 하기 - AVPlayer 일단 기본적으로 음성 재생으로 시작해보자. 키워드 AVPlayer AVFoundation replaceCurrentItem AVAsset AVPlayerItem General State Observations Timed State Observations AVKit AVPlayerLayer AVPlayer An object that provides the interface to control the player’s transport behavior. 미디어 파일에 대한 컨트롤러인셈이다. 개요 플레이어를 통해 미디어 에셋을 재생..

기타/iOS 기초 2022.07.15

[iOS Swift AVFoundation] 1편. AVFoundation 개요 - AVKit

드디어 iOS에서 미디어 파일을 다루어볼 기회가 생겼다. 그러기 위해서는 기본적으로 AVFoundation을 알아야 한다. 내가 하고자한건 일단, 녹음 기능과 재생 기능을 구현하였다. [iOS Swift AVFoundation] 1편. 미디어 파일을 다루려면? - AVKit [iOS Swift AVFoundation] 2편. 음성파일 재생 하기 - AVPlayer, PlayBack 하지만 하다보니 AVFoundation이라는 녀석이 궁금해짐. import AVFoundation https://developer.apple.com/documentation/avfoundation Apple Developer Documentation developer.apple.com 1. AVFoundation 개요 AVFo..

기타/iOS 기초 2022.07.15

<iOS 디자인패턴> swift MVC - 쉽게 설명

MVC 사실 스위프트 MVC로 검색해보면 말이 다 너무 어렵고, 설명만 봐서는 api 호출은 어디서할지, 모델을 여기서 변경해도 될지, notification은 어디다 걸어야 될지 등이 어렵다. 여기서의 설명이 꼭 맞지는 않지만 이렇게 해도 되구나 그냥 생각해보면 되겠다. 일단 밑에는 https://www.edwith.org/swiftapp/lecture/26620?isDesc=false 여기서 가져온 내용인데, 내가 바라본 입장에서 좀 더 설명해보겠다. 틀린 내용이 있으면 댓글 부탁드립니다. 1. Model 앱이 무엇인지에 대해 관심을 가집니다. -> 앱이 가지는 데이터들을 정의한다. 즉 일기 앱이면 앱은 날짜와 메모 사항을 저장하고, 이를 모델에서 정의하는 것이다. struct Diary { var ..

기타/iOS 기초 2021.07.24

<iOS 기초> 1강 - xcode란?

xcode란 ios앱을 만들기 위한 IDE이다. IDE는 Integrated Development Environment - 통합 개발 환경으로, 코드를 작성하고 앱을 빌드하는 기본 기능과, 깃을 이용한 버전 관리, 앱의 성능 관리등 다양한 도움을 준다. 일단 이후에 더 알아야되는 것들은 preference 설정, xcodeproj 설정, info.plist 파일, asset 폴더, signing등이 있다. 근데 이건 먼저 하면 재미없으니까 이후에 다룬다.

기타/iOS 기초 2021.04.22

<git> git 머지하려는데 양쪽중 반대쪽 위주로 병합할때

머지할때 경우가 3가지 같다. 크게 보면 충돌 안할때랑 할때 인데, 그중에서 충돌 할때도 굳이 나누면 conflict를 해결하는 경우랑, 해결할 것도 없이 둘중 한쪽은 무시하고 다른쪽 위주로 병합하고 싶을수가 있다. 둘중 한쪽 위주로 병합하는 방법이다. 현재 내 브랜치 위주로 둘을 머지한다. git merge -X ours 브랜치이름 상대 브랜치 위주로 둘을 머지한다. git merge -X theirs 브랜치이름

기타/git 사용 2020.10.07

<codecov> 코드 커버리지

[docs.codecov.io/docs/about-code-coverage] [proni.tistory.com/entry/Codecov-%EB%AD%90%EB%8B%88-%EB%84%88-%EC%BD%94%EB%93%9C-%EC%BB%A4%EB%B2%84%EB%A6%AC%EC%A7%80%EB%8A%94-%EB%98%90OTL] [codecov.io/] [github.com/carson-katri/swift-request/pull/34] 여기에 codecov 그림이 있어서 뭔가 찾아봤다. 코드의 구조를 이루는 것은 크게 구문( Statement ), 조건 ( Condition ), 결정 ( Decision ) 으로 나뉘며, 이러한 구조를 얼마나 커버했느냐에 따라 코드커버리지 측정 기준이 나뉘게 된다. 맛보..

기타/관리툴 2020.10.02

<git사용> 소스트리에서 git 로컬과 리모트 차이 그리고 서로 업데이트.

여기서 좌측 사이드 메뉴를 보면, 브랜치는 로컬 브랜치를 의미한다, 반면에 원격(구름 모양)은 원격 브랜치를 의미한다. 우측 큰 화면에서 origin이 안붙은 브랜치는 로컬이고, origin이 붙은 브랜치는 리모트 브랜치이다. 1. 변경된 로컬을 리모트에 반영하기 : 현재 matser가 원격의 master에 비해 5개 앞에 있으니까, 푸쉬를 통해 리모트에 로컬에서 변경한 내용을 반영해 줘야한다. 2. 변경된 리모트를 로컬에 반영하기 : 누군가 내가 주로 사용하던 원격 브랜치에 (이 경우에는 origin/master) 머지나 푸쉬를 통해 변경한다면 내 로컬을 원격으로 부터 업테이트 해야 한다. 그러면 pull을 사용하자. 근데 충돌이 발생한다면 소스트리에서 충돌한 파일이 확인이 안되던데,,, ui라 그런가..

기타/git 사용 2020.05.14