본문 바로가기
반응형

전체 글361

[AI] 구글 대화형 AI 바드 사용법 (2) - 코딩 보조 (Help with coding) 이번 포스팅에선 바드 기능 중 코딩을 보조 해주는 기능인 코딩 보조에 대해 알아보려고 한다. 2023년 4월 21일에 나온 기능이다. 코딩 보조 (Help with coding)란? 공식 홈페이지에 있는 설명은 아래와 같다. 이제 Bard에서 20개가 넘는 프로그래밍 언어로 코딩할 수 있습니다. Bard에서 Python 코드를 생성하면 Google Colab으로 바로 코드를 내보내고 테스트할 수도 있습니다. C++, Go, Java, JavaScript, Python, TypeScript, Google Sheets 함수와 같은 언어에 대한 도움을 받으려면 Bard에게 도움을 요청해 보세요. 초보자부터 숙련된 엔지니어까지 다양한 수준의 프로그래밍 경험이 있는 사용자가 코드 생성 및 내보내기, 코드 디버깅,.. 2023. 10. 15.
[AI] ChatGPT 사용법 (22) - Image input (이미지 분석) 이번 포스팅은 9월 25일에 공개된 Image input (이미지 분석)에 대해 알아보려고 한다. 오랜만에 ChatGPT에 재밌는 기능이 생겼다. 가자! Image Input (이미지 분석)이란? 이미지와 이미지에 대한 질의를 작성해서 질문을 하면 ChatGPT가 답을 해준다. 수학 문제를 풀어준다든지, 내가 모르는 언어를 찍어서 올리면 번역해준다든지 이것저것 무궁무진하게 활용할 수 있는 기능이다. 사진으로 계속 대화를 이어나갈 수 있다는 점이 정말 흥미로운 거 같다. 안드로이드와 IOS 앱에서 Plus와 Enterprise Plan인 유저만 GPT-4를 선택해서 사용할 수 있는 기능이다. 공식 홈페이지에 있는 설명은 아래와 같다. 이제 ChatGPT에게 하나 이상의 이미지를 보여줄 수 있습니다. 그릴이.. 2023. 10. 14.
[AI] ChatGPT 사용법 (21) - Voice conversations 이번 포스팅은 9월 25일에 공개된 Voice conversations에 대해 알아보려고 한다. 오랜만에 ChatGPT에 재밌는 기능이 생겼다. 가자! Voice conversations란? 혹시 영화 her을 봤다면 바로 와닿을 기능이다. 채팅을 치지 않고 대화로 질문과 답변을 들을 수 있는 기능이다. 안드로이드와 IOS 앱에서 Plus와 Enterprise Plan인 유저만 사용할 수 있는 기능이다. 아쉽지만 아직 Browse with bing이랑은 연동이 안 된다. 공식 홈페이지에 있는 설명은 아래와 같다. 새로운 음성 기능은 텍스트와 몇 초의 샘플 음성만으로 인간과 유사한 오디오를 생성할 수 있는 새로운 텍스트 음성 변환 모델에 의해 구동됩니다. 우리는 각 음성을 만들기 위해 전문 음성 배우와 협.. 2023. 10. 13.
[Kotlin] Kotlin 공식 문서 번역 - IntelliJ IDEA에서 코틀린 Flow 디버그하기 (Debug Kotlin Flow using IntelliJ IDEA – tutorial) IntelliJ IDEA에서 코틀린 Flow 디버그하기 (Debug Kotlin Flow using IntelliJ IDEA – tutorial) 이 튜토리얼은 Kotlin Flow를 생성하고 IntelliJ IDEA를 사용하여 디버그하는 방법을 보여줍니다. 이 튜토리얼은 코루틴과 Kotlin Flow 개념에 대한 사전 지식이 있다고 가정합니다. Kotlin Flow 생성하기 느린 발신자와 느린 수집기가 있는 Kotlin Flow를 생성하세요: 1. IntelliJ IDEA에서 Kotlin 프로젝트를 열어보세요. 프로젝트가 없다면 새로 만드세요. 2. Gradle 프로젝트에서 kotlinx.coroutines 라이브러리를 사용하려면 build.gradle(.kts)에 다음 종속성을 추가하세요: depen.. 2023. 10. 2.
[Kotlin] Kotlin 공식 문서 번역 - IntelliJ IDEA에서 코루틴 디버그하기 (Debug coroutines using IntelliJ IDEA – tutorial) IntelliJ IDEA에서 코루틴 디버그하기 (Debug coroutines using IntelliJ IDEA – tutorial) 이 튜토리얼은 Kotlin 코루틴을 생성하고 IntelliJ IDEA를 사용하여 디버그하는 방법을 보여줍니다. 이 튜토리얼은 코루틴 개념에 대한 사전 지식이 있다고 가정합니다. 코루틴 생성하기 1. IntelliJ IDEA에서 Kotlin 프로젝트를 열어보세요. 프로젝트가 없다면 새로 만드세요. 2. Gradle 프로젝트에서 kotlinx.coroutines 라이브러리를 사용하려면 build.gradle(.kts)에 다음 종속성을 추가하세요: dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-.. 2023. 10. 2.
[Kotlin] Kotlin 공식 문서 번역 - 코루틴 Select 표현식 (Coroutines Select expression) 코루틴 Select 표현식 (Coroutines Select expression) Select 표현식은 여러 중단 함수를 동시에 기다릴 수 있게 하고 첫 번째 사용 가능한 것을 선택할 수 있게 합니다. Select 표현식은 kotlinx.coroutines의 실험적인 기능입니다. 해당 API는 kotlinx.coroutines 라이브러리의 업데이트 중에 변경될 수 있는 손상을 일으킬 수 있는 변경 사항이 예상됩니다. 채널에서 선택하기 우리는 두 개의 문자열 프로듀서, "Fizz"와 "Buzz!"를 가지고 있습니다. Fizz는 500ms마다 "Fizz" 문자열을 생성합니다: fun CoroutineScope.fizz() = produce { while (true) { // 500ms마다 "Fizz"를 전송.. 2023. 10. 2.
[Kotlin] Kotlin 공식 문서 번역 - 코루틴 공유 가능한 가변 상태와 동시성 (Coroutines Shared mutable state and concurrency) 코루틴 공유 가능한 가변 상태와 동시성 (Coroutines Shared mutable state and concurrency) 코루틴은 Dispatchers.Default와 같은 다중 스레드 디스패처를 사용하여 병렬로 실행될 수 있습니다. 이는 모든 일반적인 병렬화 문제를 제시합니다. 주요 문제는 공유 가능한 가변 상태에 대한 액세스 동기화입니다. 코루틴에서 이 문제에 대한 일부 해결책은 다중 스레드 세계의 해결책과 유사하지만, 다른 것도 있습니다. 문제 동일한 작업을 천 번 수행하는 백 개의 코루틴을 시작해 보겠습니다. 또한 이들의 완료 시간을 추가 비교를 위해 측정할 것입니다. suspend fun massiveRun(action: suspend () -> Unit) { val n = 100 // .. 2023. 10. 2.
[Kotlin] Kotlin 공식 문서 번역 - 코루틴 예외 핸들링 (Coroutine exceptions handling) 코루틴 예외 핸들링 (Coroutine exceptions handling) 이 섹션에서는 예외 처리와 예외가 발생할 때의 취소에 대해 다룹니다. 이미 취소된 코루틴이 중단 지점에서 CancellationException을 throw하고 코루틴 머신에서 무시된다는 것을 알고 있습니다. 여기에서는 취소 중에 예외가 발생하거나 동일한 코루틴의 여러 하위 코루틴이 예외를 throw하는 경우에 대해 살펴봅니다. 예외 전파 코루틴 빌더에는 예외를 자동으로 전파하는 방식(launch 및 actor)과 사용자에게 노출시키는 방식(async 및 produce) 두 가지 종류가 있습니다. 이러한 빌더를 사용하여 다른 코루틴의 하위가 아닌 루트 코루틴을 생성하는 경우, 전자의 빌더는 예외를 잡히지 않은 예외로 처리하며(자.. 2023. 10. 2.
[Kotlin] Kotlin 공식 문서 번역 - 채널 (Channels) 채널 (Channels) 채널 기초 채널(Channel)은 개념적으로 BlockingQueue와 매우 유사합니다. 그 중요한 차이점 중 하나는 블로킹 put 연산 대신 중단 send를 가지고 있다는 것이고, 블로킹 take 연산 대신 중단 receive를 가진다는 것입니다. val channel = Channel() launch { // 이것은 무거운 CPU 집약적인 계산 또는 비동기 로직 일 수 있으며, 우리는 단순히 다섯 개의 제곱 값을 보내겠습니다. for (x in 1..5) channel.send(x * x) } // 여기서 받은 다섯 개의 정수를 인쇄합니다. repeat(5) { println(channel.receive()) } println("Done!") 이 코드의 출력은 다음과 같습니다.. 2023. 10. 1.
반응형