Pull to refresh
19
0
Мулюкин Алексей @alexprey

Веб разработчик

Send message

makesure — make с человеческим лицом

Reading time8 min
Views6.4K

Многие ли из вас используют всевозможные вспомогательные shell-скрипты в своих проектах? Это также могут быть Python или Perl скрипты. Обычно такие скрипты используются на этапе сборки или для других задач автоматизации проекта.


Примерами таких задач могут служить:


  • вспомогательные скрипты для Git,
  • запуск тестов/линтеров,
  • запуск необходимых докер контейнеров,
  • запуск БД-миграций,
  • собственно, сборка проекта,
  • генерация документации,
  • автоматизация публикации релизов,
  • развертывание и т.д.

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


Make — пожалуй, наиболее известный из подобных инструментов.


Похожий функционал известен разработчикам nodejs и любим ими в виде скриптов в package.json (npm run-scripts). Ветераны Java вспомнят Ant.


Но nodejs/Ant требуют установки, make хоть и способен выполнять функции task runner довольно неудобен в этой роли, будучи на самом деле очень олдскульным build tool со многими вытекающими "особенностями".


А shell-скрипты требуют некоторой системы и неизбежной рутины в написании (обработка аргументов, help-сообщения и т.д.).


Хотя, например, Taskfile представляет прекрасный шаблон для подобных скриптов.


Так и родился makesure.

Что это?
Total votes 11: ↑10 and ↓1+9
Comments50

Разработка системы тестирования SQL-запросов. Часть 2

Reading time13 min
Views7.7K

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

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments0

Как я программировал шахматную партию против брата

Reading time12 min
Views19K


Это история о том, как я попытался выиграть у брата партию в шахматы. Всего лишь гребаную одну игру. Что в этом особенного? Хорош ли я в шахматах? Вовсе нет. Научился ли я чему-то в процессе игры? Тоже нет. Может, это история о путешествии ради путешествия, а не цели? Не совсем. Получил ли я хотя бы удовольствие от этого? Не уверен.

Это история о моей попытке соригинальничать в одной из самых изученных в мире игр, используя опыт разработки ПО там, где это, быть может, и не нужно.
Читать дальше →
Total votes 67: ↑62 and ↓5+57
Comments34

А я говорю, возьми Excel и позвони

Reading time6 min
Views24K

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

Но в современном мире иметь API недостаточно – мало кто хочет формировать HTTP-запросы, передавать параметры, думать про правильную авторизацию. Поэтому мы предлагаем SDK для разных языков программирования: Python, PHP, C# и многих других. И кажется, что этого достаточно, чтобы сделать нашу платформу лёгкой в использовании для очень большой аудитории. Или всё-таки недостаточно?

Обратимся к статистике. По разным данным сейчас в мире насчитывается где-то 15-30 миллионов разработчиков – цифра несомненно впечатляющая. Но, например, пользователей MS Excel в мире не менее 100 миллионов. Почему же они должны страдать? Ведь, будем честны, почти каждый из тех, кто хоть раз открывал Excel, явно ощущал недостаток возможностей по управлению коммуникационными платформами в этом без сомнения очень гибком программном продукте. Практически каждый день мы получаем на наш email сотни запросов, которые сводятся к очень простой просьбе: «Я хочу звонить из Excel!». Однажды у окон нашего офиса даже выстроились люди с такими требованиями (видели фото выше?) Мы просто не могли оставаться в стороне.

Что было дальше?
Total votes 39: ↑38 and ↓1+37
Comments13

Мерлин: главный герой фанфиков средневековой Англии

Reading time7 min
Views13K

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

Сегодня мы разберемся в истоках этого мифа и узнаем, как его образ стал ассоциацией мудрого и светлого волшебника, хотя на самом деле в мифах все не так радужно.

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments10

Фернандо Х. Корбато: человек, разделивший время

Reading time7 min
Views6.3K

Современные облачные технологии позволяют любому пользователю получать безграничный доступ к огромным вычислительным мощностям из любой точки мира. Однако ключевой принцип этой концепции был разработан еще в конце 1950-х, за десятилетия до появления таких понятий, как «кибербезопасность» и «облако». Его пионером была не крупная технологическая компания вроде IBM, а один амбициозный молодой ученый с испанскими корнями. Сейчас его принято именовать «отцом компьютерного пароля». Но на этом заслуги Корбато не заканчиваются.

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments2

Как обратиться к человеку на английском, чтобы не было мучительно больно

Reading time5 min
Views51K


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

