Pull to refresh
  • by relevance
  • by date
  • by rating

Microsoft составила список 25 групповых политик Центра обновления Windows 10/11, которые лучше избегать

System administration *Server Administration *Software IT-companies


Microsoft опубликовала список из 25 устаревших групповых политик (Legacy Policies) Центра обновления Windows 10 и Windows 11, которые системные администраторы должны избегать и по возможности не использовать в рабочих корпоративных системах.
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views 5.7K
Comments 2

Уходящая от вас безопасность

Information Security *Website development *PHP *
Translation

Я посетил встречу Messaging, Malware and Mobile Anti-Abuse Working Group (m3aawg.org) в Бруклине, Нью-Йорк. Я ожидал лучшей погоды, чтобы побродить по городу, насладиться конференцией, и широким выбором еды на районе. Я настолько был уверен в ясности неба, что даже не взял с собой ничего от дождя. И всю неделю шел дождь. Это вынудило меня оставаться в моем номере в отеле с бесплатным WiFi и моим рабочим ноутбуком. Я решил потратить это время за исследованием Node.js и их сопутствующих пакетов, доступных на https://www.npmjs.com.


Там есть тысячи пакетов от пользователей, доступные для скачивания и установки в ваш проект. Я поискал в NPM по популярным названиям пакетов, таких как file, backup, download, или upload. Последний поисковый запрос показал мне проект под названием jQuery file upload от пользователя Blueimp. Его описание показалось достаточно интересным, чтобы скачать и исследовать его.

Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Views 10K
Comments 41

Зачем нам в «Леруа Мерлен» нужен собственный российский отдел разработки на 200 человек

Леруа Мерлен corporate blog Development Management *Project management *
Привет! Я Валерий Лаптев, руководитель разработки LM в России. За два года мне нужно было поднять огромный отдел, и это был довольно интересный опыт.

Дело в том, что «Леруа Мерлен» есть во многих странах. Головная компания — во Франции, называется ADEO. Там пишут код под Францию, Италию, Испанию и Россию. Бизнес-модели у нас разные: если на российском рынке мы держим минимальные цены (ниже всех конкурентов в мониторинге), то в Европе всё иначе. На самом деле отличий море — начиная от особенностей локали и заканчивая другим законодательством. Есть особенности инфраструктуры России (те же очень большие задержки до Хабаровска) и другой жизненный цикл оформления заказа. Всё это порождает вот такой адский код, состоящий из огромных блоков IF:



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

Полугодовой цикл неспешной головной компании нам не подходил. Естественно, мы предложили написать свой код, отдать на ревью и подождать внедрения… Правда, из этого ничего хорошего не вышло.
Читать дальше →
Total votes 57: ↑52 and ↓5 +47
Views 27K
Comments 49

Вечный вопрос технического долга

Туту.ру corporate blog Development Management *Project management *

Это одно из самых крутых облегчений проекта. На картинке — график суммарного времени, затрачиваемого CPU на обработку всех пользовательских запросов. В конце видно переход на PHP 7.0. с версии 5.6. Это 2016 год, переключение во второй половине дня с 24 ноября.

Туту.ру с точки зрения вычислений — это в первую очередь возможность купить билет из точки А в точку Б. Для этого мы перемалываем огромное количество расписаний, собираем в кэш ответы множества систем авиакомпаний и периодически делаем невероятно длинные join-запросы к базе данных. В целом мы написаны на PHP и до недавних пор были полностью на нём (если язык правильно готовить, то можно даже строить на нём системы реального времени). С недавнего времени критичные по производительности участки стали рефакториться на Go.

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

Вообще технический долг — это плата за ошибку при принятии решения. Вот ты что-то предсказал не так, как архитектор, то есть совершил ошибку прогнозирования или принимал решение в условиях недостаточной информации. В какой-то момент понимаешь, что надо что-то менять в коде (часто на уровне архитектуры). Дальше можно сразу поменять, а можно подождать. Если подождал — на техдолг набежали проценты. Поэтому хорошая практика — время от времени реструктуризировать его. Ну или признавать себя банкротом и писать весь блок заново.
Читать дальше →
Total votes 85: ↑79 and ↓6 +73
Views 19K
Comments 34

Как мы развивали ИТ в «Леруа Мерлен»: пересборка двигателя на ходу

Леруа Мерлен corporate blog Development Management *Project management *


