본문 바로가기

전체 글

(26)
[Flutter] 위젯 사이에 간격 두기 (SizedBox vs Spacer) SizedBox 1. Row, Column 위젯에서 간격을 만들 때 사용한다. width, height 값을 지정해주는 지정된 크기의 위젯이다. Row( children: [ Text(), // Row에서는 height가 고정되고 Column에서는 width가 고정되므로 하나만 지정하면 된다. SizedBox( width: 20 ), Text(), ], ) 2. Container 등 child 위젯의 크기를 지정할 때 사용한다. SizedBox( width: 200, child: Container(), ) 참고) Container와 SizedBox의 차이 width와 height를 지정하지 않았을 경우, Container는 최대 크기로 확장되며 SizedBox는 child 크기에 맞게 적용된다. Spac..
[Flutter] SingleChildScrollView안에 ListView 스크롤 막기 SingleChildScrollView와 ListView를 같이 사용하면 스크롤 기능이 충돌해 오류가 발생한다. 이를 해결하기 위해서는 ListView의 스크롤을 비활성화해주면 된다. SingleChildScrollView( child: ListView( shrinkWrap: true, physics: NeverScrollableScrollPhysics(), ) ) - shrinkWrap: true - ListView가 전체 화면이 아닌 필요한 공간만 차지하도록 한다. - physics: NeverScrollableScrollPhysics() - ListView의 스크롤 기능을 비활성화한다. references https://api.flutter.dev/flutter/widgets/ListView-cla..
[Flutter] Flutter에 움직이는 이미지 넣기 (Lottie) Lottie란 Airbnb에서 개발한 오픈소스 모바일 라이브러리이다. JSON 기반의 애니메이션 파일로 gif 같은 다른 형식에 비해 가볍고 벡터 기반이라 확대 축소에 따른 해상도 저하가 없다. IOS, 안드로이드, 웹, React Native 같은 다양한 플랫폼을 지원한다. Flutter에 적용 1. https://lottiefiles.com/ 에서 원하는 이미지를 찾아서 저장한다. Discover > Free Ready-to-use Animations에서 무료 이미지를 찾을 수 있다. 2. 원하는 이미지를 JSON 파일로 다운로드한다. 3. 다운로드 받은 JSON 파일을 assets 디렉토리에 넣어준다. 4. pubspec.yaml에 assets 디렉토리 등록 flutter: assets: - ass..
리눅스 디렉토리 구조 디렉토리 구조 리눅스는 유닉스 계열을 바탕으로 만들어진 오픈소스 운영체제이고 유닉스와 마찬가지로 모든 것을 파일로 관리한다. 디렉토리 구조를 활용해 파일들을 관리하고 이 위치에 따라 파일들을 참조하여 시스템을 동작시킨다. / / 모든 디렉토리의 최상위 디렉토리 (루트 디렉토리) /bin, /sbin 둘 다 바이너리 파일로 컴파일된 실행 파일들을 포함하고 있다. /bin 리눅스를 사용할 때 자주 사용하는 기본적인 명령어가 저장된 디렉토리 (cd, ls, mv, rm 등) /sbin 주로 시스템이 사용하는 시스템 관리자용 명령어를 저장하고 있는 디렉토리 (sysctl 등) /home, /root /home 개별 사용자의 디렉토리를 관리하는 디렉토리 (예를들어 새로운 사용자 user1을 생성하면 /home/u..
서버 접속 안될 때 port, 방화벽 확인 예를 들어, http://1.1.1.1:8080 에 접속이 안된다고 하자. 1. 먼저 서버에서 8080 포트가 열려있는지 확인해야 한다. 해당 포트가 LISTEN 상태인데 연결이 되지 않으면 방화벽을 확인해야 한다. > netstat -nap | grep 8080 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN - 2. 이제 로컬에서 연결되는지 확인해본다. ❯ nc -vz 1.1.1.1 8080 # 연결 성공시 Connection to 1.1.1.1 port 8080 [tcp/cbt] succeeded! # 연결 실패시 nc: connectx to 1.1.1.1 port 8080 (tcp) failed: Connection refused 3. 방화벽을 확인하고 열어준다. > sudo ..
ps -ef | grep, ps -aux | grep 차이 1. ps(Process Status) 현재 실행중인 프로세스 목록과 상태를 보여준다. ps 옵션은 OS 계열에 따라 다르게 사용한다. System V 계열에서는 -를 사용하고 BSD 계열을 -를 사용하지 않는다. System V 계열 ps -ef | grep [찾고싶은 프로세스] [ ps 옵션 ] -e 모든 프로세스 출력 -f 프로세스의 다양한 정보 출력 프로세스 소유자(UID), 프로세스 식별자(PID), 부모 PID(PPID) 등 BSD 계열 ps aux | grep [찾고싶은 프로세스] [ ps 옵션 ] a 터미널에 연관된 프로세스 출력 u 프로세스의 사용자/소유자, 프로세스가 사용하는 CPU 양(%CPU), 프로세스가 사용하는 메모리 양(%MEM),가상 메모리 사용량(VSZ), 실제 메모리 크기..
vi 한줄 복사 1. 한줄 복사 복사하고 싶은 위치로 커서 이동 > yy 2. 현재 위치 아래에 붙여넣기 붙여넣고 싶은 위치로 커서 이동 > 소문자 p 3. 현재 위치 위에 붙여넣기 붙여넣고 싶은 위치로 커서 이동 > 대문자 p
PostgreSQL db, schema, user, role 생성 PostgreSQL을 설치하면 default user로 postgres가 생성되며 superuser 권한을 가진다. 여기에 database를 생성하면 default schema로 public schema가 생성되며 모든 user가 객체를 생성할 수 있다. 따라서 user가 public schema에서 객체를 생성할 수 없도록 하고 신규 database와 schema를 생성해보자. # public schema revoke revoke all privileges on schema public FROM public; # user 생성 create user {user} with password '{password}'; # db 생성 create database {database} owner {user}; # d..