파이썬
-
TypeScript vs Python Mixin 차이를 알아보자잇! (feat.다중상속)💻 프로그래밍/TypeScript 2022. 4. 25. 02:50
안녕하세요! 개발자 Jay입니다~ 최근에 TypeScript 공부를 하고 있습니다! 회사 기술 스택 중 nest.js를 사용하고 있어서 + 새로운 언어에 대한 궁금증 때문인데요~ python을 오래 쓰면서 TypeScript 문법을 공부하다 보면 오 이거 문법이 많이 다르네, 특이하네 하는 것들이 있습니다. 그중 하나가 Mixin 문법인데요. 오늘은 TypeScript와 python의 Mixin에 대해서 알아보겠습니다. 1. Mixin(믹스인) 이란? 처음 믹스인을 봤을 때는 "이거 그냥 클래스(Class)아닌가?" 라고 생각했는데 비슷하면서도 용도가 약간 다릅니다. 믹스인은 클래스와 동일한 형태이지만 필요한 메서드(Method)만 확장하기 위해 쪼개져 있는 클래스라고 보면 될 것 같습니다. 그렇기 때문..
-
2019 카카오 1차 코딩테스트 문제 3 (자물쇠와 열쇠)💻 프로그래밍/알고리즘 2019. 11. 10. 23:59
1. 문제 (정답률: 7.4%) 고고학자인 “튜브”는 고대 유적지에서 보물과 유적이 가득할 것으로 추정되는 비밀의 문을 발견하였습니다. 그런데 문을 열려고 살펴보니 특이한 형태의 자물쇠로 잠겨 있었고 문 앞에는 특이한 형태의 열쇠와 함께 자물쇠를 푸는 방법에 대해 다음과 같이 설명해 주는 종이가 발견되었습니다. 잠겨있는 자물쇠는 격자 한 칸의 크기가 1 x 1인 N x N 크기의 정사각 격자 형태이고 특이한 모양의 열쇠는 M x M 크기인 정사각 격자 형태로 되어 있습니다. 자물쇠에는 홈이 파여 있고 열쇠 또한 홈과 돌기 부분이 있습니다. 열쇠는 회전과 이동이 가능하며 열쇠의 돌기 부분을 자물쇠의 홈 부분에 딱 맞게 채우면 자물쇠가 열리게 되는 구조입니다. 자물쇠 영역을 벗어난 부분에 있는 열쇠의 홈과 ..
-
2019 카카오 1차 코딩테스트 문제 1 (문자열 압축)💻 프로그래밍/알고리즘 2019. 11. 10. 21:13
1. 문제 (정답률: 25.9%) 데이터 처리 전문가가 되고 싶은 “어피치”는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 “aabbaccc”의 경우 “2a2ba3c”(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, “abcabcdede”와 같은 문자열은 전혀 압축되지 않습니다. “어피치”는 이러한 단점을 해결하기 위해 문자열을..
-
local 개발환경 세팅부터 배포까지 - 2부(docker-compose, ssh)💻 프로그래밍/K8s & Docker 2019. 8. 14. 06:56
안녕하세요! 운동하는 개발자 Jay입니다. 1부에 이어서 오늘은 docker-compose 를 통한 개발환경 세팅을 해보겠습니다. 1. docker-compose 란? compose는 도커 multi-container Docker application 들을 정의하고 실행시키는 Tool입니다. compose와 함께 YAML파일을 config로 application service를 사용 할 수 있습니다. 다음과 같은 세가지 step으로 compose를 사용할 수 있습니다. Dockerfile과 함께 app의 환경을 정의합니다. 그리고 이것은 어디서든지 (재)실행시킬 수 있습니다. docker-compose.yml 에 app을 만들기 위한 서비스를 정의하면, 독립적인 환경에서 함께 실행시킬 수 있습니다. do..
-
local 개발환경 세팅부터 배포까지 - 1부(Docker 란?)💻 프로그래밍/K8s & Docker 2019. 8. 11. 23:27
안녕하세요! 운동하는 개발자 Jay 입니다! local 개발환경 세팅부터 배포까지는 시리즈(?)로 포스팅 할 예정이며, docker로 개발환경 구축, fabric을 이용한 배포 까지 다룰 것 입니다. 오늘은 개발서버, 실서버 배포 전 로컬에서 테스트 할 수 있는 개발환경을 세팅에 대해 알아 보겠습니다. 1. local 개발 환경의 필요성 보통 자신의 로컬에서 개발을 하게되면 실제 서비스가 돌아가는 서버, 혹은 실서비스 전 개발서버에 배포를 하여 서비스의 동작을 확인합니다. 하지만, 아무런 테스트 없이 바로 개발서버, 실서버에 서비스를 배포하게 된다면 예기치 못한 장애와 버그들에 정신적 스트레스를 받을 수 있습니다. 그렇기에 로컬에서 우리가 만든 서비스를 테스트 할 수 있는 개발환경을 구성해야 합니다. 우..
-
LCS (Longest Common Subsequence) 최장 공통 부분 수열💻 프로그래밍/알고리즘 2019. 6. 23. 16:42
안녕하세요! 코딩하는 JAY입니다. 오늘은 오랜만에 알고리즘 포스팅을 하려고 합니다:D 오늘 포스팅할 내용은 LCS, 최장 공통 부분 수열입니다. 주의해야할 점은 LCS가 두개라는 점입니다. 1. 최장 공통 부분 수열 = Longest Common Subsequence 2. 최장 공통 부분 문자열 = Longest Common Substring 이 두개의 차이저을 아래 예시로 말씀드리겠습니다. 1. ABCD, ABZC = AB 2. ABCD, ABZC = ABC 1번과 2번 예시의 차이점을 아시겠나요? 아마 차이점을 바로 눈치채셨을것 같아요 ㅋㅋㅋ 1번은 두개의 문자열을 비교했을때, 연속적인 문자열을 추출합니다. 2번은 공통된 부분 수열을 추출합니다(연속X) 여기서 핵심은 연속이냐? 아니냐 입니다 ㅎㅎ ..
-
Django REST Framework API 문서 자동화 하기(feat.drf-yasg)💻 프로그래밍/Django 2018. 12. 31. 19:10
안녕하세요! Jay입니다:D 이번 포스팅은 DRF(Django REST Framework) API 문서를 만들어 보겠습니다.물론 자동 으로요!! 사실 이번 포스팅은 회사에서 API문서를 수정하거나, 다른 웹페이지로 이동시키는 문제때문에 이것 저것 찾아 보다가 찾아낸 방법입니다. API 한두개야 그냥 직접 타이핑 할 수 있지만, 아주 방대한 API의 경우 매번 새로 타이핑하는건...정말 노가다죠 ㅎㅎ아주 친절하게도 우리에게는 오픈소스라는 희망이 있었고, 다양한 DRF API 문서 자동화 패키지들이 존재했습니다. 예를들어 Django REST Swagger, Apiary, RAML 등이 있는데, 이번 포스팅에서 사용할 패키지는drf-yasg 입니다.참고자료 : https://drf-yasg.readthedo..
-
코린이의 DRF(Django REST Framework) 사용해버리기~💻 프로그래밍/Django 2018. 12. 31. 17:54
안녕하세요! Jay 입니다. 정말 오랜만에 글을 쓰는 것 같아요! ㅎㅎ 그동안 많은 일들이 있기도 했고~ 연말이라 조금 게을러진 마음을 다시 한번 다잡고자 다시 글을 씁니다!새로운 것들을 배우기도 했고요ㅎㅎㅎ:D오늘은 DRF(Django REST Framework)를 CBV(Class-Based_view)로사용하는 방법을 알아보려고 합니다. ※ DRF를 사용한 API만들기 먼저 DRF를 사용하려면 해당 라이브러리를 설치해야겠죠? $ pip install django-rest-frameworkDRF 패키지를 설치하고 pip list 해보시면 아래와 같이 패키지가 설치된 걸 볼 수 있습니다. 이제 API로 사용할 App을 생성해보도록 하겠습니다. $ django-admin startapp movie movi..