Pull to refresh
0
0.1
Максим Медведев @reimax

Программист

Как добавить отзыв на Яндекс.Маркет

Reading time 5 min
Views 8.3K
Internet marketing *Content-marketing *Business Models *
Opinion

Как водится, сперва - краткая предыстория.

Один цветочный магазин, а точнее агрегатор, набрал на мартовские праздники заказов в разы больше, чем смог бы обработать, в результате, не менее 300 получательниц (согласно ругани в группе ВК данного сервиса) получили свои подарки либо с задержкой в 5-8 часов, либо на следующий день (а самые удачливые, через день).

Данный инцидент (моей девушке пришлось ждать доставку 7 марта с 10:00 до 18:30) заставил меня вспомнить о существующей системе отзывов, лидером в которой, как мне тогда казалось, является именно Яндекс.Маркет.

Читать далее
Total votes 176: ↑172 and ↓4 +168
Comments 141

Лучшие книги по Python 2021-2022 года: для новичков и профи

Reading time 6 min
Views 114K
Сбер corporate blog Python *Programming *Professional literature *Studying in IT

Привет, Хабр! Поговорим о книгах?

Есть мнение, что люди начали читать меньше и всё чаще многие потребляют уже готовый контент в виде роликов на YouTube или сокращённых вариантов различных произведений. Но это вряд ли, ведь если бы люди не читали книги, могли бы тогда развиваться отечественные и зарубежные сервисы для любителей чтения? К примеру, LitRes, Bookmate и другие. 

И да, в IT-команде Сбера много книголюбов с самыми разными предпочтениями. А поскольку мы на Хабре, то поговорим сегодня о технической литературе. Точнее, о Python и лучших книгах по этому языку для профи, программистов среднего уровня и начинающих. Подборка  ― уже под катом.

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

Депрекации в грядущем PHP 8.2, о которых вам следует знать

Reading time 4 min
Views 9.9K
OTUS corporate blog PHP *Programming *
Translation

Если вы не читали мою предыдущую статью о нововведениях в php 8.2, вы можете найти ее здесь.

Команда PHP не перестает добавлять новые фичи и исправления с каждым релизом. Но одними фичами и исправлениями дело не обходится. Иногда команде приходится принимать трудное решение отказаться от чего-либо, чтобы стандартизировать язык. Мы называем это депрекацией (deprecation), а про таковые фичи иногда говорим, что они устарели. И PHP 8.2 не станет исключением. В нем есть несколько важных депрекаций.

Читать далее
Total votes 15: ↑13 and ↓2 +11
Comments 51

Как получать музыку из ВКонтакте в 2022 году

Reading time 5 min
Views 17K
Python *VK API *
Sandbox

При проектировании проекта, я решил разделить его на две части. Первая — получение музыки из ВК. Вторая — сам бот. И начать я решил с первой части.

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

Я решил посмотреть что сейчас отдает ВКонтакте при воспроизведении записи и полез во вкладку network, вот что я там увидел...

Читать далее
Total votes 57: ↑55 and ↓2 +53
Comments 17

Как ускорить выборку в 1с Битрикс в 20 раз

Reading time 4 min
Views 6.7K
PHP *1С-Bitrix *1C *
Sandbox

Как ускорить 1С БИТРИКС и снизить кол-во запросов к БД используя ядро D7.

Пример выборки элементов IBlock с пользовательскими свойствами в один запрос.

Читать далее
Total votes 12: ↑11 and ↓1 +10
Comments 11

Наведите порядок! Очистка вашего PHP-приложения с помощью PHPStan

Reading time 8 min
Views 4.7K
OTUS corporate blog PHP *Programming *
Translation

За то время, что я работаю PHP-разработчиком, способ написания и доставки кода сильно изменился. В ранних приложениях Symfony и Zend Framework группы PHP-FIG не существовало, а стандарты кодирования определялись на усмотрение того, кто их писал. На протяжении тех лет, когда мы наблюдали широкое распространение стандартов PSR, надежные инструменты статического анализа были несколько разрозненными. Так было до настоящего времени, пока не вышла версия 1.0 PHPStan. Давайте отметим это событие, ознакомившись с некоторыми ее возможностями.

Читать далее
Total votes 12: ↑12 and ↓0 +12
Comments 4

Популярные расширения для VS Code 2022

Reading time 2 min
Views 34K
High performance *Website development *Interfaces *
Sandbox
Translation

В виду того, что мне срезали подписку на Medium решил поддерживать отечественные IT ресурсы. Попробую кидать интересные статьи с переводом на русском, а правообладатели пусть сами разбираются, я честно платил за подписку.