Четыре года назад база клиентов велась отдельно в каждом магазине плюс ещё одна — на сайте.

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

Самый простой юзеркейс: сделать заказ через сайт и забрать его в реальном магазине «Леруа Мерлен» в России. Раньше заказы интернет-магазина обрабатывались в другом приложении вообще и по другой схеме. Теперь нам нужна была омниканальная витрина, чтобы любой заказ был разбит на интерфейс: касса в магазине, мобильное приложение, терминал в магазине, сайт — что угодно. Если вы поставите Linux на микроволновку — пускай будет микроволновка. Главное, чтобы какие-то интерфейсы могли стучать по API к беку и говорить, что вот тут надо оформить такой-то заказ. И получали на это внятный ответ. Вторая история была с запросами наличия и свойств товара из его карточки.

На фронте (скоро и про это напишем) у нас монстр — AEM, а за ним в беке было два больших приложения: OPUS и MoVe. Первое — это база данных свойств каждого товара (от габаритов до описания), второе — отвечает за чекаут, то есть монолит касс. Если сильно упростить.
Читать дальше →
Total votes 27: ↑27 and ↓0 +27
Views 11K
Comments 20

15 февраля Badoo PHP Meetup #4. Легаси

Badoo corporate blog Website development *PHP *Programming *Conferences


Привет!

15 февраля, в субботу, приглашаем на очередную встречу сообщества PHP-разработчиков в офисе Badoo. 

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

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

Регистрация по ссылке, обязательная (важно: пишите свои данные кириллицей). Не забудьте дождаться подтверждения участия, оно придет дней за 10 до митапа. 

Первый доклад в 12:00. В программе пять докладов, практически не ограниченное свободное общение за кофе, викторина, розыгрыш билета на PHPRussia, а в качестве afterparty — очередная встреча сообщества BeerPHP Moscow
Читать дальше →
Total votes 46: ↑46 and ↓0 +46
Views 5.6K
Comments 2

Исследование RedHat: open source вытесняет проприетарное ПО из корпоративного сегмента

Дата-центр «Миран» corporate blog Open source **nix *Research and forecasts in IT Software
Опенсорсное программное обеспечение медленно, но уверенно завоевывает корпоративный сегмент, о чем говорит исследование команды RedHat (PDF). Компания провела опрос среди 950 руководителей IT-компаний по всему миру. Из них 400 человек работают в США, 250 — в странах Латинской Америки, 150 — в Великобритании, еще 150 — в англоязычных компаниях Азиатско-Тихоокеанского региона. По результатам опроса RedHat пришла к выводу: открытое ПО вытесняет проприетарные решения с их исторического рынка — из Enterprise-сегмента.

Вот как оценили важность открытого ПО руководители в рамках проведенного исследования:



К слову, цифры понимания важности открытого программного обеспечения из года в год только растут: в 2019 году, в рамках такого же опроса, важным или очень важным развитие open source назвали 89% респондентов, то есть прирост составляет 6% в год.
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Views 8.4K
Comments 5

Что делать с легаси. Материалы с Badoo PHP Meetup #4

Badoo corporate blog PHP *Programming *Community management *Conferences
Всем привет!

15 февраля в офисе Badoo прошла очередная встреча PHP-разработчиков, посвященная теме легаси. Целый день мы слушали рассказы об опыте крупных компаний, общались и делились болью.

Получилось рассмотреть проблему с нескольких сторон:

  • организация процессов разработки по избавлению от легаси;
  • тактика распила легаси-монолита на микросервисы;
  • способы организации API, которые позволяют держать под контролем рост устаревшего кода;
  • автоматические способы обнаружения «мёртвого» кода;
  • а еще попробовали поговорить как рефакторить легаси-код с помощью DDD подходов;

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


Total votes 32: ↑32 and ↓0 +32
Views 8.4K
Comments 3

Без управления знаниями больно: 5 основных последствий отсутствия системы

Конференции Олега Бунина (Онтико) corporate blog Development Management *Project management *Personnel Management *Conferences
Toyota — мировой лидер автомобилестроения, один из самых дорогих автомобильных брендов и синоним слова «качество». Toyota известна своей сложной производственной системой, благодаря которой она стала мировым лидером. На её описание потребовалось 10 лет и 20 версий, в итоге появился документ «Философия Toyota 2001». Часть принципов из этой книги — кайдзен и канбан — используются в IT. Но эти принципы лишь часть системы постоянного обучения и непрерывного совершенствования, которая плотно интегрирована во все процессы корпорации.



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

