공통 이 달의 기술자료 - 2021년 02월

2021.01.26 14:41

험프리 조회 수:593

RAD 스튜디오/데브기어 소식

엠바카데로의 새해 목표: LEARN, TEACH, REPEAT

 

엠바카데로의 새해 목표이자 방향은 델파이를 배우고(Learn) 교육(Teach)하는 것 입니다. 새해에는 더 많은 것을 해보려고 합니다. 델파이 교육은 엠바카데로 제품의 대중화에도 도움이 되겠지만, 더욱 중요한 것은 커뮤니티와 많은 개발자, 고객분들에게 서비스를 제공할 수 있게 된다는 점입니다. 델파이는 정말 놀라운 개발 도구이지만, 새로운 개발자들을 놓치고 있기도 합니다. 2021년에는 제품과 교육이라는 두 가지를 목표로 두고 많은 활동을 해보려고 합니다. 어떤 계획이 있는지는 다음 링크에서 자세히 확인할 수 있습니다.

➜ 자세히보기 : https://tech.devgear.co.kr/467815

 


기술자료

DelphiCon WorldWide 핵심 요약

 

지난 11월 진행한 DelphiCon 2020은 3일간 총 13개의 세션으로 진행되었습니다.

대부분의 세션이 델파이 개발자들이면 알만한 연사들이 아주 깊이있고, 핵심적인 메시지를 전달했습니다.

 

데브기어는 해당 컨퍼런스가 매우 의미있다 판단되어 주요 세션들의 내용을 요약해 전달하고자 합니다.

저희가 요약한 내용들과 함께 원본비디오를 보시길 권합니다.

 

High Performance Delphi

 

델파이 고성능 구현 ‘Delphi High Performance’ 도서 저자의 성능 개선을 데모와 함께 알려줍니다. 여러분 코드에도 적용할 것이 있을 것입니다.

  • 성능 향상 개요
  • 성능 향상 중 알고리즘 향상 예시
    • 더 좋은 알고리즘 선택하기
    • 불필요한 코드 실행 줄이기
    • 불필요한 코드 실행 없애기