На текущий момент VS Code остается средой разработки, которая доступна в период санкций, когда JetBrains отказался продавать лицензии, про Visual Studio даже не узнавал. Сам использую VS Code много лет в разных стеках. VS Code предоставляет возможности разработки практически во всех направлениях: веб-разработка, мобильные приложения, часто встречаются приложения для встраиваемых систем. Ниже перечислены наиболее популярные расширения, которые облегчают разработку приложений.

Atom One Dark Theme

При всем изобилии тем в VS Code тема Atome One Dark наиболее популярная, потому-что имеет наиболее удачный контраст и прекрасно выглядит.

Читать далее
Total votes 24: ↑14 and ↓10 +4
Comments 14

Массовая загрузка, обработка и выгрузка изображений в Битрикс на Python3

Reading time 11 min
Views 6.5K
PHP *Python *SQL *1С-Bitrix *
Sandbox

В этой статье мы популярно объясняем на собственном опыте как организовать массовую выгрузку, обработку и загрузку фотографий товаров из Bitrix, используя Python и минимальное количество SQL. Для прочтения будет полезно людям, выполняющим схожие задачи, не будучи при этом знакомыми с Битриксом.

Читать далее
Total votes 7: ↑4 and ↓3 +1
Comments 13

Быстрый, мощный интерфейс на Python

Reading time 15 min
Views 90K
SkillFactory corporate blog Python *Programming *Interfaces *C *
Tutorial
Translation

Dear PyGui принципиально отличается от других фреймворков GUI Python. Рендеринг на GPU, более 70 виджетов, встроенная поддержка асинхронности — это лишь некоторые возможности Dear PyGui. Руководством по работе с этим пакетом делимся к старту курса по разработке на Python.

Читать далее
Total votes 63: ↑60 and ↓3 +57
Comments 47

Преобразуем проект на Python в исполняемый файл .EXE

Reading time 3 min
Views 201K
VDSina.ru corporate blog Python *Programming *
Tutorial
Translation

С помощью Auto PY to EXE можно с лёгкостью преобразовывать файлы .py в файлы .exe. Благодаря этому ваш проект на Python будет работать как десктопное приложение и вы сможете запускать приложение на других машинах без необходимости установки Python.

В этой статье я расскажу, как преобразовать проект на Python в исполняемый файл. Решение будет работать вне зависимости от количества файлов .py в приложении. Стоит учесть, что Auto PY to EXE работает только с Python 3.5 или выше.
Читать дальше →
Total votes 45: ↑30 and ↓15 +15
Comments 11

8 команд для Python по работе с файлами и файловой системой, которые обязательно нужно знать

Reading time 4 min
Views 63K
Selectel corporate blog Python *Programming *Lifehacks for geeks
Translation

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

Эта статья предназначена как раз для начинающих разработчиков. В ней описаны 8 крайне важных команд для работы с файлами, папками и файловой системой в целом. Все примеры из этой статьи размещены в Google Colab Notebook (ссылка на ресурс — в конце статьи).
Читать дальше →
Total votes 60: ↑46 and ↓14 +32
Comments 15

Среда разработки PHP на базе Docker

Reading time 12 min
Views 44K
Website development *PHP *MySQL *PostgreSQL *DevOps *

Решение на базе Docker, которое позволит создать на локальном компьютере универсальную среду разработки на PHP за 30 - 40 минут. Несколько версий PHP — 7.3 и 7.1 с набором наиболее востребованных расширений. Готовый к работе монитор процессов Supervisor. Предварительно сконфигурированный веб-сервер Nginx. Базы данных: MySQL 5.7MySQL 8PostgreSQLMongoDB 4.2Redis. Настройка основных параметров окружения через файл .env. Возможность модификации сервисов через docker-compose.yml.

Читать далее
Total votes 23: ↑21 and ↓2 +19
Comments 38

Пишем простую ORM с возможностью смены БД на лету

Reading time 9 min
Views 8.5K
PHP *Designing and refactoring *Server optimization *Concurrent computing *
Tutorial
Recovery mode
image

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

