Skip to content

Instantly share code, notes, and snippets.

View stebunovd's full-sized avatar

Denis Stebunov stebunovd

View GitHub Profile
@stebunovd
stebunovd / sns.py
Last active March 8, 2023 16:51
SNS webhook signature verification
import base64
import re
from urllib.parse import urlparse
import requests
from M2Crypto import X509
_signing_cert_cache = {}
_cert_url_re = re.compile(
@stebunovd
stebunovd / testtest11.html
Last active January 10, 2021 13:42
DOM manipulation vs. CSSOM manipulation: simple speed test
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>DOM vs CSSOM manipulation: simple speed test</title>
<style type="text/css">
div {
background-color: #ccc;
display: inline-block;
height: 10px;
@stebunovd
stebunovd / code-challenges.md
Last active September 16, 2020 14:59
Python code challenges

These are code challenges for the “Python Developer” position at Lexipol. It’s enough to complete only one of them, so choose whichever one you like more.

1. Reddit proxy

Implement a simple proxy server for www.reddit.com that can be run locally on a specified port. It must modify the text content by adding the ™ symbol after any 5-letter word.

For example:

  1. Настройте интеграции с вашими системами - мы поддерживаем Github, Gitlab, Bitbucket, Jira и Slack. Если вы используете другие системы в работе - пожалуйста, дайте нам знать (почта: support@teamplify.com).

  2. После настройки интеграций система автоматически импортирует пользователей из подключенных вами систем, и вы сможете их добавить в команды. По умолчанию, в вашей организации уже создана одна команда Developers, вы можете добавлять пользователей в нее, или же создать больше команд.

  3. Когда пользователи добавлены в команды, вы можете анализировать их активность в разделе Календарь. Пожалуйста, обратите внимание, после настройки интеграций может пройти некоторое время, прежде чем данные окончательно синхронизируются (обычно до пары часов). Это касается только первоначальной настройки, в дальнейшем новые данные будут попадать в Teamplify с минимальной задержкой.

  4. Далее вы можете настроить автоматические интеллектуальные уведомления для ваших команд в Slack или в почту. Мы поддерживаем 8 типов уведомл

@stebunovd
stebunovd / crash output
Created December 5, 2017 18:36
JS GraphQL v1.6.2 plugin failure
JS GraphQL listening on http://127.0.0.1:49975/js-graphql-language-service
Setting Project Dir '/Users/dvs/Dropbox/Code/jirobot'
Watching '/Users/dvs/Dropbox/Code/jirobot/graphql.config.json' for changes.
Watching '/Users/dvs/Dropbox/Code/jirobot/code/frontend/graphql.schema.json' for changes.
Loaded schema from '/Users/dvs/Dropbox/Code/jirobot/code/frontend/graphql.schema.json': {"data":{"__schema":{"queryType":{"name":"Query"},"mutationType":null,"subscriptionType":null,"types":[{"kind":"OBJECT","name":"Query","description":null,"fields":[{"name":"viewer","description":null,"args":[],"type":{"kind":"OBJECT","name":"Viewer","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Viewer","description":null,"fields":[{"name":"id","description":"The ID of the object." ...
Loaded schema from '/Users/dvs/Dropbox/Code/jirobot/code/frontend/graphql.schema.json': {"data":{"__schema":{"queryType":{"name":"Query"
import base64
import hmac
import os
import time
from hashlib import sha256
from django.conf import settings
from storages.backends.s3boto import S3BotoStorage