발표자 (Primož Gabrijelčič)는 1980년대 8비트 시절부터 파스칼 코드를 써오고 있습니다. 주로 방송용 고가용성 서버 프로그램을 개발하고 있으며, 수준높은 주제를 다루는 수많은 기고를 해오고 있습니다. (웹페이지: http://thedelphigeek.com)


DelphiCon-HighPerformance1Big-O.png

 

해당 세션에서는 개념적인 "성능 향상 개요", "알고리즘 향상", "알고리즘 복잡도"등과 함께

실질적인 코드와 예제를 통해 구체적인 방안을 소개합니다.


➜ 자세히보기 : http://tech.devgear.co.kr/467709

 

델파이로 함수형 프로그래밍하기

 

이 짧은 함수형 프로그래밍 세션을 통해 프로그래밍 방식에 대한 새로운 관점을 가져보세요. 함수형 프로그래밍은 지금까지 일반적으로 해온 명령형 프로그래밍보다 더 간결 명료하고, 멀티 쓰레드에서도 안전한 코드를 실현합니다.

  • 함수형 프로그래밍의 배경
  • 불변 (Immutable) 타입을 사용하자
  • 함수형(Functional) 프로그래밍이란?
  • 컴퓨터 프로그램이란?
  • (우리에게 익숙한) 명령형 (Imperative) 프로그래밍과의 차이점
  • 함수형 프로그래밍을 하려면 고정 관념에서 완전히 벗어날 필요가 있다.
  • 메소드의 특징
  • 함수형 프로그래밍에서의 함수의 특성은
  • 함수형 프로그래밍에서의 함수는? (매우 중요!)
  • 함수형 프로그램이란?
  • 함수형 프로그래밍 방식으로 생각하기
  • 함수형 프로그래밍에서 하지 말아야 할 것
  • 타협점
  • 델파이 예문 (1.정해진 갯수까지 제곱값 구하기, 2.과잉수 구하기
  • 요약

발표자 (Nick Hodges)는 델파이 개발자라면 한번쯤 들어본 저명한 델파이 전문가입니다. (웹페이지: https://codingindelphi.com/blog/ )

 

<그 중 일부: (우리에게 익숙한) 명령형 프로그래밍과의 차이점 요약표>

 

명령형 (Imperative) 프로그래밍

함수형(Functional) 프로그래밍

코드의 목적

어떻게 (HOW) 하는  지정

무엇을 (WHAT) 하는 지 지정

코드 작성 방식강조

명령을 순서대로 실행하는 방식

표현식의 결과를 강조하는 방식

문제 해결 방식(예시)

목록에서 다음 고객을 선택하고,

만약 청구할 금액이 있으면청구서를 발행한다.

만약 목록에 고객이  있으면첫단계로 간다.

목록에서 청구할 금액이 있는 모든 고객에게 청구서를 발행한다.

 

 

이 강의를 통해 함수형 프로그래밍을 통해 이해하기 쉽고, 훨씬 단순한 코드를 작성할 수 있는 새로운 패러다임을 만나보세요.


➜ 자세히보기 : http://tech.devgear.co.kr/467722

 

Spring4D 소개 - 델파이 개발을 한수준 높이기

 

스프링4D는 델파이 개발을 더 쉽고 더 견고하게 할 수 있도록 미리 구성된 라이브러리입니다. 많은 개발자들에게 필요했던 타입과 확장 기능이 구현되어 있습니다. 예를 들어, 스마트 포인터를 사용하면 메모리 누수 걱정없이 오브젝트를 만들어 쓸 수 있습니다. Spring4D의 컬렉션은 컬렉션이나 리스트 관리가 매우 간편합니다. (이런 라이브러리 또는 프레임워크를 사용하면) 코드는 더 짧아지고, 일관성과 품질은 더 높아집니다. 

  • Spring4D란?
  • Spring4D를 받는 방법
  • Spring4D의 기본 구성
  • Spring4D 구성 요소: Spring.Base
  • Nullable<T>
  • Event<T>
  • 스마트 포인터 (Shared<T> 와 Weak<T>)
  • Collections
  • Collections 인터페이스
  • 읽기전용 vs 불변
  • IEnumberable<T>
  • 스트리밍과 지연 실행
  • ICollection<T>
  • IList<T>
  • IMap, IDictionary, IMultiMap
  • ISet, IMultiSet

  • 더 많은 내용

발표자 (Stefan Glienke)는 델파이 경력 20년이 넘은 개발자이며, Spring4D 오픈소소의 개발 책임자입니다. (웹페이지: https://delphisorcery.blogspot.com )

 

Spring4D 란

  • 델파이 오픈소스 라이브러리 (2010년에 출시된 XE와 그 이후 버전에서 사용 가능)
    • 상업용 무료 사용 (아파치 2.0 오픈 소스 라이선스)
    • 델파이 RTL 확장
    • 제네릭스(Generics)와 RTTI를 적극 활용
    • 계속 발전하는 중이고 상업용 소프트웨어 개발에 활용되고 있음
  • 원칙: “골라 쓰기” - 원하는 것만 골라서 사용할 수 있다. 강제하지 않는다.
  • 버전: 2020년 12월 현재 1.2.4 - 곧 2.0 발표 예정

Spring4D의 기본 구성

  • Base: RTL 확장, 컬렉션
  • Core: 의존성 주입(DI, Dependency Injection) 컨테이너, 인터셉션/목킹(Mocking)
  • Data: ObjectDataSet을 이용해 (TDBGrid 등) 데이터를 인식하는 UI 콘트롤에 연결
  • Persistence: ORM
  • Extensions: 암호화 및 기타 유틸리티 (암호화는 다른 암호화 전문 라이브러리보다 약함)

이 강의를 통해 Spring4D의 강력한 기능들을 확인하고, 직접 사용하지 않더라도 좋은 코드를 통해 견문을 넓힐 수 있을 것입니다.


➜ 자세히보기 : http://tech.devgear.co.kr/467866

 

 

C++빌더 마이그레이션, C++ 프로젝트를 간편하게 업데이트 하는 방법

엠바카데로의 C++ 전문가들이 레거시 C++ 프로그램을 새롭게 업데이트하는 방법을 정리했습니다. 특히 인터베이스와 파이어닥 연결과 다른 혁신 기술들 적용 방안 측면을 자세히 다룹니다.

지난 도구들은 한계가 있어요!

최신 기술을 적용하기 위해서는 최신 도구를 사용하는 게 맞습니다. 성공적인 마이그레이션을 위해서는 RAD스튜디오(델파이/C++빌더)의 최신 버전을 활용하세요.

  • 모바일 앱 개발은 모든 에디션(프로페셔널, 엔터프라이즈, 아키텍트)에서 지원합니다. 단 하나의 코드베이스만으로 iOS, 안드로이드 앱을 한 번에 개발해 배포할 수 있죠. UI 또한 파이어몽키(FMX)에서 굉장히 쉽게 만들 수 있습니다.
  • 더 좋아진 VCL을 활용하세요. high DPI와 현대식 스타일, 탁월한 응답성까지 지원하는 최신식의 윈도우 UI/UX 구현이 가능합니다.
  • 최상의 윈도우 네이티브 지원 기능들 (MS에서 자체 제공하는 것보다 훨씬 우수하다는 사실!)
  • 코드를 재사용 할 수 있어 뛰어난 성능의 마이크로 서비스 구현 가능 그리고 컨테이너화하여 최대한으로 활용 가능합니다.
  • 검증된 프레임워크로, 애플리케이션 성능 저하를 방지할 수 있습니다.
  • 새로운 연결 옵션을 사용하면 데이터 통합이 더욱 쉬워집니다.
  • 최신 REST API 기술을 활용해 웹 클라이언트를 생성할 수 있습니다.
  • 다른 개발 언어를 사용할 경우 전부 새롭게 프로젝트를 개발해야하는 번거로움이 없습니다. 기존 담당 개발자가 새로운 기술을 익힐 필요없이 늘 사용해왔던 언어와 기술을 활용하면 됩니다. 즉, 코드 마이그레이션 작업 시간, 비용, 노력을 절약할 수 있습니다.

동영상으로보기 : http://tech.devgear.co.kr/467553

 

CustomAttribute 실전 예제

델파이 개발자 안영제님이 CustomAttribute를 이용해 객체의 데이터를 Ini 파일로 저장하는 기능을 자동화한 예제가 있어 소개합니다.

 

CustomAttribute는 코드에 대괄호([])를 이용해 특성(Attribute)를 추가하고, RTTI를 이용해 특성이 적용된 대상과 특성 정보를 읽어와 코드를 구조화하는 기술입니다. 

이 예제에서는 환경정보 객체의 항목(Property)에 CustomAttribute를 통해 Ini파일의 저장정보와 기본값을 적용해,

일일이 저장로직을 구현하지 않아도 되도록 자동화한 예제입니다.

 

CustomAttribute_exam.png

 

 


기타 소식

[고객 사례- 델파이, 게임] 체스 오프닝 위저드 - 60,000여명의 체스 플레이어가 실제로 사용하는 앱

체스 오프닝 위저드(Chess Openings Wizard)는 맥OS, 윈도우, 아이패드, 안드로이드 등 대표적인 OS 환경에서 사용 가능한 앱으로 델파이로 개발되었습니다. 체스 게임을 하는 앱은 아니고, 이름 그대로 체스 게임 초반부의 수들을 계획해볼 수 있는 앱 입니다. 초반의 수들을 디자인하고 암기하는데 걸리는 시간을 대폭 줄일 수 있습니다.

 

파이어몽키로 개발된 크로스-플랫폼 앱인 체스 오프닝 위저드는 다음 링크에서 소개 및 다운로드 안내합니다.

➜ 자세히보기 : http://tech.devgear.co.kr/467964

지난 이달의 기술자료

➜ 지난 이달의 기술자료 목록 보기

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 25112
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 23409
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 25402
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 31313
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 32305
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 27729
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 48783
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 185749
1342 [DelphiCon 요약] 델파이로 웹 다루기 (Powering the Web with Delphi) file 관리자 2021.02.16 1565
1341 [고객 사례- POS, C++빌더] YG-POS - 소상공인을 위한 무료 소프트웨어 관리자 2021.02.08 814
1340 [고객 사례- 금융, 델파이] 주식, 화폐 등 금융 정보 분석 소프트웨어 - 게임스탑, 비트코인, 아마존, 구글 등 관리자 2021.02.04 735
1339 ‘장기 활용 가능성’이 가장 뛰어난 프레임워크는? (델파이 VS. WPF VS. ELECTRON) 관리자 2021.02.01 534
1338 [델파이 웹개발] 델파이로 풀스택 웹 개발하기 - uniGUI 활용 (Full Stack Web Development with uniGUI for Delphi) file 관리자 2021.02.01 4518
1337 버전별 업데이트된 주요 기능들 (C++빌더6 / 델파이7부터 최신 버전까지!) 관리자 2021.01.29 436
» 이 달의 기술자료 - 2021년 02월 file 험프리 2021.01.26 593
1335 [샘플 프로젝트] 심박 측정기-델파이/C++빌더와 IOT 연동하기 관리자 2021.01.25 588
1334 C++ 유니코드 문자열 리터럴(Unicode String Literal) 활용 방법 관리자 2021.01.22 620
1333 C++빌더 마이그레이션, C++ 프로젝트를 간편하게 업데이트 하는 방법 관리자 2021.01.19 397
1332 [고객 사례- 델파이, 게임] 체스 오프닝 위저드 - 60,000여명의 체스 플레이어가 실제로 사용하는 앱 관리자 2021.01.18 823
1331 생산성을 끌어올려줄 겟잇(GetIt)의 최신 컴포넌트들 관리자 2021.01.18 646
1330 [DelphiCon 요약] High DPI 고해상도를 VCL에서 활용하기 (Leveraging High DPI in VCL Applications) 관리자 2021.01.13 813
1329 [DelphiCon 요약] Spring4D 소개 - 델파이 개발을 한수준 높이기 (Introduction to Spring4D - Taking Delphi Development to the Next Level) 관리자 2021.01.08 1276
1328 새해 목표: LEARN, TEACH, REPEAT. 관리자 2021.01.05 382
1327 [DelphiCon 요약] 델파이로 함수형 프로그래밍하기 (Functional Programming With Delphi) 관리자 2020.12.29 799
1326 [DelphiCon 요약] 델파이 고성능 구현 (High Performance Delphi) 관리자 2020.12.27 1021
1325 [TOP 10] 2020년 하반기, 개발자가 사랑한 기술자료는? 관리자 2020.12.24 423
1324 이 달의 기술자료 - 2021년 01월 file 험프리 2020.12.24 620