본문 바로가기
728x90

전체 글225

피그마 유료 플랜 피그마는 다른 툴 들에 비해 뭔가 복잡쓰.. 잘 모르겠지만 알게된 내용들 정리! Professional Organization Enterprise 월구독료(month) $15 불가능 별도 문의필요 월구독료(year) $12 $45 (개발자모드 only -> $25) $75 (개발자모드 only -> $35) 팀원 추가 같은 플랜 계정 플랜 상관 없음 플랜 상관 없음 * 팀 계정에 팀원 추가 시, 인원 추가에 제한은 없지만 추가 되는 팀원의 계정은 플랜 구매 상태여야 한다. 하지만, 생성되어 있는 프로젝트에서 editor 권한을 받으면 무료 계정이어도 개발자 모드가 사용가능하다. (경우에 따라 다를 수 있으니 이 부분은 각자 확인을 해보는게 좋을듯!) 주의해야할 점!! 피그마는 환불을 안해줌! 구독을 취소.. 2024. 2. 22.
SwiftUI의 기본 swiftUI Apple Tutorial 애플 튜토리얼 Selectable Selectable 기능을 사용하면 preview에 보이는 컴포넌트들을 하나하나 눌러서 수정이 가능해진다! 원하는 컴포넌트 위에서 'control+commant+click'을 하게 되면 팝업 창이 뜨고 'Show SwiftUI Inspector'를 누르면 위와 같이 해당 컴포넌트의 스타일이나 사이즈 등을 빠르게 설정할 수 있다. Spacer Stack 내의 컴포넌트들이 디바이스 전체 너비를 사용하도록 레이아웃을 수정하려면 뷰 사이에 'Spacer()'를 넣어주면 된다. 위와 같이 뷰들이 양쪽으로 분리 되었따~ Embed 코드 내의 컴포넌트 위에 마우스 포인터를 두고 'comman+.. 2024. 2. 7.
테스트 디바이스 iOS 앱을 개발할 때에는 개발된 화면 결과와 사용자 인터렉션에 따른 결과를 보기 위해 시뮬레이터와 아이폰 실기기를 이용합니다. 하지만 시뮬레이터를 통한 확인에는 한계가 있습니다. 시뮬레이터는 PC의 리소스를 따르기 때문에 실기기에서와 환경이 달라 앱 성능,메모리,네트워크 속도 등 제대로된 테스트가 불가능 합니다. 시뮬레이터는 PC의 디스플레이 환경을 따르기 때문에 텍스트, 이미지, 색상 등이 부정확할 수 있습니다. 시뮬레이터는 마우스를 이용한 터치 이므로 실제 사용자가 아이폰의 화면을 터치할 때 탭 영역이 충분한지 텍스트들이 잘 보이는지의 확인이 어렵습니다. PC의 기능의 한계 및 지원되는 프레임워크의 한계로 테스트가 불가능한 기능들이 존재합니다. GPS 문자 SNS 로그인 푸시 알림 블루투스 카메라 .. 2024. 1. 23.
Action 이벤트는 버튼 탭, 타이머 작동, 제스처 등 데이터를 전달하거나 수행해야 할 작업에 대한 신호를 받아 결과를 보여주는 개체 중에는 Action이 존재한다. inputs 관찰자 제공 Observable를 통해 황성 상태를 확인 관찰 가능한 작업의 factory closure를 호출 모든 작업 결과의 observable sequence 노출 관찰 중인 작업의 오류 처리 Action은 Action로 정의된 일반 클래스 이다. 일부 Observable 을 입력으로 사용하는 WorkFactory를 받아들이는 값을 나타내며 출력으로 Observable를 생성한다. Input: 작업에 제공되는 입력 데이터 Element: 관찰 가능한 결과 참고: 1) RxSwift document 2) https://www.kode.. 2024. 1. 2.
Button 기존 Swift와 Objective-C 에서는 버튼을 보통 Action을 연결하고 필요한 코드를 구현하지만, RxSwift에서는 RxCocoa가 추가한 탭 속성을 구독하거나 1)액션 속성의 Action을 직접 할당하는 방식으로 구현한다. 1) Action의 rx.action 속성을 통해 버튼에 동작을 할당하게 된다. 2023. 12. 21.
프로그래머스 - 겹치는 선분의 길이 https://school.programmers.co.kr/learn/courses/30/lessons/120876 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 좌표의 위치를 저장 해둘 배열을 만들고 3개의 좌표 위치를 모두 저장한다. 이렇게 저장하고 나면 해당 좌표에 저장되는 좌표가 2개 이상 되는 경우를 카운팅 func solution(_ lines:[[Int]]) -> Int { // 원소의 start와 end의 범위가 -100 ~ 100 사이 이므로 200개의 count var table = Array(repeating: [], count:.. 2023. 11. 30.
프로그래머스: 해시 - 베스트앨범 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 장르별 많이 재생된 두곡 씩 추리는 문제 해시테이블의 인덱스를 어떻게 이용해야 하나 고민하다가 장르를 키로 갖고, 인덱스와 재싱수를 딕셔너리 벨류로 갖는 딕셔너리를 만들었는데 그 뒤로는 생각이 너무 많아 쉽사리 코드로 옮기지를 못했다... 시간을 너무 소비하였고 다른 사람의 풀이로 코드를 이해해보기로 했다. 결국 문제를 하나씩 분리해서 그대로 코드로 작성하면 되는 것이었음. 앞으로는 너무 생.. 2023. 11. 29.
프로그래머스: 연습문제 - 최솟값 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 두 개의 배열에서 각자 숫자를 가져와 곱한 합의 최솟값을 구하는데 제일 작은 수와 제일 큰 수를 곱하면 최소합을 구할 수 있다. func solution(_ A:[Int], _ B:[Int]) -> Int { var answer: Int = 0 let acs = B.sorted(by: ) for i in 0.. 2023. 11. 27.
기본 Observable: 이벤트를 비동기적으로 처리하고 실시간 관찰 Operator: Observable에 의해 방출되는 이벤트를 변환,처리 Schedulers: DispatchQueue와 같음 Subscribe: 생성된 Observable을 실행 시킨다. let observable = Observable.of(1,2,3) observable.subscribe({ event in print(event) }) /* Prints: next(1) next(2) next(3) completed */ 위 코드를 다음과 같이 사용할 수도 있다. let observable = Observable.of(1,2,3) .subscribe(onNext: { num in print(num) }, onCompleted: { pri.. 2023. 11. 23.