일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Slack Rate Limit
- firebase
- 스케일 큐브
- 파이어베이스
- 웹보안
- 알림무시
- FCM
- 머신러닝
- Slack Limit
- 팀 발달 모델
- Spark
- Slack File Upload
- 카프카 성능
- Scouter
- 이미지 푸시
- 카프카
- 스카우터
- bag of words
- Scale Cube
- Tuckman
- 슬랙 파일업로드
- Rate Limit
- Core/Context
- 코어/컨텍스트
- 슬랙
- n-gram
- kafka
- 슬랙 파일업로드 제한
- 해킹
- 자연어처리 #konlpy #형태소분석
- Today
- Total
목록Article (21)
플랫폼 개발팀 기술 블로그
슬랙에는 여러가지 방식으로 다른 서비스로부터의 외부 호출을 제공하는데, API Call을 통한 파일 업로드, 메세지 발송과, 심플하게 메시지 전송을 호출할 수 있는 WebHook 등을 제공하고 있다. 우리도 각종 알림용도로 여러 서비스에 연동해서 사용하는데, (메일 알림.. 장애 알림.. 등) 요청이 많지 않던 그 동안은 별 무리 없이 사용 하던 중 몇가지 제한사항이 발생했다. Slack API 자체에서 일정 발송 횟수 이상이 넘어갈 경우 Too Many Request(429) 오류를 내뱉으며 잠시간 Block 상태가 되버려 요청들이 다 막히게 된다. 일반 메시지의 경우 여러개의 WebHook을 번갈아 가며 사용(WebHook 1개당 초당 1회 제한)하는 방식으로 어느정도 잦은 요청도 극복이 가능했지만,..
목표 스카우터 슬랙 플러그인을 커스터마이징하여 일부 요청에 대한 알림 여부를 다르게 하고, 요청 설정 목록을 서버 중단 없이 갱신하는 기능을 추가한다. * 스카우터에 대한 자세한 설명은 블로그 내 다른 포스트인 https://team-platform.tistory.com/14 에서 다룬다 우리는 개발되어 서비스 중인 자바 프로세스 들을 스카우터를 통해 관리하고 있다. 또한 프로세스들의 장애 알림 처리는 스카우터의 빌트인 플러그인인 슬랙(scouter-plugin-server-slack) 플러그인을 통해 수행하고있다. 이를 통해 스카우터 Xlog에서 에러로 감지된 요청이나 응답이 오래 걸린 요청들은 슬랙을 통해 알림을 받고 있다. 근데 그래서 왜? 우리가 운영하는 여러 서비스들의 다양한 요청들 중, 일부의..
Google AMP란? AMP는 Accelerated Mobile Pages의 약자로 가속화된 모바일 페이지라고 직역 할 수 있다. Google에서 공개한 오픈소스 라이브러리로 특징으로는 정적 콘텐츠의 빠른 렌더링이 가능한 웹페이지를 제작 할 수 있도록 규격화된 기능을 지원한다. 기존의 웹 페이지 기술을 그대로 사용하고 있고 다양한 브라우저에서 지원되고 있다. AMP를 왜 사용하는 것일까? 웹 사이트의 성능최적화와 CDN을 무료로 사용 할 수 있다. AMP가 적용된 웹 사이트는 구글 검색 순위에서 우선적으로 노출 될 수 있다. 웹 사이트 제작 도구와 다양한 템플릿을 무료로 제공하고 있다. AMP의 주요 기능 Google AMP는 웹 페이지를 빠른속도로 렌더링 하기위해 html코드를 작성하기 위한 규격이 ..
지난 도커파일 편에서 원하는 기능이 담긴 이미지를 손쉽게 만들 수 있는 도커파일의 작성방법과 이미지 생성, 컨테이너 생성 실습을 진행 했었다. 이번 Docker Compose(이하 도커 컴포즈) 편 에서는 도커 컴포즈의 개요와 YAML파일의 작성 및 실습을 진행 해보도록 하겠다. Docker Compose 개요 웹서버 기능을 하는 어플리케이션이 있다고 가정 해보자 여기에는 DB와 Web Server가 필요하고 이것을 각각의 컨테이너로 나누었다. 제대로 동작 하는지 확인 해보기 위해서는 각 컨테이너들을 실행 시켜야 하는데 docker run 명령어를 이용하여 컨테이너를 생성하려면 두 번의 run 명령어 입력이 필요하다. 컨테이너를 가끔 생성하는 경우라면 괜찮겠지만 컨테이너의 생성빈도가 높고 실행 시켜야하는..
Data Cleaning and Text PreprocessingPermalink기계가 텍스트를 이해할 수 있도록 텍스트를 정제하고 신호와 소음을 구분하여 아웃라이어 데이터로 인한 오버피팅을 방지하기 위해서는 다음과 같은 처리를 해주어야 한다.HTML 태그, 특수문자, 이모티콘 처리토근화(Tokenization) : 문장의 단어를 분리하는 단계불용어(Stopword) 제거 : 자주 등장하지만 특별한 의미를 갖지 않는 단어 제거어간 추출(Stemming) 및 음소표기법(Lemmatization)정규 표현식텍스트 데이터 전처리 이해 정규화 normalization (입니닼ㅋㅋ -> 입니다 ㅋㅋ, 샤릉해 -> 사랑해) 한국어를 처리하는 예시입니닼ㅋㅋㅋㅋㅋ -> 한국어를 처리하는 예시입니다 ㅋㅋ 토큰화 toke..
아주 작은 시스템을 개발할 때는 API들이 약간 엉켜 있어도 문제가 생겼을때 원인을 찾는데 어렵지 않을 것이다.하지만 시스템이 커지고 복잡 하다면, 서로의 인터페이스를 잘 정돈하고 관리하는 것이 중요해진다. 구글이나 페이스북 등 큰 기업들은 잘 정돈하고자 그들만의 REST API 가이드라인을 가지고 있다. https://cloud.google.com/apis/design/resources?hl=ko 나는 여러 개발자들과 함께 REST API 개발을 담당하게 되었다. 그래서, 구체적인 개발을 시작 하기 전에 사내 REST API 디자인 가이드를 만들어야겠다고 마음을 먹었다. 가이드라인을 만들고 이것을 참고해 반년 정도 개발-운영을 했다. 처음 가이드라인을 만들때 했던 고민과 챙겨야할 것들, 그리고 가이드라..
자연어 처리(natural language processing)는 인간의 언어 현상을 기계적으로 분석해서 컴퓨터가 이해할 수 있는 형태로 만드는 자연 언어 이해 혹은 그러한 형태를 다시 인간이 이해할 수 있는 언어로 표현하는 제반 기술을 의미한다. (위키피디아)간단하게 말하면, 자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일 이라고 생각하면 될 것 같다.텍스트Permalink기계학습 모델을 만들기 위해서는 데이터를 모델에 맞게 변형시켜 주어야 한다. 알고리즘에서 텍스트를 그대로 받아들일수 없기 때문에 받아들일 수 있는 어떤 숫자값으로 변환을 해주어야 한다. 하지만 텍스트는 일단 언어가 제각기 다르기 떄문에 텍스트 자체를 어떻게 숫자화 할지 부터 시작해야한다.그럼 어떤 방법들이 있는지 살펴보자..
INTRO일정 규모 이상의 정보 서비스를 제공하고 있다면, 아마도 대부분 한대 이상의 서버를 배치하여 부하분산을 시키고 있을 것입니다. 이런 배치 전략을 로드밸런싱이라고 하죠. 로드밸런싱은 대량의 트래픽을 수용하기 위해 여러대의 (동일한) 서버가 요청을 나눠서 처리하도록 하는 부하분산을 통해 서비스의 처리량을 증가 시키고자 하는 것이 주 목적입니다. 물론 로드분배 알고리즘과 서버 상태를 기반으로 해서 고가용성(HA)의 요건도 같이 충족되는 것이 일반적입니다. 만일 트래픽이 점점 더 늘어난다면, 그에 맞춰 Service #4, Service #5, ... 이런식으로 서비스의 복제본을 늘려 나가기만 하면 되기 때문에 손쉽게 확장이 가능합니다. 애플리케이션의 확장성을 보장하기 위해서는 다양한 전략을 구사할 수..