분류 전체보기

· App/Flutter
Flutter의 기초 개발에 대해서 잘 요약해둔 글을 발견해 클립한다. 플러터의 개념부터 Appbar, Fragment, BottomNavigation, 등 기본 UI, 화면에서 UI 개발하는 법 등 플러터의 기초적인 거의 모든 개발 방법을 기술한다. 해당 글은 저작권이 있기 때문에 글의 내용을 기술하진 않는다. 대신 위시켓에서 매우 잘 번역한 글이 있기에 함께 클립한다. https://yozm.wishket.com/magazine/detail/1566/ Flutter로 UI를 구현하는 방법 | 요즘IT 이 글에서는 이미지를 포함한 모든 종류의 UI를 Flutter 코드로 변환하는 방법에 대해 소개할 예정입니다. 미리 말하자면 이 글은 앱 개발 튜토리얼이 아니며, 다양한 UI의 기본적인 개념과 구현 방 ..
· App/Flutter
Flutter는 앱 데이터의 상태 관리를 위해 Bloc과 Cubit을 제공한다. Cubit은 Bloc의 6.0.0 버전부터 새롭게 제공된 Bloc의 경량화 버전이다. Bloc 호출 이벤트 및 상태 변경이 모두 Stream이다. 모든 과정이 Stream이기 때문에 Event sourcing을 할 수 있다. UI가 Bloc에 events를 보낸다. 호출 이벤트가 Stream이기 때문에 가능한 기능들이 추가되지만 보일러 플레이트가 상당하다. class CityBloc extends Bloc { CityBloc() : super(City()){ on( generateCity, transformer: debounce(const Duration(milliseconds: 300)) ); } FutureOr gener..
· App/Flutter
Equatable Equatable 플러그인은 한 인스턴스와 다른 인스턴스가 같은 인스턴스인지 판단을 쉽게 할 수 있게 해주는 라이브러리이다. 자바, 루비와 같은 객체 지향 언어를 사용해본 사람은 알겠지만, 객체의 비교는 기본적으로 메모리 베이스다. 같은 필드 값들을 가진 객체라도 할당된 메모리 값이 다르기 때문에 == 연산자로 비교하면 False가 나온다. 그렇기 때문에 객체 지향 언어에서는 비교를 할 때 비교의 기준을 제공해주는 함수를 override하고 hashMap을 정의해 각 객체 키의 해시 방법을 정한다. Operator 함수 override 하기 class Person { final int id; final String name; final int age; Person({ required t..
일반적으로 모든 모델에 공통된 필드를 편하게 넣기 위해서 BaseModel을 만들어 사용하곤 한다. 필자의 경우엔 FastAPI의 SQLModel에서 Base 모델을 만들고 싶어서 아래와 같이 만들었다. import re from sqlalchemy.ext.declarative import declared_attr from sqlmodel import SQLModel def camel_to_snake_case(name): # 정규 표현식을 사용하여 CamelCase를 snake_case로 변환합니다. name = re.sub("([a-z0-9])([A-Z])", r"\1_\2", name) return name.lower() class Base(SQLModel): # id: int = Field(prim..
파이썬의 객체는 _로 시작하는 속성을 가리는 은닉화의 속성을 가지고 있다. 그렇기 때문에 SQLModel에서도 _를 포함한 필드를 가져올 수 없는 이슈가 있다. 필자는 작업 중에 사용한 테이블에 _TIMESTAMP 와 같은 필드가 있어 이런 이슈를 직면하게 되었다. 이 이슈를 해결하기 위해 디렉터분께 질문을 드렸고, SQLModel은 기존의 SQLAlchemy의 컬럼을 사용할 수 있는 sa_column이란 프로퍼티를 찾아주셨다. sa_column은 SQLAlchemy Column의 줄임말이다. 아래는 일반적인 Post 모델이다. class Post(Base, table=True): id: int = Field(primary_key=True, index=True) name: str = Field() aut..
PostgreSQL에선 카탈로그도 시스템 테이블로 구성되어서 사용자도 SQL을 통해 카탈로그를 조회할 수 있다. 해당 카탈로그 테이블의 이름은 pg_catalog 이다. 이 카탈로그 안의 pg_stat_activity 테이블은 세션 정보, 세션 PID, 세션 설명 등의 정보를 담고 있다. 해당 테이블의 로우의 갯수는 커넥션의 갯수이며 제공된 PID를 이용해 세션을 종료할 수 있다. pg_stat_activity 테이블 조회 SELECT * from pg_catalog.pg_stat_activity; 세션의 쿼리 종료 SELECT pg_cancel_backend(PID); 세션 종료 SELECT pg_terminate_backend(PID);
Say simple
'분류 전체보기' 카테고리의 글 목록 (6 Page)