본문 바로가기

분류 전체보기

(207)
[니카내카] ⚠️ UI 수정 ⚠️ 후 .. 후 불면 .. 이 아니고 그만 수정하고팡 .. 서버 데이터 연결하다가 .. 하단 바텀시트에서 보여줄 수 있는 데이터의 한계를 느꼈고 .. 고로, 브랜드 별 예약 가능 차량 개수만 보여주기로 결정을 했다 .. ㅎ..ㅎ 위의 메인 옆의 두 개가 후보1, 후보2 인데 .. 아마도 후보2로 .. 갈 듯 .. ? 그리고 그에 따라서 상세 화면도 조금 바뀌었는데 .. 이렇게 수정함요 ~~~ 아자자~~!~! _ 전세계에 계신 기획자, 디자이너 최고~~!~!
[니카내카] 디자인시스템 (Font 편) 왜요. 제가 폰트 모듈화 못시켜서 디자인시스템으로 만든 사람처럼 보이세요? 맞습니다. 제발 알려종. 폰트를 디자인시스템화 시킨다? 어차피 폰트를 코드로 접근하면 그게 끝 아닌가? ... 라고 생각할 수 있지만 여기서 말하는 디자인시스템은 단순히 .otf / .ttf 파일을 코드로 접근하는 것으로 끝나지 않는다. 디자인측에서 넘겨주는 디자인시스템 중에는 폰트도 포함되어 있다. 단순히 Pretendard의 medium 스타일, 18 사이즈 뿐만 아니라 자간/행간까지 적용되어서 Title0 ~ .. Body1 ~ .. 이렇게 정리되어 있다. 그렇기 때문에 이것까지 고려해서 개발을 해야 한다. 이런 것들을 매번 텍스트마다 적용하면 비효율적이고, 디자인시스템으로 만들게 되면 수정 시에도 한번에 수정할 수 있고 디..
Custom Navigation Back Gesture ✔️ 네비게이션 바를 숨기거나 ✔️ 커스텀 네비게이션 바를 만들게 되면 (= 그래서 결국 네비게이션을 숨기게 되는 것) 애플에서 기본적으로 제공하는 gesture interaction인 back gesture가 작동하지 않는 것을 알 수 있다. 그렇기 때문에 아래와 같이 코드를 작성하면 네비게이션바를 숨김처리해도 제스쳐가 동작한다. override func viewDidLoad() { super.viewDidLoad() navigationController?.interactivePopGestureRecognizer?.delegate = nil } 위의 코드를 root view의 viewDidLoad 내에 입력하면 된다.
[니카내카] 디자인시스템 (UIComponent 편) Toss Design System을 이을 라이징스타 ... Nicarnaecar Design System을 소개합니다 !!!!! (휘휘~ 프로젝트를 본격적으로 시작하기 전에 .. 늘 하는 작업 중 하나인 디자인시스템 만들기 .. 왜 만드느냐?! 앱 서비스의 경우 디자인 측에서 일괄적으로 사용하는 UIComponent 들이 있다. (-> 이러한 요소들을 통해서 사용자는 앱을 사용하면서 일괄적인 무드를 느낄 수 있다.) 예를 들면 CTA 버튼, Navigation Bar, TextField 등이 대표적이다. 이를 뷰마다 만들어주는 것은 비효율적인 일이기 때문에 하나로 관리하는 것이 좋다. (class를 만들어두고 필요한 화면에서 인스턴스를 생성해서 만들어주면 된다.) 어떻게 만드는데?! 개발자마다 다를 수 ..
[니카내카] 모듈(프레임워크)로 쪼개보자. (Resource/Util Framework) 프로젝트에서 사용되는 자원을 어떻게 관리할까 고민을 하다가 원래 생각한 방법은 아래와 같다. 프로젝트 내부에서 관리 (Extension .. 등으로) 오픈소스 라이브러리 사용 그런데 둘 다 결국 프로젝트 내부의 코드가 많아졌기 때문에 아예 프로젝트 외부에서 관리하면 어떨까? 라는 생각에 .. (+ 싹에서 배운 것을 적용하기 위해) 모듈화하기로 했다. 모듈화라고 해서 뭔가 되게 거창한 것 같지만 .. 그냥 프레임워크 만든다고 생각하면 된다 ㅋㅋ ✔️ 프레임워크를 어떻게 만드는지, ✔️ Util 관리하는 프레임워크를 어떻게 만드는지 ✔️ Resource 관리하는 프레임워크를 어떻게 만드는지 ✔️ 결과적으로 프로젝트 내에서 어떻게 적용하는지 ... 를 알아보도록 하자 !! 프레임워크를 만들어보자. 지난번 글에..
[니카내카] 브랜딩 수정 내 인생에서 수정은 정수정만 있으면 안될까? 폰트 / 색상 등을 조금 수정해보았어요 .. 기획도 조금 업데이트 되어서 최대한 빨리 정리 후에 다시 업로드하겠음요 색상 폰트 이전에는 영어만 Pretendard로 했는데 .. 굳이 나눌 필요가 없을 것 같아서 한글/영어/숫자 모두 Pretendard로 수정 그리고 진행 중인 것은 .. 디자인시스템 만들고 있고 .. GUI도 만들고 있다 .. (디자인시스템과 GUI를 비동기적으로 만드는 사람이 있다? ㅋ..) 기획은 기능 구체화 좀 더 하고 플로우 좀 더 제대로 잡아야겠다 .. 🫠
[Concurrency] GCD 바로 목차 ㄱ Main Queue 글로벌 큐와 Qos의 이해 Custom Queue GCD(디스패치 큐)의 종류와 특성 Queue의 종류 디스패치 큐 메인 큐 글로벌 큐 프라이빗 큐 오퍼레이션 큐 Main Queue 유일하게 1개 직렬 (Serial) 메인 쓰레드 = 메인 큐 1번 쓰레드 = 메인 쓰레드 = 메인 큐 유일 코드로 작성하면 DispatchQueue.main 으로 작성할 수 있다. // main으로 보낸다. DiapatchQueue.main.async { // 내부 코드 -> 1번 쓰레드에서 일을 한다. } DispatchQueue.main.asyncAfter(.now() + 2) { } 위 코드의 의미는 ✔️ 메인 큐로 작업을 보내는데, ✔️ 비동기적으로 보내고, ✔️ 지금으로부터 2초 뒤..
[Concurrency] 동시성 프로그래밍 동시성 프로그래밍 관련 개념 쓰레드 주로 PC 사양에서 많이 접하는 용어로 4코어 8쓰레드 / 8코더 16쓰레드 .. 등으로 접했을 것 쓰레드란? 간단하게 말해서 컴퓨터의 일을 처리하는 부분 🤔 8쓰레드, 16쓰레드라면 일을 처리하는 부분이 한개가 아님에도 버벅거리는 이유가 무엇인가? 예를 들어서 4코어라면 최소한 8개의 쓰레드가 존재 즉, 컴퓨터의 일하는 부분이 최소 8개 = 여러 개가 존재한다. 그럼에도 불구하고 한 개의 쓰레드만 일을 하도록 시켰기 때문에 일을 할 수 있는 부분이 여러 개 있음에도 불구하고 한 개의 쓰레드만 일을 하고 있고, 하필 또 그 쓰레드가 제일 일이 어려운(빡센?) 화면을 관리하고 있기 때문이다. 🤔 그 전에는 안 그랬는데 왜 특정 일을 할 때만 버벅거리는가? 그 전에는 그만..