콩벌레 개발자의 개발 공부 노트
close
프로필 배경
프로필 로고

콩벌레 개발자의 개발 공부 노트

    • 분류 전체보기 (233)
      • 일상 (7)
        • 일상 이야기 (4)
      • Web (17)
        • Spring Boot (6)
        • CSS (3)
        • HTML (2)
        • JSP (0)
      • R (4)
      • Algorithm (88)
        • 백준 (67)
        • 프로그래머스 (19)
      • ICT COG Academy (8)
        • AI 기본 (8)
      • 계산이론 (6)
      • 데이터 베이스 (1)
      • IOT 네트워크 (1)
      • iOS (63)
        • RxSwift (2)
        • swift (15)
        • 앱 개발 (31)
        • 보안 (1)
        • UIKit (10)
        • SwiftUI (3)
      • 클린 아키텍처 (7)
      • 클린 코드 (3)
      • 컴퓨터 구조 (14)
      • 네트워크 (10)
      • 자료구조 (0)
      • 운영체제 (2)
      • 안드로이드 (0)
      • 개발 (0)
  • mode_edit_outline글작성
  • settings환경설정
  • 홈
  • 태그
  • 방명록

Observable의 특징과 share

늘 헷갈렸던 건데, 이번에 배워서 까먹을 때마다 보려고 정리해 둔다. Observable의 주 특징 unicast 네트워크 수업에서 들었던 unicast. 네트워크에서는 프레임을 딱 하나의 목적지로만 보내는 것을 의미하는데, 여기서는 약간 다른 뜻으로 사용된다. Observable을 여러 군데서 subscribe 할 때마다, create를 호출해서 Observable을 새 성한다. class A { func push() -> Observable { return Observable.create { observer in observer.onNext(Int.random(in: 1...100)) return Disposables.create() } } } 다음과 같이 랜덤 한 Int값을 내보내는 Observab..

  • format_list_bulleted iOS/RxSwift
  • · 2023. 11. 6.
  • textsms
UIKit) TabBar NestedScrollView 구현

UIKit) TabBar NestedScrollView 구현

프로필 화면에 들어가면 많이 사용되는 탭바 NestedScrollView를 구현해 보았다. 사용 라이브러리 tabman snapkit 구현 결과물 구현 방식 2개의 스크롤 뷰를 이용. overlay scrollview: 직접적인 스크롤이 일어나는 스크롤 뷰 container scrollview: UI가 들어갈 스크롤 뷰. container scrollview: HeaderView와 하단 탭바뷰로 구성 overlay ScrollView의 content Size를 headerView의 height + 현재 선택된 탭바의 ViewController의 scrollView(tableView 혹은 collectionView)의 contentSize의 height값을으로 만든 후, overlay scrollView의..

  • format_list_bulleted iOS/UIKit
  • · 2023. 11. 6.
  • textsms
UIImage의 png와 jpeg의 차이점

UIImage의 png와 jpeg의 차이점

