목록전체 글 (85)
개발새발
위젯 구축createState()State 객체를 생성하는 메소드. 이 메소드는 Stateful 위젯이 처음으로 생성될 때 호출.initState()State 객체가 생성된 후 최초로 호출되는 메소드. 초기화 작업을 수행하기에 적합한 시점. 예를 들어, 데이터를 가져오거나 초기 상태를 설정하는 등의 작업을 여기서 수행할 수 있음.didChangeDependencies()의존성이 변경된 경우 호출. State 객체가 의존하는 다른 객체나 데이터가 변경되었을 때 호출되는 메소드.재 드로잉build()위젯을 빌드하는 메소드. 이 메소드는 위젯을 구성하고 레이아웃을 정의하는 역할을 함. build() 메소드는 초기 빌드 이후에도 여러 번 호출될 수 있음.didUpdateWidget()위젯이 업데이트되었을 때 호..
플러터 WebSocket 2에서 만든 stompService를 조금 더 편하게 쓰기 위해 Global class를 만들어 전역에서 편하게 쓰기 위해 바꿀 필요가 있었다 보내야 하는 내용들을 정해두고 플러터에서 버튼에 Global.stomp.(함수 이름) 이런 식으로 부르면 지정된 메세지가 발송하도록 했다import 'dart:convert';import 'package:flutter/material.dart';import 'package:stomp_dart_client/stomp_dart_client.dart';class StompService { StompClient? stompClient; bool _isConnected = false; // 처음 연결하면 시간이 걸리기 때문에 메세지가 제대로 가..
이전 내용은 플러터 WebSocket1 보기 바란다먼저 webSocket을 사용하기 위해서 다트에서 제공하는 STOMP 라이브러리를 가져와야 한다websocket이 잘 연결되는지 보기 위해 print를 많이 넣어 뒀다 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.6 stomp_dart_client: ^2.0.0 // 이 부분을 추가 한 후 pub get을 한다import 'dart:core';import 'dart:core';import 'package:stomp_dart_client/..
플러터에 웹 소켓을 연결해서 실시간 으로 키오스크에서 찍히는 바코드 내역을 앱에서 보여주거나, 키오스크에 특정 명령을 보내는 등의 기능이 필요했다 자바를 이용해서는 혼자 공부삼아 실시간 채팅을 구현하려고 다뤄 본 적이 있었지만 플러터에 연결 하는건 쉽지 않다,,,일단 플러터를 거의 모르고 다트 언어 또한 거의 모르기 때문이다 지금은 가장 기본적으로 만들어 둔 상태이다 추후 리팩토링을 통해 더 사용하기 편하고 좋은 코드로 바꿀 예정이다회사에서는 ActiveMQ를 이용해서 만들었다아직 자세하게는 파악이 안 되지만 STOMP 를 ActiveMQ 가 대신 해주는 거 같다웹소켓웹소켓이란 요청을 보내야만 서버로부터 응답을 받을 수 있는 HTTP의 한계를 해결하기 위해 등장한 프로토콜로, TCP채널을 통해 실시간 양..
✅ 프로그래밍 상에서 클래스란? - 객체가 가져야하는 속성과 기능을 정의한 내용을 담고 있는 설계도 역할✅ 프로그래밍 상에서 객체란? - 클래스가 정의된 후 메모리상에 할당되었을 때 이를 객체라고 함.✅ 프로그래밍 상에서 인스턴스란? - 클래스를 기반으로 생성된다. - 클래스의 속성과 기능을 똑같이 가지고 있고, 프로그래밍 상에서 사용되는 대상 ✅ 다트패드에서 클래스의 생성자에 대해서 알아보자class Person { String name = 'John'; int? age; String? sex;}void main() { Person p1 = new Person(); p1.age = 30; print(p1.age);}// return30클래스의 생성자는 자바에서 썼던 방식과 같아서 쉽게 받아..
플러터의 기본 코드 구조- 자바에서 main() 함수가 제일 먼저 실행 되는 것 처럼 플러터도 main이 가장 먼저 실행된다- main에서 실행 될 때 가장 먼저 불러오는 페이지를 지정 해 둔 후 이후 페이지에서는 Router을 이용하여 연결한다import 'package:flutter/material.dart'; // 데스크탑, 앱 등에 고루 UI를 적용할 수 있게 해주는 구글이 제공해주는 패키지void main() => runApp(MyApp());class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( // 실질적으로 모든 앱을 감싸고 있다. title..
1. 플러터 상에서의 widget이란?✅ 일반적인 Widget의 설명 - 독립적으로 실행되는 작은 프로그램 - 주로 바탕화면 등에서 날씨나 뉴스 등 생활정보 등을 보여줌 - 그래픽이나 데이터를 처리하는 함수를 갖고 있음✅ What is Widget in flutter? - UI를 만들고 구성하는 모든 기본 단위 요소(ex. textFiled, text etc) - 눈에 보이지 않는 요소들까지 위젯 (ex. padding, marging, center, column etc) - Everthing is a widget (View마저도 위젯) -> 위젯으로만 구성함으로 코드로만 작성해. 그래서 스토리보드가 따로 없어.2. Stateless widgets 🆚 Stateful widgets✅ Type of Wi..
회사에서 플러터로 앱을 만들 프로젝트에 들어갔다 진짜 플러터는 한 번도 해본적이 없고 일단 앱을 해본적이 없었다 항상 해보고 싶었지만 일이 바쁘다는 이유로 공부를 하지 않았다 이번 기회에 어느정도 공부는 해보자 회사에 있는 천재개발자가 말해줬다 "플러터는 개발자 철밥통이다!" 무조건 공부해서 익혀야 살아 남을 수 있다 깃허브 : https://github.com/Limdongkeun/Flutter_APP학습 링크: https://www.youtube.com/watch?v=jI4kqLdqXic&list=PLQt_pzi-LLfpcRFhWMywTePfZ2aPapvyl&index=5
변경 사항을 적용하려는 브랜치(이 경우 prod)에 있는지 확인 git checkout prod **git log**를 사용하여 **prod_teddy**에서 선별하려는 특정 커밋의 커밋 해시를 찾는다 git log prod_teddy 커밋 해시가 있으면 **git Cherry-pick**을 사용하여 prod 브랜치에 변경 사항을 적용 git cherry-pick **prod_teddy**에서 **prod**로 가져오려는 각 커밋에 대해 이 단계를 반복 충돌이 있는 경우 Git은 잠시 멈추고 체리 픽을 계속하기 전에 문제를 해결 원하는 커밋을 모두 선별한 후 필요한 경우 변경 사항을 원격 저장소에 푸시 git push origin prod 체리 픽은 변경 사항을 선택적으로 적용하는 유용한 방법일 수 있지..
Mysql/MariaDB에서 JSON을 다루기 위한 방법이 다양하지만 일단 내가 쓰는 것들 위주로 JSON_VALID 주어진 값이 유효한 JSON 문서인지 여부를 나타냅니다. 유효한 경우 1 를 반환하고, 그렇지 않은 경우 0 를 반환하며, 인수가 NULL 인 경우 NULL 를 반환 JSON_UNQUOTE JSON 값을 인용 해제하여 문자열을 반환하거나 인수가 null인 경우 NULL 를 반환 JSON 값은 큰따옴표(” ”)로 감싸져 있기 때문에 큰따옴표(” ”) 제거해준다 JSON_EXTRACT 해당 테이블에 있는 컬럼의 값에 접근한다 JSON_EXTRACT(ego.optionValue2,'$.slaughter') or ego.optionValue -> '$.slaughter' JSON_UNQUOTE(..