Pull to refresh
0
0
Александр Волков @nezaicev

программист

Send message

Django, PostgreSQL, Gunicorn/uWSGI, Nginx

Level of difficultyHard
Reading time12 min
Views15K

Подробное описание шагов при деплое web-проекта на Django с PostgreSQL, Nginx, Gunicorn.

Задачи статьи - агрегировать информацию из мануалов по деплою, избавить читателя от повторений ошибок и описать теоретически, для чего делаются те или иные шаги, чтобы избежать бездумного копирования и вопросов "почему у меня не работает".

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments4

Прием платежей в крипто валютах в Telegram боте через WalletPay и Python/Flask

Level of difficultyEasy
Reading time3 min
Views26K

Приветствую сообщество.

Бот Telegram @wallet недавно предоставил API для приема платежей в сторонних Telegram ботах. Из крипто валют поддерживаются BTC, TON, USDT.

Необходимо зарегистрироваться на сайте, предоставить сведения о подключаемом к API боте, пройти процедуру идентификации (биометрия для физических лиц), дождаться одобрения заявки и назначения размера комиссии для ваших платежей. У меня процедура заняла чуть более суток.

После одобрения заявки получаете доступ в личный кабинет, где нужно сгенерировать ключ для доступа к API WalletPay.

После этого можно приступать к продажам. Покупателю нужно предоставить ссылку для оплаты через WalletPay товаров/услуг вашего бота. Код для получения этой ссылки может быть таким.

Читать далее
Rating0
Comments9

С чем едят микросервисы

Level of difficultyEasy
Reading time5 min
Views4.5K

В последние годы понятие микросервисов получило широкое распространение. Многие программные продукты построены на основе данной архитектуры. В этой статье мы поговорим о том, для чего нужны микросервисы, какие проблемы можно решить с их помощью.

Но для начала поговорим о том, как было плохо раньше.

Читать далее
Total votes 20: ↑9 and ↓110
Comments6

Мы способны сами снизить свой биологический возраст — исследование

Reading time6 min
Views32K


Меня, как и, надеюсь, многих здесь, волнует свое здоровье. Особенно по мере того, как становлюсь заметно старше тридцати. Я уверен, что это важнее работы и зарплаты. Можно быть сколько угодно гениальным программистом, но если у тебя весь организм откажет в сорок лет, ты заработаешь меньше, чем посредственный программист, спокойно проработавший до шестидесяти. Да и потом потратишь на лечение больше.


Поэтому было приятным вот это новое исследование, проведенное Гарвардом и Медицинской школой Университета Дьюка. Которое показало, что люди могут эффективно омолаживаться, восстановившись после стрессовых событий. Фонтан молодости не обязателен.

Читать дальше →
Total votes 60: ↑37 and ↓23+28
Comments92

Django Rest Framework для начинающих: создаём API для чтения данных (часть 2)

Reading time8 min
Views35K

В прошлой части мы в общих чертах рассмотрели, как устроен REST API на DRF при работе на чтение. Едва ли не самый сложный для понимания этап — сериализация. Вооружившись исходным кодом, полностью разберем этот этап — от приема набора записей из модели до их преобразования в список словарей.


Важный момент: мы говорим о работе сериалайзера только на чтение, то есть когда он отдаёт пользователю информацию из базы данных (БД) сайта. О работе на запись, когда данные поступают извне и их надо сохранить в БД, расскажем в следующей статье.


Код учебного проекта, который используется в этой статье, доступен в репозитории на Гитхабе.


Читать дальше →
Total votes 4: ↑3 and ↓1+4
Comments0

Вкатываемся в ангельский без репетиторов

Level of difficultyEasy
Reading time4 min
Views18K

Привет, {{ username }}!

Добро пожаловать в очередную статью про изучение английского.

Постараюсь емко обобщить свой опыт самостоятельного изучении языка от A1 до B2 за 1-2 года. Информация релеванта для технарей 25+ лет, однако подойдет для широкого круга интересующихся.

Мнение автора субъективно. Представленные материалы, инструменты и best practices дадут вам базовое знание языка, однако не смогут подготовить к собеседованию, IELTS/TOEFL, чтению классической литературы и т.п.

