Si Jong Tech Blog
close
프로필 배경
프로필 로고

Si Jong Tech Blog

  • 분류 전체보기 (240)
    • ◽️ Programming (240)
      • T I L (91)
      • Swift 문법 (22)
      • UIKit (18)
      • SwiftUI (12)
      • TCA (6)
      • RxSwift (7)
      • iOS (35)
      • 회고 (5)
      • ◽️ Algorithm (32)
      • ◽️ Computer Science (12)
  • 홈
  • 태그
  • 방명록
비트와 바이트 ( CS 50 강의 )

비트와 바이트 ( CS 50 강의 )

비트 정보를 저장하고 연산을 수행하기 위해 컴퓨터는 비트 라는 측정 단위를 사용한다. 비트는 이진 숫자라는 뜻을 가진 binary digit 의 줄임말이며, 0 과 1, 두가지 값만 가질 수 있는 측정 단위이다. 디지털 데이터를 여러 비트들로 나타냄으로써 두 가지 값만을 가지고도 많은 양의 정보를 저장할 수 있으며, 컴퓨터는 저장되어 있는 데이터를 수정하기 위해 비트에 수학적 연산을 수행할 수 있다. 비트열 하나의 비트는 0과 1, 이 두가지의 값만 저장할 수 있다. 컴퓨터 내부에서 물리적 표현될 때는, 켜고 끌 수 있는 스위치라고 생각할 수 있다. (켜기 = 1, 끄기 = 0 ) 하지만 비트 한개는 많은 양의 데이터를 나타내기에 턱없이 부족하다. 그렇기 때문에 여러 숫자 조합을 컴퓨터에 나타내기 위해 ..

  • format_list_bulleted ◽️ Programming/◽️ Computer Science
  • · 2024. 4. 19.
  • textsms
Singleton Pattern 이란 무엇일까?

Singleton Pattern 이란 무엇일까?

