일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- len
- split
- join
- decorator
- and
- list
- If
- index
- 파이썬
- or
- sum
- DART
- lambda
- iNT
- Sorted
- WECODE
- LOWER
- Python
- 위코드
- SQL
- enumerate
- count
- FOR
- map
- slice
- range
- js
- MAX
- Algorithm
- STR
- Today
- Total
목록2024/08 (18)
코드로 우주평화
앞서 우리는 슬랙 봇에서 사용자가 특정 멤버를 여러 채널에 초대할 수 있도록 모달을 띄우는 기능을 구현했습니다. 슬랙 봇으로 '채널 초대' 모달 띄우기이전 글에서 /관리자 명령어를 통해 관리자만 접근할 수 있는 메뉴를 만드는 방법에 대해 설명했었습니다. 2024.08.29 - [나는 이렇게 논다/글또 슬랙 봇 개발기] - 슬랙 봇으로 나만 보이는 '관리자daco2020.tistory.com 이번에는 '채널 초대'를 마무리 짓기 위해, 사용자가 모달에서 제출한 정보를 바탕으로 실제로 채널 초대를 수행하는 방법을 설명하겠습니다. 채널 초대 뷰 핸들링채널 초대를 처리하는 뷰 이벤트 함수는 handle_invite_channel_view로 지었습니다. 뷰 모달에서 제출된 데이터를 받아서 처리하죠. 이 함수..
이전 글에서 /관리자 명령어를 통해 관리자만 접근할 수 있는 메뉴를 만드는 방법에 대해 설명했었습니다. 슬랙 봇으로 나만 보이는 '관리자' 메뉴 만들기Slack 봇을 개발할 때, 관리자만 사용할 수 있는 기능이 필요한 경우가 종종 있습니다. 예를 들어, 데이터 동기화나 특정 채널에 멤버를 초대하는 작업 등이죠. 이번 글에서는 /관리자 명령어를daco2020.tistory.com 이번에는 해당 메뉴에서 '채널 초대' 버튼을 눌렀을 때 실행되는 invite_channel 액션을 처리하고, 사용자가 멤버를 초대할 수 있는 모달을 띄우는 방법을 알아보겠습니다. 액션 이벤트 핸들링먼저, invite_channel 액션이 발생했을 때 이를 처리할 핸들러 함수를 작성해줘야 합니다. `invite_channel`은..
Slack 봇을 개발할 때, 관리자만 사용할 수 있는 기능이 필요한 경우가 종종 있습니다. 예를 들어, 데이터 동기화나 특정 채널에 멤버를 초대하는 작업 등이죠. 이번 글에서는 /관리자 명령어를 통해 두 개의 버튼을 제공하여, 관리자에게 필요한 메뉴를 호출할 수 있도록 해보겠습니다. 사용한 프레임워크는 Slack Bolt 입니다. 핸들러 함수 정의먼저, 슬랙에서 관리자 명령어를 처리하는 admin_command 함수를 정의해 보겠습니다. 이 함수는 사용자가 /관리자 명령어를 입력했을 때 호출됩니다. 참고로, 명령어는 사전에 slack api 웹사이트에서 Slash Commands 를 설정해주셔야 합니다.async def admin_command( ack: AsyncAck, body: Com..
지난 6월 LangChain KR x NAVER Cloud 에서 주최한 생성형 AI 개발 프로젝트 대회에서 우수상을 받았습니다. 우리 팀이 개발한 서비스는 대화를 통해 성향을 분석해 주는 'CLOVA MBTI' 인데요. 이 글에서는 CLOVA MBTI 소개와 어떤 기술들을 사용했고 무엇을 느꼈는지에 대해 간단히 이야기해 보겠습니다. CLOVA MBTI 는 어떤 서비스인가요?CLOVA MBTI 는 사용자와 AI 간의 대화를 통해 자신의 성향을 알아가는 서비스입니다. 다들 MBTI 테스트를 한 번씩 해보셨을 거에요. 대부분의 테스트는 사용자가 직접 질문에 답하는 테스트입니다. 이러한 테스트 방식을 자기 보고식 테스트라고 하는데요. 자기보고식 테스트는 사용자가 자신의 성향을 제대로 파악하지 못하거나, 상..
Pillow는 Python에서 이미지를 다룰 수 있게 해주는 라이브러리입니다. 원래는 Python Imaging Library(PIL)라는 이름으로 시작했는데, 현재는 Pillow라는 이름으로 널리 사용되고 있죠. 이 라이브러리는 이미지를 생성, 수정, 변환, 필터링하는 등 다양한 이미지 처리 기능을 제공합니다. 위의 이미지는 Pillow를 이용해 만든 이미지입니다. 이번 글에서는 위의 이미지 처럼 정사각형 이미지에 텍스트를 입히는 과정을 3단계로 설명하겠습니다 :) 1단계, 네모 박스에 색상 채우기먼저 Pillow를 사용해 이미지를 생성하는 것부터 시작하겠습니다. 아래 예제 코드를 통해 이미지의 크기와 배경색을 지정해주면, 네모난 박스에 원하는 색상을 채워줄 수 있습니다.from PIL impor..
Slack 앱을 개발하면서, 모달을 띄우는 view dict 대신 View 객체를 사용하도록 리팩토링을 진행했습니다. 사실 저는 얼마전까지만 해도 slack sdk 가 View 객체를 제공하는지 모르고 있었습니다. 그래서 매번 view 를 dict 로 작성했었는데요. 이번 글에서는 view Dict 를 View 객체로 바꾸는 과정을 공유하고, View 객체를 사용함으로써 얻은 이점에 대해 이야기하려고 합니다. Dict 를 사용한 기존 코드처음 Slack 앱을 개발할 때는, Slack의 모달이나 메시지 레이아웃을 정의할 때 주로 딕셔너리(dict)를 사용했습니다. 예를 들어, 유저의 예치금 상태를 보여주는 모달을 열 때 다음과 같이 작성했습니다.await client.views_open( trig..
제약 이론(TOC, Theory of Constraints)은 시스템의 성과를 제한하는 가장 큰 병목을 찾아내고 이를 극복함으로써 전체 성과를 극대화하는 접근법입니다. 이번 글은 [The Goal 당신의 목표는 무엇인가?] 만화판을 읽고, 제약 이론을 어떻게 적용할 수 있을지 생각해보는 글입니다. 우선 가상의 사례를 들어 제약 이론의 적용 과정을 묘사해보겠습니다. 한계에 직면하다최근 작업 속도가 점점 느려지고 있었다. 매일 같은 시간에 일하고 있지만, 성과는 없고 효율성도 떨어진다는 생각이 들었다. 노력은 계속되고 있지만, 진척이 느리다는 것이 점점 더 뚜렷하게 느껴졌다. 병목 찾기작업 흐름을 면밀히 살펴본 결과, 프론트엔드 코드 작성, 특히 사용자 인터페이스(UI) 작업에서 시간이 과도하게 소요..
Slack Block Kit에서 각 블록은 고유의 역할을 가지고 있는데요. 이를 구성하는 요소들도 블록마다 다르게 사용되다보니 헷갈리는 경우가 많습니다. 이번 글에서는 Input, Actions, Section 블록을 중심으로, 각 블록이 사용하는 요소들의 차이점과 쓰임새를 정리해보겠습니다. 1. Input 블록특징단일 요소 사용사용자로부터 데이터를 입력받기 위한 목적구성 요소element: 단일 상호작용 요소를 포함합니다. 주로 텍스트 입력, 선택 메뉴, 날짜 선택기 등을 사용합니다.예시{ "type": "input", "element": { "type": "plain_text_input", "action_id": "name_input" }, "label..
최근 프로젝트에서 두 개의 버튼 메뉴를 만들었습니다. 사용자가 어떤 페이지에 있는지에 따라 버튼의 활성화 상태를 변경해야 했죠. 처음에는 useState로 두 버튼의 상태를 관리했어요. 하지만 사용자가 뒤로 가기 버튼을 클릭할 때 상태가 제대로 업데이트되지 않는 문제가 발생했습니다. [유의어 반의어 찾기] 버튼이 활성화 되었지만 실제 페이지는 [그 단어 뭐였더라?] 페이지를 가리키고 있었죠. 문제기본적인 상태 관리는 다음과 같은 방식으로 이루어졌습니다:const [selectedButton, setSelectedButton] = useState(1);const handleClick = (buttonId) => { setSelectedButton(buttonId);}; 이 방식은 버튼을 클릭할 때는 잘..
프로젝트를 하다 보면, 사용자가 입력한 단어가 유효한지 검사해야 하는 경우가 많습니다. 특히, 'ㅁㄴㅇ', 'wwwww' 와 같은 무의미한 단어를 어떻게 걸러낼 수 있을까요? 이번 글에서는 간단한 정규식과 사전 API 를 사용해 한글과 영어 단어의 유효성을 검사하는 방법을 소개하겠습니다. 왜 단어 유효성 검사가 필요할까요?단어 유효성 검사는 사용자가 입력하는 단어가 실제로 존재하는 단어인지 확인하는 과정입니다. 예를 들어, 단어 검색기를 만든다고 할 때 무작위 문자가 입력되면 제대로된 결과가 나오지 않거나 에러가 발생할 수 있겠죠. 개발자는 이러한 경우를 별도로 핸들링해야하기 때문에 미리 사전에 유효성을 검사하는 것이 좋습니다. 정규식을 활용한 단어 유효성 검사먼저, 우리는 단어가 한글 또는 영어로만 구..