• 티스토리 홈
  • 프로필사진
    2료일
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
2료일
  • 프로필사진
    2료일
    • 분류 전체보기 (118)
      • SWIFT개발 (29)
      • 알고리즘 (25)
      • Design (6)
      • ARkit (1)
      • 면접준비 (32)
      • UIkit (2)
      • Vapor-Server with swift (3)
      • 디자인패턴 (5)
      • 반응형프로그래밍 (12)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 포스트글 썸네일 이미지
        RxSwift(3)-Filtering Operators & TransForming Operators
        2료일:
        next 이벤트를 통해 넘어온 값들에 대해 필터를 해줘 해당 오퍼레이터를 통해 넘어온 값들에 대해 다 처리하지 않고 원하는 값만 골라 처리할 수 있어지는 기능에 대해 살펴보겟습니다이것도 4가지 종류가 있습니다.. 자주 나오는것 같다 4.4..1. Ignoring OperatorignoreElement()값들이 방출되어도 무시되고 스트림에 등록되지 않는다. 하지만 error나 completed는 무시하지 않습니다.example(of: "ignoreElements") { // 1 let strikes = PublishSubject() let disposeBag = DisposeBag()// 2 strikes .ignoreElements() .subscribe { _ in print..
        • 2025-04-29 16:05:31
      • 포스트글 썸네일 이미지
        RxSwift(2)-Subject
        2료일:
        1. Subject란?RxSwift에서 Subject는 Observable과 Observer의 특성을 모두 갖춘 하이브리드 요소입니다. Observable처럼 값을 방출할 수 있으며, 동시에 Observer처럼 다른 Observable을 구독할 수도 있습니다.흠... 그니까 양방향이라고 생각하면된다. Observer로서: onNext(_:), onError(_:), onCompleted() 메서드를 호출하여 값을 수신Observable로서: 구독자들에게 값을 방출하고 이벤트 전달Subject가 필요한 이유?1. 이벤트 브릿징: 명령형코드와 반응형 코드 사이의 연결고리(너와 나의 연결 고리)2. 멀티캐스팅: 하나의 Observable 실행 결과를 여러 구독자에게 공유3. 상태 관리: UI상태나 앱 상태를 ..
        • 2025-04-29 00:21:45
      • 포스트글 썸네일 이미지
        RxSwift(1)-Observable
        2료일:
        사실 저는 개인적으로 Combine을 너무나 사랑하고 자주 사용하는 개발자입니다. 같은 반응형 프로그래밍의 개념이지만 애플에서 만든 퍼스트 파티로 외부 라이브러리를 관리할 필요가 없기 때문이죠. 하지만 Combine이 나오기 이전에는 RxSwift로 사용을 했습니다. 그러다보니 여전히 여러 기업에서는 Rx를 쓰죠! 그렇기에 저도 Rx마스터가 되어야 하겟습니다.Rx?: ReactiveX 프로그래밍 패러다임을 Swift로 구현한 라이브러리비동기 프로그래밍을 선언적이고 함수형 접근 방식으로 처리하여 코드의 가독성과 유지보수성을 획기적으로 향상시킵니다.복습 : 반응형 프로그래밍: 데이터 흐름과 변경 사항의 전파에 중점을 둡니다. ex) data가 바뀌면 UI가 자동으로 반응한다핵심 구성요소1. Observabl..
        • 2025-04-28 23:20:48
      • Metal3편 - 메모리 사용량 급증 버그 수정
        2료일:
        https://codeisfuture.tistory.com/119 Metal(2)-셰이더 코드 작성까지이전 글에서 메탈이란 GPU에 접근하여 빠른 그래픽 처리를 가능하게 해주는 저수준 API라는 것을 학습했다. 즉 Spiritekit, Animation 밑의 있는 것!! 이번엔 그래서 메탈이 어떻게 렌더링을 하는지 살펴codeisfuture.tistory.com기존의 문제점 func applyFilter(_ image: UIImage, filtertype: String, intensity: Float) async -> UIImage { let startTime = CACurrentMediaTime() guard let cgImage = image.resize(ta..
        • 2025-04-20 21:31:11
      • 이미지 최적화 3탄(kingFisher를 삭제하고 Custom)
        2료일:
        모바일 앱에서 이미지를 로딩하는 것은 사용자 경험에 큰 영향을 미칩니다. 빠르고 효율적인 이미지 로딩은 앱의 성능을 좌우하며, 특히 메모리 관리와 네트워크 사용량이 중요한 요소로 작용합니다. 저는 기존에 Kingfisher라는 외부 라이브러리를 사용해 이미지 로딩을 처리했지만, 몇 가지 한계에 부딪혔습니다. 외부 라이브러리는 편리하지만, 앱의 특정 요구사항을 충족하기에는 유연성이 부족했고, 불필요한 오버헤드가 발생했습니다. 그래서 저는 앱에 최적화된 커스텀 ImageLoader를 설계하기로 했습니다. 이 글에서는 Kingfisher의 단점과 커스텀 ImageLoader의 장점을 비교하며, 어떻게 더 나은 솔루션을 만들었는지 설명하겠습니다.기존에는 KingFisher 외부 라이브러리를 통해 이미지 최적화를..
        • 2025-04-16 15:38:30
      • 포스트글 썸네일 이미지
        근본으로돌아가자(7)-String,Array으로 시작해서 Sequence까지
        2료일:
        String이 왜 복잡할까?Swift의 String은 단순해 보이지만 내부는 꽤 복잡합니다. 왜일까요?let emoji = "👩‍🚀"for scalar in emoji.unicodeScalars { print(scalar)}// 출력:// U+1F469(👩)// U+200D// U+1F680(🚀)핵심 이유: 유니코드 때문입니다.String은 Character들로 구성각 Character는 하나 이상의 유니코드 스칼라로 구성그래서 배열처럼 string[0] 이런 식으로 접근 불가그래서 Swift는 String.Index를 사용합니다 퀴즈: 👍? => U+1F44D인 단일유니코드스칼라.여기까지가 면접의 단골질문이자 당연히 알아야하는 것입니다. 물론 아닐수도..? 모르면 지금 배우면 됏죠!!ㅎㅎ..
        • 2025-04-04 15:49:58
      • Metal(2)-셰이더 코드 작성까지
        2료일:
        이전 글에서 메탈이란 GPU에 접근하여 빠른 그래픽 처리를 가능하게 해주는 저수준 API라는 것을 학습했다. 즉 Spiritekit, Animation 밑의 있는 것!! 이번엔 그래서 메탈이 어떻게 렌더링을 하는지 살펴볼 계획입니다. 렌더링 프로세스Metal은 '초기화 단계'와 '렌더 패스 단계'로 나뉜다.초기화 단계(앱 수명주기와 함께하는 객체들)MTLDevicelet device = MTLCreateSystemDefaultDevice()모든 Metal 객체 생성의 시작점. 물리적 GPU를 추상화한 인터페이스라고 보면 된다. MTLCommandQueuelet commandQueue = device.makeCommandQueue()GPU에 보낼 명령들을 순서대로 관리하는 대기열. 실제로 여러 프레임의 렌..
        • 2025-04-02 23:54:29
      • 포스트글 썸네일 이미지
        Metal(1)- 메탈을 알기전에 필요한 것들
        2료일:
        갑자기 왠 뜬끔없이 메탈일까? 그래픽관련 공부를 해야할 계기가 생겼고 이것또한 하나의 기회라고 생각하여 블로그에 정리하며 자세히 공부를 하려합니다. 아주아주 예전에 AR쪽하면서인가(?) metal관련 봤던것 같은데 기억이 안나서 아예 리뉴얼 해서 정리해볼게요~ 컴퓨터 아키텍처의 기초CPU: 모든 계산과 논리연산 처리하는 "두뇌"- ALU: 수학적 연산과 논리 연산 수행- 제어장치: 명령어 해석 및 실행 순서 결정- 레지스터: 고속 임시데이터저장- 캐시메모리: 자주 사용되는 데이터와 명령어 저장GPU: 원래 그래픽 처리를 위해 설계되었으나, 현재는 병렬 컴퓨팅의 핵심 요소로 확장- 병렬처리 능력: 동일한 연산을 여러 데이터에 동시 적용- 그래픽 렌더링: 3D 모델링, 텍스처 매핑, 쉐이딩 처리- 범용컴퓨팅..
        • 2025-03-29 20:57:13
      조회된 결과가 없습니다.
      [1][2][3][4][5][···][15]
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바