Вкатиться
Total votes 15: ↑13 and ↓2+12
Comments16

Перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures»

Reading time3 min
Views65K
imageПривет, Хабр!

Мы (@ali_aliev и avenat) с удовольствием представляем вашему вниманию перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures» от Брэда Миллера (Brad Miller) и Дэвида Ранума (David Ranum) из Luther College, что в Айове, США.

О чём?

В учебнике подробно рассматриваются, объясняются и анализируются наиболее часто используемые структуры данных и алгоритмы. Изложение идёт от простого (что такое алгоритм, как оценить его производительность) к сложному (деревья, графы) с живыми примерами и кодом. В качестве языка программирования выбран Python, а для тех, кто с ним плохо знаком, в первой главе есть большой раздел с его концентрированным описанием.

Авторы рассказывают о таких структурах данных, как стеки, очереди (в том числе с приоритетом), деки, хэш-таблицы, списки, деревья и графы. Последним двум вообще посвящены весьма не маленькие главы. Изложение не просто описательное: для каждой структуры предлагается вариант (а иногда и не один) её реализации на Python. Упор, естественно, делается на объектно-ориентированное программирование: создаётся класс, к нему пишутся методы, некоторые из которых авторы оставляют читателям для самостоятельной доработки. Затем идут примеры использования рассмотренной структуры и описание алгоритмов с её участием.

Одна из глав учебника посвящена рекурсии, в том числе её графическому представлению (фракталы). Разбирается несколько известных рекурсивных задач, а в конце наглядно демонстрируется, что эта методика, несмотря на её элегантность, отнюдь не «серебряная пуля».

Не обделены вниманием и классические алгоритмы для сортировки и поиска. И, естественно, для каждого из них анализируются производительность и «подводные камни», а так же даются рекомендации по применению. В последних главах, посвящённых деревьям и графам, даётся много материала об их разновидностях и связанных с ними алгоритмах. Изложение тут становится более сжатым, многие моменты просто описываются с тем, чтобы после прочтения главы читатель реализовал их самостоятельно.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments19

Плохие практики разработки, которые до сих пор встречаю в стартапах

Level of difficultyMedium
Reading time5 min
Views53K

Привет, я Виктор. Двенадцать лет назад я пришел в веб-студию в Самаре. Так начался мой путь в разработке. У нас не было гита, CI/CD, тестовых стендов и много чего еще. Я видел, как это мешало развитию команды и бизнеса. Приходилось на ощупь собирать грабли, открывать для себя хорошие практики и внедрять их. С тех пор я поработал старшим разработчиком в российском финансовом холдинге и немецком b2b-стартапе. Был тимлидом в фудтех-проекте, СTO в образовательных стартапах для российского и латиноамериканского рынка — и почти везде поначалу натыкался на похожие проблемы. Недавно переехал в Израиль, стал консультировать стартап. И что бы вы думали…

Читать далее 👉
Total votes 92: ↑88 and ↓4+102
Comments126

Пет-проект, который пока не умер

Reading time7 min
Views8.5K

Представьте, что вы решили завести маленький пет-проект. Вернее даже не вы решили, а вас попросила матушка помочь с одной рутинной задачей, которая возникает в ее браузерной игре. Вам увиделось множество вещей, которые можно автоматизировать и оптимизировать в процессе, который может занимать до 6 часов непрерывного и утомительного труда в день, и так родился проект.

Дальнейшая судьба проекта, конечно, зависит от многих факторов и скорее всего вы его забросите (как и остальные ваши 150 пет-проектов, которые никто не увидит), но даже в самом рождении этого проекта необходимо решить множество архитектурных и религиозных вопросов, а своим опытом их решения я решил поделиться с вами, чтобы вы не допускали подобных ошибок или указали мне на те ошибки, которые возможно я еще не заметил.

Читать далее
Total votes 11: ↑8 and ↓3+8
Comments9

CI/CD для AWS Lambda через GitHub Actions

Reading time4 min
Views6.5K

Сегодня я расскажу, как без лишних усилий настроить CI/CD pipeline из GitHub в AWS Lambda с помощью GitHub Actions. Логика такая — когда мы пушим изменения в main-ветку репозитория на GitHub они прорастают в AWS и обновляет продовую версию функции.

