응원 수익은
주인장에게 큰 힘이 됩니다 🥹

kakaopay QR kakaopay QR

이미지를 터치하면 카카오페이로 연결됩니다!

QR 코드를 카카오페이 앱에서 촬영해주세요!

 
프로필 로고 차니 기술 블로그
  • 홈
  • 일상
  • 취미
  • 회고
  • 방명록
  • Github
Daily로 Flex 일정 Slack에 메시지 전송 자동화 하기 (개발부터 배포까지)

Daily로 Flex 일정 Slack에 메시지 전송 자동화 하기 (개발부터 배포까지)

회사에서 근태 관리 툴로 `Flex`를 쓰고 있는데요.내가 찾는 사람이 휴가, 재택근무, 출장, 외근 등의 사유로 사무실에 사람이 없을 때가 있잖아요?그럴때마다 flex "일정"에 들어가서 해당 인원이 오늘 출근하는지를 확인했었거든요.그 부분이 불편? 귀찮?아서 매일 특정 시간에 Slack으로 알림 받을 수 있도록 자동화하였습니다.아래는 개발했던 과정 등을 정리합니다.1. flex에서 일정 가져오기일정을 슬랙에 쏴주기 위해 첫 번째로 필요했던게 `일정` 데이터인데요.Flex에서 공식적으로 제공하고 있는 API는 없더라구요. 구글링해보니 flex 페이지를 분석해서 가져오시는 분들도 계셨는데, 그렇게까지 하고 싶진 않아서... 다른 방법으로 데이터를 가져오도록 했습니다.flex에 구글 캘린더 연동하기flex..

  • format_list_bulleted DevOps
  • · 2025. 4. 17.
  • textsms
Fastlane을 활용한 앱 배포 자동화(2) - with. fastlane match로 iOS 인증서 관리하기

Fastlane을 활용한 앱 배포 자동화(2) - with. fastlane match로 iOS 인증서 관리하기

지난 글의 프로세스를 잘 따라왔다면 커맨드로 Android, iOS 앱의 빌드, Firebase에 업로드, 슬랙에 자동 메시지까지 처리할 수 있을 것이다.이 글에서는 iOS 인증서 관리 방법과 연관된 `fastlane match`에 대해 작성해보려고 한다.1. fastlane match란?인증서를 Git으로 버전 관리하고, 팀 전체가 똑같은 인증서를 자동으로 공유/사용할 수 있게 해주는 도구간단하고 명료하게 위와 같이 한 줄로 요약할 수 있다.회사별로 혹은 팀별로 iOS 인증서 관리에 대한 부분은 다 다를 거라고 예상된다.그것을 단일화 해주는 것... 그게 바로 `fastlane match`이다. 이전에는 어떻게 인증서를 관리했냐면,개발 인증서는 각자 개인으로 만들어서 사용했다.팀원이 n명이면 계속 늘어..

  • format_list_bulleted DevOps
  • · 2025. 4. 1.
  • textsms
Fastlane을 활용한 앱 배포 자동화(1) - with. Firebase App Distribution, Slack

Fastlane을 활용한 앱 배포 자동화(1) - with. Firebase App Distribution, Slack

1. Fastlane이란?ruby 기반의 클라이언트 자동 빌드 오픈소스 라이브러리로,Android, iOS, 크로스플랫폼 클라이언트의 배포 과정을 자동화해 주는 도구이다.이게 Fastlane의 사전적 의미이고, 단어를 조금 쪼개보면 `fast lane`으로 추월 차선을 뜻한다. 흔히 CI/CD에서 사용하는 pipline과 유사한 점이 있는 것 같다.고속도로에선 1차선이 추월 차선이고 추월 차선을 이용하면 빠르게 나아갈 수 있다.이러한 관점에서 fastlane을 사용하면 더 빠르게 배포할 수 있다는 컨셉이라고 생각된다.산정 기준은 모르겠지만 공식 홈페이지에서도 개발자들의 아낀 시간을 카운팅 하고있다.이 글에서는 `Fastlane`과 `Firebase App Distribution`의 연동 과정 그리고 배포..

  • format_list_bulleted DevOps
  • · 2025. 3. 31.
  • textsms
