728x90
반응형
- [ pinslog/Log.daily() ][Kotlin] Kotlin Destructuring2023-12-27 18:36:42때로는 객체를 여러 변수로 분해하는 것이 더 편리할 때가 있다. 이를 코틀린에선 구조 분해 할당(구조 분해 선언)이라고 하며, 한번에 여러 변수를 생성할 수 있다. data class Person( val name: String, val age: Int, ) fun main() { val person = Person("David", 30) val (name, age) = person println(name) // David println(age) // 30 } 이는 다음과 같이 컴파일 된다. val name = person.component1() val age = person.component2() 데이터 클래스가 자동으로 componentN() 를 제공하며, 클래스에서 직접 구현하기 위해서는 다음과 같..
- [ pinslog/Log.daily() ][Kotlin] takeIf2023-12-26 22:25:37주어진 조건을 만족하는 경우 해당 객체를 반환하는 함수이다. (만족하지 못하는 경우 null을 반환함) takeIf는 단일 객체에 대한 필터링을 도와준다. inline fun T.takeIf(predicate: (T) -> Boolean): T? 주어진 조건 (it.age > 30) 을 만족하는 경우 해당 객체를 반환 그렇지 않은 경우 null을 반환하는 것을 확인할 수 있다. data class Person( val name: String, val age: Int, ) fun main() { val list = listOf(Person("amy", 34), Person("john", 45), Person("tom", 27)) list.forEach { println(it.takeIf { it.age >..
- [ pinslog/Log.daily() ][Etc.] MacOS 영상 녹화하기 (feat. 사운드 캡쳐)2023-12-13 16:34:59*Sonoma 14.1.2 기준으로 설명됩니다. 그냥 OBS 스튜디오만 설치하여 녹화하여도 사운드는 녹음이 된다. 마이크로 녹음이 되는 거기 때문에 내가 타자치는 소리, 말하는 소리 이런 것들이 다 들어가게 된다. 이를 제외한 미디어 소리만 영상에 녹화되도록 하고 싶다면 아래의 방법을 사용하면 된다. 1. OBS 스튜디오 설치 실행하면 보안 관련 설정을 진행하라고 하는데 하라는대로 해주면 된다. brew install --cask obs 2. 사운드 캡처 프로그램 설치 아래의 링크에서 설치 BlackHole: Route Audio Between Apps Zero Latency. Perfect for Streamers, Podcasters, and Online Instructors. existential...
- [ pinslog/Log.daily() ][Kotlin] tailrec 꼬리재귀2023-12-10 22:16:31알고리즘 문제를 풀다가 알게 된 녀석 문제 : 콜라츠추측 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제의 키워드는 '오버플로 Overflow' 이다. 오버플로 Overflow 넘쳐 흐른다는 뜻으로, 컴퓨터의 메모리가 8비트의 데이터를 저장할 수 있다고 하고, 편의상 부호는 없는 양수인 경우만 고려해 보자. 가장 작은 값은 0000 0000 (=0) 이며, 1씩 증가시키면 0000 0001 (=1)을 거쳐 최댓값인 1111 1111 (=255)에 도달하게 된다. 여기에서 1을 다시 한번 더하게 되면 최댓값의 범위를 넘어서게 되고, 최솟값인 0000..
- [ pinslog/Log.daily() ][IDE] VSCode 에서 Kotlin 시작하기 (feat. MAC OS)2023-12-08 22:59:471. Java 설치하기 brew install --cask adoptopenjdk 나는 이미 설치가 되어 있었다. 확인하려면 java —version 을 입력한다. 2. Kotlin 설치하기 brew install kotlin 설치가 끝나면 제대로 설치되었는지 확인한다. kotlinc -version 3. VSCode 셋팅하기 1) Code Runner 설치 2) Kotlin Language 설치 4. 사용해보기 TroubleShooting 코드를 입력하고 실행했는데 아래와 같은 문구가 뜨며 결과를 출력해주지 않았다. HelloWorld.jar에 기본 Manifest 속성이 없습니다. 저장을..안해서..그랬다 ㅎ 이렇게 해서 사용하고 있었는데 그래도 인텔리제이를 따라올 순 없어서 그냥 교육용 인텔리제이를..
- [ pinslog/Log.daily() ][Git] 머지 취소하기2023-12-05 23:09:20실수로 다른 브랜치와 머지 해버린 적이 있었다. 이럴 때 머지를 취소하기 위한 명령어는 다음과 같다. git reset --merge [이전 커밋 해시] References Git에서 머지 되돌리기 - 마지막 머지를 취소하는 방법 브랜치는 이미 프로덕션에 있는 코드를 함부로 변경하지 않으면서 작업할 수 있도록 해주는 깃의 필수적인 부분입니다. 다른 브랜치에서 작업을 마친 후 main 브랜치에 병합(merge, 이하 머지)하여 www.freecodecamp.org
- [ pinslog/Log.daily() ][Flutter] iOS 디바이스 개발자 옵션 및 연결 관련 문제 해결하기2023-12-02 15:27:17iOS 디바이스에서 앱 실행하기 개발자 모드 켜기 [설정] - [개인정보 보호 및 보안] - 보안 섹션 [개발자 모드] 켬 신뢰하는 디바이스 설정 처음 앱을 디바이스에서 실행하려고 하면 신뢰할 수 없는 어쩌고...하면서 대화창이 뜬다. 이때 신뢰하는 디바이스 설정을 해주어야 앱을 정상적으로 빌드할 수 있다. [설정] - [일반] - [VPN 및 기기관리] - 개발자 앱 선택 - 신뢰 TroubleShooting - 사이닝 관련 flutter 프로젝트에서 처음으로 실제 iOS 디바이스에서 실행을 하려면 Xcode 상에서 최초 연결이 필요하다. 그러기 위해서 개발자 모드를 켜줘야 하고… 그리고 사이닝 관련 설정에서 팀을 지정해줘야 한다. Runner 탭 클릭 - Signing & Capabilities 에서..
- [ pinslog/Log.daily() ][Android] Activity 스택 관리 (feat. Intent와 Flag)2023-12-01 23:36:52Case1. 특정 액티비티를 상단에 띄우기 A - B - C 순으로 스택이 쌓였다고 할 때, C가 사용자의 화면에 떠있을 것이다. 이때 C에서 A로 이동하면서 B, C를 스택에서 제거하고 싶다면 Intent의 Flag 중 FLAG_ACTIVITY_CLEAR_TOP 을 사용하면 된다. Intent intent = new Intent(this, AActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); 이동하려는 액티비티가 스택에 이미 존재하면 그 위에 쌓여있는 모든 스택을 제거하고 해당 액티비티가 다시 상단에 오르게 되는 것이다. Case2. 스택을 모두 제거하고 싶을 때 스택에 이동하려..
728x90
반응형