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 |