Но грань между обращениями «sir» и «dude» довольно смазана. Сегодня мы попытаемся разобраться, какое обращение стоит использовать в конкретных ситуациях, чтобы не вызвать негатив в свой адрес. Поехали.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments46

Как обнаружить и остановить Emotet c помощью Varonis

Reading time7 min
Views2.5K


Наша группа реагирования на инциденты отслеживает беспрецедентное количество заражений вредоносным ПО Emotet. Количество активных одновременных расследований Emotet в три раза превышает наш предыдущий рекорд. В этом посте будут рассмотрены индикаторы компрометации, меры по их устранению и то, как Varonis может помочь вам обнаружить и остановить Emotet на каждой фазе атаки.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments0

Быстрый расчет формул из Excel на C#

Reading time16 min
Views30K
Как часто вы слышите от заказчиков, что они пришлют данные в Excel или просят вас сделать импорт или выгрузку в Excel-совместимом формате? Я уверен, что в большинстве сфер Excel — один из самых популярных, мощных и в то же время простых и удобных инструментов. Но самым проблемным моментом всегда остается интеграция таких данных с различными автоматизированными системами. Нашу команду попросили рассмотреть возможность проведения расчетов данных, используя настройки из пользовательского Excel-файла.

Быстрый расчет формул из Excel на C#

Если вам необходимо выбрать производительную библиотеку для работы с Excel-файлами или вы ищете решение для расчета сложных финансовых (и не только) данных с удобным инструментом управления и визуализации формул из коробки, добро пожаловать под кат.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments10

Обучение технологии ray-casting. Часть 2

Reading time4 min
Views5.1K

Приветствую тебя, читатель. Это вторая часть серии переводов работы "Ray-Casting Tutorial For Game Development And Other Purposes". Второй части предшествует первая, которую так же можно просмотреть.

Начнем! Продолжим!

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments0

Кастомизируем раскладку внешней клавиатуры на Android без root

Reading time5 min
Views19K

Мне нравится раскладка клавиатур на Mac: Cmd(Ctrl) под большим пальцем и возможность, без шаманства, прямо в настройках изменить поведение CapsLock. Такого же результата легко добиться в Linux с помощью setxkbmap в консоли или, например, gnome-tweak-tool в UI. Но что делать, если клавиатура подключается к Android?


Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments10

Тестируем SQL Server код с tSQLt

Reading time21 min
Views15K
FYI: эта статья представляет собой дополненную версию моего доклада на SQA Days #25.

Опираясь на свой опыт общения с коллегами, могу утверждать: тестирование кода в БД не является распространённой практикой. Это может нести в себе потенциальную опасность. Логику в БД пишут такие же люди, какие пишут «обычный» код. Следовательно, там так же могут присутствовать ошибки, и они так же могут повлечь за собой негативные последствия для продукта, бизнеса и потребителей. Неважно, идёт ли речь о хранимых процедурах, помогающих бэкенду, или о ETL, преобразующих данные в хранилище — риск есть, и тестирование может его существенно снизить. О том, что такое tSQLt и как оно помогает нам в тестировании кода в SQL Server, я и хочу вам рассказать.


Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments4

Как подружить юнит-тестирование с базой данных

Reading time10 min
Views32K
Как подружить TDD подход при работе с базой данных
История о том, как разрабатывалась система автоматического тестирования методов, взаимодействующих с базой данных, с подробным описанием того, с какими подводными камнями пришлось столкнуться в процессе разработки и внедрения системы в окружение проекта.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments20

SSO для красавицы и чудовища

Reading time17 min
Views14K

На картинке — глупенькая красавица отдаёт чудовищу учётную запись пользователя.

В одной стране жила была старая некрасивая система администрирования для школ, написанная на Classic ASP. Ею пользовались все учителя, ученики, а так же их родители. И в один прекрасный солнечный день её решили модернизировать. На смену уже устаревшей технологии должна придти современная ASP.Net MVC 5 с новым дизайном.
Однако в одночасье переписать все 6000 asp файлов не представляется возможным, какое-то время старая и новая система должны существовать параллельно.
И вот спустя полгода новая сверкающая (хотя кое-где всё таки проглядывает ржавчина и заплатки, ибо сроки) система приняла первых пользователей.
Следующим шагом необходимо было применить технологию единого входа (SSO) для пользователей, чтобы каждый мог свободно перемещаться между пока ещё глупенькой красавицей и полнофункциональным чудовищем.
Кроме того, одна из крупнейших систем управления обучением (LMS) захотела иметь тесную интеграцию с нашей системой администрирования, включая в себя SSO.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments11

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Registered
Activity