본문 바로가기

분류 전체보기

[튜토리얼] RAD 서버를 활용해 데이터를 REST API로 서비스하기 제가 진행한 온라인 세미나-WHAT’S NEW! RAD스튜디오 11 중 세션 2-1의 다시보기, 자료, 따라하기입니다. 샘플 데이터베이스(InterBase-FishFacts)의 데이터를 REST API로 서비스하는 과정을 익히고, 여러분의 데이터에도 적용할 수 있습니다. TEMSDataSetResource 컴포넌트(몇가지 속성 설정만으로): 데이터베이스 데이터를 REST API로 서비스하는 리소스 추가 커스텀 엔드포인트 작성: 이미지 제공과 같은 로직이 포함된 엔드포인트 1. 준비하기 RAD 서버 환경설정(최초 사용 시) 이 따라하기는 RAD 서버를 이용해 REST API를 제공합니다. RAD 서버를 처음 사용하는 경우 "RAD 서버 개발환경 설정하기(준비 중)"를 참고해 설정합니다. 샘플 데이터 파일 .. 더보기
[번역] RAD Studio 11의 새로운 RAD 서버 라이트(RSLite) 마르코 칸투(Marco Cantu)의 The New RAD Server Lite (RSLite) in RAD Studio 11을 번역했습니다. RAD 스튜디오 11 알렉산드리아 출시와 함께, RAD 서버 배포/라이선스에 라이트(Lite) 버전이 새로 추가되었다. 이것은 REST 요청이 많지 않은, 배포/설치가 보다 간소화된 RAD 서버이다. RAD 서버는 무엇인가? 세부 사항에 앞서 RAD 서버가 무엇인지 살펴 보자. RAD 서버는 REST 서버 엔진이다. 개발자는 REST 엔드포인트 (주로 JSON을 제공)를 빠르게 개발할 수 있다. 개발 도구는 델파이 또는 C++빌더를 사용하며 FireDAC(또는 다른 데이터 엑세스 레이어)를 사용하여 데이터에 연결한다. 정리하면, 개발자가 애드온 패키지(BPL)를 .. 더보기
[RX.11] REST 클라이언트 Post 전송 시 Get으로 파라미터 전송 이슈 해결방안 데브기어 포럼에 등록된 이슈 공유합니다. https://welcome.devgear.co.kr/topic/227-delphi-11-rest-client-동작-오류-문의드립니다/ 11.0에서 REST 클라이언트로 post로 요청시, 서버단에서 post로 못받고 get으로 인지를 하는 문제입니다. 개요 : 10.4.2 에서 잘 되던 앱이 11 버전 RestClient POST 방식에서 문제가 되어 여러가지 테스트 해본 결과 POST로 파라미터를 요청을 하면 서버쪽에서 POST로 파라미터 값을 못 받는 현상입니다. 질문하신 내용을 요약하면 "델파이 11에서 POST로 요청 시 GET으로 메소드를 호출되는 이슈가 있다.로 이해됩니다. 질문의 답변에 앞서, 요구사항을 확인하면 "이미지 데이터를 서버로 전달"하는 .. 더보기
[REST API] REST 기반 파일 업로드와 다운로드 구현하기 이 글에서는 REST API 기반 파일 업로드와 다운로드 구현방안을 설명합니다.REST 서버와 REST 클라이언트를 이용해 기능을 구현했습니다. REST 기반 파일 업로드와 다운로드 구현 REST API 구현 시 파일을 제공해야하는 경우가 있습니다. 파일 업로드 시 기존의 데이터와 함께 파일을 업로드할 수도 있고, 별도의 파일 전용 엔드포인트를 추가해 구현할 수 있습니다. 이 두가지 방법 모두에 대해 설명합니다. 이 글에 앞서 다음 내용을 이해하고 있어야 합니다. 미리 선행 학습이 필요합니다.[REST API] REST API 이해하기[REST API][실습] REST API 서버 개발하기(엔드포인트 구현, RAD 서버 이용)[REST API][실습] REST API 클라이언트 개발하기(REST Clie.. 더보기
OAuth 2.0 연동 - 네이버 API 연동(네이버 아이디로 로그인) 이 글에서는 OAuth 2.0을 이용 네이버 API와 연동하는 방법을 알아봅니다.이 글에서는 네이버 아이디로 로그인 후 회원 프로필 조회 API와 연동해 프로필 정보를 불러오는 델파이 애플리케이션을 작성할 수 있습니다. 다음 글을 통해 OAuth 2.0을 이용 카카오 API와 연동하는 내용을 다뤘습니다.OAuth 2.0 연동 - 카카오 API(카카오톡 프로필) OAuth2.0 연동하는 절차는 카카오, 네이버 API 뿐아니라 대부분의 서비스들이 비슷합니다.이 글에서는 카카오 API와 네이버 API의 차이점에 대해서만 간략히 설명합니다. 이글을 읽기 전 위 링크의 내용을 먼저 숙지하시기 바랍니다.(네이버와 카카오 OAuth 2.0의 차이점은 앱 등록하는 과정, API의 엔드포인트(URI)와 일부 파라미터 종.. 더보기
3회차 "커뮤니케이션 데이 - 마이그레이션" 회고 데브기어에서는 매월 첫번째 화요일 커뮤니케이션 데이를 진행합니다. 델파이/C++빌더 커뮤니케이션 데이는? 커뮤니케이션 데이는 특정 주제로 델파이/C++빌더 개발자 분들이 모여 함께 토의하고, 정보를 공유하고, 전문가의 조언을 들을 수 있는 오프라인 모임입니다. 매월 첫째주 화요일 데브기어 라운지에서 진행됩니다. 다음 신청 페이지에서 신청할 수 있습니다.델파이/C++빌더 커뮤니케이션 DAY 신청 페이지 2월은 마이그레이션 주제로 진행되었습니다. 다음 참석대상자 분들은 많은 도움을 받을 수 있을것입니다.마이그레이션을 계획 중이며, 효과적인 마이그레이션 프로세스를 조언받고 싶은 분들마이그레이션 중 자체적으로 해결하기 어려운 이슈에 대한 해결 방향에 대한 조언써드파티 컴포넌트 대체 및 컴포넌트 통합에 대한 구체.. 더보기
데브기어 컴포넌트 컨버터 소개(오픈소스) 데브기어 컴포넌트 컨버터 데브기어 컴포넌트 컨버터는 델파이 소스파일을 분석해 컴포넌트와 소스코드를 변경해주는 오픈소스 기반 마이그레이션 도구입니다. 데브기어 컴포넌트 컨버터는 컴포넌트 컨버터와 소스코드 컨버터 두개의 애플리케이션으로 구성됩니다.컴포넌트 컨버터는 델파이 폼파일(*.dfm)과 소스파일(*.pas)에서 컴포넌트 정보를 변경합니다.소스코드 컴버터는 델파이 소스파일(*.pas)에서 컴포넌트를 사용한 코드를 찾아 변환합니다. 데브기어 컴포넌트 컨버터의 특징엡바카데로는 reFind라는 정규표현식 치환 도구를 통해 마이그레이션 자동화 작업을 지원합니다.reFind는 정규표현식을 이용해 소스파일에서 컴포넌트 종류와 속성등을 전환하는 작업을 할 수 있습니다.하지만, reFind는 컴포넌트와 속성 등을 일대.. 더보기
[오픈소스] TGPuttyLib 소개 - PuTTY 기반 SFTP 클라이언트 오픈소스 기반 SFTP 클라이언트 라이브러리를 소개합니다.TGPuttyLibTGPuttyLib는 독일 델파이 개발자 Tobias Giesen이 운영하는 오픈소스로, PuTTY 기반 SFTP 클라이언트 라이브러리를 제공합니다. 주요 특징으로 알려진 다른 라이브러리 보다 높은 전송속도를 제공한다고 합니다.https://github.com/superflexible/TGPuttyLib 설명에 따르면 다음의 특징이 있습니다.PuTTY 제품군에서 psftp 프로그램을 DLL로 변환한 것개발자는 가장 높은 전송 속도(100 MB/Sec 이상)로 파일 전송 가능(알려진 다른 라이브러리 보다 높은 속도)C++, Delphi, Free Pascal 에서 즉시 사용 가능한 클래스 제공PuTTY Release 0.73 기반2.. 더보기
델파이에서 아이콘 폰트 사용하기 아이콘 폰트는 폰트파일에 문자 대신 아이콘을 추가해 아이콘을 사용할 수 있는 폰트파일입니다. 아이콘 폰트를 사용하면 다양한 아이콘을 손쉽게 그리고 통일되게 사용할 수 있습니다. 대표적인 아이콘 폰트는 다음과 같습니다.Font AwesomeGoogle Meterial IconsBootstrap GlyphiconsXEICONIonicons 위 링크에서 아이콘 폰트 설치 후 문자표(Characters map) 프로그램등으로 다음과 같이 글꼴을 확인할 수 있습니다. 문자 선택 시 하단에 코드(U+F087)가 표시됩니다. 이 글에서는 아이콘 폰트를 델파이에서 사용할 수 있도록하는 오픈소스들 소개합니다.(소개하는 3가지 방식 모두 VCL 기반으로만 동작합니다.)IconFontsImageListFontIconEdit.. 더보기
첫번째 "델파이 마이그레이션 DAY" 회고 지난 화요일(12월 3일) 데브기어 라운지에서 첫번째 "델파이 마이그레이션 DAY"를 진행했습니다. 마이그레이션 데이는?최근 윈도우 10 지원과 애플리케이션 현대화를 위한 마이그레이션 및 업그레이드를 시작하는 개발자들의 고민과 질문을 함께 고민하는 자리입니다. 해당 행사는 정기적으로 매월 첫번째 화요일에 데브기어 라운지에서 오프라인으로 진행합니다. 단순히 세미나 형식으로 정보를 받는것이 아닌 서로 자유롭게 정보와 의견을 나누는 커뮤니케이션 시간입니다.소스코드를 직접 가져오시면 더욱 좋습니다. 전문가들의 의견을 들을 수 있습니다.델파이 마이그레이션 DAY 신청 페이지 첫번째 마이그레이션 데이첫번째 마이그레이션 데이는 5팀이 신청해 주셨고, 적은 인원으로 아주 가깝게 진행되었습니다. 각 업체에서는 당면한 기.. 더보기
FCM 전송 구현하기 - 앱 서버 프로토콜 사용 메시지 전송 FCM 메시지 수신하는 방법은 다음 링크를 참고하세요.[데브기어 테크] Firebase 안드로이드 앱 푸쉬 알림 - 10.3.2에서 FCM 수신 설정하기 이 글에서는 FCM 메시지를 전송하는 방법 설명과 푸시 서버 아키텍처를 제안합니다.FCM 전송하기푸시 서버 아키텍처 제안FCM 전송하기FCM 전송은 v1 HTTP 프로토콜(Admin SDK 이용)과 기존 앱 서버 프로토콜 방식을 제공합니다. 이 글에서는 기존 앱 서버 프로토콜을 이용해 FCM 전송하도록 진행합니다.[Firebase 문서] 기존 앱 서버 프로토콜을 사용하여 메시지 보내기 FCM 전송 API위 링크의 문서에는 다음과 같은 요청으로 FCM을 전송합니다. 주요 항목은 다음과 같습니다. URI https://fcm.googleapis.com/fc.. 더보기
강동구청 특강 강동구는 강동구 평생 학습관에서 '코딩교육지도사' 양성과정을 진행합니다.강동구는 손랩소프트(손랩영재교육), 데브기어, 한국생산성본부와 협약을 맺고 진행하고 있습니다. 저는 데브기어 소속으로 실무에 사용되는 기술을 교육하는 특강을 3회에 걸처 진행합니다. 1차 : RAD 스튜디오 소개 및 사용법 안내. FireDAC을 이용한 DB 연결과 데이터 컨트롤과 DB 연결2차 : 클라우드와 OpenAPI 연동위한 REST API 이해. [실습] 카카오톡 메시지 전송 연동3차 : 비콘을 이용한 위치기반 서비스. [실습] 위험지역 경보 1차1차 : RAD 스튜디오 소개 및 사용법 안내. FireDAC을 이용한 DB 연결과 데이터 컨트롤과 DB 연결[따라하기] 도서대여 프로그램 만들기 - https://tech.devg.. 더보기
FMX TListView Item 높이 조절 - 이미지가 없는 경우 낮게 표시하기 데브기어 테크게시판의 다음 질문에 대한 답변입니다. - https://tech.devgear.co.kr/delphi_qna/456600 이 글에서는 파이어몽키 TListView 항목 추가 시 이미지를 포함하고, 이미지가 없는 경우 항목의 높이를 낮게 지정하는 방법을 설명합니다. 화면 구성 TListView의 ItemAppearance를 DynamicAppearance로 설정 후 Image와 Text를 추가했습니다.위치 조정 후 높이는 140으로 설정했습니다. 구현두개의 버튼을 두고 다음과 같이 구현했습니다. procedure TForm1.Button1Click(Sender: TObject); var Item: TListViewItem; begin Item := ListView1.Items.Add; Ite.. 더보기
델파이 컴포넌트/소스 마이그레이션 자동화 도구 마이그레이션 자동화 도구 마이그레이션 자동화 도구는 델파이 소스파일을 분석해 컴포넌트를 변경하고, 컴포넌트를 사용한 소스코드를 일괄 변경하는 도구입니다. 이 도구를 이용해 다수의 소스파일과 다수의 컴포넌트 그리고 소스코드를 일관되게 전환할 수 있습니다. 마이그레이션 자동화 도구 제작 계기 이미 엠바카데로에서는 reFind라는 마이그레이션 자동화 도구를 제공합니다. reFind는 소스코드를 분석해 컴포넌트를 변경하고, 속성을 변경하고, 유즈절을 정리하는 등의 기능을 제공합니다. 하지만, reFind는 일대일로 매칭되는 컴포넌트와 속성만을 변경할 수 있습니다. 이 도구를 제작한 계기는 리얼그리드(TRealGrid)를 퀀텀그리드(TcxGrid)로 전환이 필요한 컨설팅 프로젝트였습니다. 퀀텀그리드는 기본적으로 .. 더보기
엔터프라이즈 커넥터로 VCL 애플리케이션에서 '구글 시트' 데이터 조회 및 편집하기 엔터프라이즈 커넥터(Enterprise Connectors)는 약 130여종의 기업용 데이터에 표준 SQL을 통해 접근 및 연동할 수 있는 솔루션 입니다. 이 글에서는 구글 드라이브의 스프래드 시트인 구글 시트(Google Sheets)와 양방향 엑세스하는 기능을 직접 구현해보겠습니다. 구글 시트는? 구글 드라이브에서 제공하는 웹 기반 스프래드 시트 프로그램입니다. 엑셀과 같은 스프래드 시트를 온라인에서 사용할 수 있습니다. 문서를 그룹 또는 사용자와 공유하고, 권한 설정 가능합니다. 이 글에서는 다음 내용을 설명합니다. 엔터프라이즈 커넥터 설치 구글 API 콘솔 설정 엔터프라이즈 커넥터 문서 확인 구글 시트 연동 TFDConnection으로 구글 시트 연결 TFDQuery로 정보 조회, 입력, 수정, .. 더보기
[RAD서버] JSON 처리 단순화 컴포넌트 활용 RAD 서버는 REST 기반 멀티티어 아키텍처를 구현할 수 있는 통합 미들웨어 서버입니다. RAD 서버를 이용해 REST 기반 서비스 애플리케이션을 신속하게 구축하고 배포할 수 있습니다. - 자세히보기 RAD 서버는 REST 엔드포인트 제공, 통합 미들웨어, 응용 프로그램 서비스 등 다양한 기능을 제공하지만, 핵심 기능은 다양한 데이터를 JSON 포맷으로 입출력 처리하는 REST 엔드포인트 제공 기능입니다. 이 글에서는 RDBMS 데이터를 JSON 포맷으로 손쉽게 제공하는 TEMSDataSetResource 컴포넌트와 실무 활용방안을 설명합니다. 이 글에서 다음 내용을 설명합니다. 1) 데이터셋 JSON 처리 자동화하기 - TEMSDataSetResource 컴포넌트 소개 2) 자동화에 비지니스 로직 추.. 더보기
FireDAC 자동증가필드 적용 및 갱신 대부분 DBMS는 테이블에 자동증가필드를 설정할 수 있습니다. 자동증가필드는 테이블에 새로운 데이터 입력 시 필드의 값을 자동으로 증가해 유효한 값을 갖도록 하는 것이 목적입니다. 자동증가필드 설정은, SQLServer(MSSQL)은 필드에 IDENTITY 속성을 설정, MySQL은 필드에 auto_increment 속성을 설정해 지원합니다. 오라클과 인터베이스는 필드의 속성을 설정하는 방식을 지원하지 않습니다. 오라클은 Sequence, 인터베이스(그리고 Firebird)는 Generator 생성 후 트리거(Before Insert)와 연동해 자동증가 필드를 적용할 수 있습니다. 인터베이스 데이터베이스와 테이블 생성 - 하단 "기본 키 자동증가 설정" 참고 이 글에서는, 인터베이스 테이블의 자동증가필드.. 더보기
[개발환경] 깃허브 PR을 이용한 코드리뷰 환경 구성(4) 이전 글에서는 깃허브에 여러분의 저장소를 만들고 연동하는 내용을 살펴봤습니다. [개발환경] 깃허브에 저장소 생성 및 연동하기(3) 이 글에서는마스터 저장소와 개발용 저장소를 나누고, 깃허브 Pull Request을 이용 코드리뷰 환경을 구성합니다. 이 글에서 다음 내용을 설명합니다. 코드리뷰를 위한 깃허브 저장소 구성 전략 Fork로 개발용 저장소 복사하기 변경내역 적용 요청(PR) 및 코드리뷰 이 시리즈에서는 깃과 깃허브를 이용하는 기본적인 방법과 깃허브를 이용한 코드리뷰 방법을 설명합니다. [개발환경] Git 설치와 저장소 구성(1) [개발환경] RAD 스튜디오에서 Git 설정 및 불러오기(2) [개발환경] 깃허브에 저장소 생성 및 연동하기(3) [개발환경] 깃허브 PR을 이용한 코드리뷰 환경 구성.. 더보기
[개발환경] 깃허브에 저장소 생성 및 연동하기(3) 이전 글에서 RAD 스튜디오에서 Git 설정 및 불러오기를 진행했습니다. [개발환경] RAD 스튜디오에서 Git 설정 및 불러오기(2) 이 글에서는 깃허브에 여러분의 저장소를 생성하고, RAD 스튜디오로 열고, 변경사항을 저장소에 반영하는 내용을 진행합니다. 이 글에서는 다음 내용을 설명합니다. 깃허브에 저장소 생성 RAD 스튜디오에서 생성한 저장소 열기 소스코드 변경 후 커밋 및 저장소에 반영 이 시리즈에서는 깃과 깃허브를 이용하는 기본적인 방법과 깃허브를 이용한 코드리뷰 방법을 설명합니다. [개발환경] Git 설치와 저장소 구성(1) [개발환경] RAD 스튜디오에서 Git 설정 및 불러오기(2) [개발환경] 깃허브에 저장소 생성 및 연동하기(3) [개발환경] 깃허브 PR을 이용한 코드리뷰 환경 구성(.. 더보기
[개발환경] RAD 스튜디오에서 Git 설정 및 불러오기(2) 이전 글에서 깃을 설치하고, 저장소의 구성을 살펴봤습니다. [개발환경] Git 설치와 저장소 구성(1) 이 글에서는 RAD 스튜디오에서 깃을 설정하고 깃허브 소스코드를 RAD 스튜디오에서 여는 방법을 설명합니다. 이 글에서는 다음 내용을 설명합니다. RAD 스튜디오에서 깃 설정 RAD 스튜디오에서 깃허브 저장소의 소스코드 열기 써드파티 깃 클라이언트 소개 이 시리즈에서는 깃과 깃허브를 이용하는 기본적인 방법과 깃허브를 이용한 코드리뷰 방법을 설명합니다. [개발환경] Git 설치와 저장소 구성(1) [개발환경] RAD 스튜디오에서 Git 설정 및 불러오기(2) [개발환경] 깃허브에 저장소 생성 및 연동하기(3) [개발환경] 깃허브 PR을 이용한 코드리뷰 환경 구성(4) RAD 스튜디오에서 깃 설정 RAD .. 더보기