보안 및 플로우 관련이라 오늘은 별다른 내용은 없지만 하나를 정리하자면

플로우 내부에서 날짜를 사용하려고 했던 저번 방식은 사용이 불가능했다.

 

플로우가 시작됄 때 Filter를 걸어서 해당하는 값만 배치로 돌아가는 구조로 해야만 효율적인데

만약 데이터가 1억개가 쌓인다고 해도 그날에 해당하는 데이터가 30개라면 30개만 돌리면 되겠지만

초기 Select 역할을 하는 filter 부분이 아닌 플로우 내부에 fm 필드를 생성해 필터를 걸게 되면

1억개 모두 플로우가 돌아버리는 것이다.

 

이 문제를 해결하기 위해 다시 날짜 방식을 확인하다가

필터 조건에 집어넣으려면 날짜 형식이 아닌 숫자 또는 boolean 값이어야만 한다는 것을 알게 되었고

개체 내의 fomular 필드를 생성해 아래와 같은 조건을 넣어줬다.

TODAY() - DATEVALUE(CheckFieldName__c)

 

AND, OR을 사용할 경우 특정 일에 해당하는 조건들을 다 가져올 수 있으며

가져온 값들을 내부 분기처리를 통해 작동시키면 되기 때문에 상당히 효율적인 플로우 작업이 가능해졌다.

 

 

(1).백준 26906번 Vikingahackare는 바이킹의 암호를 해독해야 하는 문제로

처음에는 당황스러웠지만 4개의 글자라는 자릿수 규정이 있다는 사실을 알고 쉽게 해결할 수 있었다.

 

일단 for문을 순회하며 map에 지정된 글자를 이진숫자, 해당하는 글자 순서로 넣어준 다음

for문을 다시 순회하며 4개의 글자를 map에 넣어주고 나온 결과에 제대로 된 값이 없는 경우 ?로 대체하고

값이 있는 경우 해당 값을 result에 더한 다음 해당 값을 출력해 문제를 해결했다.

const input = `6
2 0101
P 1101
1 1010
4 1011
O 1110
0 0010
110111110101010010101011`.split('\n')

const strs = input.pop()
const rune = {}
let result = ''

for(let i = 1 ; i < input.length ; i++){
    const [str, num] = input[i].split(' ')
    rune[num] = str
}

for(let i = 0 ; i < strs.length ; i+=4){
    const str = rune[strs.slice(i, i+4)]
    result += (str ? str : '?')
}

console.log(result)

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

[개발일지] - 223  (0) 2024.02.08
[개발일지] - 222  (0) 2024.02.07
[개발일지] - 220  (1) 2024.02.05
[개발일지] - 219(주말)  (0) 2024.02.04
[개발일지] - 218(주말)  (0) 2024.02.03

+ Recent posts