전체 글 46

Swift - 값, 참조 타입에 대한 개념 (COW)

class 와 struct의 차이점에서 이해했듯 값타입과 참조타입이 있는데( https://teol-it.tistory.com/25 ) struct, enum, tuple 와 기본자료형( Int, Float, Double, Bool, String, Array, Dictionary, Set ) 등은 값타입으로 되어있고 특히 기본자료형은 struct로 만들어져있습니다. 참조타입은 class, function(closure) 등이 있습니다. -- 값 타입은 깊은복사라고 해서 데이터의 새로운 복사본을 생성하는 것이고 -- 참조타입은 원본 데이터를 참조하는 얕은 복사라고 합니다 그래서 얕은복사인 참조타입(class func)은 원본데이터의 값을 변경하는 것이고 구조체와 같은 값타입은 원본데이터의 값을 변경하지 않..

CI/CD란 무엇일까?

CI / CD 단계 각 단계에 대한 자세한 내용 : 지속적인 통합 vs. 지속적인 전달 vs. 지속적인 배포 CI (Continuous Integration) (빌드 테스트를 실시하는 프로세스) 통합 프로세스를 지속적으로 실시 CD (Continuous Deploy 혹은 Continuous Delivery) 프로덕션 환경으로 배포작업을 자동화 하는 것 앱에 적용한 변경사항이 버그 테스트를 거쳐 코드저장소에 자동으로 업로드되고 언제든 실시간으로 배포가능 변경사항의 배포에 대한 비용 시간과 위험 감소 iOS 앱 배포과정 앱을 아카이브 - 아카이브 하는 시간? 앱을 앱컨넥트에 업로드 - 배포 시간? 5~10분 이상 앱이 업로드 될 때까지(지연) 앱을 TestFlight 또는 앱스토어로 배포 연속으로 일어나면 ..

테스트 주도 개발이란? (TDD)

TDD 테스트 주도 개발은(TestDrivenDevelopment)은 매우 짧은 개발 사이클을 반복하는 software 개발 프로세스 중 하나이다. 개발자는 새로운 함수를 정의하는 자동화된 TestCase를 먼저 작성한다. 이후에 TestCase를 통과하기 위한 최소한의 양의 코드를 생성한다. 그리고 마지막에 해당 코드들을 표준에 맞도록 refactoring 하는 것이 바로 TDD 개발 방법이다. - wiki백과 기존 개발 프로세스 설계 -> 개발 -> 테스트 (-> 설계 수정) TDD 프로세스 설계 -> 테스트 (-> 설계 수정) -> 개발 TDD의 3가지 절차 Red(실패) : Writing a Failing Test TDD 개발에서의 첫 번째 단계는 실패이다. 즉, 실패하는 테스트 케이스를 작성하는..

프로토타입을 만드는 단계

프로토타입(Prototype) [~= 설계도, 청사진] 프로토 타입은 본래 ‘원형’을 뜻하는 말 UI/UX 개발에서 프로토 타입은 시제품이 나오기 전, 제품의 핵심 기능과 목표를 테스트할 수 있도록 검증을 위해 만들어진 원형을 의미 프로토 타입은 사용성 테스트를 목적으로 만들어졌기 때문에, 미완성된 시스템이나 중요한 기능의 초기 원형이 포함 제품 프로토타입을 만드는 방법 (단계별) 문제정의 프로토타입이 목표하는 사용자층과 고객경험, 전략, 목표를 구체적으로 설정 핵심 목표 예시 앱 프로토타입을 만든다면 스토리보드 맵, 로딩 속도를 위한 최적화 등 디자인 프로토타입을 작성하는 경우에는 버튼 애니메이션이나 크기, 위치 확정 등 요구사항 및 기능정리 첫 단계에서 설정한 목표를 어떤 환경에서 구현해야 하는지 구..

제품 개발 방법론

제품 개발 방법론 - 린 : 도요타 린 방법으로 소비자 맞춤방식의 개발 접근 방법론이다. - 애자일 : 개발 주기를 1~2주로 짧게 정하고 계속 반복하여 개발하는 방법론이다. - 디자인 스프린트(Design Sprint) : 5일 - 월 : 전체적인 지도 - 화 : 아이디어 스케치 - 수 : 가장좋은 솔루션을 결정 - 목 : 프로토타입 제작 - 금 : 고객 인터뷰/테스트 패드백 확인 공통점 : 신속함 - 프로토 타입을 최대한 빠르게 만들어 시장(고객) 반응을 살피고, 니즈와 프로덕트(제품)의 버그에 순발력 있게 대처

물물교환앱 프로젝트 - 프로토타이핑 (피그마)

오늘은 피그마를 통해 처음 앱을 프로토타이핑 해 보았고 프로토타이핑 모델로써 고객의 요구를 한눈에 볼수 있어 개발자와 고객간의 의견차를 좁힐수 있는 좋은 아이템이라 생각했습니다. 팀원들과 앱을 만들고 설계하고 의논하면서 개발자들의 고충을 조금은 이해한거 같습니다 하루만에 세운 계획은 언제나 더 좋은아이디어로 대체될 수 있고, 하룻밤 자고 일어나면 문제점들이 보인다는 것..... 저희 팀원들이 그런 경험을 하였습니다. 물물교환이라는 앱이 중고거래 플랫폼시장에서 살아남을 수 있을까? 에 대한 저의 의문이었고 당근이나 번개, 중고나라 같은 앱에서 물물교환이라는 것이 정식으로 지원은 하지 않지만, 간간히 물물교환 글이 올라오기도 하고 우리앱을 쓸 이유가 필요했기에 저는 기존에 계획했던 앱에 대해 회의적이었고 팀..

for ~ in과 for each의 차이

- for in과 for each의 차이는 무엇이길래 둘다 쓰는걸까? for in은 사용자가 직접 커스텀할 수 있는 반복문이라고 보면되지만 for each는 반복문이라 생각하기 보다는 클로저를 이용한 파라미터를 넘겨주는 구문이라고 생각하면 쉽다. for each와 for in이 비슷하다고 생각되는 이유는 바로 반복이 들어가기 때문이고 더 깊숙히 차이점을 들여다보면 작동방식, 커스텀유무에서 차이가 있다. - 각각 어떨때 사용되어야 할까? 내가 궁금한것은 for in과 for each는 그럼 각각 어떨때 사용되어야 할까라는 점인데 이건 상황에 따라 다르지만 작동원리를 파악하다보면 각 상황에 맞게 뭘 써야할지 보인다 그래서 이렇게 두 구문의 차이를 아는 것이 적절한 구문을 써서 더 편하게 코딩되는데 도움이 된..