안녕하세요. Flutter에서 React Native 에서 구현되는 Code Push 기능이 있는지 알아보던 중 'Shorebird' 라는게 있어서 소개해 드리려 합니다. 구글에서 Flutter의 창립자인 Eric Seidel이 이 프로젝트를 이끌고 있습니다. Shorebird는 앱을 앱 스토어, 플레이 스토어에 빌드없이 사용자들 기기에 직접 업데이트를 할 수 Code Push 기능을 가지고 있습니다. 앱 스토어나 플레이 스토어에 승인 없이 간단한 기능이나 텍스트나 이미지를 바로 변경할 수 있다는 점에 기대를 하고 있습니다. 다만 현재는 안드로이드만 지원되며 알수 없는 오류들이 생겨 실서비스에 적용하기에는 무리가 있어보이나, React Native Code Push 만큼 빠른 성장이 되지 않을까 기대하고..
System.Json 은 Delphi XE6 이상부터 동작합니다. 간단한 JSON 문자열을 파싱하고, 결과를 출력하는 Delphi 프로시저입니다. JSON 문자열의 각 키-값 쌍을 출력하기 위해 TJSONObject의 반복자를 사용했습니다. https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.JSON.TJSONObject
Flask 를 이용하여 MySQL 데이터베이스에 로그인하고 로그아웃하는 기본적인 Flask 예제입니다. 이 예제는 매우 단순한 형태이므로 실제 웹 애플리케이션에서는 보안, 에러 처리 등을 고려해야 합니다. Flask 와 MySQL 로그인/로그아웃 예제 라이브러리 설치 $ pip install flask flask-mysqldb 디렉토리 구조 /flaskapp /templates home.html login.html app.py app.py from flask import Flask, render_template, request, redirect, url_for, session from flask_mysqldb import MySQL import MySQLdb.cursors import re app = F..
안녕하세요. 아래 작성한 내용은 Flutter에서 Firebase CLI 를 이용하여 Firebase 를 연동하는 방법을 작성하였습니다. Windows 기반으로 작성된 내용입니다. Firebase 프로젝트 생성 https://console.firebase.google.com/ 로그인 - Google 계정 이메일 또는 휴대전화 accounts.google.com "프로젝트 만들기" 선택 프로젝트 이름을 입력합니다. firebase-test-app 은 예제 이름입니다. Google 애널리틱스는 테스트용 앱임으로 사용하지 않습니다. 잠시 기다리면 프로젝트가 생성 됩니다. 5개의 아이콘중 오른쪽 끝에 있는 Flutter 버튼을 선택합니다. 차례대로 진행 주시면됩니다. Windows 경우 환경변수 Path 설정이..
Python, Flask 를 이용해서 ChatGPT API 를 사용하는 간단한 예제입니다. 아래 OpenAI 사이트에서 API를 신청한 후 사용 가능합니다. app.py 에서 "your-openai-api-key"를 OpenAI 에서 발급받은 API 로 변경하시면 됩니다. https://platform.openai.com/overview OpenAI Platform Explore developer resources, tutorials, API docs, and dynamic examples to get the most out of OpenAI's platform. platform.openai.com 라이브러리 설치 $ pip install flask openai 디렉토리구조 project/ ├─ app...
파이썬을 이용한 CCTV 라이브 이미지 다운로드 입니다. urls 의 주소만 변경하면 가능하고 auth 정보도 CCTV 정보에 맞게 수정하시면됩니다. 예제 urls 에 있는 주소는 하이크비전 CCTV에서 이미지를 얻는 API 주소 입니다. import os import requests from requests.auth import HTTPDigestAuth import datetime urls = { 'stream2': 'http://192.168.123.2/ISAPI/Streaming/channels/101/picture', 'stream3': 'http://192.168.123.3/ISAPI/Streaming/channels/101/picture', } # 인증 정보 설정 auth = ('ID', '..