Python (41) 썸네일형 리스트형 [Python] IPython을 사용한 Unix/Linux 셸 명령어 실행 - (IPython.utils.SList에 대하여) https://ipython.org/ Jupyter and the future of IPython — IPython IPython provides a rich architecture for interactive computing with: A powerful interactive shell. A kernel for Jupyter. Support for interactive data visualization and use of GUI toolkits. Flexible, embeddable interpreters to load into your own projects. E ipython.org IPython 설치는 설치 프로그램에 따라 다음과 같이 설치합니다. brew install ipython conda.. [Programmers] 신고 결과 받기 (Python 풀이) - 2022 KAKAO BLIND RECRUITMENT https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 from collections import defaultdict def solution(id_list, report, k): answer = [] report_to_from = defaultdict(set) # key(id)를 신고한 목록 report_from.. [Programmers] k진수에서 소수 개수 구하기(Python 풀이) - 2022 KAKAO BLIND RECRUITMENT https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 풀이 1. k진수로의 변환 1 2 3 4 5 6 def to_k_number(n, k): # n을 k진수로 반환 ret = "" while n > 0: ret += str(n % k) n = n // k return ''.join(reversed(ret)) cs 입력 값 n이 0보다 큰 값을 가지는 동안 n을 .. [Programmers] 수식 최대화(Python 풀이) - 2020 카카오 인턴십 코딩테스트 문제 https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 풀이 수식의 분리(숫자와 연산자 배열) 먼저 수식을 숫자와 연산자로 분리합니다. get_numbers_and_exps() 함수는 수식을 받아 숫자 배열과 연산자 배열을 반환합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def get_numbers_and_exps(expression): # 수식을 숫자와 연산자 배열로 분리 exps = [].. [RabbitMQ] Python에서 Pika를 이용한 RabbitMQ 사용 (Topic Queue) RabbitMQ는 AMQP(Advanced Message Queuing Protocol)을 구현되었습니다. (https://www.amqp.org/) AMQP는 queue, exchange, binding 이라는 세 개의 개념으로 구성됩니다. - queue는 메시지를 보관하고 소비자가 메시지를 선택하기를 기다립니다. - exchange는 게시자가 새 메시지를 추가하기 위한 진입점 - binding은 메시지가 exchange로 queue로 라우팅되는 방법을 정의합니다. RabbitMQ 실행 docker를 이용해서 Rabbitmq를 실행해보자(rabbitmq 3.8) 1 docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.8-.. [Flask] Flask-SQLAlchemy 사용해보기 Flask-SQLAlchemy는 Flask의 확장 모듈로 데이터베이스 ORM입니다.(Object Relational Mapping) https://flask-sqlalchemy.palletsprojects.com/en/2.x/quickstart/ Quickstart — Flask-SQLAlchemy Documentation (2.x) Quickstart Flask-SQLAlchemy is fun to use, incredibly easy for basic applications, and readily extends for larger applications. For the complete guide, checkout the API documentation on the SQLAlchemy class. In.. [Flask] 에러 처리 (사용자 정의 에러 핸들러, JSON 에러 핸들러) 사용자 정의 처리 핸들러 HTML 웹 어플리케이션에서는 404, 50x 에러가 발생하면 보통 특정 HTML 페이지를 보여준다. 플라스크는 자동으로 이렇게 동작하지만, 마이크로서비스에서는 클라이언트에 보내는 응답을 좀 더 조정할 필요가 있다. 이 때 유용한 기능이 사용자 정의 에러 핸들러(custum error handler)이다. JSON을 사용하여 마이크로서비스를 구현할 때는 클라이언트에 보내는 모든 동작을 JSON 포맷으로 맞추는 것이 관례이다. 마이크로서비스를 사용하는 클라이언트는 모든 응답을 파싱할 필요가 있기 때문이다. 플라스크는 app의 에러 처리를 조정할 수 있는 여러 함수를 제공한다. 첫 번째는 @app.route 처럼 동작하는 @app.errorhandler 데코레이터다. 이 데코레이터는.. [프로그래머스] 문자열 압축(Python 풀이) - 2020 KAKAO BLIND RECRUITMENT https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 더보기 문제 설명 데이터 처리 전문가가 되고 싶은 **"어피치"**는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습.. [Python] 프로퍼티(Property)-getter, setter, deleter 프로퍼티(property) - 인스턴스 메서드를 인스턴스 변수와 같이 다룸 프로그램을 작성하다 보면 인스턴스 변수의 값을 사용하거나 확인하고 싶은 경우가 있습니다. 예를들어 전자상거래 프로그램에서 할인을 할 때 할인 후 가격은 원래 가격에서 계산해서 반환해야하며, 할인율(%)에 음숫값이나 100을 넘는 값을 설정했을 때는 에러처리를 해야합니다. 파이썬에서는 이런 요청을 실현하기 위한 구조로서 프로퍼티(property) 를 제공합니다. 다음 코드는 실제 프로퍼티 를 사용한 예제입니다. class Book: def __init__(self, raw_price): if raw_price book = Book(2000) >>> book.discounts # 초기 할인율 0 0 >>> book.price # 초기.. [Python] Flask Signal (Blinker) 시그널 플라스크는 시그널(signal) 라이브러리인 Blinker 를 통합한다. 이 라이브러리는 특정 이벤트를 '구독' 했다가 이벤트가 발생했을 때 필요한 함수를 실행한다. 여기서 말하는 이벤트는 고유한 이름표를 갖고 blinker.signal 클래스를 통해 생성된 인스턴스이다. 플라스크 0.12는 요청을 처리하는 과정 중 중요한 순간마다 총 10개의 시그널을 발생시킨다. (시그널은 다음 사이트 참고) 시그널은 connect 함수를 사용해서 특정 이벤트를 등록할 수 있다. 시그널은 코드가 시그널의 send 함수를 호출하면 트리거된다. send 함수는 추가적인 인수를 받아서 모든 등록된 함수에 데이터를 전달한다. 다음 예제에서는 request_finished 시그널에 finished 함수를 등록한다. 우선.. 이전 1 2 3 4 5 다음