Рубрика «Анализ и проектирование систем» - 36

ORM: почему эта задача не имеет решения, но делать с этим, тем не менее, что-то нужно - 1

Современные информационные технологии поражают своей мощью, ошеломляют открывающимися возможностями, обескураживают заложенным в них техническим совершенством, но есть один смехотворный пункт, об который IT раз за разом снова и снова ломает зубы. Показать пользователю данные из базы, получить от него ввод, положить обратно в базу, показать результат. Поля ввода, кнопочки, галочки, надписи — казалось бы, что в них может быть такого запредельно сложного, чтобы потребовалось городить головоломные конструкции типа фреймворков поверх шаблонизаторов поверх фреймворков поверх транспайлеров? И почему несмотря на все колоссальные усилия мы имеем то, что игрушечные примеры по туториалу, конечно, делаются легко и приятно, но как только инструментарий сталкивается с реальными задачами реальной жизни… как бы это сказать помягче… с ростом сложности решаемых задач наблюдается сильная нелинейность возрастания сложности реализации. Ладно бы речь шла о чём-то действительно головоломном уровня теоретической физики или космической техники, так ведь нет же — кнопочки и галочки. Почему эта ерунда десятилетиями продолжает отравлять жизнь гражданам и трудовым коллективам?

Причин, наверно, как всегда оно бывает, много. Наверно все они так или иначе достойны рассмотрения, но здесь и сейчас мы поговорим о задаче объектно-реляционного отображения (Object-Relational Mapping, ORM), которая всегда в каком-либо виде стоит за всеми этими «кнопочками и галочками».
Читать полностью »

image

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

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

image

2ГИС гордится точностью данных. Каждый рабочий день в каждом городе наши специалисты обходят целые районы, чтобы зафиксировать на карте все изменения — новые дома, дороги и даже тропинки. А ещё они собирают и наносят на неё дорожные знаки, помогая правильно строить автомобильные и пешие маршруты. В этой статье я расскажу, как мы решили помочь картографам и начали собирать дорожные знаки автоматически.
Читать полностью »

Рассказываем, кто и почему ими занимается.

Нейроморфные системы: компьютеры, вдохновлённые устройством человеческого мозга - 1
/ фото Paweł Czerwiński Unsplash

Что такое нейроморфный чип

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

Одна из задач нейроморфных устройств — ускорить обучение сверточных нейронных сетей для распознавания изображений. Системам искусственного интеллекта на базе этой технологии не нужно обращаться к массивному хранилищу с тренировочными данными по сети — вся информация постоянно содержится в искусственных нейронах. Такой подход дает возможность реализовывать алгоритмы машинного обучения локально. Поэтому ожидается, что нейроморфные чипы найдут применение в мобильных устройствах, IoT-гаджетах, а также дата-центрах.Читать полностью »

image

BPM-разработка — дело непростое. Это обусловлено тем, что процесс должен быть читаемым и понятным заказчику, а не только корректным с технической точки зрения.

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

2018 год принципиально изменил наш подход к разработке бизнес-процессов. Ниже — о том, как эволюционировал этот подход и как менялись мы.
Читать полностью »

Привет! Меня зовут Вадим Мадисон, я руковожу разработкой System Platform Авито. О том, как мы в компании переходим с монолитной архитектуры на микросервисную, было сказано не раз. Пора поделиться тем, как мы преобразовали свою инфраструктуру, чтобы извлечь из микросервисов максимум пользы и не дать себе в них потеряться. Как нам здесь помогает PaaS, как мы упростили деплой и свели создание микросервиса к одному клику — читайте дальше. Не всё, о чём я пишу ниже, в Авито реализовано в полной мере, часть — то, как мы развиваем нашу платформу.

(А ещё в конце этой статьи я расскажу о возможности попасть на трехдневный семинар от эксперта по микросервисной архитектуре Криса Ричардсона).

Что мы знаем о микросервисах - 1

Читать полностью »

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

Напомню, что для private методов питон всего-лишь динамически изменяет имя и никак не ограничивает доступ к нему, а для protected не делает и этого, это просто соглашение об именовании методов, для тех кто не очень в курсе, есть дополнительные материалы тут и тут.
Читать полностью »

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

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

Дисклеймер

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

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

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

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

Читать полностью »

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

Мы хотели бы видеть запросы нашего клиента и ответы сервиса в неизменном виде, поскольку это помогает разбирать возникающие проблемы.

В этой статье расскажем, как мы настроили выборочное логирование трафика для сервисов SOAP.

Выборочное логирование трафика для сервисов SOAP - 1
Читать полностью »

Как вы думаете, кто лучше настроит PostgreSQL — DBA или ML алгоритм? И если второй, то пора ли нам задуматься, чем заняться, когда нас заменят машины. Или до этого не дойдет, и важные решения все-таки должен принимать человек. Наверное, уровень изоляции и требования к устойчивости транзакций должны оставаться в ведении администратора. Но индексы уже скоро можно будет доверить машине определять самостоятельно.

Make Your Database Dream of Electric Sheep: Designing for Autonomous Operation - 1

Энди Павло на HighLoad++ рассказал про СУБД будущего, которые можно «потрогать» уже сейчас. Если пропустили это выступление или предпочитаете получать информацию на русском языке — под катом перевод выступления.

Речь пойдет о проекте университета Карнеги-Меллона, посвященном созданию автономных СУБД. Под термином «автономный» подразумевается система, которая может автоматически развертывать, настраивать, конфигурировать себя без какого-либо вмешательства человека. Возможно, потребуется около десяти лет, чтобы разработать что-то подобное, но именно этим заняты Энди и его студенты. Конечно, для создания автономной СУБД необходимы алгоритмы машинного обучения, однако, в этой статье сосредоточимся только на инженерной стороне темы. Рассмотрим, как проектировать программное обеспечение, чтобы сделать его автономным.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js