Pull to refresh
1
0
Grisha @AB_AG

Аналитик в сфере E commerce

Send message

Пишем «Змейку» в 12 строк кода на PyTorch

Level of difficultyEasy
Reading time5 min
Views7.6K

Давайте рассмотрим, как использовать линейную алгебру и тензорные операции, чтобы создать всем известную игру в 12 строк.

Будем использовать PyTorch и NumPy. Можно было использовать даже какую-то одну из библиотек, но у PyTorch прекрасное Tensor API, а в NumPy есть хорошая функция под названием unravel_index, которую мы и будем использовать.

Читать далее
Total votes 18: ↑21.5 and ↓-3.5+25
Comments10

Автоматическая подсветка лестницы с помощью Arduino

Reading time4 min
Views238K
Добрый день! В этом посте хочу поделится с хабро сообществом о том, как мне довелось сделать автоматическое освещение лестницы в своем двухэтажном коттедже. Начну с небольшого грустного отступления.
Около четырех месяцев назад, возвращаясь с работы в полной темноте, я не удачно подскользнулся и сломал две плюсниевых кости (пальца) на левой ступне. Целый месяц пришлось провалятся в постели, так как наступать на ногу было невероятно больно. Потом еще пол месяца хромал без гипса (у кого были переломы меня сразу поймут). После этой печальной истории я начал задумываться об автоматизации освещения ступенек лестницы. Немного поиграв с поисковыми запросами, нашел для себя очень простое решение в этом блоге, как раз на основе моего любимого микроконтроллера Arduino. Схема не вызвала каких то трудностей, но отпугивало количество и длина проводов, которые мне предстояло смонтировать. До этого ничего подобного не делал. Покупать готовые решения или нанимать кого-то — накладно. В течении месяца заказал нужные комплектующие и не торопясь смонтировал за несколько дней на свою лестницу. Всем кому интересно, что из этого получилось, добро пожаловать под кат (осторожно трафик)!
Читать дальше →
Total votes 155: ↑154 and ↓1+153
Comments134

Книги, о которых редко говорят

Reading time4 min
Views46K

Дал ему подборку книг, он приходит месяца через два, и с порога такой сразу:
— Я с друзьями не могу разговаривать.
— Ну да есть такой, недостаточек.
интервью Жака Фреско

Читать далее
Total votes 91: ↑89 and ↓2+87
Comments26

Сказ о том, как я за год решил более 600 leetcode задач

Level of difficultyEasy
Reading time7 min
Views75K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Total votes 150: ↑141 and ↓9+132
Comments407

Сделаем для вас биометрию. Отказаться не получится

Level of difficultyEasy
Reading time4 min
Views60K

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

В октябре 2023 банк Тинькофф начал предлагать своим клиентам перевести имеющиеся у него фотографии в биометрический формат (и потом загрузить их в Единой биометрической системе — ЕБС). Причём от этого предложения было не так легко отказаться (для удобства клиентов кнопки "Не хочу" просто не было предусмотрено). Обо всём этом уже писали ранее.

Зачем это всё было надо для Тинькова? Вопрос сложный. Может быть из любви к своим клиентам, может быть чтобы заполнить пустующую ЕБС, может быть для ещё каких-то важных целей, неведомых простым смертным. Только топ-менеджмент Тинькова может дать ответ на этот вопрос, но это нам и не важно. Интереснее что из всего этого получилось.

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

Читать далее
Total votes 199: ↑198 and ↓1+197
Comments222

Отслеживаем прогресс выполнения в Python

Reading time2 min
Views145K

Зачем нужны индикаторы прогресса?


Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.


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

Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments11

Вдыхайте DIY: Создаем собственную умную вентиляцию для дома

Level of difficultyEasy
Reading time6 min
Views38K


Зачем всё это?


Создать комфорт в квартире не самая простая задача для жителя мегаполиса, для меня это немыслимо без тишины и чистого воздуха.

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

На стадии ремонта я понимал, что хочу автоматизировано контролировать качество воздуха в квартире, также знал о вероятных проблемах с запотеванием окон. Понимания по производителю будущей приточной вентиляции не было, поэтому заранее в стене было проделано отверстие диаметром 160 мм с запасом под воздуховод диаметром 150 мм, и проведены провода электропитания в предполагаемое место установки приточной вентиляции.
Читать дальше →
Total votes 86: ↑86 and ↓0+86
Comments136

OpenConnect: недетектируемый VPN, который вам понравится

Level of difficultyMedium
Reading time15 min
Views222K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Total votes 325: ↑324 and ↓1+323
Comments342

Искусство создания понятных графиков

Level of difficultyMedium
Reading time7 min
Views22K

Эта статья — субъективное эссе о хороших и плохих практиках в визуализации данных, в нём приведены примеры и объяснения.

В папке Scripts/ на Github есть файлы .Rmd, генерирующие показанные ниже графики. Для их работы требуются R, RStudio и пакет rmarkdown.

Читать дальше →
Total votes 93: ↑92 and ↓1+91
Comments10

Доступная система видеонаблюдения с охраной на дачу за 60 минут

Reading time24 min
Views88K

Речь пойдет о сборке, настройке и запуске охранной системы с датчиками, камерой, хранением видеозаписей на удаленном домашнем NAS, встроенным UPS, web-интерфейсом и оповещением через Telegram.

