Рубрика «Программирование» - 404

То, что их интересно решать, не означает, что они кому-то нужны

Мнимые проблемы — причина плохого софта - 1
«Группа людей проводит мозговой штурм над ноутбуком и листом бумаги», фото Стефана Стефанчика с Unspalsh

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

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

Добрый день!

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

Если интересно только техническое решение, то пропускайте всю лирику и смотрите пример реализации.

Лирика

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

Собственно, при обсуждениях решения такой задачи мы, как подрядчик, предлагали различные варианты и один из самых очевидных это все сделать именно с помощью внутреннего функционала SAP, по-простому среди «саперов» за Зедить все с помощью ABAP.

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

После долгих разговоров мы поняли, что таким решением может стать SAP Query или BIBO, но заказчика не очень устроила рассчитанная стоимость решения и не самая удобная гибкость.
Читать полностью »

Когда кто-то смотрит на код Corda, то сразу обращает внимание, что он написан на Kotlin — новом языке программирования от JetBrains, который может компилироваться под JVM и в Javascript. Это был необычный выбор, и в этой статье я хочу поделиться некоторыми причинами такого решения и опытом нашего "года с Kotlin в продакшене".

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

Всем привет! Меня зовут Фрол Крючков, я руководитель отдела разработки в Авито. 22 сентября приглашаю всех в наш офис на Backend United 2: Фарш — встречу, посвященную тестированию бэкенда. С коллегами мы поговорим об основных приемах тестирования бэкенда, отличиях тестирования на разных языках, CDC-подходе к тестированию микросервисов, механике и сложностях внедрения Pact и выясним, как создать честные и эффективные изоляционные тесты в микросервисной архитектуре. С докладами, кроме меня, выступят представители Radio QA, Juno и Lifland Gaming.
Под катом — тезисы выступлений докладчиков, ссылка на регистрацию и трансляцию встречи.

Backend United #2: Фарш - 1Читать полностью »

PHP 7.3. Что нового - 1

Синтаксис

  1. Смягчение требований к синтаксису Heredoc и Nowdoc
  2. Поддержка конечных запятых в вызовах функций и методов
  3. Ссылки в list()

Устаревшие возможности (deprecated)

  1. Функция image2wbmp() объявлена устаревшей
  2. Флаги FILTER_FLAG_SCHEME_REQUIRED и FILTER_FLAG_HOST_REQUIRED при использовании FILTER_VALIDATE_URL объявлены устаревшими
  3. Регистро-независимые константы объявлены устаревшими

Новые возможности

  1. Опциональный выброс исключений при ошибках в функциях json_encode и json_decode
  2. Добавление функции is_countable()
  3. Добавление функций array_key_first() и array_key_last()Читать полностью »

Привет!

Подводим итоги квеста от MBLT DEV 2018: разбираем задания и дарим подарки — билеты на конференцию, подписки на все продукты JetBrains и сертификаты Skyeng самым удачливым.

Итоги квеста, который вы прошли. Или нет - 1
Читать полностью »

image

Всем привет! 24 августа 2018 вышла версия Go 1.11 с экспериментальной поддержкой WebAssembly (Wasm). Технология интересная и у меня сразу возникло желание поэкспериментировать. Написать "Hello World" скучно (и он кстати есть в документации), тем более тренд прошедшего лета статьи из серии "Как сделать поиск пользователей по GitHub <вставить свой любимый JS-фреймворк>"

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

Многие Go программисты знакомы с bytes.Buffer. Одно из его преимуществ состоит в том, что он позволяет избегать выделений памяти в куче по той же схеме, что и "оптимизация коротких строк" (small buffer/size optimization):

type Buffer struct {
    bootstrap [64]byte // для избежания аллокации малых слайсов в куче
    // ... другие поля
}

Есть только одна проблема. Эта оптимизация не работает.

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

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

Я разработчик программы для мониторинга сети Network MACMonitor.

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

image

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

Мне на глаза попался документ с правилами и рекомендациями по процессу ревью кода внутри компании. Я решил, что такой полезной информацией надо поделиться с внешним миром. С благословения автора я публикую работу
Процесс ревью кода в HH.RU - 1
Читать полностью »


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