Наши клиенты хранят списки из тысяч компаний, и обычно там первозданный хаос.
Возьмем список торговых точек, через которые сельхозпроизводитель продает товары по всей стране. Названия магазинов пишут как хотят, поэтому типичный список выглядит так:
Евразия.
«САКУРА» Японская кухня.
Доминант.
Магазин-бутик «Евразия».
Милениум, ООО, продуктовый магазин.
Киви/ООО/Челябинск.
Супермаркет эко-продуктов «Доминант».
Точки № 1 и № 4 — дубли, № 3 и № 7 — тоже, но поди разберись.
А разобраться надо: когда в списке из 1000 торговых точек 300 дублей, у производителя начинаются проблемы. Что за проблемы и как мы их решаем
Среди программистов очень популярны разговоры о «повторном использовании кода» — и в основном об этом говорят в позитивном ключе. Нам нравится говорить, что спроектированные нами конструкции являются «универсальными» и «пригодными к использованию в других проектах». Почему это считается хорошей вещью легко понять — всем хочется реализовать следующий проект вдвое быстрее предыдущего за счет использования уже имеющихся наработок.
Но когда дело доходит до этого на практике — чаще всего что-то идёт не так. Есть одна очень умная мысль на этот счёт: «Не пытайтесь делать код переиспользуемым, пока вы не видите как минимум три разных места, где его можно будет применить». Я считаю этот совет очень хорошим — я видел немало ситуаций, когда он помог (или помог бы) избежать одержимости попытками написания переиспользуемого кода там, где проблему можно было решить для одного конкретного случая «здесь и сейчас».
Это указывает нам на изъяны в теории о том, что переиспользование всегда является желанной и благородной целью. Читать дальше ->
Ознакомившись со статьей “Будущее высшего образования” и изучая проблемы и их решения, предложенные автором и комментирующими, я вдохновился написать свое рассуждение на данную тему, а также привести несколько уже существующих и разрабатываемых примеров.
Привет, Хабр! Мы у себя в банке уже второй год обсуждаем в теории и на практике, как правильно организовывать наши Dev и Ops команды. Недавно дискуссия, подкрепившись новой порцией практического опыта, вышла на очередной виток, что сподвигло меня на очередной поиск идей и аргументов.
Что отличает профессионального программиста от начинающего? Наличие полезных плагинов для своей среды разработки, которые помогают сэкономить время при написании кота кода. Читать дальше ->
Недавно мы рассказывали о том, как можно логировать действия пользователей в WinForms приложениях: Оно само упало, или следствие ведут колобки. Но что делать, если у вас WPF? Да нет проблем, и в WPF есть жизнь!
В WPF не надо будет вешать никаких хуков и трогать страшный винапи, собственно за пределы WPF мы и не выйдем. Для начала вспомним, что у нас есть routed events, и на них можно подписываться. В принципе, это все, что нам надо знать, чтобы реализовать поставленную задачу :) Читать дальше ->
Прошло более 10-ти лет с момента принятия Федерального закона от 27.07.2006 N 152-ФЗ «О персональных данных», однако надзорная деятельность Роскомнадзора показывает, что далеко не все еще освоились с практикой его применения. В частности, в статистике за 2016-й год явно просматривается одна из типичных ошибок операторов, в большинстве случаев, связанная с кадровой работой (видимо, как наиболее распространенная деятельность), а именно:
«Несоответствие содержания письменного согласия субъекта персональных данных на обработку персональных данных требованиям законодательства Российской Федерации (ч. 4 ст. 9 Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных») – примерно 9% от общего количества выявленных в 2016 году нарушений.»
Давайте попробуем еще раз взглянуть на данную проблематику. Тем более, благодаря нововведениям в законодательстве, штрафы значительно выросли. Читать дальше ->
За последние 10 лет количество товаров-подделок в мире увеличилось в 2 раза. Это данные отчета министерства внутренней безопасности США. Большая часть контрафакта приходится на Китай (56 %), Гонконг (36%) и Сингапур (2%).
Производители оригинальных товаров несут серьезные убытки, часть из которых приходится на рынок электроники. Многие современные товары содержат в себе электронные компоненты: одежда, обувь, часы, ювелирные изделия, автомобили. В прошлом году прямые потери от незаконного копирования потребительской электроники и электронных компонентов в составе других товаров достигли порядка 0,5 трлн долл. США.
Эту проблему помогают решить различные методы защиты цифровой электроники от нелегального копирования, модификации и обратного проектирования: аппаратное шифрование (AES, RSA и др.), хеширование (например, SHA-256, MD-5), внедрение цифровых водяных знаков и отпечатков пальцев в проектное описание, лексическая и функциональная обфускация, формальная верификация и другие.
В этой статье мы расскажем об одном из самых экономичных методов защиты с точки зрения аппаратных затрат — физически неклонируемых функциях. Читать дальше ->
Павел Васютин, преподаватель программы онлайн-обучения «VR-разработчик» от CONTENTED и ведущий Unity-разработчик в команде Mixreality — расскажет, как создаются проекты в виртуальной реальности и разберет 9 шагов: от зарождения идеи до запуска готовой игры.
Иногда мы испытываем приступы ностальгии и нам хочется сыграть в одну из тех игр снова. В этом случае у нас есть на выбор несколько вариантов.
Сыграть в remastered-версию. Некоторые игры настолько потрясающи и собрали настолько преданную базу фанатов, что выпускается официальное «новое издание». Это точно такая же игра, но с современной графикой. Отличным примером таких игр может быть замечательная Monkey Island Special Edition.
Это идеальный вариант. К сожалению, переделывают только очень немногие игры, причиной тому являются затраты, утерянный исходный код оригинала или даже недостаточный интерес в случае относительно малоизвестных игр.
К похожей категории относятся игры, исходный код которых открыт, например шутеры от первого лица компании id. Существуют проекты, создающие новые графические ресурсы для этих игр, но они редки, да и немногие разработчики открывают исходный код своих игр. Читать дальше ->
Состоялся финальный релиз Топ-10 уязвимостей от OWASP — наиболее критичных рисков безопасности веб-приложений. Обновление происходит примерно раз в 3-4 года, этот релиз затрагивает текущие и будущие проблемы безопасности веб приложений. Читать дальше ->
Лера Матвиишина, маркетолог хостинговой компании HOSTiQ, специально для блога Нетологии адаптировала статью Andrew Tate c ресурса AdEspresso и выбрала из подборки 27 бесплатных инструментов, которые помогут создавать визуальный контент без помощи дизайнера.
По мнению Дэвиса Керби, вице-президента Algoworks Solutions, автора этой статьи, фреймворк Vue.js набирает популярность в среде JavaScript-разработчиков благодаря своей простоте и той лёгкости, с которой можно начать работу с ним. Буквально несколько строк кода на Vue позволяют делать очень серьёзные вещи. Vue — это один из самых известных фреймворков, он находится в числе ведущих платформ для веб-разработки.
Современный пользователь Сети не любит ждать. Как быть, если на Vue нужно создать приложение для работы с некими данными в реальном времени? Дэвис отвечает на этот вопрос с помощью интеграции в приложение Vue.js 2.0. возможностей сервиса Pusher. В этом материале он, с самого начала, разберёт разработку такого приложения, названного Movie Review. Читать дальше ->
Несколько лет назад появился прототип игры War Robots (тогда она еще называлась Walking War Robots). Это был первый опыт Pixonic в жанре тактического PvP, поэтому многие будущие проблемы были заложены в коде изначально. Но несмотря на ряд трудностей (популярность проекта стремительно росла, небольшая команда не могла полностью изменить архитектуру игры в краткие сроки), нам в итоге удалось свести к минимуму количество читеров, а также исправить другие недостатки оригинального кода. Расскажу немного подробнее. Читать дальше ->
У нас в Wrike есть традиция делиться с командой мыслями о книгах, которые прочитали. Мы давно думали, что было бы неплохо распространить эту инициативу и на наш блог на Хабрахабре, и вот подвернулся хороший случай — книга Фредерика Брукса «Мифический человеко-месяц».
Книгу можно назвать скорее классикой фольклора разработки, нежели реальным руководством по построению рабочего процесса. В ней отражены проблемы, с которыми Брукс столкнулся при организации работы над созданием операционной системы OS/360, и его подходы к их решению. Результат был далек от идеала, на что сам Брукс и указывает. Его целью было не научить как правильно, но поднять проблемы, требующие решения. Любопытно разобраться, что изменилось в разработке с 1960-х годов.
EPAM уже много лет плотно сотрудничает с вузами во многих городах, где есть наши офисы. Мы читаем в университетах открытые лекции, проводим хакатоны, воркшопы, участвуем в организации олимпиад и ярмарок вакансий, курируем производственные практики.
А еще мы учим студентов в наших лабораториях. Сначала проводим для них курсы на территории вуза, которые называем внешней лабораторией. Затем приглашаем ребят в наш тренинговый центр – внутреннюю лабораторию. О ней мы уже рассказывали, поэтому сегодня более подробно поговорим о внешних курсах.
Приветствую, уважаемые читатели!
Сегодня предлагаю поразмышлять о следующей задачке:
Дано пар точек на плоскости . Необходимо найти многочлен такой, что , где
Переводя на русский язык имеем: Иван загадал точек на плоскости, а Мария, имея эту информацию, должна придумать функцию, которая (по меньшей мере) будет проходить через все эти точки. В рамках текущей статьи наша задача сводится к помощи Алисе окольными путями.
«Почему окольными путями?» — спросите вы. Ответ традиционный: это статья является продолжением серии статей дилетантского характера про математику, целью которых является популяризация математического мира. Читать дальше ->
Что видит пользователь в продукте? Интерфейс. Ему неважно, сколько ночей вы не спали, строя архитектуру приложения, насколько прекрасен написанный код. Главное, чтобы все было интуитивно понятно и работало. В одной из прошлых публикаций мы рассказывали о том, что делаем для создания единого пользовательского опыта. Это интересная тема, сейчас мы готовим новые кейсы для публикации, а пока материал на редакции, предлагаем почитать и похоливарить на тему популярных мифов и заблуждений о UX-дизайне. Спасибо за материал Miklos Philips.
Со времен релиза Kotlin прошло уже более года, да и Spring boot претерпел изменения. Наткнувшись на статью о том как написать простой RESTful сервис используя Kotlin и Spring boot, захотелось написать о том как же это можно сделать сегодня.
Эта небольшая статья ориентированна на тех кто никогда не писал код на Kotlin и не использовал Spring boot.
Идея децентрализованной торговой площадки, управляемой производителями и в интересах самих производителей, пришла CEO Hamster Marketplace LLP, российскому предпринимателю и производителю электроники Денису Булавину, когда он выстраивал каналы продаж своего основного продукта — производимого в России детского планшета PlayPad. Работая в сегменте нишевой электроники, он увидел спрос на площадку, которая позволила бы и другим независимым производителям находить своего покупателя и расширять продажи без разорительной борьбы за ограниченное количество мест на полках и витринах маркетплейсов с крупными вендорами и производителями неоригинальных товаров, с которыми у них могут даже не пересекаться целевые аудитории.
Обнаружить себя зажатым в тесной (рыночной) нише порой бывает очень некомфортно Читать дальше ->