История Toyota — отличный пример управления знаниями. Но что будет, если знаниями не управлять, а систему не выстраивать? Велосипеды, сломанные конвейеры, автобусы, «сжигание» денег на онбординге и legacy — все это случается с компаниями, когда они не задумываются об управлении знаниями.
Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Views 18K
Comments 15

Пришло время переосмыслить безопасность OpenBSD

Дата-центр «Миран» corporate blog Information Security *Open source *System Programming *Designing and refactoring *
Translation
OpenBSD позиционируетcя как защищённая ОС. Однако за последние несколько месяцев в системе найден ряд уязвимостей. Конечно, в этом нет ничего экстраординарного. Хотя некоторые уязвимости довольно необычные. Можно даже сказать, критические. У разработчиков OpenBSD несколько принципов, как обеспечить безопасность. Вот два из них:

  • избегать ошибок;
  • минимизировать риск ошибок.

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

Для иллюстрации я выбрал не все, а только несколько интересных багов, которые случайно совпадают с темой нашего разговора.
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Views 8.1K
Comments 6

Как инженеру вырасти в техлида

Конференции Олега Бунина (Онтико) corporate blog System Analysis and Design *Designing and refactoring *Project management *Conferences
Кто такие тимлид, архитектор или QA и чем они занимаются, в IT представляют себе примерно все. Но с пониманием, кто такой техлид, за что отвечает и как им стать, возникают трудности. Мы провели десятки интервью со специалистами крупных компаний и узнали, что это инженер, который инициирует процессы: связывает людей и инструменты с целями организации. Он берёт инициативу и ответственность за технологическое развитие продукта и радеет за качество технических решений. При этом качество это не только тестирование, а архитектура, дизайн, инженерные практики и эксперименты, работа с техдолгом и техническое совершенствование компании в целом.



Также мы выяснили, что для техлидов есть много конференций. Но почти все они концентрируются на  инструментах, а не на инженерных практиках и процессах. Именно поэтому мы запустили новую конференцию TechLead Conf 2020 Online — для тех, кто хотел бы стать техлидом и разобраться с тем, что такое качество. 

На TechLead Conf 2020 Online вторичен вопрос «С помощью какого технического инструмента решалась проблема?». Эта конференция для тех, кто борется за качество технических решений и берёт на себя ответственность за технологическое развитие продукта. С 8 по 10 июня мы изучим опыт внедрения и использования практик, управления технологиями и процессами в компании. Подробнее о программе и о чём будем говорить на мероприятии, расскажем дальше.
Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Views 7.3K
Comments 0

И снова о Legacy. Вечная боль техдира

Southbridge corporate blog System Programming *Designing and refactoring *Project management *Interview

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


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


Техдир пришёл к ним, поздоровался и спросил: «Ребята, скажите честно, какой аццкий зверь меня ждёт в этом проекте? Потому что стейкхолдеры рассказали только о единорогах с радужными хвостами и розовых пони? Legacy, да?»


«Legacy, ...», — грустно ответили разработчики.


Сказка закончилась. Началась работа — и непростые решения.


Читать дальше →
Total votes 76: ↑64 and ↓12 +52
Views 27K
Comments 111

Какие навыки можно прокачать на проекте c большой кодовой базой

МойОфис corporate blog Programming *Development of mobile applications *Designing and refactoring *Development Management *
🔥 Technotext 2020


Как жить и развиваться на проектах с историей. Что дает разработчику опыт работы c большой кодовой базой, и почему не нужно стремиться переписать все с нуля, если даже очень хочется.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 5.5K
Comments 14

COBOL — древний код, который управляет вашими деньгами

Cobol *History of IT Finance in IT
Translation
image

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

Когда Томас начинал программировать, на дворе стоял 1969 год. Он был обычным парнем, только что выпустившимся из старшей школы в Торонто, не имея особых целей в жизни. Его отец был плотником, но в двери его семьи постучалась удача: оказалось, что руки у Томаса растут не из того места. «Мой отец знал, что я даже не смогу приколотить одну доску к другой», — смеётся он.

Поэтому его мать предложила нечто странное и новомодное: как насчёт… программирования компьютеров?

