본문 바로가기

오블완21

[CS] 비트(bit)와 바이트(byte), 음수 표현법 사람과 사람 간에 의사소통을 하기 위해 언어(한글, 영어 등)가 필요하듯이 컴퓨터도 장비들끼리 의사소통을 할 수 있는 언어가 필요하다. 그 용도로 사용되는 것이 비트와 바이트이다. 2진법우리가 일상에서 사용하는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 총 10개의 기호로 표현하는 것이 10진법이다.하지만 컴퓨터에는 이렇게 많은 숫자가 없다. 오직 0과 1로만 데이터를 표현한다. 이처럼 0과 1로만 표현하는 것을 2진법이라고 한다.컴퓨터는 신기하게도 오로지 0과 1만으로 숫자뿐만 아니라 글자, 사진, 영상, 소리 등을 저장할 수 있다.2진법에서는 두 개의 숫자만 있으므로 각 자릿수가 2의 거듭제곱을 의미한다. 비트(bit), 2진수(binary digit)컴퓨터에서 처리하는 정보의 최소 표현 단.. 2024. 11. 27.
[LeetCode][Kotlin] 2009. Minimum Number of Operations to Make Array Continuous 2009. Minimum Number of Operations to Make Array ContinuousYou are given an integer array nums. In one operation, you can replace any element in nums with any integer.nums is considered continuous if both of the following conditions are fulfilled:All elements in nums are unique.The difference between the maximum element and the minimum element in nums equals nums.length - 1.For example, nums = [.. 2024. 11. 26.
[CS] 블록체인(Blockchain) 우리는 Facebook, 우버와 같은 서비스나 은행 시스템과 같은 중앙집중원장(Centralized ledger)을 이용해 왔다. 이는 그들이 우리의 데이터를 잘 관리하고 처리해 줄 것이라는 신뢰가 있었기 때문이다우리는 이러한 기관, 기업에게 신뢰비용(수수료 등)을 지불하고 그들은 서비스를 제공하며 데이터를 보관(보안)하고 활용한다.이렇게 지금까지 자본주의가 발전하면서 신뢰받는 제 3자에게 어떤 권한을 위임해 왔고 그들에게 서비스를 받으며 성장해 왔다.기존 중앙집중형 시스템의 문제점1. 비용 문제제 3자인 중앙집중형 관리시스템은 거래자들 사이에서 과도한 관리, 중개수수료를 청구한다.중앙집중형 시스템은 데이터베이스를 유지, 관리하기 위해 많은 보안유지비용을 지출한다.금융권의 경우 매년 천문학적인 돈을 보안.. 2024. 11. 25.
[Compose] 페이징 데이터 로드 및 표시 https://developer.android.com/topic/libraries/architecture/paging/v3-paged-data?hl=ko 페이징 데이터 로드 및 표시  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 페이징 데이터 로드 및 표시 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Paging 라이브러리는 대규developer.android.comPaging3 라이브러리를 사용하여 LazyColumn 을 구현했지만, 초기 로드 시 여러 페이지에 대한 API 호출로 인해 처음에 가져오는 데이터 사이즈가 터무니없이 크다고 느껴졌다.안타깝게도 문제의 원인을 찾지 못했다.GPT 에 따르면 다.. 2024. 11. 24.
[Compose] Side Effect와 Effect API(LaunchedEffect, rememberCoroutineScope 등) Side Effect (부수 효과)Composable 함수를 벗어난 곳에서 앱의 state(상태) 변경이 일어나는 것Composable 은 Side Effect 가 없는 것이 좋으나, 앱 상태를 변경해야 하는 경우 Side Effect 를 예측 가능한 방식으로 실행되도록 Effect API 를 사용해야 한다.한 번만 일어나는 UI 이벤트로 변경 사항이 state 로 관리될 필요가 없는 경우 (SnackBar, ToastMessage 등)다른 Screen 으로 이동하는 Navigation (사용자 인터랙션(예시: 버튼 클릭)에 의해 발생하는 경우 필요 없음)system services 들과 상호작용 하는 것Coroutine 을 이용한 네트워킹이나 디스크 IO 1. LaunchedEffect@Composab.. 2024. 11. 23.
[LeetCode][Kotlin] 992. Subarrays with K Different Integers 992. Subarrays with K Different IntegersGiven an integer array nums and an integer k, return the number of good subarrays of nums.A good array is an array where the number of different integers in that array is exactly k.For example, [1,2,3,1,2] has 3 different integers: 1, 2, and 3.A subarray is a contiguous part of an array.정수 배열 nums와 정수 k가 주어지면 nums의 좋은 부분 배열의 개수를 반환합니다. 좋은 배열은 해당 배열의 다른 정수의.. 2024. 11. 22.
[LeetCode][Kotlin] 239. Sliding Window Maximum 239. Sliding Window MaximumYou are given an array of integers nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window moves right by one position. Return the max sliding window.정수 nums 배열이 주어지고, 배열의 가장 왼쪽에서 가장 오른쪽으로 이동하는 k 크기의 슬라이딩 윈도우가 있습니다. 윈도우에서 k개의 숫자만 볼 수 있습니다. 슬라이.. 2024. 11. 21.