# 구글 Common Expression Language

> Clean Markdown view of GeekNews topic #3375. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=3375](https://news.hada.io/topic?id=3375)
- GeekNews Markdown: [https://news.hada.io/topic/3375.md](https://news.hada.io/topic/3375.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2020-12-12T12:18:43+09:00
- Updated: 2020-12-12T12:18:43+09:00
- Original source: [opensource.google](https://opensource.google/projects/cel)
- Points: 6
- Comments: 1

## Topic Body

- 보안 정책, 프로토콜 등을 작성하고 평가하기 위한 표현식 언어

ㅤ→ 작고 빠르게, 임베드 및 확장 가능하고, 개발자 친화적으로

ㅤ→ C와 비슷한 문법

- 구글이 Firebase의 보안 규칙을 만들며 개발한 스펙을 확장한 것

- Protocol Buffer 타입을 사용, JSON 지원

- C++ 와 Go 로 된 고성능 Evaluator 오픈소스 제공

service cloud.firestore {

ㅤmatch /databases/{database}/documents {

ㅤㅤ// 사용자가 로그인 되어있거나 요청한 데이터가 퍼블릭이면 참

ㅤㅤfunction signedInOrPublic() {

ㅤㅤㅤreturn request.auth.uid != null || resource.data.visibility == 'public';

ㅤㅤ}

ㅤㅤmatch /cities/{city} {

ㅤㅤㅤallow read, write: if signedInOrPublic();

ㅤㅤ}

ㅤㅤmatch /users/{user} {

ㅤㅤㅤallow read, write: if signedInOrPublic();

ㅤㅤ}

ㅤ}

}

## Comments



### Comment 3846

- Author: xguru
- Created: 2020-12-12T12:22:40+09:00
- Points: 1

Caddy 2 릴리즈 - 성능 좋고 간편한 HTTPS 자동 지원 웹서버 https://news.hada.io/topic?id=2028

Caddy 웹서버도 Request Matcher 같은 것들 설정시 CEL을 사용합니다.

https://caddyserver.com/docs/caddyfile/matchers
