1.set field level security로 프로필에서 하나씩 추가하지 않고도 새로 추가된 필드의 security를 설정할 수 있다.

 

2.CRM = 고객관리, Salesforce = CRM을 클라우드로 전환한 회사, Sales Cloud = Salesforce CRM 시스템의 일부

 

3.에러로 Save 버튼 사라진 경우 해당 데이터 찾아서 Developer Console에서 생성

ServiceContract scObj = new ServiceContract( 
	Name = '123-456789', 
    AccountId = '0015h00001T1ZrMAAV', 
    StartDate = Date.valueOf('2023-09-22'), 
    EndDate = Date.valueOf('2024-09-22'), 
    Term = 12 
);

insert scObj;

 

4.기본적으로 목록에 없는 그룹 만들기는 비활성화되어 있기 때문에 아래 설정을 해야 한다.

Chatter Settings ->

Allow Records in Groups Check ->

I wnat to enable unlisted groups and understand that i may need to update apxe/Visualforce code in my organization Check

 

5.GROUP BY로 그룹을 만든 후 해당 내부의 count 등의 집계함수로 한 내용을 조회하려면 해당 값을 가져다 쓸 수 있는게 아니라 HAVING을 WHERE처럼 사용해서 진행해야 한다.

SELECT name, COUNT(animal_id) AS count 
FROM animal_ins 
WHERE name IS NOT NULL 
GROUP BY name 
HAVING COUNT(animal_id) > 1 
ORDER BY name;

 

6.null이 아닌 값들 중 중복을 제거해서 가져오라는 문제가 있었는데

Name으로 그룹을 하고 count를 하려고 했는데 그룹을 하지 않고 count를 하는 것과는 무슨 차이가 있는지 모르겠다.

//처음 시도
SELECT COUNT(name) FROM animal_ins GROUP BY NAME HAVING NAME IS NOT NULL

//의도한 수치
SELECT COUNT(name) FROM animal_ins

//정답
SELECT COUNT(DISTINCT name) FROM animal_ins WHERE name IS NOT NULL;

 

 

 

(1).백준 6030번 Scavenger Hunt는 인수들의 조합을 모두 나열해야 하는 문제였는데

범위가 겨우 6000까지였기 때문에 for문을 돌면서 인수들을 배열에 담은 다음

첫번째 숫자를 기준으로 두번째 숫자의 인수들을 먼저 나열하는 방식으로 진행했다.

const [a, b] = '24 2'.split(' ').map(Number)

const arr1 = []
const arr2 = []
const result = []

for(let i = 1 ; i <= a ; i++){
    if(a % i === 0){
        arr1.push(i)
    }
}

for(let i = 1 ; i <= b ; i++){
    if(b % i === 0){
        arr2.push(i)
    }
}

for(let i = 0 ; i < arr1.length ; i++){
    for(let j = 0 ; j < arr2.length ; j++){
        result.push(arr1[i] + ' ' + arr2[j])
    }
}

console.log(result.join('\n'))

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

[개발일지] - 86(주말)  (0) 2023.09.24
[개발일지] - 85(주말)  (0) 2023.09.23
[개발일지] - 83  (0) 2023.09.21
[개발일지] - 82  (0) 2023.09.20
[개발일지] - 81  (0) 2023.09.19

+ Recent posts