이전 글에 이어서 PHPicker로 가져온 이미지를 FilManager를 이용해 저장하고, 저장한 이미지를 가져와서 보여주려고 한다. 가져온 이미 지는 png() 메서드를 사용해서, png 데이터로 변경 후 png 형식으로 저장했다. func savePetImage(petId: String, petImageList: [Data]) throws { guard let defaultDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { return } let petImageDirectoryURL = defaultDirectory.appendingPathComponent(petId, conform..

  • format_list_bulleted iOS/UIKit
  • · 2023. 11. 4.
  • textsms
UIImage의 이미지가 방향이 바뀌는 경우

UIImage의 이미지가 방향이 바뀌는 경우

PHPicker로 가져온 이미지 방향이 회전 PHPicker를 이용하여 이미지를 여럿 선택하여 ImageView에 렌더링 할 때, 이미지 방향이 바뀌는 문제가 발생했다. 또 가져온 UIImage를 png() 함수를 이용해 Filemanager에 저장한 후, 해당 이미지를 가져와서 다시 UIImage로 렌더링 할 경우에도 같은 문제가 발생했다. 원인은 UIImage.Orientation 때문이었다. iOS에서 카메라로 사진을 찍을 때, 여러 방향에서 사진을 찍을 수 있다. 이때, 사진을 저장할 때, 기본적으로 가로모드 (카메라가 왼쪽에 있는 방향)를 기본으로 사진을 저장한다. 즉 사진을 찍었을 때, 세로 모드로 찍었어도, 저장될 때 가로 방향으로 픽셀 데이터를 인코딩하여 저장한다. 왼쪽 사진처럼 세로 모드..

  • format_list_bulleted iOS/UIKit
  • · 2023. 11. 3.
  • textsms
NSCollectionViewDiffableDataSource를 apply를 했음에도 Cell의 내용이 바뀌지 않는다면

NSCollectionViewDiffableDataSource를 apply를 했음에도 Cell의 내용이 바뀌지 않는다면

NSCollectionViewDiffableDataSource는 편리하다. 기존 dataSource와 다르게 SnapShot에 섹션과 데이터를 넣고, DiffableDatasource에 apply만 해주면, 애니메이션이 적용되면서 즉각적으로 변경이 된다. 하지만 사용할때 주의해야 할 점이 있다. 기존 CollectionViewDataSource를 채택해서 reloadData()를 수행 했을 때, CollectionView에 보이는 모드 셀이 reload 되면서 cellForItemAt 함수를 호출하는 방식이였다. 그래서 reload가 되면 셀이 바뀌든 바뀌지 않았든 해당 화면에서 보이는 셀은 다시 cellForItemAt에 의해 셀이 그려지는 방식이었다. 하지만 DiffableDataSource는 app..

  • format_list_bulleted iOS/UIKit
  • · 2023. 11. 1.
  • textsms
Hazard

Hazard

Hazard란? 다음 사이클에 다음 명령어를 실행하지 못하는 상태 Structure hazard 어떤 명령어를 실행하기 위한 리소스가 이미 사용 중이어서 실행하지 못하는 상태 예시) 싱글 메모리를 사용한다고 가정. Load/Store 명령어가 데이터를 가지고 오려고 할 때 해당 메모리에 액세스 함. 그 후 다음 명령어를 가지고 오려고 메모리에 액세스 하려고 하지만, 이전 명령어의 데이터 Load로 인해 대기를 해야 함. 즉 프로세서의 구조에 의해 발생하는 hazard므로, 이를 structure hazard라고 함. 예시에서는 프로세서가 싱글 메모리 구조로 인해 hazard가 발생 Data hazard data dependency에 의해 발생. 이전 명령어의 데이터(결과값)를 사용해야 하는데, 아직 작업..

  • format_list_bulleted 컴퓨터 구조
  • · 2023. 9. 24.
  • textsms
  • 1
  • ···
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • ···
  • 39
공지사항
카테고리
  • 분류 전체보기 (233)
    • 일상 (7)
      • 일상 이야기 (4)
    • Web (17)
      • Spring Boot (6)
      • CSS (3)
      • HTML (2)
      • JSP (0)
    • R (4)
    • Algorithm (88)
      • 백준 (67)
      • 프로그래머스 (19)
    • ICT COG Academy (8)
      • AI 기본 (8)
    • 계산이론 (6)
    • 데이터 베이스 (1)
    • IOT 네트워크 (1)
    • iOS (63)
      • RxSwift (2)
      • swift (15)
      • 앱 개발 (31)
      • 보안 (1)
      • UIKit (10)
      • SwiftUI (3)
    • 클린 아키텍처 (7)
    • 클린 코드 (3)
    • 컴퓨터 구조 (14)
    • 네트워크 (10)
    • 자료구조 (0)
    • 운영체제 (2)
    • 안드로이드 (0)
    • 개발 (0)
최근 글
인기 글
최근 댓글
태그
  • #스탠포드 강의
  • #8기
  • #IOS
  • #앱개발
  • #2023
  • #uikit
  • #부트캠프
  • #변경된 점
  • #swift
  • #edwith
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바