본문 바로가기
Salesforce/정리

개발자 초급 정리 (1. Salesforce 개발 시작하기, 2. 샘플 앱 설치)

by hyeley5 2024. 8. 29.

트레일헤드 개발자 초급 코스 목차를 기준으로 작성 해 놓았으며,

노션으로 따로 정리해 사이트가 있지만 여기에서도 백업을 위해 정리

1. Salesforce 개발 시작하기

1) 개발 준비하기

(1) Salesforce Platform 개발

개발자들이 Salesforce Platform을 중요하게 여기는 이유

  • 애플리케이션 개발의 속도와 효율성 향상
  • 사용자 ID 및 인증, 데이터 보안 및 권한 부여 등을 관리하기 위한 기본 도구와 서비스 가용성
  • 고객 데이터를 기반으로 사용자 정의 솔루션을 구축하는 기능

  • 최적화된 Salesforce 프로그래밍 언어인 Apex를 사용하여 데이터 모델을 생성하고 백엔드 코드를 작성해 Salesforce 멀티테넌트 아키텍처에서 실행되도록 한다.
  • Salesforce는 모든 기능을 갖춘 CRUD(생성, 읽기, 업데이트, 삭제) 데이터 UI를 자동으로 생성하고,
  • JavaScript 및 Lightning 웹 구성 요소를 사용하여 맞춤형 프론트엔드 기능을 구축할 수 있다.

(2) 개발 도구

🖥️ Salesforce에서 애플리케이션 개발 도구

  1. ‘조직’ 이라고도 하는 Salesforce 개발 환경 (Org)
  2. 애플리케이션 개발 라이프사이클을 관리하는 Salesforce 명령줄 인터페이스(CLI)
    • Salesforce CLI는 Salesforce Platform을 사용하기 위한 명령줄 도구.
    • Salesforce CLI를 사용하면 개발 및 테스트를 위한 환경을 쉽게 만들 수 있으며,
    • 조직과 버전 관리 시스템 간에 소스 코드를 동기화하고 유닛 테스트를 실행하는 명령도 있다.
  3. Salesforce 확장팩(확장형)의 확장 기능과 함께 설치된 Visual Studio Code(VS Code)
    • Salesforce 지원 코드 편집기
    • Salesforce 확장팩에는 Salesforce CLI를 활용해 개발을 간소화하는 기능이 포함되어 있다.

 

Trailhead Playground 조직 비밀번호 재설정

트레일헤드 링크

 

🖥️ CLI(명령줄 인터페이스) 설치하기

  1. CLI의 전체 설치 지침에 대한 내용은 Salesforce CLI 설정 가이드를 참조
  2. Salesforce CLI를 설치
  3. 명령줄에서sf update 명령을 실행하여 CLI가 최신 버전이고 제대로 설치되었는지 확인

🖥️ Visual Studio Code 및 Salesforce 확장팩 설치

Salesforce Extension Pack Install

 

새 Salesforce 프로젝트 만들기

Ctrl + Shift + P 명령어 단축키 누르고

SFDX : Create Project

SFDX : Create Project with Mainfest

  • Mainfest는 pull/push 작업
  • SFDX: 소스를 조직에 배포 및 SFDX: 조직에서 소스 검색을 허용

2) 클릭으로 데이터 모델 만들기

다운 받은 House.csv 파일 Custom Object from Spreadsheet(스프레드시트의 사용자 정의 개체) 만들기

다운 받은 House.csv 파일

트레일헤드 링크

( 데이터 넣는 과정 더 구체적으로 작성하기

  • 수동, 자동 어떤 기능 있는지 구분해서 쓰고 설명 필요
  • 다양한 사례들을 넣어서 실습 필요, 필드 별로 원화나, 여러 타입들 넣어서 시도하기.

)

필드 확인 및 name, api name 등 설정

 

엑셀 파일 import 성공

import 된 오브젝트들을 확인할 수 있다.

(3) 로컬에서 메타데이터 가져오기

관리자 UI에서 수행한 모든 구성은 XML 형식의 데이터로 검색하여 버전 관리에서 확인할 수 있다.

XML 형식의 데이터는 메타데이터라고도 함

Salesforce Platform은 메타데이터 API를 제공하여 개발, 테스트 및 프로덕션 환경 간에 다양한 유형의 메타데이터를 검색하고 배포할 수 있도록 한다.

메타데이터 API

  • Salesforce CLI 및 Salesforce 확장 기능에서 내부적으로 사용하는 것이다.
  • Salesforce의 메타데이터에 액세스하려면 메타데이터 API를 호출해야 한다. 이를 통해 구성 파일을 사용하여 한 조직에서 다른 조직으로 Salesforce 메타데이터를 검색하고 배포할 수 있다.

vs코드 프로그램에서 연결된 Org로 메타데이터 내려받기

 

다른 방법으로 CLI를 사용하여 메타데이터를 가져올 수도 있다. 예를 들어, 터미널에서 명령을 실행하면 아래에 나열된 다른 모든 메타데이터 항목을 가져올 수 있다.

sf project retrieve start --metadata CustomApplication:Dreamhouse CustomTab:House__c "Layout:House__c-House Layout"
메타데이터 유형  구성 요소 이름  터미널에서 실행
사용자 정의 애플리케이션 Dreamhouse CustomApplication:Dreamhouse
사용자 정의 탭 House__c CustomTab:House__c
레이아웃 House__c-House Layout Layout:House__c-House Layout

 

3) Apex에서 비즈니스 로직 작성하기

(1) Apex 개요 및 클래스 생성, 배포