Я несколько лет пользуюсь серверным telegram клиентом на php. И как многие пользователи — устал от постоянного роста потребления памяти. Некоторые сессии могут занимать от 1 до 8 гигабайт RAM! Поддержка баз данных была уже давно обещана, но подвижек в этом направлении не было. Пришлось решать проблему самому :) Популярность open source проекта, накладывала интересные требования на pull request:

  1. Обратная совместимость. Все существующие сессии должны продолжить работать в новой версии (сессия — это сериализованный инстанс приложения в файле);
  2. Свобода выбора БД. Возможность менять тип хранилища без потери данных и в любой момент, так как у пользователей разные конфигурации окружения;
  3. Расширяемость. Простота добавления новых типов баз данных;
  4. Сохранить интерфейс. Код приложения, работающий с данными, не должен меняться;
  5. Асинхронность. Проект использует amphp, поэтому все операции с базами должны быть неблокирующими;

За подробностями приглашаю всех под кат.
Читать дальше →
Total votes 20: ↑16 and ↓4 +12
Comments 12

Зачем ограничивать наследование с помощью final?

Reading time 45 min
Views 31K
PHP *Perfect code *Designing and refactoring *ООP *
Sandbox
🔥 Technotext 2020

Вы наверняка слышали это знаменитое высказывание от GoF: «Предпочитайте композицию наследованию класса». И дальше, как правило, шли длинные размышления на тему того, как статически определяемое наследование не настолько гибко по сравнению с динамической композицией.


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


Давайте посмотрим на то, как сильная зависимость между классами через наследование может сделать архитектуру вашей системы чрезмерно жесткой и хрупкой. И зачем использовать одно из самых загадочных и неуловимых в коде ключевых слов – final. Сформулированные идеи демонстрируются на простом сквозном примере. В конце статьи приведены приемы и инструменты для удобной работы с final классами.


Проблема хрупкого базового класса


Проблема хрупкого базового класса

Читать дальше →
Total votes 62: ↑55 and ↓7 +48
Comments 45

Краткое руководство по переменным в CSS (причины использования, синтаксис и примеры)

Reading time 6 min
Views 13K
Поиск VPS corporate blog Web design *CSS *JavaScript *HTML *
Translation


Я уже достаточно давно экспериментирую с CSS-переменными. Если вы к ним еще не подступались, вы можете воспользоваться этим кратким руководством, чтобы быстро во всем сориентироваться и приступить к работе.
Total votes 28: ↑24 and ↓4 +20
Comments 8

Способы синхронизации вкладок браузера

Reading time 5 min
Views 26K
Rambler&Co corporate blog Website development *JavaScript *


Давным-давно в далёкой галактике появилась задача по синхронизации вкладок браузера для веб-плеера, наподобие VK: нужно было организовать обмен данными между вкладками, отслеживать их количество и назначать задачи некоторым из них. Всю реализацию нужно было выполнить на клиенте. Информации собрано много, и набралось на целую статью.

Ниже опишу различные способы решения подобных задач.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 16

Средний цвет в JavaScript

Reading time 3 min
Views 25K
CSS *JavaScript *

Fruit average color


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

Читать дальше →
Total votes 44: ↑44 and ↓0 +44
Comments 17

Современный PHP без фреймворков

Reading time 13 min
Views 87K
VK corporate blog Website development *Open source *PHP *IT Standards *
Tutorial
Translation


У меня есть для вас непростое задание. Когда в следующий раз начнёте новый проект, постарайтесь обойтись без PHP-фреймворка. Я не собираюсь перечислять недостатки фреймворков, и это не проявление синдрома неприятия чужой разработки: в этом руководстве мы будем использовать пакеты, написанные разработчиками нескольких фреймворков. Я всецело уважаю инновации в этой сфере.

Читать дальше →
Total votes 96: ↑78 and ↓18 +60
Comments 265

Недокументированные приемы CSS

Reading time 8 min
Views 51K
Райффайзен Банк corporate blog Website development *CSS *Programming *HTML *
Tutorial
Всем привет! Зовут меня Дмитрий Григоров. Работаю фронтедером в Райффайзенбанке в команде RBO PRO. Я расскажу и покажу вам, как можно творчески применять данные возможности CSS. В статье мы рассмотрим следующие темы:

  • Фоны и рамки;
  • Фигуры;
  • Визуальные эффекты.

Total votes 116: ↑114 and ↓2 +112
Comments 30

Как прочитать большой файл средствами PHP (не грохнув при этом сервак)

Reading time 9 min
Views 43K
High performance *PHP *Server optimization *

Перевод статьи Christopher Pitt.


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


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


Fragmented terrain


Последняя проблема и будет рассмотрена в этом уроке.

Читать дальше →
Total votes 64: ↑59 and ↓5 +54
Comments 47
1

Information

Rating
2,681-st
Location
Гомель, Гомельская обл., Беларусь
Date of birth
Registered
Activity