노션 DB 추가/수정 시 슬랙 알림 자동화 (3) - 자동 배포 파이프라인

노션 DB 추가/수정 시 슬랙 알림 자동화 (3) - 자동 배포 파이프라인

네. 지난 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..

  • format_list_bulleted DevOps
  • · 2025. 3. 27.
  • textsms
노션 DB 추가/수정 시 슬랙 알림 자동화 (2) - 도커 배포

노션 DB 추가/수정 시 슬랙 알림 자동화 (2) - 도커 배포

지난 글에서 기능 구현을 마치고 로컬에서 테스트까지 마쳤었는데요.평생 제 로컬에서 돌릴 수는 없는 노릇이니 도커를 이용하여 사내 서버에 배포하였는데 그 과정을 공유합니다.도커 배포 준비하기도커에 대하여배포에 활용되는 도커라는 게 있다는 것은 인지하고 있었지만 실제로 사용해 보는 것은 이번이 처음이었는데요.이직한 회사에서 도커를 사용하고 있어서 스터디겸 도커로 이미지를 만들어서 컨테이너로 배포해 보았습니다.제가 개발하면서 이해한 도커는 아래와 같았어요.간편하게 가상의 개발 환경을 구축해 준다.배포에 적합하고 이후 유지보수 및 관리에 용이하다.이렇게 간편하고 좋은 것을 이제야 활용하다니 아쉽다는 생각이 들었습니다ㅋㅋ (사실 앱 개발자라 쓸 일이 없긴 했죠)도커 설치하기저는 맥 환경이라 brew를 통해 간단하..

  • format_list_bulleted DevOps
  • · 2025. 3. 27.
  • textsms
노션 DB 추가/수정 시 슬랙 알림 자동화 (1) - 구현

노션 DB 추가/수정 시 슬랙 알림 자동화 (1) - 구현

사내에서 문서 정리, 의사소통을 위해 노션과 슬랙을 주로 사용하고 있습니다.그런데 여기서 생긴 귀찮음 중 하나가 회의실 예약 과정이었는데요.기존 회의실 예약 과정1. 노션 회의실 캘린더에서 회의실 등록하기2. 슬랙 회의실 채널에 1번 내용 공유하기 1번 과정까지는 회의실 관리를 위해 필요하다고 생각이 드는데요.문제는 2번이었습니다. "회의실 예약했으면 됐지 메시지까지 수동으로 공유해야 돼? 너무 귀찮은데??"그렇게 해서 시작된 자동화 퀘스트....이 글에서는 파이썬으로 노션 API, 슬랙 API, 도커 배포까지 실제 실무에 적용하며 구현한 내용을 공유하고자 합니다.1. 노션 DB 읽어오기노션 API를 활용하면 노션에 작성된 DB의 데이터를 읽어 올 수 있습니다.이를 위해 필요한 것이 2가지 있는데, No..

  • format_list_bulleted DevOps
  • · 2025. 3. 27.
  • textsms
3월에 쓰는 2024년 회고

3월에 쓰는 2024년 회고

아아... 글을 쓰는 것이 너무 오랜만이네요(어떻게 마지막 글이 작년 8월ㅋㅋ)보니까 지난 7월에 중간 회고를 작성했더라구요(다행이다ㅋㅋ)그래서 이번엔 조금 늦었지만 25년 3월에 작성하는 24년 하반기 회고입니다. 우선 작년 하반기는 생각보다 많은 변화가 있었답니다?8월에 수영 수강 신청 후 당첨되어서 9월부터 다니게 되었구요.무려 인생 첫 수영이었습니다🤭월수금 오전 10시 ~ 10시 50분 수영이었고, 평소 루틴은 아래와 같습니다.7시 20분 기상조카 등교길 내려주고 센터로 이동 (평균적으로 오전 8시 30분 정도에 도착)헬스 1시간 30분 하고 바로 수영 갔다가 귀가지금 생각해 보니 백수치고 꽤나 열심히 살았습니다?생각한 것 이상으로 수영에 재미를 느껴서 이후로 올해 1월까지(5개월) 다니게 되었..

  • format_list_bulleted 회고
  • · 2025. 3. 6.
  • textsms