Apex란?

  • Salseforce에서 자체 개발한 개발 언어, 강타입(Strongly typed)의 객체 지향 프로그래밍 언어
  • Salesforce 멀티테넌트 아키텍처에서 실행되도록 최적화되어 있다.
  • Apex는 개발자가 복잡한 백엔드 비즈니스 프로세스를 자동화할 수 있도록 지원하며, Java 바이트코드로 컴파일된다.

Apex는 SQL과 유사한 SOQL(Salesforce Object Query Language)을 제공하여 쿼리를 실행하고

DML(Data Manipulation Language) 문을 사용해 이전에 만든 개체로 데이터베이스 작업을 수행할 수 있다.

 

Apex 클래스 생성하기

public with sharing class HouseService {
    @AuraEnabled(cacheable=true)
    public static List<House__c> getRecords() { 
        try {
            // Create a list of House records from a SOQL query
            List<House__c> lstHouses = [
                SELECT
                   Id,
                   Name,
                   Address__c,
                   State__c, 
                   City__c,
                   Zip__c
                   FROM House__c
                   WITH USER_MODE // 쿼리가 현재 사용자의 권한을 기반으로 데이터를 조회하도록 한다.
                   ORDER BY CreatedDate // CreatedDate 필드 기준으로 정렬
                   LIMIT 10 // 조회할 레코드의 수를 최대 10개로 제한
                ];
                  return lstHouses;
        }
        // Code to handle exception
        catch (Exception e) {
           throw new AuraHandledException(e.getMessage());
        }
    }
} 

 

 

 

 

SFDX: Deploy Source to Org(SFDX: 조직에 원본 배포) 를 선택

Apex 클래스가 조직에 성공적으로 배포되었다는 확인 메시지가 표시된다. 코드를 배포하면 서버에서도 컴파일 된다.

 

 🖥️ 테스트할 익명 스크립트 만들기

  • 익명 스크립트는 메타데이터에는 저장되지 않으면서 컴파일하고 실행할 수 있는 Apex 코드

 

Apex는 거버너 제한 실행 및 요구 사항 테스트를 통해 올바른 코딩 관행을 장려한다.

 

4) Lightning 웹 구성 요소로 재사용 가능한 UI 구성 요소 구축하기

Lightning 웹 구성 요소 개요 및 생성,배포

Lightning 웹 구성 요소 개요

  • Lightning 웹 구성 요소는 웹 구성 요소 표준을 사용하고 HTML과 최신 JavaScript로 구축된 사용자 정의 HTML 요소이다.
  • Lightning 웹 구성 요소(LWC)는 브라우저에서 기본적으로 실행되며, 개발자는 기본으로 제공되는 사용자 인터페이스를 사용자 정의할 수 있다.

웹 구성 요소

더보기
  • 웹 구성 요소
    • 웹 구성요소는 재사용 가능한 사용자 정의 요소를 생성하고(나머지 코드와 기능이 캡슐화되어 있음) 웹 앱에서 활용할 수 있는 다양한 기술 모음이다.
  • 캡슐화된 기능을 갖춘 다용도 사용자 정의 요소를 만들기 위해 함께 사용할 수 있는 세 가지 주요 기술로 구성
  • 맞춤 요소
    • 사용자 정의 요소와 해당 동작을 정의하여 사용자 인터페이스에서 원하는 대로 사용할 수 있는 JavaScript API 세트
  • 섀도우 DOM
    • 캡슐화된 "섀도우" DOM 트리를 요소(기본 문서 DOM과 별도로 렌더링됨)에 연결하고 관련 기능을 제어하기 위한 JavaScript API 세트
  • HTML 템플릿
    • <template>및 요소 <slot>를 사용하면 렌더링된 페이지에 표시되지 않는 마크업 템플릿을 작성할 수 있다.

 

🖥️ Lightning 웹 구성 요소 생성 및 배포하기

  • Force-app/main/dault에서 lwc 폴더를 마우스 오른쪽 버튼으로 클릭하고 **SFDX: Create Lightning Web Component(SFDX: Lightning 웹 구성 요소 만들기)**를 선택
  • Lightning 웹 구성 요소의 이름을 housingMap으로 지정하고 main/default/lwc 디렉터리를 선택
  • HTML 파일, JavaScript 파일, 메타데이터 XML 파일, test.js 파일이 표시

 

🖥️ 다른 방법으로 lwc 생성하기

라이트닝 스튜디오: 빠르고 쉬운 Salesforce LWC 개발 도구

 

라이트닝 스튜디오는 Salesforce LWC 개발을 간소화하기 위해 설계된 Chrome 브라우저 확장 프로그램

확장프로그램 추가 시 작게 활성화 된 아이콘을 누르면 바로 스튜디오 프로그램으로 연결

 

 

 

트레일헤드 실습 코드 적용

housingMap.js-meta.xml 에서

<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
 <apiVersion>59.0</apiVersion>
 <isExposed>true</isExposed>
  <targets>
 <target>lightning__HomePage</target>
</targets>
</LightningComponentBundle>

<isExposed>true</isExposed> true로 설정하고,

<target>lightning__HomePage</target> 타겟 설정을 해야만

 

라이트닝페이지에서 Custom 부분을 뜬 것을 확인할 수 있고, 적용할 수 있다.

 

2. 빠른 시작: 샘플 앱 갤러리 둘러보기

1) 샘플 갤러리

Trailhead 샘플 앱은 Salesforce Platform의 다양한 개발자 기능에 대한 코드 예제를 제공한다. 샘플 앱은 최고의 최신 Salesforce 기술을 활용하는 데 도움이 되도록 제작되었다.

2) 샘플 앱 도구에 대해 알아보기

(1) 샘플 앱 코드 리포지토리

LWC Recipes (LWC 레시피) 설치하기

연결된 오그 터미널에 순서대로 입력해서 설치
레시피 앱 설치 완료

댓글