Читать далее
Total votes 11: ↑9 and ↓2+10
Comments4

Автоматизируем Telegram-канал с AWS Lambda и DynamoDB

Reading time7 min
Views7.5K

В этом материале вы узнаете, как создать Telegram-канал, который будет сам обновляться, получая данные из открытых источников. Используем Python, AWS Lambda, DynamoDB и BeautifulSoup.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments3

Как я фрилансил 8,5 лет без отпуска и выгорания и не на удаленке

Reading time7 min
Views18K

Вот уже 20 лет я работаю программистом-фрилансером, и этот эксперимент продолжается. Однажды я увлекся, я работал 8,5 лет без отпуска. Не дистанционно.

Анализируя этот период, я понял, что не выгорал. Вокруг сейчас все только и говорят про выгорание, а как же так получилось, что я не познал сей модный недуг? Или всё-таки познал? Надо разобраться.

Читать далее
Total votes 28: ↑21 and ↓7+17
Comments27

Гайд по написанию и рефакторингу компонентов, которые хочется переиспользовать

Reading time10 min
Views14K
Случалось ли вам, выполняя какую-то задачу, понять, что самый простой путь — нажать Сtrl+C, Сtrl+V: перетащить из соседней папочки пару файлов, поменять пару строчек, и будет ок? Повторялось ли это ощущение? Я хочу рассказать о том, как боролся с этой проблемой и к чему пришёл вместе с командой. Назовём это решение «универсальные компоненты» (если у кого-то будет более удачное название для концепции, жду в коментариях). Примеры буду приводить в основном на React, но концепции будут общие.
Читать дальше →
Total votes 15: ↑11 and ↓4+10
Comments6

Креатин для «айтишника»: как спортивная добавка помогает при сидячем образе жизни

Reading time3 min
Views29K

Креатин — одна из самых хорошо изученных, безопасных и эффективных добавок. Его основная функция — буст энергии во время тренировок. Это самое изученное поле применения креатина. Но мы с вами пойдём дальше и выясним, кто ещё извлечёт пользу кроме любителей спорта.

Читать далее
Total votes 13: ↑8 and ↓5+5
Comments29

Мы создали автоматизированный YouTube-канал на Python и он стал виральным

Reading time6 min
Views23K
image

Статистика канала Most Popular TikTok Compilations в YouTube Analytics за 365 дней (8 октября 2019 года — 6 октября 2020 года). 16,7 миллиона просмотров, 911,1 тысяч часов просмотра и 51,2 тысяч подписчиков.

С чего всё началось: история


В 2019 году мы с друзьями искали проект, которым нам было бы интересно заниматься летом. Я заходил на YouTube и как обычно просматривал финансовые каналы разных ютуберов. Одного из них звали «Biaheza». Его видео под названием «Как люди зарабатывают миллионы долларов на TikTok» привлекло моё внимание. Почему? Потому что эти каналы генерируют миллионы просмотров, то есть должны и приносить большую прибыль. Но так ли это на самом деле?

Мне всегда было любопытно, как монетизируются каналы. Как монетизировать контент, владельцем которого ты не являешься? Спрашивают ли они разрешение на использование чужого контента? Как насчёт музыки, которая используется в компиляциях? Но самое важное…

Как создаются компиляции?

Честно говоря, не представляю, чтобы мне было весело создавать эти компиляции копипастингом одного ролика за другим. Я разработчик ПО, поэтому первым делом мне в голову пришла мысль…

Почему бы не автоматизировать этот процесс?
Читать дальше →
Total votes 61: ↑57 and ↓4+64
Comments14

Python и чистая архитектура в 2021 году

Reading time11 min
Views25K

Прошло уже почти 3 года с тех пор, как я впервые воспользовался чистой архитектурой на практике. С тех пор я побывал на многочисленных конференциях, где выступал с докладами на эту тему (вот, например, доклад Clean Architecture in Python с конференции PyGotham 2018). Кроме того, я написал статью о чистой архитектуре на Python, которая попала в рассылку RealPython.com … но сейчас заканчивается 2021 год, и мы ушли далеко вперед. Давайте рассмотрим, как развился Python, изучим разные крутые библиотеки, благодаря которым реализовывать чистую архитектуру на Python сегодня стало гораздо проще.

