본문 바로가기

분류 전체보기

TTS(Text-to-Speech) 라이브러리(윈도우, 맥OS, iOS, 안드로이드) 델파이 개발 그룹인 grijjy 팀(블로그: https://blog.grijjy.com/)에서 문자를 읽어주는 TTS(Text-to-speech) 라이브러리를 공개했습니다. 이 라이브러리는 윈도우, 맥OS, iOS, 안드로이드를 지원합니다.(grijjy 팀에서 크로스 플랫폼 추상화 레이어 설계를 연습하기 위해 제작했으며, 각 플랫폼 API TTS 기능을 하나의 라이브러리(컴포넌트)로 제공합니다.) 해당 기능이 필요하거나, 공통된 여러 플랫폼의 API를 하나의 라이브러리(컴포넌트)로 제작하는 방법을 참고하면 아주 좋겠습니다. Cross Platform Text-to-Speechhttps://github.com/grijjy/JustAddCode/tree/master/TextToSpeech 참고크로스 플랫폼 .. 더보기
델파이로 빅데이터 데이터베이스 연동하기(Cassandra, Couchbase, MongoDB) 델파이 개발 그룹인 grijjy 팀(블로그: https://blog.grijjy.com/)에서 빅데이터 데이터베이스에 직접 연동해 작업할 수 있는 델파이 라이브러리를 오픈소스로 공개하였습니다. 카산드라(Cassandra), 카우치베이스(Couchbase), 몽고DB(MongoDB) 총 3개의 빅데이터 데이터베이스 접근용 라이브러리이며, 해당 글에서는 친절하게 설치방법과 샘플 코드등을 자세히 설명합니다. 빅데이터 연동에 이슈가 있거나 관심이 있는 분들에게 큰 도움이 될 것으로 보입니다.자세한 내용은 아래 링크를 통해 (영문으로)자세히 볼수 있습니다. 참고로, 몽고DB의 경우 델파이에 기본 내장된 FireDAC을 이용해 직접 접속할 수도 있습니다.(하단에 관련 링크를 추가합니다.) 카산드라(Cassandra.. 더보기
[FMX] TListView 더보기 버튼 구현하기 모바일 앱을 개발할 때에 리스트 항목이 많은 경우, 한번에 가져오면 시간이 오래 걸려 좋지 않은 사용자 경험이 됩니다. 이 경우, 리스트 중 일부를 빠르게 표시하고, 리스트 끝으로 이동 시 추가로 표시하는 방식을 통해 문제를 해결할 수 있습니다. 이 글에서는, 리스트뷰(TListView)의 목록 끝으로 이동 시, 더보기 버튼을 표시하도록 (매우 심플하게)구현합니다.버튼 클릭 시 항목을 추가합니다. 이 글을 참고해 리스트 끝으로 이동 시 자동으로 항목을 추가하도록 구현할 수도 있습니다. 리스트뷰 더보기 버튼 구현하기결과결과 화면은 다음과 같습니다. 처음 24개 항목 표시 후, 목록 끝으로 이동 시 버튼이 표시되고, 버튼을 눌러 항목을 추가합니다. 구현방법1) 더보기 버튼을 리스트뷰(TListView)에 올.. 더보기
[REST API] 다음 Kakao > 로컬 > 주소검색 연동하기 다음 등의 포털 사에서는 자사 데이터 일부를 Open API로 공개하고 있습니다.특히 지도나 주소, 검색 등은 직접 데이터를 수집하는 것보다 포털의 데이터를 활용하는 것이 개발 및 유지보수에 유리할 수 있습니다. 오늘은 데브기어 테크게시판을 통해 다음 카카오의 주소검색 API 연동을 문의주셔서 해당 내용을 공유합니다. 아래 샘플을 REST API를 이용해 카카오 주소 검색 Open API와 연동하는 내용입니다.(카카오 Open API의 대부분은 REST API를 제공합니다. ) 해당 내용을 잘 익혀서 다양한 Open API를 여러분의 앱에서 활용하실 수 있습니다. 카카오 개발자 > 로컬 : https://developers.kakao.com/docs/restapi/local 카카오 Open API를 연동.. 더보기
[FMX] 폼의 높이를 애니메이션으로 변경하기, 툴바를 끌어 폼 이동하기 약국용 라디오 어플을 개발하는 개발사에서는, 오래전부터 PC 기반으로만 라디오 서비스를 하고 있습니다.해당 개발사에서는 노후된 앱을 최신 운영체제(윈도우 10 등) 지원과 모바일 확장을 위해 파이어몽키로 재개발 중입니다.(파이어몽키는 윈도우, OSX, iOS, 안드로이드를 하나의 소스코드로 개발할 수 있습니다.) 개발 중 몇가지 질문을 주셔서 기술지원 후 해당 내용 일부를 공유합니다. 이 글에서는 다음 내용의 구현 방법을 소개합니다.1, 폼의 일부영역 보이기/가리기(Collapse)2, Border가 없는 폼에서 특정영역(Toolbar)을 마우스로 이동하기 결과 화면은 아래와 같습니다.1, 폼의 일부영역 보이기/가리기(Collapse)이 기능은 TFloatAnimation 컴포넌트를 사용해 손쉽게 구현할.. 더보기
[FMX] iOS 시스템 볼륨 제어하기 엠바카데로 블로그에 HARUYUKI MOHRI가 작성한 C++빌더로 iOS 시스템 볼륨 제어하는 내용이 있어 델파이로 작업해 봤습니다. 원글 : https://community.embarcadero.com/blogs/entry/how-to-control-the-system-audio-volume-of-ios?utm_source=Facebook_Organic&utm_medium=social 아래와 같이 Up/Down 버튼을 누르면 시스템 볼륨을 제어합니다. MPVolumeView 클래스(iOSapi.MediaPlayer.pas)와 UISlider 클래스(iOSapi.UIKit.pas)를 사용했습니다. uses 절에 "iOSapi.MediaPlayer, iOSapi.UIKit" 추가해야 합니다. 다음 2개 .. 더보기
TListView 행별로 배경색 설정 및 글꼴변경하기 리스트뷰(TListView)는 많은 데이터를 목록으로 표시하기 위한 컴포넌트입니다.스와이프(스크롤) 속도가 빠른 대신 항목 구성하기가 까다롭습니다. 이번 글에서는 리스트뷰 표현 방식 중 DynamicAppearance(동적 외관구성)를 이용해 외관 구성 후, 아래 기능을 구현했습니다.1) 표시 항목을 추가(현재 2개, 여러 항목 표시가능)2) 조건에 따라 배경색상을 변경3) 조건에 따라 글꼴 변경 결과 화면은 아래와 같습니다.(아이폰에서는 "여자" 글꼴을 Bold로 주니 글자가 약간 커지네요.) 구현한 내용은 아래와 같습니다.화면구성대표 컴포넌트는 리스트뷰(TListView)와 이미지리스트(TImageList)입니다.이미지 리스트에는 2개의 색상 이미지(16x16)를 추가했습니다. 리스트뷰의 ItemAp.. 더보기
"REST API 웹서비스 연동" 교육자료 REST API 웹서비스 연동 http://blog.hjf.pe.kr/467 여러분들의 프로젝트에 REST API 기반 웹서비스를 구축하고 연동하는 방법을 배울 수 있는 교육과정입니다. 교육신청 : http://www.devgear.co.kr/edu/reg다른 교육 안내 : http://www.devgear.co.kr/edu/ 진행 순서 시간 내용 관련링크 오전 [이론] REST API 이해 http://blog.hjf.pe.kr/462 [이론] JSON 이란? 엠바카데로 기술문서 바로가기 [실습] REST API 서버 제작(RAD 서버 이용) http://blog.hjf.pe.kr/463 오후 [실습] REST API 서버 연동 http://blog.hjf.pe.kr/464 [실습] 데이터셋 기반 RE.. 더보기
프로세스 메모리 사용량 로그 기록 - 성능 모니터 이용 개발한 프로세스에서 메모리 누수(Leak)이 발생된다 예상되면, 메모리 사용량 추적을 통해 메모리 누수 여부를 검증해야 합니다. 성능 모니터를 이용하면 프로세스의 메모리 사용량을 추적 및 로그 기록할 수 있습니다. 만약, 메모리 누수가 확인된다면, 테스트용 실행파일 등으로, 메모리 누수가 발생할 수 있는 코드의 범위를 줄여가며 반복적으로 테스트 해야 합니다.만약, 특정 기능 수행 시 메모리 누수가 의심된다면 특정 기능을 반복적으로 실행할 수 있는 테스트 프로그램을 만들어 점검할 코드의 범위를 줄여가며 추적하기 바랍니다. 델파이로 개발된 프로젝트라면 메모리 누수 보고 기능을 켜서 메모리 누수 여부를 확인할 수 있습니다.Out of memory 오류 해소 방안 : http://blog.hjf.pe.kr/44.. 더보기
[REST API][실습] 데이터셋 기반 REST API 개발하기 이 글에서는 데이터셋 기반으로 일괄 데이터 처리하는 REST API 엔드포인트를 구현하고, 연동하는 내용을 설명합니다. 데이터셋 기반 REST API데이터셋(TDataSet)은 데이터들의 집합으로, FireDAC의 데이터 셋(TFDDataSet)은 데이터셋의 내용을 JSON 포맷으로 저장하고, 불러오는 기능을 제공합니다. 이 기능을 활용해 REST API의 JSON 포맷을 손쉽게 개발할 수 있습니다. 데이터셋 기반 REST API의 특징(장/단점)은 다음과 같습니다.1) (장점) 매우 신속하고, 손쉽게 REST API 서버, 클라이언트를 개발할 수 있습니다.데이터를 JSON 포맷으로 변환하는 코드가 대단히 짧아 집니다. 2) (단점)JSON 포맷을 직접 설정할 수 없습니다.FireDAC의 JSON 저장 .. 더보기
[REST API][실습] REST API 클라이언트 개발하기(REST Client 이용) 이 글에서는 델파이를 이용해 REST API 서버와 연동하는 클라이언트 기술을 실습합니다.REST 클라이언트 라이브러리 기반으로 실습합니다.REST API 엔드포인트 연동 이 글에서는 REST API 서버의 REST API를 분석하고, 클라이언트에 표시 및 입력데이터를 서버에 저장하는 내용을 실습 위주로 진행합니다.이 글에서는 데이터 처리하는 내용에 집중합니다. 이 글을 참고해 여러분이 만든 멋진 화면과 REST API를 연동하는 기술을 습득하시기 바랍니다. 이 글에 앞서 다음 내용의 이해가 필요합니다. 미리 선행 학습하시기 바랍니다.[REST API] REST API 이해와 구현JSON 데이터 포맷[RAD서버] EMS 패키지 프로젝트 시작하기 이 글에서는 다음 내용을 다룹니다.REST API 분석[실습.. 더보기
[REST API][실습] REST API 서버 개발하기(엔드포인트 구현, RAD 서버 이용) 이 글에서는 델파이를 이용해 REST API 엔드포인트를 제공하는 서버 제작 기술을 학습합니다. RAD 서버의 EMS 패키지 프로젝트로 진행합니다. REST API 엔드포인트 리소스에 HTTP 메소드 별로 구현해 놓은 것을 REST API 엔드포인트라 합니다. REST는 GET, POST, PUT, DELETE 4개의 HTTP 메소드 지원을 원칙으로하며, 그 중 지원할 HTTP 메소드를 지정 및 구현해 REST API를 제공합니다. 즉 리소스에 따라 필요한 HTTP 메소드에 한해 엔드포인트를 제공할 수 있습니다. 이 글에서는 RAD 서버를 이용해 리소스를 생성하고, 엔드포인트를 작성하는 실습을 진행합니다. 실습의 주제는 도서정보를 제공하는 REST API를 개발합니다. 이 글에 앞서 다음 내용을 이해하고.. 더보기
[REST API] REST API 이해하기 이 글에서는 REST 아키텍처를 소개합니다. REST는?REST(Representational State Transfer)는 인터넷 상의 컴퓨터 시스템간 상호 운용성을 제공하는 방법 중 하나입니다. REST는 HTTP 기반으로 필요한 자원에 접근하는 방식을 정해놓은 네트워크 아키텍처입니다.여기서 자원이란, 저장된 데이터(DBMS 등)는 물론, 이미지/동영상/문서(PDF 등)와 같은 파일, 서비스(이메일 전송, 푸쉬 메시지 등) 등을 모두 포함합니다. REST는 HTTP의 주요 저자 중 한사람인 로이 필딩의 2000년 박사학위 논문에서 처음 소개되었습니다.위키백과 - REST : https://ko.wikipedia.org/wiki/RESTREST의 제약조건아래 REST 제약조건을 준수하는 웹서비스를 RE.. 더보기
[RAD서버] EMS 패키지 프로젝트 시작하기 이 글에서는 EMS 서버에 필요한 기능을 추가할 수 있는, EMS 패키지 프로젝트 개발을 시작하는 과정을 안내합니다.EMS 패키지란? EMS 서버는 REST API 기반으로 리소스를 제공하는 미들웨어 서버입니다. EMS 서버가 제공하는 리소스는 기본 제공 리소스(사용자, 그룹, 푸시 등)와 사용자가 직접 개발 후 추가 할 수 있는 사용자 제작 리소스가 있습니다. 사용자 제작 리소스는 RAD 스튜디오(델파이 또는 C++빌더)에서 EMS 패키지 프로젝트를 이용해 개발해, EMS 서버에 플러그인 형태로 추가할 수 있습니다. 이 글에서는 다음 내용을 안내합니다.EMS 패키지 프로젝트 생성EMS 패키지 실행EMS 패키지 배포 방법 추가 학습할 내용 EMS 패키지 프로젝트 생성프로젝트 생성File > New > O.. 더보기
[디자인(설계)] 팩토리 메소드 패턴과 Class 타입을 활용 객체 생성 시 참조 관계 제거 데브맥스 프레임워크를 개발하고 있습니다. 데브맥스에서 사용하는 기술을 틈틈히 정리 및 공유하려 합니다.(데브맥스 프레임워크에 대한 소개는 다음에 진행하겠습니다.) 이번 글에서는 팩토리 메소드 패턴(부모 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴)과 클래스 타입을 활용해, 여러가지 객체 생성 시 참조 관계를 제거하는 방법을 소개합니다. 배경1) 메인UI에서 여러가지 서브UI를 동적으로 생성하고 싶다.2) 메인UI 소스에서 서버UI 소스 참조시 서브UI가 많아질 수록 메인UI 소스가 복잡해 진다. 과제메인UI에서 서브UI Id로 서브UI 객체를 생성할 수 있어야 한다.메인UI 소스에서 서브UI 소스를 직접 참조하지 않아야 한다.서브UI가 늘어나도 메인UI 소스는 변경되지 않아야 한다. 방안팩토리 메.. 더보기
[환경설정] 아마존 EC2 이용해 리눅스 서버 환경 구축하기 이 글에서는 아마존 EC2 기반으로 리눅스 서버 환경을 구축하는 내용을 안내합니다.RAD 스튜디오 10.2 도쿄 버전부터 리눅스 개발을 지원합니다. WebBroker, 데이테스냅, EMS 서버, 소켓 서버 용 테스트 및 서비스에 사용할 수 있습니다. 아마존 EC2아마존 EC2란?아마존 EC2는 클라우드 기반으로 서버 인프라를 제공합니다. 웹 페이지를 이용해 필요한 플랫폼과 용량을 선택해 서버 인스턴스를 실행하고 접속해 테스트 및 서비스 할 수 있습니 - 아마존 EC2 자세히보기 아마존 EC2를 사용하는 이유AWS 프리 티어를 이용해 12개월 동안 무료로 체험할 수 있습니다. - AWS 프리 티어 자세히보기 이 글에서 다루는 내용은 아래와 같습니다.Ubuntu Server 16.04 LTS 인스턴스 생성보.. 더보기
델파이 앱에서 움직이는 GIF 표현하기(소스 포함) 한 중국인 델파이 개발자 블로그(武稀松(wr960204)的博客)에서 움직이는 GIF를 파이어몽키에서 사용할 수 있는 소스코드가 공개되어 공유합니다. 위 GIF는 샘플 프로젝트로 돌려본 화면입니다. 첫번째 버튼은 GIF 파일 로드, 두번째 버튼으로 시작/종료 입니다. 세번째, 네번째는 느리게 빠르게 동작하는 버튼입니다. 이 소스코드는 윈도우32, 윈도우64, 안드로이드 그리고 리눅스까지 지원합니다.더 자세한 내용(중국어)과 소스코드 다운로드는 아래 링크를 참고하세요.http://www.raysoftware.cn/?p=559소스코드 미러 : 더보기
[환경설정] 아마존 EC2 이용해 윈도우 서버 환경 구축하기 이 글에서는 아마존 EC2 기반으로 윈도우 서버 환경을 구축하는 내용을 안내합니다. 데이터 스냅 서버, EMS 서버, WebBroker 서버, 소켓 서버 용 테스트 및 서비스에 사용할 수 있습니다. 아마존 EC2 아마존 EC2란?아마존 EC2는 클라우드 기반으로 서버 인프라를 제공합니다. 웹 페이지를 이용해 필요한 플랫폼과 용량을 선택해 서버 인스턴스를 실행하고 접속해 테스트 및 서비스 할 수 있습니 - 아마존 EC2 자세히보기 아마존 EC2를 사용하는 이유AWS 프리 티어를 이용해 12개월 동안 무료로 체험할 수 있습니다. - AWS 프리 티어 자세히보기 이 글에서 다루는 내용은 아래와 같습니다.Windows 2012 R2 인스턴스 생성보안설정(서버에서 사용하는 포트번호 오픈)원격 데스크탑으로 연결준비.. 더보기
[RAD서버] EMS 서버 운영환경에 설치하기(독립형 실행파일) 이 글에서는 독립형 실행파일(Stand alone) 방식 EMS 서버를 운영환경(윈도우즈 서버)에 설치하는 내용을 설명합니다.EMS 서버EMS 서버란?EMS 서버는 HTTP 기반 REST API를 제공하는 웹서버입니다. REST API란? 다음 링크를 통해 REST API에 대해 자세히 알아볼 수 있습니다.https://ko.wikipedia.org/wiki/RESThttp://bcho.tistory.com/953http://meetup.toast.com/posts/92 델파이 클라이언트 뿐 아니라 대부분의 클라이언트 프로그램은 REST API를 통해 EMS 서버에 접속 해 필요한 데이터(리소스)를 조회하거나 추가, 수정, 삭제 할 수 있습니다. EMS 서버는 자주 사용하는 리소스(사용자 정보, 사용자 .. 더보기
[10.2 도쿄] 델파이로 리눅스 기반 웹서비스 제작하기(WebBroker 이용) 이 글에서는 델파이를 이용해 리눅스 서버에서 구동되는 아파치 모듈을 웹브로커 기술을 이용해 만드는 방법을 소개합니다.(이 글에서는 리눅스 서버 설정과 MySQL 설정 등에 대해서는 자세히 다루지 않습니다.) 델파이로 리눅스 기반 웹서비스 제작하기(WebBroker 이용) RAD 스튜디오 10.2 도쿄버전에서 리눅스 개발을 지원합니다. 이제 델파이로 리눅스 서버용 프로그램을 개발 및 배포, 디버깅 할 수 있습니다. 이 글은 RAD 스튜디오 10.2 도쿄 버전 기준으로 작성되었으며, 리눅스는 Ubuntu 16.04.1(가상머신)에서 동작합니다. 이 글에서 아래의 내용을 진행합니다.콘솔 기반 WebBroker 프로젝트 제작 및 리눅스에서 실행아파치 모듈 기반 WebBroker 프로젝트 제작 및 리눅스에 배포,.. 더보기