본문 바로가기

비동기10

08. 실시간 데이터를 UI에 반영하는 StreamBuilder 알아보기 오늘 배울 것오늘은 StreamBuilder의 개념과 FutureBuilder와의 차이점. 그리고 StreamBuilder의 기본 구조와 각 속성의 의미에 대해 알아보겠습니다. 마지막으로 타이머 예제를 통한 실시간 데이터 UI 갱신을 직접 실습해보겠습니다. StreamBuilder란?StreamBuilder는 지속적으로 변하는 데이터를 실시간으로 UI에 반영할 수 있게 해주는 비동기 위젯입니다. FutureBuilder가 "한 번 받아오는 비동기 데이터"에 적합하다면 StreamBuilder는 "여러 번 지속적으로 들어오는 데이터" 에 적합합니다. 예를 들어, 실시간 채팅 앱이나 센서 데이터, 데이터 스트림과 같은 실시간 데이터 처리에 사용할 수 있습니다. FutureBuilder vs Stre.. 2025. 5. 9.
07. 비동기 상태에 따라 UI를 바꾸는 FutureBuilder 알아보기 오늘 배울 것FutureBuilder 와 일반 Builder 와의 차이점을 비교하고 FutureBuilder 의 목적과 언제 사용하면 좋은지 알아봅니다. FutureBuilder 란?FutureBuilder 는 Future 타입의 비동기 작업을 감지해서 '결과값이 오기 전', '도착했을 때', '에러가 났을 때' 각각의 상태에 따라 다른 위젯을 보여줄 수 있게 해주는 빌더입니다. 비동기 작업 결과를 기다렸다가 화면에 반영해야 할 때 유용하게 사용할 수 있습니다. 일반 Builder 와 차이점일반 BuilderFutureBuilder이미 가지고 있는 데이터로 빌드비동기 데이터가 '나중에' 올 때까지 기다렸다가 빌드동기적 데이터 기반비동기 (Future) 기반반복적인 UI 생성비동기 작업의 상태에 따.. 2025. 5. 8.
06. Flutter 비동기 처리 Future, async/await 알아보기 오늘 배울 것오늘은 Flutter 프로그래밍에서 중요한 개념인 동기와 비동기에 대해 공부하고 Future, async/await의 개념과 사용법을 알아보겠습니다. 동기(Synchronous) vs 비동기(Asynchronous)쉽게 비유적으로 설명해 보자면 동기는 줄 서서 일을 처리하는 것이고, 비동기는 맡겨두고 다른 일 먼저 하고 오는 것입니다. 동기와 비동기를 표로 정리하면 다음과 같습니다. 동기비동기한 번에 하나씩 처리동시에 여러 일 가능앞 작업이 끝나야 다음 일로 넘어감기다리는 동안 다른 일 가능예: ATM에서 돈 뽑기예: 배달 주문하고 다른 일 하기 동기의 장점은 흐름이 예측 가능하다는 것입니다. 코드가 작성된 순서대로 차례차례 실행되기 때문에 디버깅이나 버그를 찾기도 쉽습니다. 동기.. 2025. 5. 7.
Python threading.local 와 ContextVar 비교 threading.local 와 ContextVar 는 둘 다 데이터를 격리하고 동적으로 할당한다는 점에서 유사한 목적을 가지고 있지만 사용되는 상황과 특징이 조금 다르다. 이 글에서는 둘의 공통점과 차이점을 예제 코드와 함께 비교해보고자 한다. threading.local threading.local 은 각 스레드마다 고유한 데이터를 가질 수 있게 해준다. 아래 예제 코드를 살펴보자. import threading # threading.local 객체 생성 thread_local_data = threading.local() def 스레드_울음소리(): thread_local_data.value = "끼룩끼룩!" def 스레드_동물호출(): value = getattr(thread_local_data, .. 2023. 9. 26.
JavaScript _ 콜백 함수를 알아보자 들어가며 자바스크립트에서 비동기 프로그래밍의 기초 개념 중 하나인 콜백 함수에 대해 알아보자. 본 글에서는 콜백 함수의 개념부터 동기 콜백과 비동기 콜백의 차이, 콜백 지옥과 한계, 그리고 콜백 함수 작성 팁까지 다루겠다. 또한 콜백 함수의 대안으로 선호되는 프로미스와 async/await에 대해서도 간략하게 소개하겠다. 콜백 함수란? 콜백 함수란 다른 함수에 인자로 전달되어, 어떤 작업이 완료된 후에 실행되는 함수이다. 콜백 함수는 자바스크립트에서 흔히 사용되는 패턴으로, 특히 비동기 작업을 처리할 때 유용하다. 비동기 작업이란, 작업의 실행과 완료 시점이 일치하지 않는 작업을 말하는데, 예를 들어 서버에서 데이터를 가져오는 작업이나 타이머를 사용한 작업 등이 비동기로 이루어질 수 있다. 콜백 함수의 .. 2023. 5. 9.
SQLAlchemy에서의 비동기 쿼리 (feat. 2.0 Style) AsyncSession을 통한 비동기 DB 통신 SQLAlchemy 에서는 DB와 비동기로 통신하기 위해서 AsyncSession 을 사용합니다. 그런데 AsyncSession을 사용하게 되면 ORM방식도 바뀌는데요. SQLAlchemy 공식문서에서는 2.0 스타일 쿼리를 사용한다고 합니다. Synopsis - ORM Using 2.0 style querying, the [AsyncSession] class provides full ORM functionality. Within the default mode of use, special care must be taken to avoid lazy loading or other expired-attribute access involving ORM relati.. 2022. 4. 24.