Loading...
2022. 5. 29. 18:18

[Algorithm] - 2022 카카오 신입 1차 온라인 코딩 테스트 (Kakao Newbie Primary Online Coding Test) for Tech developers 문제 풀이

매년 이뤄지는 카카오 신입 온라인 코딩 테스트 문제 풀이를 또 적게 되었네요. 회사 업무를 좀 더 신경써야 하다보니 마냥 푸는 것을 미뤄놓고만 있다 이제서야 문제 풀이를 진행하게 되었습니다. 이번에도 먼저 문제 풀이 전 후기를 잠깐 말씀드리자면 작년 문제에 비하여 난이도가 많이 개선된 모습이었습니다. 작년과 달리 Lv 4 문제는 출제 되지 않았고, 구현 중심의 앞 문제와 좀 더 실력을 보기 위한 Lv 3 난이도 문제 1~2문제로 추려진 모습이었습니다. 그럼 문제 풀이를 진행해보겠습니다. Question 01. 신고 결과 받기 문제 원문: (https://programmers.co.kr/learn/courses/30/lessons/92334) 신입사원 무지는 게시판의 불량 이용자를 신고하고 처리 결과를 메..

2022. 5. 22. 21:13

[FastAPI] 16. Pulumi를 이용해 FastAPI Serverless 환경 구축해보기

우리는 지난 글에서 FastAPI, Magnum, AWS Serverless Stack(Lambda, API Gateway)을 이용하여 FastAPI 서버리스 환경을 구축했습니다. 2022.05.22 - [Programming/Python] - [FastAPI] 15. FastAPI를 Serverless로 배포하는 방법 - Mangum [FastAPI] 15. FastAPI를 Serverless로 배포하는 방법 - Mangum 이번 포스트에서는 FastAPI와 Serverless(서버리스) 조합에 대해 알아보도록 하겠습니다. 제가 초기 서버리스를 배웠을 때는 AWS의 Lambda라는 서비스가 나왔을 때였는데요. 당시 사용할 때는 별도의 프 blog.neonkid.xyz 하지만 AWS Lambda와 API..

2022. 5. 22. 00:03

[FastAPI] 15. FastAPI를 Serverless로 배포하는 방법 - Mangum

이번 포스트에서는 FastAPI와 Serverless(서버리스) 조합에 대해 알아보도록 하겠습니다. 제가 초기 서버리스를 배웠을 때는 AWS의 Lambda라는 서비스가 나왔을 때였는데요. 당시 사용할 때는 별도의 프레임워크 필요없이 함수의 구현만으로 API 서비스를 만들 수 있는 Cloud Native(클라우드 네이티브) 개발 모델이었습니다. Serverless Serverless(서버리스)라는 단어를 일반적으로 해석하면 '서버 없는 애플리케이션', '서버 없는 서비스'라는 뜻이 됩니다. 하지만 실제로 서버리스는 서버 없이 서비스를 운영하거나 애플리케이션을 배포하는 것은 아닙니다. 실제 서버리스는 개발자가 별도로 서버 관리라는 비용없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 개발 모델로써 대표적으..

2022. 5. 16. 22:06

[Spring] Spring Advice로 커스텀 어드바이스 만들기

이번 포스트부터는 Spring AOP 컴포넌트를 이용하여 실제 Advice를 만들어보고, 위빙하는 시간을 가져보겠습니다. Advice Interface Advice에 대해 다시 복습해보자면 Advice는 특정 조인포인트 즉, 메서드가 호출되는 시점에 실행할 코드를 정의한 것입니다. ProxyFactory 클래스에서 addAdvice 메서드를 이용해 어드바이스를 직접 추가하는 방법과 Advisor 구현체를 addAdvice에 전달하여 간접적으로 추가하는 방법이 있었죠. 두 방법에 차이가 있다면 어드바이스와 달리 Advisor는 관련 PointCut과 함께 어드바이스를 전달한다는 점이 있습니다. PointCut은 실제 어드바이스를 언제 실행할지를 정하는 AOP 용어로 어드바이스를 실행할 지점을 상세하게 지정..

2022. 5. 15. 22:37

[Spring] Spring AOP - Spring에서는 AOP를 어떻게 이용할까?

앞서 우리는 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)에 대한 기본과 개념에 대해 알아봤습니다. 만약 읽어보지 못했다면 이 글을 읽기 전 반드시 읽어보시길 권장드립니다. 2022.05.14 - [Programming/Spring] - [Spring] AOP (Aspect-Oriented Programming) 기본과 개념 [Spring] AOP (Aspect-Oriented Programming) 기본과 개념 Spring에는 AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)이라는 핵심 기능을 제공합니다. 음? OOP(객체 지향 프로그래밍)라는 것은 들어봤는데, AOP는 무엇일까요? AOP vs OOP ? 관점 지향 프로그래밍 blog..

2022. 5. 14. 20:21

[Spring] AOP (Aspect-Oriented Programming) 기본과 개념

Spring에는 AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)이라는 핵심 기능을 제공합니다. 음? OOP(객체 지향 프로그래밍)라는 것은 들어봤는데, AOP는 무엇일까요? AOP vs OOP ? 관점 지향 프로그래밍(AOP)은 애플리케이션에서 코드가 중복되고 강력하게 결합되어 다른 로직과 분리할 수 없는 애플리케이션 로직들을 별도의 관심사로 분리하여 모듈회 하는 프로그래밍 방법입니다. 우리는 보통 이러한 로직을 만났을 때 코드를 복제하여 의존성을 만들게 되는데, AOP는 이러한 의존성 없이도 동작하게 해줍니다. 대표적으로 logging 코드들이 여기에 해당합니다. 그렇다면 AOP와 OOP는 서로 경쟁하는 관계인가요? 그것은 아닙니다. 왜냐하면 우리는 OOP만을 가지고 ..

2022. 5. 5. 20:30

[Spring Data] @Transactional 어노테이션으로 보는 Spring의 트랜잭션 이야기

Spring을 한 번 쯤 사용해보셨다면 Transactional 어노테이션에 대해 알고계실 것입니다. 그런데 무작정 썼을 땐 DB랑 연결하고 객체 데이터를 영속할 때 이거 쓰면 돼. 라고 생각하시는 분들이 계셨을 것입니다. 하지만 실제로 이 어노테이션을 사용했을 때와 그렇지 않았을 때 왜 이런 차이가 발생하는지에 대해 한 번 쯤 궁금증을 가져보신 분들이 계신다면 이 글을 차분히 읽어 보셨으면 좋겠습니다. Transaction 트랜잭션에 대해서는 다른 글에서도 충분히 언급되어 있는 내용이지만 여기서 한 번 더 설명을 드리면, 데이터베이스의 트랜잭션을 이야기하며 DBMS 혹은 그 유사한 시스템에서 발생하는 연산들의 상호작용 단위입니다. 좀 더 쉽게 설명을 해보면, 우리는 데이터 하나를 영속하거나 변경하기 위..