일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- MSSQL
- MVVM
- listview
- 닷넷
- GitHub
- 자바스크립트
- .NET
- 깃허브
- typescript
- React JS
- Animation
- 파이어베이스
- 함수
- Firebase
- spring boot
- 애니메이션
- 마우이
- Binding
- AnimationController
- db
- 플러터
- page
- 바인딩
- Flutter
- 오류
- MS-SQL
- HTML
- JavaScript
- 리엑트
- Maui
- Today
- Total
목록분류 전체보기 (238)
개발노트
SliverFillRemaining를 사용하자CustomScrollView 로 Sliver [] 을 구성하는 중에 다른 Scroll류 위젯을 안에 사용하고싶을 경우가 있습니다.보통은 Expanded로 화면의 빈곳을 전부 차지하며 랜더링 오류를 막아주지만, 이를 위해 Expanded를 사용하면 오류가 발생합니다.이를 해결하기 위해서는 Scroll류 위젯을 SliverFillRemaining 위젯으로 감싸주면 사용이 가능합니다.!예시로 ScrollablePositionedList라는 패키지를 설치하여 넣어줬습니다.예시소스) class TestView extends StatelessWidget { const TestView({super.key}); @override Widget build(BuildCon..
하나의 위젯에 실시간 감시를 요구하는 값이 2개이며, 각각 다른 컨트롤러에 있기 때문에 컨트롤러를 2개 사용해야하는 상황이 와서 고민을 해보았습니다. 1. GetBuilder목적: 특정 시점에만 UI를 리빌드하기 위한 도구입니다. 컨트롤러의 상태가 변경될 때 update() 메서드를 호출하여 수동으로 UI를 리빌드합니다.성능: GetBuilder는 필요한 시점에만 리빌드를 트리거하므로, 성능 최적화 측면에서 더 유리합니다. 특히 UI 업데이트 빈도가 낮고, 성능이 중요한 경우 GetBuilder가 더 적합합니다.사용 사례: 예를 들어, 페이지 내 특정 UI 요소만 드물게 업데이트되는 상황에 적합합니다.GetBuilder를 사용할 경우class ProfileView extends StatelessWidge..
View, Controller, Binding 생성을 도와주는 Extension 설치 GetView 란?GetView는 GetX 패키지에서 제공하는 Flutter 위젯의 일종으로, 특정 컨트롤러에 쉽게 접근할 수 있도록 설계된 클래스다.**GetView**에서 T는 특정 컨트롤러 타입을 의미하며, 이 컨트롤러를 사용하여 UI와 로직을 연결함GetView는 컨트롤러에 쉽게 접근할 수 있도록 하며, controller 속성으로 컨트롤러의 메서드, 속성에 접근할 수 있음이는 특히, 단순한 UI와 컨트롤러의 바인딩을 효율적으로 처리하고자 할 때 유용기존 소스에서 패턴 적용해보기이제, 이전에 포스팅했던 Navigation 페이지를 View - Controller - Binding 패턴으로 바꿔본다.- 이전 포스팅..
GetX와 animated_bottom_navigation_bar 을 이용하여 하단탭 페이지전환 기능 만들기.!만들면서 Named Route 사용법을 익혀본다. GetX 설치: https://pub.dev/packages/get/install get install | Flutter packageOpen screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX.pub.dev하단Navigation버튼 바: https://pub.dev/packages/animated_bottom_navigation_bar animated_bottom_navigation_bar | Flutter packageA..
WebSocket (TCP/IP)WebSocket은 실시간 양방향 통신을 가능하게 하는 기술로, 지속적인 연결을 유지하며 언제든지 클라이언트와 서버가 서로 통신주요 특징:양방향 통신: 클라이언트와 서버가 서로 데이터를 주고받음(ex 전화통화)지속적인 연결: 연결이 수립된 후에는 클라이언트와 서버가 지속적으로 연결을 유지실시간 통신: 실시간 데이터 전송이 가능, 지연 없이 즉시 통신Open - Close 개념: 연결이 시작될 때 HttpRequest를 WebSocket으로 Upgrade 요청을 한뒤, 101 Response를 받아 오픈(Open)하며, 통신이 끝날 때 클로즈(Close) 함* HTTP 상태 코드 101은 "Switching Protocols"를 의미(HTTP에서 WebSocket으로 변경한..
분산처리에 들어가기 전 알아야할 용어들(급식에 비유)1. 로드 밸런싱 (Load Balancing)비유: 급식 줄에 줄 서기상황 설명: 급식 줄이 너무 길어서 한 번에 모든 학생들이 급식을 받기 어려운 상황입니다. 이때, 학생들이 자동으로 여러 줄로 나뉘어서 줄을 서게 하면 더 빨리 급식을 받을 수 있습니다. 이것이 로드 밸런싱입니다.내용: 로드 밸런싱은 네트워크 트래픽을 여러 서버에 분산시키는 기술로, 트래픽 부하를 균등하게 나누어 서버의 과부하를 방지하고, 고가용성을 제공합니다. 로드 밸런싱 방법은 다음과 같습니다.라운드 로빈 (Round Robin): 순서대로 각 서버에 요청을 배분합니다.최소 연결 (Least Connections): 현재 연결이 가장 적은 서버에 요청을 배분합니다.IP 해시 (I..
기억장치 성능, 비용 그래프 데이터베이스 시스템에서 데이터 캐시와 로그 버퍼 이해하기1. 데이터 캐시 (Buffer Cache)데이터 캐시는 디스크에 저장된 데이터 페이지를 메모리에 캐싱하는 메커니즘입니다. 이를 통해 동일한 데이터를 반복적으로 디스크에서 읽어오는 대신 메모리에서 빠르게 접근할 수 있습니다.역할디스크 I/O 감소: 디스크에 접근하는 횟수를 줄여 성능을 향상시킵니다.빠른 데이터 접근: 메모리에서 데이터를 읽는 것이 디스크에서 읽는 것보다 훨씬 빠릅니다.동작 방식읽기 작업: 데이터베이스는 디스크에서 데이터를 읽기 전에 먼저 데이터 캐시에 해당 데이터가 있는지 확인합니다. 캐시에 있으면 디스크 접근 없이 데이터를 메모리에서 가져옵니다.쓰기 작업: 데이터베이스는 변경된 데이터를 먼저 데이터 캐시..
이번 포스팅은 Flutter에서 이전에 만들었던 DTO JSON 데이터를 받아오기위해 Flutter안에 API서버 호출을 만들어본다.화면 시나리오1. 모든 칵테일을 보여준다. (호출 1)2. 원하는 칵테일을 클릭한다.3. 해당 칵테일의 정보를 보여주는 화면이 나온다. (호출 2)따라서 이렇게 두가지 호출을 만들어 줄 예정호출 1은 메소드 쿼리를 이용하여 FindAll() 로 모든 칵테일을 보여준다.호출 2는 클릭된 칵테일의 식별 ID를 파라미터로 받고 DTO를 이용하여 해당 칵테일 상세정보를 맞춤형으로 만들어서 클라이언트에 데이터를 보내준다.이전 포스팅에서 호출1,2는 만들어졌다.- 이전포스팅: https://mroh1226.tistory.com/223 [2024.06.20] 화면에 필요한 JSON 데이..
문제 발생: 아무런 수정이 없었으나 어노테이션 인식이 되지않음- 원인: Dependency 인식이 안되고있음해결방법1. File > Invalidate Caches 클릭 2. "Clear file system cache and Local History" 체크 3. build.gradle 를 빌드해줌 4. 문제 해결.! + 추가로 IDE 업데이트 후, 적용 후 재시작을 해주니 잘 되었습니다.
현재 타계열사의 요청으로 새로운 프로젝트에 들어가게 되었고, 개인적으로 가장 머리를 많이 써야한다고 생각하는 부분인 DB 설계를 하다보니 여유가 없었던 탓인지 1인개발을 한동안 하지 못 했다.다른 일정들도 있어 얼추 마무리가 된 지금, 저번에 이어 서버와 클라이언트 화면을 마저 연결해본다.API Server와 Flutter간의 연결은 앞에서 많이 해보았지만, 이번에 연결할 부분은,내가 생각했던 화면에 사용될 DTO를 작성하고 호출하는 것으로 여러 시행착오를 몸소 경험하고 완성시키는 것에 큰 의미가 있다고 생각한다.화면 시나리오1. 모든 칵테일을 보여준다. (호출 1)2. 원하는 칵테일을 클릭한다.3. 해당 칵테일의 정보를 보여주는 화면이 나온다. (호출 2)따라서 이렇게 두가지 호출을 만들어 줄 예정호..