Сначала вспомним о том, зачем она нужна.

Читать далее
Total votes 9: ↑8 and ↓1+8
Comments1

Практичный Go: советы по написанию поддерживаемых программ в реальном мире

Reading time48 min
Views57K
Статья посвящена лучшим практикам написания кода Go. Она составлен в стиле презентации, но без обычных слайдов. Постараемся кратко и чётко пройтись по каждому пункту.

Для начала следует договориться, что значит лучшие практики для языка программирования. Здесь можно вспомнить слова Расса Кокса, технического руководителя Go:

Программная инженерия — то, что происходит с программированием, если добавить фактор времени и других программистов.

Таким образом, Расс различает понятия программирования и программной инженерии. В первом случае вы пишете программу для себя, во втором создаёте продукт, над которым со временем будут работать и другие программисты. Инженеры приходят и уходят. Команды растут или сокращаются. Добавляются новые функции и исправляются ошибки. Такова природа разработки программного обеспечения.
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments14

[Личная история] Как живется разработчику в Чехии. Поиск работы, любовь к Python, кнедлики и и чешское пиво

Reading time8 min
Views54K


Чехия кажется центром Европы — развитым, красивым и с достойными зарплатами. Но насколько хорошо здесь жить IT-иммигранту? И не лучше ли выбрать соседнюю Германию?


Мы поговорили с Алексеем Рембишем (/u/rembish/), который в Чехии вырос до руководителя бэкенд-разработки и архитектора ПО.


О поисках работы в Чехии, получении гражданства, зарплатах, кулайде и свиной рульке. Том, какое пиво обязательно стоит попробовать, и почему в Чехии у вас вряд ли взлетит стартап.


Будет много фото. Здесь есть, что показать!

Читать дальше →
Total votes 34: ↑25 and ↓9+26
Comments177

Vue.js и слоистая архитектура: вынесение бизнес-логики в сервисы

Reading time8 min
Views29K

Когда нужно сделать код в проекте гибким и удобным, на помощь приходит разделение архитектуры на несколько слоев. Рассмотрим подробнее этот подход и альтернативы, а также поделимся рекомендациями, которые могут быть полезны как начинающим, так и опытным разработчикам Vue.js, React.js, Angular. 

В старые времена, когда JQuery только появился, а о фреймворках для серверных языков лишь читали в редких новостях, веб-приложения реализовывали целиком на серверных языках. Зачастую для этого использовали модель MVC (Model-View-Controller): контроллер (controller) принимал запросы, отвечал за бизнес-логику и модели (model) и передавал данные в представление (view), которое рисовало HTML. 

Объектно-ориентированное программирование (ООП) на тот момент только начинало формироваться, поэтому разработчики зачастую интуитивно решали, где и какой код надо писать. Таким образом, в мире разработки зародилось такое понятие, как «Божественные объекты», которые первоначально отвечали практически за всю работу отдельных частей системы. Например, если в системе была сущность «Пользователь», то разработчику следовало создать класс User и в нем писать всю логику, так или иначе связанную с пользователями. Без разбиения на какие-то ещё файлы. И если приложение было большим, то такой класс мог содержать тысячи строк кода.

Читать далее
Total votes 9: ↑7 and ↓2+7
Comments25

5 фразовых глаголов с get и 33 их значения, или Почему студенты не любят английский

Reading time7 min
Views85K

Фразовые глаголы — это отдельная боль для студента, который изучает английский как второй. Мало того, что каждый отдельный предлог меняет значение глагола полностью, так и еще их просто целая куча.

Мы решили запустить новую рубрику и рассказывать про фразовые глаголы весело. Чтобы не зубрить их, а нормально запоминать на примерах из фильмов и сериалов.

И начнем со слова «get». По нашему опыту, студенты делают во фразовых глаголах с ним огромное количество ошибок. Так что не будем затягивать, поехали!

Читать далее
Total votes 27: ↑17 and ↓10+12
Comments20
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity