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

2021.01.26 14:41

험프리 조회 수:506

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 14387
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13023
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 15532
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 21064
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 22297
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 17933
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 38228
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 173741
694 [패치] RAD스튜디오 10.4.2, 델파이 컴파일러 관리자 2021.05.04 888
693 API로 머신 러닝과 컴퓨터 비전 활용하기 관리자 2021.05.04 519
692 이 달의 기술자료 - 2021년 05월 험프리 2021.04.29 428
691 델파이/C++ 프로그램 현대화 – 패스트리포트(FASTREPORT)를 활용해 윈도우 HIGH DPI 지원 버전으로 마이그레이션하기 관리자 2021.04.26 416
690 [TCoffeeAndCode 세미나] 보안, 인공지능, 데브옵스 등 관리자 2021.04.21 349
689 보안을 주제로 한 가장 훌륭한 컨텐츠 TOP 4 관리자 2021.04.20 426
688 플루언트 디자인 시스템으로 애플리케이션 현대화하기 관리자 2021.04.08 387
687 MODERNLISTVIEW 라이브러리 – 커스터마이징 가능한 강력한 크로스 플랫폼 라이브러리 활용 방법 관리자 2021.04.06 395
686 이 달의 기술자료 - 2021년 04월 험프리 2021.03.25 575
685 [10.4 시드니][업데이트 2] TNUMBERBOX – 새로운 VCL 컨트롤 관리자 2021.03.08 525
684 [10.4 시드니][업데이트 2] TCONTROLLIST – 새로운 VCL 컨트롤 관리자 2021.03.02 484
683 네이티브로 IOS 월렛 개발하기 (델파이, C++빌더) 관리자 2021.03.02 497
682 [10.4 시드니][업데이트 2] RAD스튜디오 10.4.2 자동 설치(SILENT INSTALLER) 관리자 2021.03.02 531
681 이 달의 기술자료 - 2021년 03월 험프리 2021.02.26 422
680 [10.4 시드니][업데이트 2] What's NEW! 신기능 자세히 보기 관리자 2021.02.26 554
679 TCOFFEE & CODE WEEK 관리자 2021.02.19 364
678 버전별 업데이트된 주요 기능들 (C++빌더6 / 델파이7부터 최신 버전까지!) 관리자 2021.01.29 374
» 이 달의 기술자료 - 2021년 02월 file 험프리 2021.01.26 506
676 [고객 사례- 델파이, 게임] 체스 오프닝 위저드 - 60,000여명의 체스 플레이어가 실제로 사용하는 앱 관리자 2021.01.18 702
675 생산성을 끌어올려줄 겟잇(GetIt)의 최신 컴포넌트들 관리자 2021.01.18 498