[컴퓨터 구조]< 혼자 공부하는 컴퓨터구조 + 운영체제 > - 데이터
·
CS
책과 강의를 통해 개인적으로 공부한 기록입니다. 02 데이터 1. 0과 1로 숫자를 표현하는 방법 정보 단위 비트(bit): 0과 1을 표현하는 가장 작은 정보 단위 8비트 = 1바이트 1000개 단위 가 킬로바이트(kB) 메가바이트(MB) … 그러나 요즘 와서 1000개와 1024개 구분하기 시작 → kiB,MiB, GiB … 워드(word): CPU가 한 번에 처리할 수 있느 정보의 크기 단위 → 절반이면 하프 두배면 더블… 이진법 이진법(binary): 0과 1로 수를 표현하는 방법 2의 보수를 이용하여 음수 만들기: 어떤 수를 그보다 큰 $2^n$에서 뺀 값 쉽게하기 → 모든 0과 1을 뒤집고 1을 더한다. 플래그(flag)레지스터를 통하여 양수와 음수를 구분하기 때문에 컴퓨터는 안헷갈린다 십육진..
[컴퓨터 구조] < 혼자 공부하는 컴퓨터구조 + 운영체제 > - 컴퓨터구조 시작하기
·
CS
책과 강의를 통해 개인적으로 공부한 기록입니다. 우리가 알아야 할 컴퓨터 구조 지식은 두 가지 컴퓨터가 이해하는 정보 (데이터 + 명령어) 컴퓨터의 네 가지 핵심 부품( CPU 메모리 보조기억장치 입출력장치) 컴퓨터가 이해하는 정보 0과 1로 표현된 정보 데이터 명령어 데이터 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 명령어 데이터를 움직이고 컴퓨터를 작동시키는 정보 (ex 1과 2를 더하라, 안녕하세요를 출력하라…) 즉, 명령어는 컴퓨터를 작동시키는 정보, 데이터는 명령어를 위해 존재하는 일종의 재료. 이런 맥락에서 컴퓨터 프로그램은 명령어들의 모음으로 정의되기도 함. 컴퓨터의 4가지 핵심 부품 중앙처리장치 (CPU) , 주기억장치 (memory - RAM / ROM 보통은 메..
[iOS/Xcode] CocoaPods 설치 오류(gem)
·
IOS - Swift
Apple M1 Pro and macOS Monterey 기준입니다. ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory. HomeBrew에서 cocoapod를 설치할때 위와같은 에러가 난다면.. 1단계(HomeBrew 설치) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh ) 2단계(터미널에서 이 두 명령..
[iOS/Swift] GoogleLogin구현부터 idToken 내려받기까지
·
IOS - Swift
구글 로그인 구글 공식문서 보면 전부 진행 가능합니다. SDK 파일 git clone 에서 SPM 파일을 다운받으면 되고 CocoaPods 의 경우에는 pod 'GoogleSignIn' 을 입력하고 pod install 을 입력합니다. 다음으로 OAuth를 입력해야 합니다. Google 개발자 콘솔에서 앱 등록: **Google 개발자 콘솔**에 로그인하고, 새로운 프로젝트를 만듭니다. 프로젝트가 만들어지면, 좌측 메뉴에서 "API 및 서비스" -> "사용자 인증 정보" -> "OAuth 동의 화면"을 클릭하고, "앱 등록"을 합니다. 등록한 앱에 대한 정보를 입력하고, 저장합니다. 다음으로 OAuth 클라이언트 ID 및 맞춤 URL 스킴 추가 발급된 CLIENTID는 두개가 있을텐데 스카마용으로 com..
[iOS/Swift] 애플로그인
·
IOS - Swift
개발자 계정 필수! Xcode에서 앱을 엽니다. Apple Developer 사이트에서 앱 번들 ID를 만듭니다. 제일 아래에 Account 에서 “Certificates, Identifiers & Profiles” 를 클릭합니다. "Identifiers" 섹션으로 이동합니다. "+" 버튼을 클릭하여 새로운 식별자를 생성합니다. "App IDs" 카테고리를 선택합니다. "App ID Description" 필드에 앱을 설명하는 이름을 입력합니다. "Explicit App ID" 옵션을 선택합니다. "Bundle ID" 필드에 앱의 번들 ID를 입력합니다. 번들 ID는 com.companyname.appname과 같은 형식으로 작성됩니다. 이 때, companyname은 개발자 회사의 이름 또는 개인 이름..
[WWDC22] What’s new in SwiftUI
·
카테고리 없음
What’s new in SwiftUI 올해 SwiftUI 업데이트 요약 SwiftUI로 만든 시스템 요소들 Swift Chats 상태기반으로 차트를 그리는 API SwiftUI와 동일한 패러다임이 적용되었고, SwiftUI와 함께 사용 가능 접근성 대응 완벽 지원 var body: some View { Chart(parthTaskRemaining) { task in BarMark( x: .value("Date", task.date, unit: .day), y: .value("Tasks Remaining", task.remainingCount) ) }.padding() } var body: some View { Chart(partyTasksRemaining) { LineMark( x: .value("Da..
[iOS/Swift] presentedViewController / presentingViewController
·
IOS - Swift
UIViewController에 보면 두가지 property가 존재합니다. 무슨 두가지이고, 무슨 의미냐... - presentedViewController : 자신이 호출한 ViewController - presentingViewController: 자신을 호출한 ViewController 이렇게 구분을 할수 있는데 ViewController를 present할 경우에 이 두가지를 이용할 수 있습니다. iOS 5 에서 시작되었고요. 지금은 모든 버전에서 사용 가능합니다. viewWillAppear에서 확인이 가능하고, 자신을 present한 ViewController가 있는지를 확인하여서 dismiss할것인지 pop할것인지의 여부로 사용이 가능하겠습니다.
[WWDC2022] What’s new in UIKit
·
IOS - Swift
What’s new in UIKit Productivity Improvements → desktop class IPad 앱을 위한 업데이트 Improved navigation bars Document-based 앱을 위한 두가지 네비게이션 스타일 추가 Browser Editor 툴바 커스텀이 가능하고, 이는 앱을 다시 켜도 유지된다. Mac Catalyst에도 자동으로 지원된다. Title Menu 타이틀을 눌렀을 때 이동, 복제, 이름 변경, 출력 등의 표준 기능들을 delegate 메소드 구현 여부에 따라 띄워줌 커스텀 메뉴를 제공하는 것도 가능 Find and replace 기존 in-app 검색과는 다르다. 이는 텍스트 기반으로 동작하는 것 UITextView나 WKWebView, PDFView ..
[iOS/Swift] TableVIew 높이 유동적으로 조절하기
·
IOS - Swift
extension ViewController: UITableViewDelegate { // 테이블뷰 셀의 높이를 유동적으로 조절하고 싶다면 구현할 수 있는 메서드 // (musicTableView.rowHeight = 120 대신에 사용가능) // func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { // return 120 // } func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat { return UITableView.automaticDimension } } UITable..