
Ранее мы остановились на «вертушках» от Yamaha, Denon и TEAC в сегменте «до 60 тысяч рублей». Сегодня двигаемся дальше и смотрим на еще одного представителя Denon и сразу два примечательных проигрывателя от бренда Pro-Ject.
PHP
Ранее мы остановились на «вертушках» от Yamaha, Denon и TEAC в сегменте «до 60 тысяч рублей». Сегодня двигаемся дальше и смотрим на еще одного представителя Denon и сразу два примечательных проигрывателя от бренда Pro-Ject.
Не так давно на нас свалилась задачка: обновить криптошлюзы (КШ) «Континент» с версии 3.7.5 до версии 3.9.1 на всей VPN-сети довольно крупного клиента. Сеть географически распределена и охватывает все часовые пояса нашей необъятной Родины. Всего – порядка 120 центров управления сетью (ЦУС) с подчиненными КШ. В общей сложности нам предстояло обновить более 3500 «зелёных» устройств. Насколько нам известно, мы одни из первых выполнили обновление такого масштаба с версии 3.7.5 на 3.9.1 без замены железа и настройки сети «с нуля». То есть именно обновили существующую сеть со всеми ее текущими настройками и оборудованием. Но, как говорится, есть нюансы. Зная их заранее, вы наверняка сможете сэкономить свои ресурсы, если затеете нечто подобное.
null
; опубликована уязвимость в PHP с disable_functions, которая на самом деле не уязвимость; новый сайт от сообщества — phpopendocs.com; PHP 8.1 RC 3, Xdebug 3.1 и другие релизы.В прошлой статье Панорамное решение ВКС для ультра компактных переговорных комнат мы рассмотрели решение ProfAV Panorama 180, которое закрывает задачу видео захвата всех участников в очень тесных помещениях.
Это решение применимо в классической планировке - когда телевизор и камера находятся у стены. Но существуют сценарии, когда стол круглый, например, а участники расположены вокруг него. Здесь размещение камеры и телевизора на стене не применимо - поскольку несколько участников будут вынуждены сидеть спиной к камере. Для этого используются камеры с обзором 360 градусов, которые устанавливаются в центре стола.
Но этого мало для решения задачи комфортного общения - если использовать ТВ на стене, а камеру в центре стола, то будет нарушаться зрительный контакт между локальными и удалёнными собеседниками. Подавляющее большинство участников видео конференций смотрят на телевизор, а не в камеру во время общения. А если смотреть на экран при таком сценарии, то большая часть участников будет развернута боком к камере, что прервёт необходимый зрительный контакт.
Львиная доля всех работ по анализу защищенности внешнего периметра – это тестирование веб-приложений. Здесь могут быть как корпоративные решения, так и «домашние» разработки на базе различных публичных систем управления контентом (CMS). Мы всегда проводим глубокий анализ подобных решений на тестовых стендах и зачастую находим уязвимости нулевого дня. Собственно, из опыта таких проектов и родилась идея собрать исследовательскую команду и провести глубокий анализ популярных CMS-систем и различных плагинов для них. В этом посте мы поделимся результатами нашего исследования, а также продемонстрируем примеры уязвимого кода наиболее интересных, на наш взгляд, уязвимостей и примеры их эксплуатации. Конечно все эти уязвимости уже исправлены и описываются здесь с разрешения владельцев систем.
За 21 год существования в SuperJob разработали три версии реализации API для интеграций с бэкендом. Во время разработки последней они решили пересмотреть подход к версионированию. Сейчас в актуальной реализации порядка 379 эндпойнтов, более 900 моделей сущностей и 11 поддерживаемых мажорных версий. Когда проект развивается, вместе с ним меняются и требования к API, а значит неизбежно нарушение обратной совместимости.
Опытом решения этой проблемы поделился Антон Золотилин из SuperJob. Вы увидите самые распространенные решения проблемы версионирования web-API и подход, который реализовал у себя SuperJob. А в качестве бонуса узнаете, как это решение помогает значительно сократить рост затрат на тестирование версий с помощью Impact-анализа.
Уже больше 20 лет я пишу код на разных языках программирования. Так как многие из этих языков считаются мертвыми, то сегодня я буду говорить о высоком искусстве некромантии — о том, как якобы мертвые языки используются в больших и иногда высоконагруженных проектах. Обрабатывая тысячи веб-запросов в секунду и не порождая необходимости писать свой компилятор PHP или переходить на Go или Rust.
Я расскажу про специфику Ruby и Python при высоких нагрузках, про их мейнстрим, который вы можете встретить в выживших проектах. Я не буду и не хочу говорить про спортивное программирование, где делают миллион запросов в секунду на одной ноде, выжигая из Python или Ruby всё и оставляя голый С. Python и Ruby действительно медленные, у них есть GIL, но при правильном использовании это не проблема, а статья расходов — и я расскажу, что мы можем получить за эти деньги.
Если вы предпочитаете слушать или смотреть (у меня там забавные крылья!) — видео моего выступления на конференции HighLoad++ Весна 2021.
Утопическая картина, когда приоритет компании заключается только в развитии собственных сотрудников — не соответствует действительности. В первую очередь Компания подтверждает «право на жизнь» достижением бизнес-результатов.
Одна из задач департамента заботы в Яндекс.Практикуме — организовывать и поддерживать среду внутри компании, оптимальную как для достижения бизнес-результатов, так и для реализации сотрудниками своего потенциала.
Департамент заботы — внутреннее название, он выполняет две группы задач: operations и human, обеспечивая «заботу» о бизнес-процессах и командах — чтобы процветали и пользователи, и клиенты, и сама компания.
На чем основана работа департамента и как это выглядит на практике, поделилась руководитель Департамента заботы Адель Шадрина.
Всем привет! Меня зовут Евгений, я занимаюсь разработкой и проектированием в Ozon. Больше всего работаю с MS SQL и C#, но попадаются и другие СУБД и языки программирования.
Ozon как продукт быстро растёт: во втором квартале этого года мы доставляли больше миллиона посылок в день. Для обработки такого объёма заказов мы используем разные языки и платформы: .NET (C#), Go, MS SQL Server и PostgreSQL.
Заказы пользователей обрабатываются разными системами, которые взаимодействуют между собой. Это порождает необходимость учитывать многочисленные интеграции и приводит к проблеме дублирования данных.
Я расскажу об одном таком случае, когда наша команда потратила много времени и сил, но всё-таки нашла оптимальный способ решения проблемы дублирования данных.
Но сначала позвольте погрузить вас немного в предметную область — объясню, на примере чего будет демонстрироваться проблема дублирования данных, и освещу некоторые методы её решения.
Подборка свежих новостей и материалов из мира PHP. Вышла третья бета PHP 8.1, Swiftmailer больше не будет поддерживаться, PHP-FIG обсуждает обновляемые стандарты PER. Для PHP 8.2 предложены два новых RFC: про удаление динамических свойств и перегрузку операторов. Также в выпуске порция полезных инструментов, статьи и видео.
Приятного чтения!
Каждый раз на TeamLead Conf мы стараемся подбирать программу для нанесения максимальной пользы участникам. Ну и, безусловно, отыграть важные события в жизни сообщества, подсветить тренды.
До Saint TeamLead Conf 2021 осталось буквально несколько недель. Мы решили открыть карты и рассказать, что ждет участников питерской конференции для тимлидов (спойлер: 4 секции докладов, 12 мастер-классов и классный нетворкинг).
Столкнулся с проблемой нормальной реализации коллекций в PHP. Доктриновские коллекции мутабельны и инвариантны. PSL коллекции инвариантны. Нигде не видел непустых коллекций. Везде меня что-то не устраивало и было принято решение написать свою open source реализацию иммутабельных коллекций с ковариантными темплейт-параметрами и выстроенной иерархией пустых и непустых коллекций. В качестве статического анализатора был выбран Psalm.
Понятия переговорная комната и видеоконференцсвязь за последний год тесно сплелись друг с другом в одно целое.
Всё больше помещений выделяют под переговорные комнаты, и всё больше переговорных комнат оборудуют средствами для удалённых видео коммуникаций.
Учитывая, что планировка офиса многих небольших компаний не всегда позволяет выделить достаточно пространства под переговорные комнаты, такие переговорки, порой, занимают всего несколько квадратных метров.
Как правило, это часть коридора или общего офисного пространства, отделённое стеклянными или гипсокартонными перегородками.
Эти импровизированные переговорные комнаты получили название - Huddle Rooms. Такие "аквариумы" вмещают не больше 3-5 человек и имеют небольшой стол и телевизор. Из-за компактности переговорной комнаты и очень близкого расположения участников к ТВ, непросто подобрать оптимальную камеру ВКС, так как даже веб-камеры с углом обзора 90-120 градусов не всегда способны захватить крайних участников конференции.
На рынке появились панорамные камеры с обзором до 180 градусов, например Jabra Panacast, но они имеют весьма ограниченный функционал и посредственное качество.
Эта статья посвящается новому панорамному решению для ультра компактных переговорных комнат ProfAV Panorama 180. Это интеллектуальная USB-камера ВКС с множеством режимов отображения и отслеживания докладчиков, а также профессиональный спикерфон с объёмным звучанием и эхо/шумо-подавлением.
У Яндекса много самописных сервисов для внутренних задач: Яндекс.Формы, Яндекс.Диск, трекер, календарь. Со временем их решили использовать не только внутри компании, но и за ее пределами. Так появилась платформа Яндекс.Коннект.
Большинство сервисов Коннекта построено на Python V3. В качестве web-фреймворка используется Django, реже Flask и Tornado, а новые чаще пишутся на FastAPI. Сервисы, как и базы PostgreSQL, MySQL и MongoDB, живут в облаке. В качестве очереди сообщений почти везде используется Celery с MongoDB в качестве брокера. Он и стал проблемой.
На Russian Python Week 2020 Владимир Колясинский, разработчик бэкенда сервисов платформы Яндекс.Коннект, рассказал, почему они пользовались связкой Celery MongoDB и почему пришлось отказаться от этого брокера. Он сравнил претендентов: Redis, RabbitMQ и YMQ, с их плюсами и минусами. Подробно разобрал процесс переезда на нового брокера, анализ его состояния и возможные проблемы. И у него получилась пошаговая инструкция, которая пригодится при подборе и настройке брокера. А для любителей разбираться самостоятельно под катом есть расшифровка доклада с конференции.
Довольно очевидно, что junior-разработчику и тимлиду требуется сильно различающийся набор навыков. И если в случае hard skills всё уже миллион раз проанализировано и посчитано, то о необходимом наборе soft skills в зависимости от должности мы можем только понимать на уровне ощущений и здравого смысла.
Более того, в нашей индустрии не принято говорить после собеседования, что кандидату отказано из-за его уровня soft skills, хотя мы даже не пытаемся конкретизировать, что конкретно в нём нас не устраивает. Вы наверняка слышали или сами употребляли фразы вроде «просто человек странный», «почему-то не нравится» или «чувствуем, что он не вольется в команду». Но почему? Что на самом деле с ним не так?
Я решил провести собственное исследование гибких навыков и сегодня хочу поделиться результатами. Расскажу, какие навыки важны на каждом из уровней разработчика — от джуниора до руководителя. А также, как их можно проверить на собеседовании и эффективно развить внутри компании.
В первой части я рассказывала о том, почему перешла из техлида в продакт-менеджеры, чем мышление продакта отличается от образа мыслей разработчика. И какие у продакта с техническим бекграундом есть сильные стороны.
Сегодня, как и обещала, расскажу про сложности, с которыми я столкнулась за год работы продактом и которые совсем не предвидела, соглашаясь на новую роль.
В последнее время в СМИ обсуждаются множественные случаи взлома портала "Госуслуги". В этой статье я постараюсь выяснить что из этого миф и выдумки, а что является правдой, а для этого придется самому взломать госуслуги.
Многие проекты на Django начинаются просто: есть база данных и к приложению, которое крутится на сервере, идут обращения. Например, так начиналась Dodo IS (информационная система компании Додо Пицца, где работал автор сегодняшней статьи). Но если использовать Django из коробки, можно натворить много бед и встретить пачку антипаттернов. Возможно, вы встречали такое на старых legacy-проектах.
Евгений Пешков развивает сообщество DDD-практиков, рассказывая, какие проблемы решает Domain-Driven Design (предметно-ориентированное проектирование) в современном мире. На конференции Russian Python Week 2020 он выступил с рассказом об этом. Кстати, 19 августа пройдет встреча DDDevotion-сообщества, присоединяйтесь, будем о чем поговорить.
В сегодняшней статье будет его рассказ про то, как устроен Domain-Driven Design и какие инструменты использует, чтобы наиболее точно описать требования бизнеса и сам бизнес.