[##_revenue_list_upper##]

전체 글

데프리프터의 데브리프팅
· iOS
상황 다음과 같이 DateTimePicker 에 그림자와 배경 그라데이션 필요 문제상황 일반적으로 UIPickerView 는 UIView 를 상속해서 이 때문에 pickerView 자체에 그라데이션과 그림자를 넣어줬다 이 때문에 배경색에 그라데이션이 여러 레이어대로 제대로 작동하지 않거나 그림자를 넣었을 때 백그라운드 전체에 걸려서 그라데이션을 방해했다. 원인파악 일반적으로 UIView의 그라데이션은 두가지 정도를 추가할 수 있는데 위와같은 여러 레이어가 필요한경우는 CAGradientLayer() 객체를 사용해야했다. CAGradientLayer()는 CALayer() 를 상속한다. 즉 , UIView > CALayer > CAGradientLayer 이 단계로 접근해야한다. 또 CAGradientLa..
· iOS
앱 개발자의 필수역량으로 계속 거론되는 CI/CD 구축 경험! fastfile 작성을 통해 간단한 사용법을 알아보고자 한다.두달 반 정도 프로젝트를 개발하고 배포하느라 너무 오랜만에 포스팅을 한다.사이드로 프로젝트를 하면서 쌓인 이슈들이 너무 많았지만 하나하나 정리하면서 올려보려고 한다.가장 많이 필요하면서도 정보가 부족했던 것에 대해서 먼저 하자면Fastlane 이었다.Fastlane 은 자동배포 관리 툴로 Xcode에서 아카이브하고 수동으로 프로세스를 진행해주던 것을 명령어 한번으로 Appstore Connect에 올려준다.간단하게 사용법 및 필요한 정보들을 정리해 보겠다.Install / SettingXcode는 설치 되어있다고 가정하고 작성Install FastlaneBundle 로 설치하는 것이..
· iOS
그 동안 자격증 공부와 iOS 강의를 듣느라 블로그에 소홀했다. 거의 한달 반 만에 블로그에 기록을 남기는 것 같다. 개인적으로 Notion에 기록을 남기기도 하고 정신도 없고... 아무튼,, 오늘은 스토리보드나 SanpKit 이 아닌 FlexLayout과 PinLayout을 이용해서 뷰를 그리는 것에 대해서 적어보겠다..! 1. FlexLayout, PinLayout FlexLayout 은 iOS 의 StackView를 좀 더 빠르고 간편하게 지정하기 위해서 사용하는 라이브러리이다. PinLayout은 SanpKit과 같이 뷰의 위치를 잡아주는데 SnapKit은 Contstraints를 기준으로해서 offset과 inset을 사용해 뷰를 잡는 것과 다르게 PinLayout은 CSS 를 사용하던 사람들에..
· Swift
알고리즘 문제를 풀 때나 코딩을 하다보면 무조건 정렬을 사용해야할 일이 생긴다. Swift 에는 정렬을 하는 내장메소드로 sort와 sorted가 있다. 먼저 sort와 sotred의 차이에 대해서 공식문서를 통해서 알아보자. sort() Sorts the collection in place. You can sort any mutable collection of elements that conform to the Comparable protocol by calling this method. Elements are sorted in ascending order. 컬렉션을 정렬한다. Swift에서 컬렉션이란 지정된 타입의 데이터들의 묶음을 말한다. 대표적으로 배열이 있을 수 있겠다. 이 메서드를 호출하여 비..
· Algorithm
문제 - 머쓱이가 바탕화면 정리하는 데 드래그 시작점부터 드래그 끝점의 좌표를 구해야 한다. 풀이과정 - 솔직히 굉장히 간단한 문제인데 격자라는 문제에 쫄아서 어렵게 생각하고 돌아갔던 것 같다. - 2차원 배열을 for문으로 돌리고 시작점의 좌표와 끝점의 좌표를 구하면 되는데, 실패과정 - 나는 wallpaper[i]의 각각에서 #이 나올 때마다 [0,0,0,0]라고 정의된 result함수에 값을 바꿔주는 방식으로 접근했다. - 이렇게 하면 어렵게 어렵게나마 값을 구할 수는 있는데 문제는 startPoint의 Column값이 0일 때의 케이스에 대처할 수가 없었다. 정정과정 - 약 20시간 가까이 삽질하고 나서 다시 문제를 보니 드래그 시작점(lux, luy)과 끝점 (rdx, rdy)의 특징은 명확했다..
· Algorithm
프로그래머스 LEVEL1 최상단에 있는 문제중 하나인 추억점수 문제입니다. 오랜만에 Swift 알고리즘 푸려고 들어왔다가 멘탈 잠깐나가서 이래저래 다시 감 좀 찾고 푸려니 그나마 잘 풀렸습니다. 이전에 해맷던 부분 이차원 배열로 주어진 입력값을 제대로 활용 할 방법을 몰랐다. 해결책 map 을 다른 문제에서 많이 써보면서 익숙해지고, forEach문도 익숙해지면서 배열도 map을 사용해서 하나씩 그 값을 가지고 올 수 있다는 걸 전에는 몰랐다... 문제는 대충 이렇다.. 해결 과정 문제파악 각각의 이름에 대한 점수를 부여하고 photo 배열에서 그 값을 더한 값을 새로운 배열에 넣는다. 모든 이름에 대한 변수를 만들고 이름을 넣어도 되지만, 이 문제는 기본적으로 Dictionary를 사용해서 메핑하는 것..
[##_revenue_list_lower##]
공부가 밥먹여주더라
데브리프터의 개발 리프팅