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

При создании пользовательских интерфейсов в WinForms приложениях разработчикам приходится делать неинтересную повторяющуюся работу. Страшно представить сколько человеко-часов во всем мире потрачено на фрагменты пользовательского интерфейса, показанные ниже. Сэкономленное время можно было бы провести с близкими людьми, например, на море…
Шаблоны в XtraLayoutControl 14.1.5
Форма для редактирования адреса.

Шаблоны в XtraLayoutControl 14.1.5
Login форма.

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

Мы познакомились с ней десятого октября 2013 год. Сегодня у нас 264 дня. Волей случайностей такая уж завелась у нас традиция — отмечать не круглые даты отношений. Мы покупаем вино на 99 день, устраивали фуршет на 111, а про 123-й рассказывать неприлично. Во всяком случае это уже вошло в хорошую традицию и мы её очень ценим.
Это пост о том, как я сделал довольно милое приложение с фоточками и котятами.
Читать полностью »

Заметка рассчитана на тех, кто уже знает, что такое Continuous Integration, но еще не выбрал, какую именно систему внедрить у себя.

Почитать, что такое CI и зачем его использовать, можно в Википедии и здесь же на Хабре: статья 1, статья 2, тег CI.

А я расскажу, на что стоит обратить внимание при выборе CI для своего проекта, почему стоит использовать готовую стороннюю систему и не стоит ввязываться в написание собственного «велосипеда».

Началось с того, что в одной IT-компании случился такой разговор между коллегами из соседних отделов:

K1: У вас continuous integration есть?
K2: Есть, запускаются тесты на каждый коммит в транке.
К1: На чем работают?
К2: Собственный скрипт. Сейчас переходим на Buildbot.
К1: Может я чего-то не понимаю, но что там сложного? Апнуться, запустить тесты, отправить результат, зачем какой-то Buildbot, проще же самим написать?

Подобные рассуждения — «да зачем какое-то сторонее continuous integration, что там сложного, сейчас сами скриптик наваяем» — мне встречались достаточно часто, так что хочу на примере показать, чего скорее всего будет не хватать в простом «наколеночном» варианте.

Итак, пишем «свой маленький скриптик». У меня получилось уложиться в 10 строк, включая shebang, задание в кронтабе и настройку отправки писем.

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

image

26-27 июля в DI Telegraph пройдет Хакатон мобильных финансовых сервисов – первый хакатон Сбербанка. Общий призовой фонд победителей в трех номинациях составит 1 000 000 рублей.
Представляем вашему вниманию интервью об ожиданиях прототипа мобильного финансового сервиса с одним из организаторов Хакатона — Владимиром Стасевичем, руководителем продуктов Сбербанк Онлайн, Банк XXI, Сбербанк.

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

Данное явление, которое я собираюсь описать, я начал наблюдать в конце мая. Подумал, что это временно, возможно, ведутся какие-то работы на сайте enter.ru, который будет основным действующим лицом в статье. Итак, дело было в мае, решил я купить коляску. Поскольку я являюсь членом клуба Связной (sclub.ru), и у меня накопилось приличное количество бонусов на карте, то я решил купить коляску именно в этом магазине. Зарегистрировался, все как положено, оформил заказ, поехал, забрал самовывозом, оплатил наличкой. Через некоторое время решил я купить фитбол для жены, чтобы укачивать ребенка. И тут началось самое интересное. А самое интересное уже под катом.
Читать полностью »

Желание написать об C++ API у меня возникло давно, и вот наконец выдался спокойный вечер. По роду деятельности я и мои ребята пишем код на C++ для программистов на C++ и Python, общее ядро функционала, который используется во всех продуктах нашей компании. Разумеется это подразумевает, что код должен иметь интуитивно понятный API, с общей логикой как для низкоуровневого C++, так и для высокоуровневого Python, вне зависимости от разночтения в языках некоторых базовых конструкций. Об объединении C++ и Python я много писал ранее в статьях про Boost.Python, сейчас я очень благодарен архитектуре и логике языка Python, я многое понял и перенял в С++ именно благодаря опыту построения общего API для этих двух таких разных языков, но сейчас речь пойдёт только и исключительно о C++, про API и про то, что такой зверский гибкий язык позволяет сделать с интерфейсом вашей замечательной библиотеки, если не учитывать ряд важных особенностей языка C++.
Читать полностью »

image

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

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

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

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

Snap — новая платформа для создания отчетов. Часть 2

Итак, под катом вас ждет обещанная занимательная механика.
Читать полностью »

Миссия команды TrackDuck — упростить процесс разработки любых веб-проектов. Мы понимаем, насколько важна надежная связь и понимание между заказчиком и исполнителем в процессе разработки. Нашему проекту уже почти 1,5 года, но мы чувствуем, что по-настоящему только начинаем работать над ним. И он, как любой хороший сервис, постоянно нуждается в улучшениях. Если вам интересен наш опыт — добро пожаловать под кат!

7 проблем в дизайне SaaS продуктов, и как мы их решали


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

node.js
В этом посте я хочу обобщить и поделится полученным опытом при разработке библиотеки node-queue-lib. Я расскажу о технологиях, которые помогли мне довести дело до финального конца — работоспособного кода, который уже работает на одном из моих сервисов. Особенностью данной библиотеки является кросс-платформенный клиент, т.е. клиент работающий в node.js и браузере и основан на одном и том же коде. В посте будут описаны следующие инструменты, без которых разработка этой библиотеки превратилась бы в ад:

  • Тестирование (jasmine_node)
  • Покрытие кода тестами (istanbul)
  • Сборка клиенткой части библиотеки (browserify)
  • Автоматизированное тестирование клиента (phantomjs)
  • Поиск утечек памяти (memwatch)

Если Вы об этом ещё ничего не слышали и имеете желание написать законченный продукт в надёжности которого Вы будете уверены, эта обзорная статья поможет Вам познакомится с одним из вариантов комплекта инструментов для полноценного контроля качества кода javascript библиотеки.

И дополнительно, повторю, что статья обзорная, и не ставит целью научить Вас виртуозно пользоваться всеми перечисленными инструментами. Я лишь покажу дверь, но откроете Вы её сами…
Читать полностью »


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