본문 바로가기

전체 글81

[Flutter] Constraints를 이해하고 layout만들기 나 같은 플러터 초보자들이 UI를 그릴 때 가장 에러를 많이 일으키는 가장 큰 원인은 잘못된 constraints의 사용일 것이다. 처음 플러터를 학습할 때는 Container, Text, Column 그리고 Row같은 위젯을 사용하여 단순한 layout을 만들어 보게 된다. 직관적인 선언형UI 덕분에 처음에는 빠르게 플러터에 적응하여 화면을 그려나갔을 것이다. 하지만 점점 위젯들이 중첩되고, 스크롤 위젯 등 다양한 위젯들을 활용하게 되었을 때, 어디서 부터 잘못된 것인지 파악하기도 힘든 상황들이 발생하게 된다. 대부분의 위젯 관련 에러는 Flutter의 Widget constraints에 대한 이해의 부족으로 발생한다. constraints에 대한 이해가 부족한 채 개발을 진행하게 되면, 쓸모 없는 위.. 2024. 1. 13.
[Flutter] flutter 3.3 ShaderCompilerException ink_sparkle.frag failed with exit code -1073740791 에러 해결 개발 장비를 바꾼 뒤, 프로젝트를 실행시켰을 때 Target web_release_bundle failed: ShaderCompilerException: Shader compilation of "C:\flutter\packages\flutter\lib\src\material\shaders\ink_sparkle.frag" to "build\web\assets\shaders/ink_sparkle.frag" failed with exit code -1073740791. Compiling lib\main.dart for the Web... 52,1s Exception: Failed to compile application for the Web. 위와 같은 에러가 발생했다. 참고로 위 에러 문구는 저장해둔 에러메.. 2024. 1. 6.
신입 개발자의 개발에 대한 생각(문제 해결, 로그) 약 1년 간 제조 기업의 IT부서에서 개발을 하면서, 기술적으로 깊지는 않지만 신입으로서 경험하기 쉽지 않은 다양한 일들을 했다고 생각한다. 처음 부서 배치를 받았을 때 부서원 전체 인원 중 서비스, 시스템을 제대로 구성해본 인력이 많아야 1~2명인 상황이었다. 그리고 나는 `웹`을 배워 봤다는 이유로, Flutter로 새로시작하는 프로젝트가 있는데, `앱`을 만들어 로그인 기능을 구현해보라는 미션을 받았다. 황당했지만 처음에는 어렵지 않았다. Flutter도 생각보다 재밌었고 라인장님도 나에게 딱히 기대를 갖고 일을 맡긴 것이 아니라 아직 할 업무가 없어 단순하게 미션을 준 느낌이었다. 하지만, 로그인 기능을 완성하자(생전 처음보는 c#의 .NET CORE로 백엔드를 구성했다) 처음에는 단순히 로그인 .. 2024. 1. 2.
[Flutter] UI(5) - ExpansionTile을 활용하여 TreeView 만들기 flutter에서 기본 위젯으로 TreeView를 지원하지는 않는다. 하지만 pub.dev에 검색해보면 flutter_fancy_tree_view와 같이 잘 만들어진 패키지들을 찾아볼 수 있다. 하지만 학습의 차원에서 직접 TreeView를 만들어 보았다. 처음 만들자고 생각했을 때 부터 쉽지는 않을 것 같다고 생각했지만, 실제로 해보니 훨씬 복잡하다고 생각 되었다. 우선 TreeView를 만들기 위해서는 1. 재귀로 위젯 호출 2. ExpansionTile 위젯 (optional) 3. CustomPaint 위젯 세 가지 개념을 알고 있어야 한다. 1. 재귀로 위젯 호출 만약 내가 TreeView를 현업에서 만든다면, 무조건 재귀를 통해서 하위 데이터들을 불러올 것이다. 트리구조가 변경 될 때에도 수정.. 2024. 1. 2.