24년 1회 JLPT 성적발표

24년 1회 JLPT 성적발표

지난 7월 7일에 응시했던 JLPT 시험의 결과가 발표되었습니다.시험 결과는 24년 8월 26일 10시부터 JLPT 사이트에서 확인 가능합니다.언어지식과 청해는 가채점했던 대로 점수가 나왔는데 독해는 2문제 틀렸는데 35점이 나왔습니다.아마도 척도득점(尺度得點) 방식 때문인 것 같은데요.나무위키에서 설명을 봤지만 이해가 잘 되지 않았습니다 ㅎㅎ요약하면 문제의 난이도와 정답률에 따라 점수에 영향이 있는 걸로 이해했습니다. 합격증이 도착하면 다락원 후기를 작성할 예정입니다.네이버페이 1만 포인트 받을 수 있더라고요! JLPT 응시하신 여러분 모두 수고하셨습니다 (__)

  • format_list_bulleted 취미/일본어
  • · 2024. 8. 26.
  • textsms
[Swift] @frozen 그리고 @unknown default, default 차이

[Swift] @frozen 그리고 @unknown default, default 차이

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가 더 이상 추가 되지 않을 것이 확실하다면 `..

  • format_list_bulleted App/iOS
  • · 2024. 8. 13.
  • textsms
[Swift] 순환(재귀) 열거형 - Recursive Enumerations

[Swift] 순환(재귀) 열거형 - Recursive Enumerations

오늘은 야곰님의 Swift 프로그래밍 책을 보며 처음 보는 열거형이 있어서 정리하는 글을 작성하려고 한다.1. 순환 열거형 이란?순환 열거형은 열거형 케이스의 연관 값이 열거형 자신의 값이고자 할 때 사용합니다. 재귀적으로 해당 열거형 케이스를 반복하게 되므로 `indirect` 키워드를 사용하여 명시하도록 한다.Swift에서 열거형은 n개의 case를 생성할 수 있고 그 case는 연관 값(parameter)를 가질 수 있다는 건 알고 있을 것이다.위 말을 풀어보면 case의 parmeter로 `자기 자신`이 사용된다는 의미이다.텍스트만 보면 이해가 잘 안될 수도 있는데(내가 그랬음) 예제를 하나하나 뜯어보면 쉽게 알 수 있다.2. 예제다음은 간단한 산술 표현식을 저장하는 열거형이다.이 열거형은 숫자,..

  • format_list_bulleted App/iOS
  • · 2024. 8. 8.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 9
  • navigate_next
전체 카테고리
  • ROOT (84)
    • App (43)
      • Android (3)
      • iOS (40)
      • React Native (0)
    • Dev (11)
      • Cordova (7)
      • Node.js (4)
    • DevOps (12)
    • Issues (4)
    • IDE & Tool (4)
    • CS (2)
      • 정보처리기사 (2)
    • 취미 (5)
      • 일본어 (5)
    • 회고 (3)
전체 방문자
오늘
어제
전체
최근 댓글
인기 글
최근 글
태그
  • #first-class citizen
  • #도커
  • #xcode
  • #cordova
  • #SPM
  • #AWS
  • #IOS
  • #다이어트
  • #단식
  • #차니일기
  • #Android
  • #회고
  • #CodeCommit
  • #수영
  • #Swift
  • #jlpt
  • #anki
  • #보식
  • #안키
  • #일본어
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바