회사에서 근태 관리 툴로 `Flex`를 쓰고 있는데요.내가 찾는 사람이 휴가, 재택근무, 출장, 외근 등의 사유로 사무실에 사람이 없을 때가 있잖아요?그럴때마다 flex "일정"에 들어가서 해당 인원이 오늘 출근하는지를 확인했었거든요.그 부분이 불편? 귀찮?아서 매일 특정 시간에 Slack으로 알림 받을 수 있도록 자동화하였습니다.아래는 개발했던 과정 등을 정리합니다.1. flex에서 일정 가져오기일정을 슬랙에 쏴주기 위해 첫 번째로 필요했던게 `일정` 데이터인데요.Flex에서 공식적으로 제공하고 있는 API는 없더라구요. 구글링해보니 flex 페이지를 분석해서 가져오시는 분들도 계셨는데, 그렇게까지 하고 싶진 않아서... 다른 방법으로 데이터를 가져오도록 했습니다.flex에 구글 캘린더 연동하기flex..
네. 지난 1, 2편을 통해 구현과 도커 배포까지 마쳤는데요. 2편에서 예고한 대로 main branch에 push 발생 시 자동으로 도커 재배포하는 파이프라인을 구성했던 내용을 공유하고자 합니다!1. gitlab-ci.yml프로젝트 루트 경로에 `.gitlab-ci.yml` 파일을 만들어 주어야 합니다.그러면 GitLab에서는 해당 파일을 읽고 그에 맞는 작업을 GitLab Runner에게 할당해 주거든요! (자세한 내용은 아래에서)stages: - deploydeploy-to-server: stage: deploy only: - main script: - echo "📦 Deploy 시작" - ./run-notion-automation.sh tags: - deployst..
지난 글에서 기능 구현을 마치고 로컬에서 테스트까지 마쳤었는데요.평생 제 로컬에서 돌릴 수는 없는 노릇이니 도커를 이용하여 사내 서버에 배포하였는데 그 과정을 공유합니다.도커 배포 준비하기도커에 대하여배포에 활용되는 도커라는 게 있다는 것은 인지하고 있었지만 실제로 사용해 보는 것은 이번이 처음이었는데요.이직한 회사에서 도커를 사용하고 있어서 스터디겸 도커로 이미지를 만들어서 컨테이너로 배포해 보았습니다.제가 개발하면서 이해한 도커는 아래와 같았어요.간편하게 가상의 개발 환경을 구축해 준다.배포에 적합하고 이후 유지보수 및 관리에 용이하다.이렇게 간편하고 좋은 것을 이제야 활용하다니 아쉽다는 생각이 들었습니다ㅋㅋ (사실 앱 개발자라 쓸 일이 없긴 했죠)도커 설치하기저는 맥 환경이라 brew를 통해 간단하..
사내에서 문서 정리, 의사소통을 위해 노션과 슬랙을 주로 사용하고 있습니다.그런데 여기서 생긴 귀찮음 중 하나가 회의실 예약 과정이었는데요.기존 회의실 예약 과정1. 노션 회의실 캘린더에서 회의실 등록하기2. 슬랙 회의실 채널에 1번 내용 공유하기 1번 과정까지는 회의실 관리를 위해 필요하다고 생각이 드는데요.문제는 2번이었습니다. "회의실 예약했으면 됐지 메시지까지 수동으로 공유해야 돼? 너무 귀찮은데??"그렇게 해서 시작된 자동화 퀘스트....이 글에서는 파이썬으로 노션 API, 슬랙 API, 도커 배포까지 실제 실무에 적용하며 구현한 내용을 공유하고자 합니다.1. 노션 DB 읽어오기노션 API를 활용하면 노션에 작성된 DB의 데이터를 읽어 올 수 있습니다.이를 위해 필요한 것이 2가지 있는데, No..
지난 7월 7일에 응시했던 JLPT 시험의 결과가 발표되었습니다.시험 결과는 24년 8월 26일 10시부터 JLPT 사이트에서 확인 가능합니다.언어지식과 청해는 가채점했던 대로 점수가 나왔는데 독해는 2문제 틀렸는데 35점이 나왔습니다.아마도 척도득점(尺度得點) 방식 때문인 것 같은데요.나무위키에서 설명을 봤지만 이해가 잘 되지 않았습니다 ㅎㅎ요약하면 문제의 난이도와 정답률에 따라 점수에 영향이 있는 걸로 이해했습니다. 합격증이 도착하면 다락원 후기를 작성할 예정입니다.네이버페이 1만 포인트 받을 수 있더라고요! JLPT 응시하신 여러분 모두 수고하셨습니다 (__)
1. Frozen Enum과 Non-frozen Enumenum Menu { case chiken case pizza}위와 같은 열거형이 있다고 가정해 봅시다.열거형에 case를 계속해서 추가할 수 있는 열거형을 `Non-frozen Enumeration`(얼지 않은 열거형)라고 합니다.일반적으로 가장 많이 사용하는 유형이죠.@frozen enum Menu { case chiken case pizza}그렇다면 반대로 enum 선언 시 `@frozen` 키워드를 넣어 열거형을 정의하면 `Frozen Enumeration`(얼은 열거형)이 되어 더 이상 case가 추가되지 않을 것을 암시함과 더불어 컴파일 성능이 향상된다고 합니다. case가 더 이상 추가 되지 않을 것이 확실하다면 `..
오늘은 야곰님의 Swift 프로그래밍 책을 보며 처음 보는 열거형이 있어서 정리하는 글을 작성하려고 한다.1. 순환 열거형 이란?순환 열거형은 열거형 케이스의 연관 값이 열거형 자신의 값이고자 할 때 사용합니다. 재귀적으로 해당 열거형 케이스를 반복하게 되므로 `indirect` 키워드를 사용하여 명시하도록 한다.Swift에서 열거형은 n개의 case를 생성할 수 있고 그 case는 연관 값(parameter)를 가질 수 있다는 건 알고 있을 것이다.위 말을 풀어보면 case의 parmeter로 `자기 자신`이 사용된다는 의미이다.텍스트만 보면 이해가 잘 안될 수도 있는데(내가 그랬음) 예제를 하나하나 뜯어보면 쉽게 알 수 있다.2. 예제다음은 간단한 산술 표현식을 저장하는 열거형이다.이 열거형은 숫자,..