В 1969 году компьютеры всё ещё были странными новыми диковинками размером с большой шкаф. Но по всему миру компании начали понимать, что эти устройства бесценны для всех задач, требующих мгновенных бухгалтерских расчётов, например, подсчёта зарплат. Вакансии предлагались любому, кто хотя бы немного умел кодить. Поэтому Томас нашёл «небольшую школу-однодневку» в деловом центре Торонто и за следующие два месяца изучил самый популярный на то время компьютерный язык: COBOL (Common Business-Oriented Language).
Читать дальше →
Total votes 33: ↑29 and ↓4 +25
Views 61K
Comments 62

Немного про SOLID и суровое зомби-легаси

Programming *Delphi *ООP *
Recovery mode

Осторожно-оптимистические размышления о месте современной производственной культуры в сопровождении унаследованного из древних времён программного обеспечения. И немного о взаимопроникновении принципов SOLID.

Читать далее
Total votes 11: ↑11 and ↓0 +11
Views 8.3K
Comments 13

Код без тестов — легаси

Dodo Engineering corporate blog IT systems testing *Perfect code *
Translation

Если вы работаете в IT, то о легаси вы слышите часто — обычно с множеством негативных коннотаций. Понятно, что это не «хороший код», но какой? Может старый, может не поддерживаемый или не обновляемый, а может просто чужой? Есть ли «полноценное» определение «легаси», на которое можно ссылаться? А когда разберемся — что нам делать с легаси? Попробуем разобраться.

Выводы неочевидны.
Total votes 29: ↑25 and ↓4 +21
Views 14K
Comments 23

Sourcetrail: инструмент, чтобы разобраться в чужом коде и не выстрелить себе в голову

RUVDS.com corporate blog Programming *Industrial Programming *Lifehacks for geeks


I regret to report that I've just recently looked again at my programs for prime factors and tic-tac-toe, and they are entirely free of any sort of comments or documentation.
— Donald E. Knuth

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

Такое случается даже со своими программами и скриптами, написанными на write-only ЯП.

Разработчики, имеющие дар работать с таким кодом высоко ценятся в коллективе.

Такое чудо-лабиринты из кода бывают, когда исходный код имеет:

  • Непоследовательный стиль разработки
  • Чересчур сложную и запутанную структуру программы
  • Очевидные логические ошибки или упущения
  • Запущенность

Надо понимать, что существует большое отличие между живым рабочим кодом и неким учебно образовательным. В первом случае на процесс разработки может влиять целый ряд технических, коммерческих и даже бытовых причин. Под их воздействием даже самый строгий и элегантный дизайн ПО может превратиться в спагетти. Основные причины таких метаморфозов знакомы многим программистам.
Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Views 9.8K
Comments 7

Языки любимые и языки страшные. Зелёные пастбища и коричневые поля

ITSumma corporate blog Programming *Designing and refactoring *Statistics in IT
Translation


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

В опросах есть категории «Самые страшные языки программирования» (The Most Dreaded Programming Languages) и «Самые любимые языки». Оба рейтинга составлены на основе одного вопроса:

На каких языках вы провели обширную работу по разработке за последний год, и на каких хотите работать в следующем году? (Если вы работаете с определённым языком и намерены продолжать это делать, пожалуйста, установите оба флажка).
Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Views 11K
Comments 43

PHP 8 Programming Tips, Tricks and Best Practices — обзор книги и рекомендации

PHP *Professional literature

Буквально месяц тому назад вышла книга: "PHP 8 Programming Tips, Tricks and Best Practices" от Дуг Бирера (Doug Bierer). В этой книге автор делает обзор php 8.0, объясняет его нововведения и описывает потенциальные ошибки перехода со старых версий на php 8.0. 

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

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 3.4K
Comments 4

Взгляд на легаси со стороны «пассажира»

Typeable corporate blog System Analysis and Design *Designing and refactoring *IT Terminology Development Management *

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

Возможно, вы уже слышали слово “легаси” (legacy) от сотрудников технических отделов и, как правило, в негативном ключе. Данным термином обозначают методы, технологии и компьютерные системы или прикладные программы, которые по каким-либо причинам признаны устаревшими. Однако всегда ли такое наследство несет негативный эффект для бизнеса, обязательно ли от него избавляться и как понять, что оно действительно вам мешает?

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

Читать далее
Total votes 10: ↑8 and ↓2 +6
Views 3.6K
Comments 21