Чтобы быть предельно кратким, оформил статью в стилистике hackster.io. Информация рассчитана на читателей с опытом работы с одноплатным компьютером Raspberry и пониманием принципов работы VPN.

Читать далее
Total votes 128: ↑125 and ↓3+122
Comments163

Clickhouse, Grafana и 3000 графиков. Как построить систему быстрых дашбордов

Reading time17 min
Views28K

Меня зовут Валя Борисов, и я — аналитик в команде Ozon. Задача нашей команды — создавать инструменты для мониторинга и анализа скорости. 

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

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

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

Допинг для аналитики: почему стоит обратить внимание на Apache Zeppelin

Reading time6 min
Views36K
Все рано или поздно приходят к аналитике за данными. В больших многопользовательских играх (да и синглплеере) без этого уже вообще никуда. Сколько пользователей предпочитают новый режим; где слабые места монетизации; куда смотреть геймдизайнерам, чтобы повысить вовлеченность игроков; и еще миллион вещей — подсчитывается вообще всё. И всё это влияет на решения, которые потом принимают разработчики.

А вот внедряют аналитику все по-разному: кто-то покупает сторонние решения (просто, но негибко), кто-то пишет под себя (долго и дорого), а кто-то пока просто считает несколько базовых метрик силами программистов и не заморачивается.

Поэтому я расскажу об инструменте, который будет полезен для всех. Кто только начинает выстраивать аналитику — сможет «на коленке» создать систему с нуля, а компании с уже готовыми решениями — «бустануть» свой подход.
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments22

Пишем на Python как на Rust

Level of difficultyMedium
Reading time17 min
Views30K

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

Читать далее
Total votes 104: ↑99 and ↓5+94
Comments42

5 полезных библиотек Python (с примерами)

Level of difficultyEasy
Reading time6 min
Views27K

Python остается топ 1 среди языков программирования по версии многих журналов и сайтов. Популярность языка и его большое сообщество привело к тому, что сейчас для Python существует огромное число библиотек. К сожалению, большая часть этих библиотек была создана энтузиастами и больше не поддерживается. Давайте посмотрим на 5 хороших развивающихся библиотек, которые могут помочь при решении практических задач.

Ознакомиться
Total votes 56: ↑54 and ↓2+52
Comments14

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

Level of difficultyMedium
Reading time5 min
Views52K

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

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

А не синьор ли ты часом? О чем спрашивают на собеседованиях для синьоров

Reading time8 min
Views16K

Десять лет назад Евгений Афонасьев, совсем еще зеленый джун, попал на первый в своей жизни PyCon, который проходил на турбазе под Екатеринбургом. С тех пор многое изменилось, PyCon вырос и перебрался в Москву, а Евгений превратился в опытного python-разработчика, который уже сам выступает на конференциях и проводит собеседования. Именно о том, как проводятся собеседования на позицию синьора, он рассказал на PyCon Russia 2022. Доклад признали лучшим докладом конференции, поэтому мы решили с вами поделиться его текстовой версией. Далее — от лица Евгения. 

Читать далее
Total votes 8: ↑5 and ↓3+2
Comments11

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

Reading time13 min
Views74K
Вот таких тирекс-тянок выдает нейросеть

Текст про Midjourney привлек внимание, и в комментариях наметилась дискуссия про Stable Diffusion. Аргументы убедили меня попробовать SD самостоятельно, но вскоре я понял, что это не самая простая задача. Сообщество любителей Stable Diffusion произвело на свет множество удобных инструментов, которые своим количеством и сложностью могут отпугнуть новичков.

Всю неделю, что я экспериментировал с нейросетью, я боролся с желанием SD добавлять вторичные гендерные признаки по моим запросам и грустил, смотря на результаты генерации котиков. О своих страданиях частично писал в личном Telegram-канале — подписывайтесь! В этом же тексте — собрал основные советы по работе со Stable Diffusion и подвел итог, сравнив эту нейросеть с Midjourney.
Читать дальше →
Total votes 106: ↑105 and ↓1+104
Comments53

Слепые капитаны ищут дно: почему российский бизнес – это болото, в котором барахтаются идиоты-«менеджеры»

Reading time12 min
Views142K

Владельцы компаний часто жалуются на сложности ведения бизнеса: людишки уже не те, кредиты дорогие, страна тоже не та. Так ли это на самом деле? Частично да, но есть и другие нюансы. Главная проблема – совокупность негативных факторов: общество зацементировалось и развивается не потому что, а вопреки.

Как часто вас подставляли или динамили разные невменяемые люди на работе? Бывало ли так, что вы орали матом в бессилии и хотели кому-нибудь сломать ноги за эпические фейлы? Сейчас я расскажу о том, почему так всё складывается.

Читать далее
Total votes 301: ↑225 and ↓76+149
Comments1361

Система увлажнения воздуха для дома или квартиры

Reading time5 min
Views37K

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

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

Основные архитектурные шаблоны построения ПО

Reading time7 min
Views29K

Краткий обзор восьми наиболее востребованных архитектурных шаблонов с иллюстрациями:

Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments6
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Data Analyst, Data Engineer
Lead
SQL
Python
Git
Database