반응형

개발 5

비행기표 조회 자동화

# 배경제주도민이라 명절때마다 비행기표 예약 전쟁을 겪어야한다.중간중간 비행기표가 있는지 매번 직접 들어가야 하는 번거로움이 있었다. 비행기표 조회 및 알림을 자동화해두면 명절 혹은 여행 성수기마다 두고두고 쓸 수 있을 것 같아서 파이썬 기반으로 스크립트를 작성해 보았다. # 사용 기술 및 라이브러리Python 3.10SeleniumSlack webhook # 코드아래는 스크립트 일부분이다.def main(): while True: url = os.getenv('FLIGHT_SCHEDULE_URL') webhook_url = os.getenv('SLACK_WEBHOOK_URL') try: schedules = get_flight_schedul..

개발 2024.08.09

RDB에서 인덱스를 사용하지 않는 케이스들

# 테이블 스캔테이블 전체 레코드를 반환하는 쿼리는 당연하게도 인덱스를 사용하지 않는다.SELECT * FROM articles # 복합 인덱스deleted_at, user_id 순으로 복합인덱스가 생성되었다.CREATE INDEX index_articles_on_deleted_at_and_user_id ON public.articles USING btree (deleted_at, user_id)생성한 인덱스 순서에 맞게 쿼리를 작성하여야 한다.# 인덱스와 동일한 순서SELECT * FROM articles WHERE deleted_at IS NULL and user_id IN (1,100,2)# 인덱스와 다른 순서SELECT * FROM articles WHERE user_id IN (1,100,2) ..

개발 2024.05.31

스프링과 싱글턴

# 싱글턴이 무엇인가?클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴손쉽게 객체의 유일성을 보장할 수 있다.public class Singleton { private static final Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; }}// Lazy한 방식으로도 구현이 가능하다.public class LazySingleton { private static LazySingleton instance; private LazySingleton() {} public static LazySingleton getInstance..

개발 2024.05.26

스프링과 SOLID 원칙

SOLID 란?컴퓨터 프로그래밍에서 SOLID란 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 의미한다.SRP (Single Responsibility Principle) - 단일 책임 원칙OCP (Open/Closed Principle) - 개방/폐쇄 원칙LSP (Liskov Substitution Principle) - 리스코프 치환 원칙ISP (Interface Segregation Principle) - 인터페이스 분리 원칙DIP (Dependency Inversion Principle) - 의존성 역전 원칙이 다섯가지 원칙이 스프링에 어떻게 적용되는지 정리해본다.  1. 단일 책임 원칙 (SRP)정의클래스는 하나의 책임만 가져야 한다.스프링 적용..

개발 2024.05.21

Kotlin 간단 정리

Kotlin 이란? JetBrains에서 공개한 JVM 기반의 오픈 소스 프로그래밍 언어이다. 멀티 플랫폼을 지원하며, 정적 타입 언어이기도 하다. Java와 유사하지만 더 간결한 문법, 기능이 제공되며, Java와 상호 운용이 100% 지원된다. 아래 코드는 문법 비교를 위한 간단한 예시이다. //Java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } //Kotlin fun main() { println("Hello, World!") } Kotlin 컨셉 표현력, 간결성 간결하고 가독성이 높은 코드 작성을 장려한다 안정성 널 포인터 예외와 같은 일반적인 버그..

개발 2024.04.16
반응형