하다 멈췄던 배치를 손보는데 생각보다 에러가 많이 발생했다.

주 원인은 코드의 논리적인 부분이 아니라 배치에 대한 이해도 부족 때문이었는데

List<Wrapper> 형태로 start에서 return값을 넘겨주려고 하는데 자꾸 아래와 같은 에러가 발생했다.

must implement the method: void Database.Batchable<Object>.execute(Database.BatchableContext, List<Object>)

 

원인은 Wrapper 등의 개체를 보낼 수 있는 것이 아니고

무조건 표기를 Object로 표기해야 한다는 것이었는데

Return 및 parameter를 표기할 때는 List<Object>로 받고

start에서 내보내는 실제 값은 List<Wrapper> 형태로 내보낸 다음

execute에서 받을 때는 내부에서 다시 for문으로 Object단위로 쪼갠 다음

형변환으로 (Wrapper)obj 형태로 분할해줘서 문제를 해결할 수 있었다.

 

임시 시배치용 클래스를 생성한 다음

추가로 진행되는 회의에 참여했다.

 

회의 중 추가적으로 업무가 마구 추가됐는데

자바서버와 자동적으로 주고받는 기능들을 추가해야 하는데

일부 세일즈포스에 존재하기는 하지만

내가 트리거를 만들어서 보내줘야 하는 뭔가가 있었고

중간에 보내야 하는 인터페이스, 받는 인터페이스, 요청 인터페이스 등도 해야 했다.

 

오후에는 재고 관련 리턴 파악을 하다가 중단하고

동기분의 요청으로 TYNO를 파악하다가

다시 또 더 바쁜 업무 요청이 들어와서 중단했다.

 

마이그레이션 추가 요청이 들어와서

해당 부분의 필드를 추가하는 마이그레이션을 진행하고

엔드포인트를 전달했다.

 

엔드포인트를 거의 처음 만들어보기 때문에 알아보다가

아래의 순서에 따라서 api Oauth를 추가할 수 있었는데

이제 헷갈리지 않고 처음부터 인터페이스를 진행할 수 있을 것 같다.

 

0.앱을 만들 때 잘 모르면 다른 org에서 참고하기

1.앱 내부 고객 키 및 암호에 들어간다.

2.소비자 키, 소비자 암호를 복사

3.client_id, client_secret에 매칭

4.username, password는 세일즈포스 아이디, 비밀번호

5. 추가할 OAuth 범위

ID URL 서비스에 액세스 (id, profile, email, address, phone)
 API를 통해 사용자 데이터 관리 (api)
웹 브라우저를 통해 사용자 데이터 관리 (web)
전체 액세스 (full)
Connect REST API 리소스에 액세스 (chatter_api)
Visualforce 응용 프로그램에 액세스 (visualforce)
언제든지 요청 수행 (refresh_token, offline_access)
고유 사용자 식별자에 액세스 (openid)
사용자 정의 권한 액세스 (custom_permissions)
Analytics REST API 리소스에 액세스 (wave_api)
Analytics REST API 차트 지리 데이터 리소스에 액세스 (eclair_api)

6.콜백 URL = https://xxxx.salesforce.com

7.요청 주소는 https://test.salesforce.com/services/oauth2/token?로 시작

grant_type = password

client_id, client_secret

format = password

username, password

토큰 입력 후 반환 주소 + ‘/services/apexrest’ + /urlMapping address

 

3시 쯤 추가 회의가 잡혔는데

회의라기보다는 테스트 및 리뷰였기 때문에 80분가량 진행했고

해당 회의에서도 추가 업무가 4개나 더 들어왔다.

 

추가 업무는 다 재미있는 업무였지만

업무 처리량보다 증가되는 속도가 훨씬 빨라서

업무 대기번호가 20번대까지 증가하고 있었다.

 

이후 처음보는 org에서 다른 회사가 진행한 인터페이스 규칙에 맞춰서

자바서버 클래스로 보내는 api를 생성해야 했는데

파악하는데 시간이 너무 걸려서 4시간가량 추가로 작업하다보니

8시 50분쯤 퇴근했다.

 

 

(1).백준 14173번 Square Pasture는 주어진 사각형 두개를 포함하는 가장 작은 정사각형을 구해야 하는 문제였다.

 

결론적으로는 최소, 최대 x축의 길이 차이와 최소, 최대 y축의 길이 차이 중

더 큰 값을 기준으로 정사각형을 만들면 되는 것이기 때문에 

x1, x2, x3, x4중 최대, 최소값을 Math max, min을 사용해서 구했고

y축 또한 같은 방식으로 구한 다음 

다시 Math.max를 통해 x축, y축 중 더 긴 길이를 **를 통해 제곱해 해결했다.

const input = `6 6 8 8
1 8 4 9`.split('\n').map(el => el.split(' ').map(Number))
const [x1,y1,x2,y2] = input[0]
const [x3,y3,x4,y4] = input[1]

console.log(Math.max(Math.max(x1,x2,x3,x4) - Math.min(x1,x2,x3,x4), Math.max(y1,y2,y3,y4) - Math.min(y1,y2,y3,y4))**2)

'회고' 카테고리의 다른 글

[개발일지] - 111  (1) 2023.10.19
[개발일지] - 110  (0) 2023.10.18
[개발일지] - 108  (1) 2023.10.16
[개발일지] - 107(주말)  (0) 2023.10.15
[개발일지] - 106(주말)  (0) 2023.10.14

+ Recent posts