전체 글(40)
-
[Migration] App Base 프로젝트 마이그레이션 (1)
안녕하세요. 기존의 괜찮은 프로젝트가 있는데, 유지보수가 안되었다 보니. 한 땀 한 땀! 수정을 해줘야 하는 번거로움이 있는 작업을 기획하게 됐습니다. 어느 개발자분의 좋은 베이스를 가져왔는데, 꽤 쓸만하기에 계획을 잡아봅니다. 목표는 기존수업의 애플리케이션을 구현하기. 첫 번째, pubspec.yaml의 의존성 최신화 하기그 과정에서 사용한 라이브러리에 대한 적용. (불필요해 보이는 것들을 선별하거나 나은 라이브러리로 교체하는 것 포함.두 번째, 기능 별로 폴더 파악하기어떤 기능이 있고 이를 옮기는 과정을 담고자 합니다. [환경]IDE : Android Studio Meerkat | 2024.3.1 Patch1 Flutter : 3.32.4 stable OS : Window 11 Pro ..
2025.07.05 -
[Flutter] 안드로이드 실행이 안되요. ㅠㅠ 에 대하여 Gradle 버전의 호환성 문제
안녕하세요. 오늘의 문제는 바로 Flutter를 제작하다 보면, 발생하는 문제에 대해서 서술하려 합니다.오류를 해결하면서도 느낀건 "원인은 알겠는데, 그래서 어떻게 해결해야 하는가???"에 대해서 주먹구구식으로 대처하였습니다.해결책을 꼭 집어서 이야기할 순없지만, 하다 보면 "어? 되네?" 였기 때문에 이점 감안하여 읽어주시면 감사하겠습니다. [문제점] chrome이나 Edge로 앱을 실행하면, 이상없이 돌아감.유독 Android로 앱을 실행하면, 앱 실행이 불가능함. 빌드 단계에서 실패함. flutter support for your project's android gradle plugin (android gradle plugin version 7.3.0) will soon be dropped. pl..
2025.06.25 -
본격 LLM 활용기 (1)
안녕하세요. 간단하게 LLM을 배웠으니 이제 실전입니다. 첫 번째 구조 먼저 간단하게 구조만 짚고 넘어가 보자면, Flutter로 제작된 Frontend를 위한 서버가 하나 제작합니다. 이후 Python으로 제작한 곳에서는 AI와 관련된 연산을 담당합니다. 앞으로 무언가가 추가될 수 있지만, 간단한 구조로 생성하려고 합니다. 두 번째 통신마지막으로 채팅의 핵심 기능은 통신 통신은 HTTP vs WebSocket으로 고민을 했습니다. 단순히 챗봇만을 생각한다면, HTTP가 맞습니다. 비 연결성이기도 하고 내가 요구하면, 응답만 하면 되는 것입니다. 하나의 화면에서 채팅을 하려는 걸 생각하면 WebSocket이 맞습니다. 한번 채팅을 치면 HTTP를 사용하면, 새로고침 때문에 깜빡이는 건 나쁜 경험을..
2025.06.12 -
LLM을 이해하기 Step 1 전처리 단계
[환경]IDE : Visucal Code Python version: 3.12Pandas : 2.2.1 안녕하세요 이번에 LLM을 다루게 되면서 가장 시작이 되는 부분인 전처리 단계를 다루고자 합니다. 전처리 단계는 다음과 같습니다. 전처리 중 첫 번째 단계인 Document는 문서를 읽어 들입니다. 문서는 Word, PDF,Excel, HTML, csv 등등이 있습니다. 전처리 중 두번째 단계인 TextSplit은 읽어 들인 문서를 쪼갭니다. 이때 쪼개진 단위를 Chunk라고 부릅니다. 예를 들어 Chunk는 500글자 단위로 쪼갭니다. 쪼갤 때, Chunk Overlap을 일부러 만듭니다. 전처리 중 세 번째 단계인 Embedding은 Chunk를 벡터로 변환합니다. Chunk를 ..
2025.06.06 -
[코루틴] 채널에 대한 모든것 1
안녕하세요~ 코루틴의 채널이란, 파이프와 같이 코루틴 간의 데이터를 공유하는 것입니다.파이프란, 프로세스 간 통신을 할 때 사용하는 도구입니다. 내부적인 동작은 파일에 전달할 메시지를 저장한 다음, 전달받을 프로세스는 그 파일을 읽고 사용하는 것입니다. 파이프는 producer , consumer 모델에서 자주 언급되는 통신 도구입니다. 큰 특징은 단방향성입니다.이러한 파이프의 동작은 코루틴의 채널과 굉장히 유사합니다. 다음은 간단한 채널 사용 예시 입니다. package org.exampleimport kotlinx.coroutines.*import kotlinx.coroutines.channels.*fun main() = runBlocking { val channel = Channel..
2025.05.28 -
[코루틴] 효율적이고, 빠른 경험을 주는 동시성(Concurrent) 구현하기.
안녕하세요. 오늘은 코루틴의 동시성을 구현할 것입니다. 이전 핸즈 랩의 내용 중 5. concurrency와 관련하여 포스팅을 하고자 합니다. 1~4번까지가 기본적인 기능에 대한 맛보기였다면 이때부터는 좀 더 효율적인 코드 작성을 알수 있는 팁들이 본격적으로 시작됩니다. 여기서 효율성은 역시 속도가 빠른 코드를 짜는 것입니다. 1. Blocking Requests2. Callbacks2-1. Use a background thread 2-2 Use the retrofit callback API 3. Suspending function4. Coroutines 5. Concurrency6. Structured concurrency7. Showing progress8.Channels9. Testing cor..
2025.05.26