Рубрика «разработка» - 193

Здравствуйте, меня зовут Евгений, и я веб разработчик. Несколько лет назад мне перепала функция DBA (Database Administrator), я получил по этому поводу несколько сертификатов и решал соответствующие задачи. Я давно хотел описать задачу версионирования базы данных, но мне казалось, что для этого должны быть какие-то беспроигрышные варианты, которые хорошо знают умелые дяди, а я просто чего-то недопонимаю. Вчерашнее собеседование и последующий поиск по тематическим ресурсам показал, что это не так, и задача действительно сложна, актуальна и не решается однозначно. Разберём её по пунктам.

Что мы версионируем

Мы используем контроль версий только для DDL (Data Definition Language) запросов. Сами данные нас не интересуют. Почему? Рассмотрим два крайних случая.

  1. Данных мало (скажем, менее 50 мегабайт). В этом случае, мы можем просто периодически делать полный дамп базы и смело складывать его в репозиторий.
  2. Данных много (больше гигабайта). В этом случае версионирование нам мало поможет, всё равно разобраться в этом будет довольно проблематично. Целесообразно в данном случае использовать стандартную схему с бекапами и архив логом, которая позволяет нам получить целостную версию базы на любой момент во времени.

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

Не упустите 18 февраля в 10:00 (МСК) онлайн-трансляцию ALM Summit 2016 - 1
18 февраля в Москве, мы традиционно проводим нашу ежегодную конференцию по решениям Microsoft в области управления жизненным циклом разработки программного обеспечения. В этом году ALM Summit будет состоять из основного трека и круглых столов, на которых будут затронуты следующие тематические направления:

  • Инфраструктурные решения ALM в облаке, которые позволяют быстро развернуть комплекс ALM инструментов и в считанные часы запустить проект.
  • Методологические рекомендации по ведению проектов, SCRUM, Kanban, Agile, сбор информации о ходе проекта, ее анализ и отчетность.
  • Обеспечение качества разрабатываемых систем с помощью тестирования, как построить эффективную среду тестирования с помощью инструментов Team Foundation Server и Team Foundation Services в облаке.
  • Эксплуатация разрабатываемых систем, обеспечение обратной связи для повышения качества.

Как обычно, мы транслируем и записываем конференцию.

Не упустите 18 февраля в 10:00 (МСК) онлайн-трансляцию ALM Summit 2016!

Онлайн-трансляция конференции будет доступна по ссылке: channel9.msdn.com/Events/Alm-Summit-Russia/ALM-Summit-2016
Читать полностью »

Дайджест VR и AR: февраль - 1
Читать полностью »

Эксперимент: Насколько иррациональна биржевая торговля на коротких интервалах (скальпинг) - 1

Разработчик и трейдер Йоан Кристиан Лоттер, создатель бога Financial Hacker, написал интересный материал, в котором рассказал о своем эксперименте, призванном выяснить, имеет ли смысл торговля с использованием коротких и сверхкоротких интервалов для совершения сделок. Мы представляем вашему вниманию главные мысли этой заметки.Читать полностью »

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

image

Так как же соединяются части нашей системы? Благодаря протоколу FlexRay с электронным блоком управления (ECU) руль связан с датчиком положения. В отличие от обычного датчика, который регулирует напряжение в зависимости от температуры, умный датчик прекрасно взаимодействует напрямую с FlexRay.

В современных автомобилях, как правило, применяют два вида сетевых технологий: CAN и FlexRay. FlexRay — преемник CAN. Главное преимущество FlexRay в том, что можно точно определить момент передачи определенного сигнала, то есть протокол детерминирован. С помощью данной сети отдельные системы автомобиля, будь то тормозная, рулевая или другие блоки умных датчиков, непрерывно обмениваются необходимой информацией, что гарантирует бесперебойную работу авто.
Читать полностью »

Шаблонный метод

Когда приходится спрашивать человека, какие паттерны проектирования ему приходилось использовать чаще всего, почему-то мало кто называет паттерн «Шаблонный метод» (Template Method). Вероятно, это связано с пробелом в знании номенклатуры паттернов, ибо лично я с трудом представляю себе, чтобы более-менее опытный программист ни разу не использовал такой удобный и полезный паттерн. Предлагаю ещё раз взглянуть на него поближе.

Итак, шаблонный метод. Читать полностью »

Продолжаем нашу серию заметок по статическому анализатору кода Kiuwan.

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

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

Написание кастомных правил для анализатора кода Kiuwan - 1
Читать полностью »

Paul Klee In The Style Of Kairouan

Введение

Про метеостанции на Arduino писали и не раз. В своё оправдание скажу, что был хакатон — а нашей команде (в составе меня и читателя ViArt) хотелось попробовать работу с Arduino. Кроме того к нашей метеостанции прикручена визуализация данных. Если хотите узнать, какая база данных может получать данные по com-порту без промежуточных звеньев в виде web-сервера, файлов или ещё каких-то ухищрений, добро пожаловать под кат.
Читать полностью »

Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только - 1

Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать полностью »

Как это — быть разработчиком ПО для автомобилей. Часть 1-2 - 1

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

Все, что у вас есть — это множество терминов и инструментов, о которых вы понятия не имеете. Когда во время собеседования в одной автомобильной компании я поинтересовался, какую IDE они используют, интервьюеру мой вопрос, мягко говоря, не понравился. Я привык к Visual Studio, и наивно надеялся, что здесь для разработки встроенного программного обеспечения понадобится что-то аналогичное. Я даже не представлял, что меня ожидало! Просто море мелких и серьезных (по сложности) инструментов, которым нужна была очередная жертва.
Читать полностью »


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