Singleton Pattern 이란? 싱글톤 패턴이란, 특정 용도로 객체를 하나만 생각해 공용으로 사용하고 싶을 때 사용하는 디자인 패턴 애플리케이션 전반에 걸쳐 딱 한번만 생성되고, 어디서든지 해당 인스턴스에 접근할 수 있는 클래스 디자인 패턴이라고도 한다 같은 말이네..! 이 패턴을 사용하면 하나만 메모리에 생성되어 어디서든 사용되기 때문에 데이터를 공유하거나 특정 리소스에 접근할 때 매우 유용하다. 이렇게 사진과 같이 하나의 인스턴스에 어디든 접근이 가능해진다 🙂 Singleton Pattern 생성하기 내가 이번에 만들었던 위시리스트를 참조해 Singleton Pattern 을 한번 생성해보자 class CoreDataManager { // MARK: - 코어데이터 매니저 싱글톤 만들기 stat..

  • format_list_bulleted ◽️ Programming/UIKit
  • · 2024. 4. 19.
  • textsms
Alamofire 활용하여 내 Github 만들기 (완)

Alamofire 활용하여 내 Github 만들기 (완)

어제 마무리하지 못한 Github만들기가 오늘 성공했다 🙂 어제 왜 데이터가 연결되지 않았는지 살펴보고 새로운 라이브러리인 Kingfisher도 사용해봐서 이 내용을 정리 해보고자 한다! Github 인포 부분 Github API는 두 부분을 나눠 가져왔다, 먼저 어제 실패한 유저 정보를 가져오는 데이터를 살펴보자! let url = "" func fetchUser(completion: @escaping ((Result) -> Void)) { let url = "\\(self.url)" AF.request(url).responseDecodable(of: GithubUser.self) { response in switch response.result { case .success(let user): comp..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 4. 18.
  • textsms
Alamofire 활용하여 내 Github 만들기 (1)

Alamofire 활용하여 내 Github 만들기 (1)

오늘은 챌린지과제인 Alamofire를 활용한 네트워킹 과정을 통해 내 github를 가져와 앱 만들기를 시작했다. URLSession 보다 손쉽다고 여기저기서 얘기를 들어서 그런가.. 오히려 URLSession 보다 적용이 어렵다.. 오늘 많은 시간을 넣었지만 데이터 연동에 성공하지 못했다.. 데이터만 연결되면 금방 만들 것 같은데.. 어렵다.. Alamofire 설치하기 먼저 Alamofire를 사용하려면 내 프로젝트에 깔아야 사용이 가능하니 일단 먼저 깔아보자. 원래는 홈브루를 깔아 설치하는 방법을 사용 했는데 이것보다 더 쉬운 방법인 SPM 을 사용해 손쉽게 적용시켜주었다. 먼저 프로젝트를 선택하고 여기서 상단의 Package Dependencies 를 눌러 들어가면 이렇게 넣을 수 있는 곳이 등..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 4. 17.
  • textsms
iOS Result 타입 (예외처리)

iOS Result 타입 (예외처리)

Result 타입 이란? 함수나 메서드에서 성공 또는 실패를 반환하는데 사용되는 형식이며, 주로 비동기 작업 진행 시 사용된다. Swift5 에서 새로 추가된 Result Type를 이해하기 위해선 열거형 , 연관값, 제네릭을 이해하고 있어야 한다. 에러가 발생하는 경우, 에러를 따로 외부로 던지는 것이 아니라 리턴 타입 자체를 Result 타입으로 구현해서 함수 성공과 실패 정보를 담아 리턴한다. 장점으로 실제 함수 정의시에 에러 타입을 명시적으로 선언하며 타입캐스팅이 불필요하다는 점이 있다. Result Type 처리 3단계 (1) 에러타입 정의 먼저 Error 프로토콜을 채택해 열거형을 통해 에러 타입을 지정해둔다. enum Result where Failure: Error{ case success..

  • format_list_bulleted ◽️ Programming/iOS
  • · 2024. 4. 16.
  • textsms
삼총사

삼총사

[level 1] 삼총사 - 131705 문제 링크 성능 요약 메모리: 16.7 MB, 시간: 0.02 ms 구분 코딩테스트 연습 > 연습문제 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2024년 04월 16일 10:02:16 문제 설명 한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 4. 16.
  • textsms
iOS 비동기처리(async) 동시성 프로그래밍(Concurrent) (2)

iOS 비동기처리(async) 동시성 프로그래밍(Concurrent) (2)

iOS 앱에서 동기와 비동기는 아주 자주사용되는 내용이고 사실 강의를 들으면서도 좀 어려운 개념이었다. 여러번 반복해서 들으면서 이 개념을 조금 더 익힐 수 있도록 해야겠다. 오늘 공부한 비동기 , 동시성 프로그래밍 관련 2탄 시작해보자 동기(sync) vs 비동기(async) 동기(sync) 동기적인 작업은 순차적으로 실행되며, 한 작업이 끝나야 다음 작업이 실행된다. 동기적인 작업은 보통 현재 실행 중인 스레드에서 처리되며, 작업이 완료될 때 까지 해당 스레드는 차단된다. 비동기(async) 비동기적인 작업은 순차적으로 실행되지 않고 별도의 스레드에서 바로 새로운 작업이 시작된다. 비동기적 작업은 보통 백그라운드 스레드에서 처리되며, 작업이 완료되면 메인 스레드로 결과를 반환하거나 콜백 함수를 호출하..

  • format_list_bulleted ◽️ Programming/iOS
  • · 2024. 4. 15.
  • textsms
iOS 비동기처리(async) 동시성 프로그래밍(Concurrent) (1)

iOS 비동기처리(async) 동시성 프로그래밍(Concurrent) (1)

iOS 메인스레드 (Thread 1) 의 역할 iOS 애플리케이션은 메인 스레드를 생성하고 메인 런 루프(Main Run Loop)를 실행하여 앱의 이벤트를 처리한다. 이벤트는 주로 사용자의 상호작용(터치, 제스처)이나 시스템에서 발생하는 알림(앱의 상태변화, 백그라운드 작업 등) 등을 포함한다. 사용자 인터페이스(UI) 처리 메인 스레드는 앱의 UI를 처리하는 주된 스레드이다. 사용자의 모든 상호 작용은 메인 스레드에서 처리된다. 화면에 보이는 요소들의 업데이트인 레이아웃 변경, 텍스트 업데이트, 이미지 로드 등은 메인 스레드에서 수행된다. 이벤트 처리 사용자의 터치, 제스처 등의 입력은 이벤트로 변환되어 메인스레드로 전달된다. 메인 스레드는 이러한 이벤트를 받아들여 적절한 UI 업데이트나 작업을 수행..

  • format_list_bulleted ◽️ Programming/iOS
  • · 2024. 4. 15.
  • textsms
WishList 만들기 (완) - 코어데이터 삭제 , 리프레쉬 기능 구현

WishList 만들기 (완) - 코어데이터 삭제 , 리프레쉬 기능 구현

2024.04.10 - [◽️ Programming/T I L] - WishList 만들기 (1) - (URLSession 데이터 연결 완료) 2024.04.12 - [◽️ Programming/T I L] - WishList 만들기 (2) - (CoreData 연결) 오늘은 주말에 wishlist 만들기를 끝내고 싶어 코어데이터를 테이블 뷰에 나오도록 구현하고 데이터 삭제, 그리고 리프레쉬 하는 기능까지 넣어 과제를 완료 했다. 오늘 진행한 기능 구현을 블로그에 정리해보자 저장된 코어데이터 불러와 테이블 뷰에 표현하기 먼저 저장된 코어 데이터를 가져올 수 있도록 이전에 구현해 놨던 코어데이터 요청하는 메서드를 다시 한번 보자 func getWishListFromCoreData() -> [Product]..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 4. 14.
  • textsms
WishList 만들기 (2) - (CoreData 연결)

WishList 만들기 (2) - (CoreData 연결)

2024.04.10 - [◽️ Programming/T I L] - WishList 만들기 (1) - (URLSession 데이터 연결 완료) 오늘은 드디어 며칠동안 끙끙 앓던 코어데이터를 연결하는데 성공했다. 물론 모든걸 다 이해하고 연결한건 아니지만 그래도 결과를 냈다는거에 만족하고 이전에 만들었던 TodoList에도 코어데이터를 적용해보고 더 익숙해지는 과정이 있어야 할 것 같다. AppDelegate 코드 구성하기 lazy var persistentContainer: NSPersistentContainer = { let container = NSPersistentContainer(name: "WishList") container.loadPersistentStores(completionHandler..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 4. 12.
  • textsms
  • navigate_before
  • 1
  • ···
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • ···
  • 24
  • navigate_next
프로필 로고

Si Jong Tech Blog

전체 카테고리
  • 분류 전체보기 (240)
    • ◽️ Programming (240)
      • T I L (91)
      • Swift 문법 (22)
      • UIKit (18)
      • SwiftUI (12)
      • TCA (6)
      • RxSwift (7)
      • iOS (35)
      • 회고 (5)
      • ◽️ Algorithm (32)
      • ◽️ Computer Science (12)
최근 글
인기 글
최근 댓글
태그
  • #IOS
  • #오블완
  • #tableView
  • #알고리즘
  • #project
  • #티스토리챌린지
  • #TIL
  • #MVC
  • #uikit
  • #swift
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바