catchv blog 135

[flutter] mouse point drag scroll

flutter 에서 web, windows, mac, linux(이건 테스트 못해 봄)에서는 제스쳐를 마우스로 하게 됩니다. 그런데 마우스로는 drag 시에 핸드폰에서 기대하던 터치 동작이 작동하지 않습니다. 터치와 같은 형태로 만들기 위해서는 scrollBehavior 값을 조정하여 스크롤의 동작 방식을 변경 할 수 있습니다. MaterialScrollBehavior 를 상속 받아 dragDevices 를 변경합니다. // mouse_drag_scroll_behavior.dart import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; class MouseDragScrollBehavior extends Material..

Dev/flutter 2022.12.21

[flutter] AnimatedPositioned size change Animation

AnimatedPositioned 을 사용하여 위아래로 움직이는 애니메션을 만들었는데 윈도우(?)의 크기를 조정시 좌우도 애니메이션이 발생하는 현상이 보였습니다. Row의 children의 가운데 정렬하기 위해서는 left, right 속성을 반드시 가변적으로 설정해야 하는데 이것이 애미메션으로 작동해서 위와 같은 문제가 발생하고 있다. Stack에 Center 속성 적용시 AnimatedPositioned가 적용되지 않고 AnimatedPositioned child의 Center는 적용이 되지 않는다. 그래서 찾은 방법이 Positioned + SlideTransition 이다. with SingleTickerProviderStateMixin ... late final AnimationControlle..

Dev/flutter 2022.12.07

[flutter] AnimatedPositioned repeat animation

Stack에서 AnimatedPositioned을 사용하는 경우 상태 변화를 주는 작업이 필요합니다. 아래와 같이 페이지가 로드 되면 자동으로 반복해서 애니메이션을 처리하고 싶을때 처리입니다. AnimatedPositioned( top: _ani ? -20 : -10, duration: const Duration(milliseconds: 500), curve: Curves.linear, onEnd: () { setState(() { _ani = !_ani; }); }, child: BubbleBox( width: (width! * 0.5), height: 20, ), ), OnEnd로 _ani의 값을 true, false 처리하여 애니메이션 효과를 줄 수 있지만 처음 트리거 하는 변경점이 필요합니다. f..

Dev/flutter 2022.12.05

ibd2sdi

1. ibd2sdi ibd2sdi는 테이블스페이스의 SDI(serialized dictionary information)를 JSON형태로 추출하는 프로그램입니다. INNODB의 경우 idb파일에 스키마 정보가 같이 포함되어 있는데 이부분을 추출하는 프로그램입니다. INNODB의 테이블 스페이스는 innodb_file_per_table에 따라 생성의 차이가 발생합니다. mysql 8.x부터는 innodb_file_per_table의 기본값이 ON이며 보통 디스크 사용량 등을 줄이기 위해서 innodb_file_per_table를 사용합니다. (myISAM은 따로 SDI 파일이 존재함.) 1) INNODB 테이블 스페이스 SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESPA..

Database/MySQL 2022.11.25

mysqlslap

1. mysqlslap mysqlslap는 mysql 서버에 부하를 발생시켜 서버의 성능 및 벤치마크를 확인 할 수 있는 프로그래입니다. mysqlslap --delimiter=";"\ --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)"\ --query="SELECT * FROM a" --concurrency=50 --iterations=200 mysql.com에 올라온 샘플을 우선 보면 a라는 테이블을 만들고 a에 23을 넣은 후에 "SELECT * FROM a"를 50개의 세션에서 200번 수행하는 것입니다. Benchmark Average number of seconds to run all queries: 0.003 seconds Minimum..

Database/MySQL 2022.11.25

MySQL Shell (1) - 설치

linux os : rocky linux mysql : mysql 8.0.31 1. mysql shell mysql shell은 mysql 8부터 추가된 mysql 전용 shell 프로그램입니다. mysqlsh는 자바스크립트, 파이썬의 언어를 지원하며 mysql 설치 후에 추가 설치를 해야 사용 가능합니다. 1) 설치 # dnf install mysql-shell Last metadata expiration check: 0:28:57 ago on Mon Nov 21 13:04:36 2022. Dependencies resolved. =================================================================================================..

Database/MySQL 2022.11.21

mysqlcheck

1. mysqlcheck mysqlcheck은 mysql의 테이블 등에 오류 분석 또는 해결 및 최적화를 해주는 프로그램입니다. 1) 사용법 mysqlcheck [옵션]--all-databases mysqlcheck [옵션] 데이터베이스 [테이블] 2) 주요 옵션 -c(기본 옵션) CHECK TABLE - 테이블에 오류가 있는지 확인합니다. -r REPAIR TABLE - 테이블의 오류를 수정합니다. -a ANALYZE TABLE - 테이블의 통계를 생성합니다. -o OPTIMIZE TABLE - 테이블 및 인덱스의 물리적 스토리지를 재구성하여 공간 확보 및 I/O 효율성을 증가 시킵니다. 옵션에 따라서 Lock이 발생하는 것이 있으므로 SQL 명령어의 레퍼런스를 참고해서 사용하여야 합니다.

Database/MySQL 2022.11.18