전체 글

· 🐧 Linux
개요 리눅스 시스템에서 내가 자주 쓰는 명령어들이 있다.대표적으로 현재 폴더의 내의 용량을 조회하는 'du -h --max-depth=1'과 특정 서버를 재시작하는 'sudo systemctl restart someService.service' 등이 있다.찾아보던 중 alias라는 방법과 스크립트 적용방법 등이 있다. 1. Alias로 설정하기 (간단한 방법) alias를 사용하면 특정 명령어에 대한 단축키를 설정할 수 있다. bash 수정vi ~/.bashrc # Bash 사용 시vi ~/.zshrc # Zsh 사용 시 파일 끝 줄에 다음 줄 추가alias dumd='du -h --max-depth=1'alias scr-s='sudo systemctl restart someService.servi..
· 🐋 Flutter
개요최근에 플러터 Stack 관련된 오류를 심하게 겪었다.아무래도 그동안 Stack에 대한 이해도가 낮아서 그런지 빠르게 문제해결을 하는데 어려움을 겪은 것 같다.그래서 Stack의 기본 원리와 구조를 찾아보게 되었고, 내 나름대로 개념과 예시를 정리하게 되었다.# Flutter Stack 위젯의 크기 결정 방식 이해하기Flutter에서 Stack은 여러 위젯을 겹쳐서 배치할 수 있게 해주는 레이아웃 위젯이다. Stack이 어떻게 자신의 크기를 결정하는지 자세히 알아보자.Stack의 기본 원리Stack의 크기는 기본적으로 non-positioned 자식들에 의해 결정된다. 이때 non-positioned 자식들이 있다면, Positioned가 적용된 자식들은 Stack의 크기 결정에 영향을 주지 않고 S..
· 🐋 Flutter
개요얼마 전에 플러터로 동글동글한 UI를 개발하던 중 Stack 구조에 자식위젯들을 원형으로 배치해야 되는 일이 생겼다.가장 효율적인 원형배치를 하기 위해서는 dart:math 패키지에 있는 삼각함수 기능들 (sin, cos) 등을 사용할 필요가 있었고, 깔끔한 방법으로 구현을 하게 되어서 공유를 하고 싶었다.아래의 사진은 내가 구현한 원형 스택 구조의 모습이다.   과일의 이름들을 따서 각 개수만큼 자동으로 원형 배치가 이뤄지는 구조다.이를 구현하기 위해서는 우선 삼각비에 대해 이해할 필요가 있다.중학교 때 배웠던 내용이지만 시간이 지나면서 거의 기억이 나지 않았는데, 원형 좌표를 구현하기 위해 원 방정식을 이용하다 더 쉬운 방법인 삼각비를 기억해 내게 되었다.  삼각비를 통한 계산 공식  자, 복습을..
· 🐋 Flutter
MediaQuery에 대해플러터에서는 MediaQuery라는 클래스가 존재한다.MediaQuery는 앱이 실행 중인 장치의 화면에 대한 정보를 가져오기 위한 용도로 사용하며 화면의 사이즈를 포함한 다양한 기능들을 제공하고 있다.Flutter에서 반응형 UI를 사용하기 위해서는 없어서는 안 될 존재이며, 이를 이용해 다양한 UI 기능을 제공하는데 도움을 줄 수 있다. MediaQuery 가 제공하는 기능들MediaQuery를 사용할 때는 MediaQuery.of(context).[property] 를 이용해 원하는 프로퍼티를 가져와 사용할 수 있다.현재 3.24.0 기준으로 MediaQuery에서 제공하는 기능은 다음과 같다. sizewithNoTextScalingwithClampedTextScalingv..
· 🐋 Flutter
개요플러터에서 현지화(Localization)를 적용하기 위한 패키지는 다양하다.가장 대표적으로 사용되는 패키지인 easy_localization과 플러터 기본 패키지인 flutter_localizations가 있다 (flutter_localization 아님)그러던 중 실시간 반응형 앱을 개발하다가 localization을 적용했을 때 매번 앱을 재시작한다는 점이 나를 괴롭게 했다.또한 외부 패키지를 도움받아서 localization을 적용하려니 앱이 무거워지는 느낌도 드는 게 좋지 않았다.이참에 새롭게 개발을 하는 겸 나는 외부패키지의 도움 없이 직접 localization을 적용해 보자고 결심을 했고, 깔끔하게 나만의 방식으로 localization을 적용하게 되었다.  구성Flutter 3.10..
· 🐋 Flutter
개요일반적인 객체지향 프로그래밍 언어에서는 새로운 객체를 생성할 때는 생성자 호출 시 new 키워드와 함께 객체를 생성할 수 있다.Flutter 도 초창기 1.x 버전 당시에만 해도 어떤 클래스든 생성자를 호출하여 객체를 생성할 때 new 키워드를 반드시 붙였어야 했다.하지만 대부분의 Widget 들은 class로 선언되어 사용되고 있기 때문에 new 키워드의 잦은 사용으로 이를 보완하게 되면서  new를 사용하지 않더라도 생성자 호출 시 자동으로 new 생략하여 객체를 생성할 수 있게 되었다. (일반 class도 적용됨)그러나 만약 같은 객체를 무수히 많이 생성하게 된다면 과도한 메모리 오버헤드가 발생하게 될 것이다.이때 싱글톤패턴은 객체를 딱 한 번만 생성하여 사용하도록 도와주는 패턴이다.또한 어플리..
Dogfoot_JW
개발자국