일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- springboot
- 컴포넌트 스캔
- 싱글톤빈
- apex trigger
- Scpoe bean
- governor limit
- salesforce trigger 구조
- DI
- salesforce 트리거
- maven gradle
- 트리거 구조
- salesforce 개발
- apex 설계
- 트리거 리팩토링
- salesforce 실무회고
- salesforce trigger
- 프로토타입빈
- salesforce
- Spring
- react
- 스프링부트
- 스프링
- 스코프 빈
- 빌드관리
- CRUD
- Java
- bulk-safe trigger
- 웹 스코프
- trigger 패턴
- trigger handler pattern
- Today
- Total
목록전체 글 (17)
Salesforce 실전 개발 노트
“코드가 길어도 욕 안 먹는 유일한 방법” 📝 도입 (인트로 예시)Trigger는 Salesforce 개발자의 첫 관문이다.처음엔 그냥 if문 넣어서 처리하면 다 되는 줄 알았다.그러다 갑자기 10줄짜리 Trigger가 200줄이 되면서... 무언가 잘못됐다는 걸 느낀다.그때 등장하는 게 바로 Trigger 핸들러 패턴이다.⚙️ 1. 문제 정의: "Trigger가 왜 점점 괴물이 되는가"Trigger.new, Trigger.old, context check, if문, DML...다 Trigger 안에 몰아넣다 보면 코드가 산으로 감bulk-safe 처리 누락, 재사용성 0, Test class 지옥행그리고 나중에 보면 자기 자신도 무슨 조건으로 돌아가는지 모름✅ 2. 해결책: 핸들러 패턴 등장Trigg..
“Governor Limit은 너의 구조를 기억한다” 📝 글 개요Salesforce 개발 초기에 가장 자주 쓰는 기능이 Trigger다.근데 아무거나 막 짜면 나중에 “내가 짠 건데 왜 내가 고통받지?” 하는 일이 생긴다.이 글은 내가 실제로 겪었던 Trigger 설계 지옥 TOP 3를 정리한 글이다.부디 너는 나처럼 고통받지 않기를. ❌ 피해야 할 Trigger 패턴 TOP 3🚫 1. DML & SOQL in Loops뭐냐고? for문 안에서 insert, update, select 하는 거왜 문제냐? Governor Limit에 직빵으로 걸린다예시:for(Account acc : accList) { insert acc; // 🧨 무조건 터진다}해결법: List에 담아서 한 번에 처리💡 ..
Governor Limit은 왜 나만 때릴까 📝 글 개요 (인트로)Salesforce 개발을 시작한 지 3년 반,Trigger 한 줄 쓰는데도 로그를 세 번 뒤져보고,UI 한 줄 바꾸려다 컴포넌트 5개를 뜯어본 적도 있다.이 글은 내가 "이건 벽이다”라고 느꼈던 순간들을 기록해본 회고다.누군가는 지금 이 벽 앞에 있을 수도 있으니까. ⚙️ 1. Governor Limits – “넌 너무 많이 했어”한 트랜잭션에 쿼리 몇 번, DML 몇 번… 다 제한for문 안에서 DML 썼다가 터짐 (이건 필수 경험)해결: bulk-safe한 Trigger, Handler 패턴 도입💡 교훈: Salesforce는 자원을 아껴 써야 하는 고급 생존 게임이다. 🧱 2. Trigger 순서 지옥 – “왜 얘가 먼저지?”..

접근 제한자(지정자)란? 접근 제한자(Access Modifier)는 말 그대로 접근을 제한하기 위해 사용됩니다. 여기서 접근이란 클래스 및 인터페이스 그리고 이들이 가지고 있는 멤버의 접근을 말합니다. 어떤 경우에는 클래스와 인터페이스를 다른 패키지에서 사용하지 못하도록 막을 필요가 있습니다. 그리고 객체 생성을 막기 위해 생성자를 호출하지 못하게 하거나 필드나 메소드를 사용하지 못하도록 막아야 되는 경우도 있습니다. 이때 접근 제한자를 사용할 수 있습니다. 접근 제한자는 public, protected, default, private와 같이 네 가지 종류가 있습니다. public : 단어 뜻 그대로 외부 클래스가 자유롭게 사용할 수 있도록 합니다. protected : 상속받은 클래스 또는 같은 패키..

프로젝트 구조 지금 부터 구현할 게시판의 구조는 대략 위의 캡쳐와 같다. ※ 데이터 통신이 일어나는 순서 'Web Browser'에서 React 어플리케이션의 URL로 접속 'Web Browser'에서 요청한 URL에 따라 'React-Router'에서 해당 URL에 해당하는 페이지의 내용을 렌더링하는 최상위 'Component'를 불러온다. 'Component'가 렌더링 될때 'Service'에 미리 정의해둔 함수를 사용해서 데이터를 가져온다. 'Service'에서는 axios 패키지의 기능을 사용해서 'Spring boot API'와 http 통신을 주고 받는다. React쪽의 'Service'에서 요청한 http request를 'Rest Controller'에서 수신한다. 'Rest Control..

개발환경 IDE : IntelliJ IDEA OS : Windows10 SpringBoot 2.5.4 Java11 Gradle MySQL ※ DB 테이블 생성 MySQL GUI 툴인 Heidisql 소프트웨어를 사용하여 테이블을 생성하였다. 1. Springboot Project 생성 https://start.spring.io/ 에서 쉽게 시작할 수 있다. GENERATE을 클릭하여 압축파일을 푼다. 2. IntelliJ 연결하기 Open Project로 폴더를 열고, File -> Settings 들어가 Gradle을 검색한다. 빌드, 런과 테스트를 Intellij로 설정주고 JVM을 java 버전을 선택을 해준다. ※ Gradle로 의존성 설정 board-back프로젝트의 의존성 관리는 build.g..