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

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

В помощь DevOps: сборщик прошивок для сетевых устройств на Debian за 1008 часов - 1

Задача

Embedded Debian не предоставляет готовой к использованию среды для сборки произвольных образов системы. Чтобы ее подготовить, требуется использовать стандартный дистрибутив Debian, обладать навыками системного администрирования, подобрать и настроить набор утилит, написав при этом ряд shell скриптов для автоматизации процедуры кросс-компиляции пакетов. Проделав всю ручную работу, вы получите консольный инструмент, пользоваться которым может исключительно технический персонал с определенным уровнем навыков работы с ОС Linux, а это не удобно, встает вопрос по организации многопользовательского доступа к этой среде и ограничению прав, а также постоянной поддержки среды в актуальном состоянии.

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

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

  • Многопользовательский доступ к системе сборки образов Debian.
  • Хранение подготовленных образов и предоставление доступа к ним.
  • Модификация и повторная сборка подготовленных ранее образов.
  • Клонирование и модификация подготовленных ранее образов.
  • Возможность делится созданным образом с другими пользователями.
  • Зеркалирование дистрибутива Embedded Debian, поддержка его в актуальном состоянии.
  • Предварительная сборка пакетов дистрибутива на различные платформы по расписанию.
  • Предоставление статистики по итогам сборки пакетов на различные платформы.
  • Поддержка классических img образов, а также iso образов, в том числе с поддержкой Live CD.

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

Реализация и технологии.

  • Python 2 / Django.
  • Bash shell scripts.
  • MySQL.
  • Debian 5.0 (Lenny).
  • Embedded Debian 1.0 (Grip / Crush).

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

2 ноября 2015 года у нас в компании прошел первый хакатон. Он проходил два дня в рамках только нашего отдела. В 17:00 второго дня всем необходимо было продемонстрировать результаты своей работы. Темы можно было предлагать любые. В нем приняли участие четыре команды. Наша команда была под номером — 3. О нашем опыте я и расскажу. Кому интересно добро пожаловать под кат.Читать полностью »

«Интерфейс не должен вредить человеку или своим бездействием допустить, чтобы человеку был нанесен вред». Азимов-Раскин
image
На фото: Джеф Раскин. То чувство, когда ты один знаешь, как сделать интерфейсы правильно, а весь мир делает не так.

Для тех, кто еще не знает Джеф Раскин (Jef Raskin) — специалист по компьютерным интерфейсам, автор статей по юзабилити и книги «The Humane Interface», сотрудник № 31 фирмы Apple Computer, наиболее известен как инициатор проекта Макинтош в конце 70-x.

image

В день рождения (9 марта) старика-бунтаря Раскина, решил поделиться мыслями про интерфейсы в своей жизни. Какой интерфейс помогает лично вам в жизни, служит «усилителем интеллекта»?

Мой первый интерфейс, где я был максимально продуктивен на то время (и под задачи молодости) — DOS Navigator, затем его сменил Total Commander.

Возможно, мой мозг засох после выпуска из универа, но мне кажется, что все, что связано с интерфейсами, с тех пор стало только хуже (субъективно). Я даже перестал искать и пробовать, стал пользоваться первым, что под руку попадется (например, встроенный редактор в Хабре). Но если надо взяться за серьезный проект, где «думать надо», я спрыгиваю из гамака и снимаю лыжи открываю… CorelDraw X3.

Corel — самая крутая штука после белой доски на всю стену и десятка цветных маркеров. В Corel есть ZUI. Стабильный и рабочий ZUI. Для моих задач и того типа информации (много текста и много картинок) которым я оперирую, чтобы «думать», Corel подходит почти идеально (лучшего пока не нашел). Хотя, нет, вроде бы Palantir тоже имеет ZUI. (Радует, что и читатели шевелятся в этом направлении — icefall с его «Тектограммы — новое поколение майндмапов»)

Под катом немного наследия Джефа Раскина.
Читать полностью »

Сервис мониторинга доступности сайтов ХостТрекер постоянно расширяет свою сеть. Мониторинг из России и ранее был доступен, но у нас не было достаточного покрытия и количества серверов, чтобы выделить ее в отдельный пул, поэтому она входила в регион Восточная Европа. Теперь у нас 10 агентов в разных городах страны — от Санкт-Петербурга до Владивостока, и возможность проверять сайты только с них, что удобно в случае, если они ориентированы исключительно на российскую аудиторию.

Мониторинг из России: новые возможности сервиса ХостТрекер - 1

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

Здравствуйте, уважаемые читатели.

Нас заинтересовала книга "Node.js Design Patterns", собравшая за год существования очень положительные отзывы, небанальная и содержательная.

Node.js. Паттерны проектирования и разработки - 1

Учитывая, что на российском рынке книги по Node.js можно буквально пересчитать по пальцам, предлагаем ознакомиться со статьей автора этой книги. В ней господин Кассиаро делает очень информативный экскурс в свою работу, а также объясняет тонкости самого феномена «паттерн» на материале Node.js.

Поучаствуйте, пожалуйста, в опросе.

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

Архитектура чистого кода и разработка через тестирование в PHP - 1

Понятие «архитектура чистого кода» (Clean Code Architecture) ввел Роберт Мартин в блоге 8light. Смысл понятия в том, чтобы создавать архитектуру, которая не зависела бы от внешнего воздействия. Ваша бизнес-логика не должна быть объединена с фреймворком, базой данных или самим вебом. Подобная независимость даёт ряд преимуществ. К примеру, при разработке вы сможете откладывать какие-то технические решения, например выбор фреймворка, движка/поставщика БД. Также вы сможете легко переключаться между разными реализациями и сравнивать их. Но самое важное преимущество такого подхода — ваши тесты будут выполняться быстрее.

Просто подумайте об этом. Вы действительно хотите пройти роутинг, подгрузить абстрактный уровень базы данных или какое-нибудь ORM-колдовство? Или просто выполнить какой-то код, чтобы проверить (assert) те или иные результаты?
Читать полностью »

Предлагаю вашему вниманию перевод статьи How To Pick a Frontend Web Framework c сайта top.fse.guru.

Привет, приятель!

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

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

Makeup — инструмент для комфортного ручного регрессионного тестирования вёрстки

Что не так с тестированием вёрстки

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

Проблема тестирования вёрстки в том, что только живой человек может сказать, хорошо свёрстан блок на странице или нет. Поэтому чаще всего мы тестируем HTML и CSS вручную: проверяем, как будет вести себя блок, если в нем будет слишком много (или слишком мало) текста или дочерних элементов; смотрим, чтобы все возможные варианты отображения блока смотрелись корректно; помним о том, как блоки должны адаптироваться к разным устройствам и разрешениям экрана.
Читать полностью »

Чем плох JavaScript в большом проекте? С какими проблемами мы столкнулись и как их решали - 1

Почему определенные недостатки языка JavaScript в реалиях разработки такого большого проекта, как наш, оказываются критическими? Как решить проблемы JS, когда количество кода превышает 2 млн строк, а команда насчитывает более 20 человек и постоянно растет? Об этом — в докладе фронтенд тимлида Wrike в рамках митапа, проведенного в нашем офисе совместно с сообществом Piter JS.

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

Почему я больше не использую MVC-фреймворки - 1

Опубликовано с большого одобрения автора и согласия портала infoq.com. Надеюсь, мои языковые навыки оправдают оказанное автором доверие.

Худшее в моей работе на сегодняшний день, это проектирование API для front-end разработчиков. Диалог с ними неизбежно разворачивается следующим образом:

Dev — итак, на этом экране нужны данные x, y и z. Не мог бы ты сделать API, которое вернет данные в формате {x:, y:, z: }

Я — ok

Я больше даже не спорю с ними. Проекты заканчивается ворохом различных API, привязанных к экранам, которые меняются очень часто, что “by design” требует изменений в API. Вы и глазом моргнуть не успеваете, а у вас уже куча API и для каждого необходимо поддерживать множество форматов и платформ. Сэм Ньюман даже начал формализовывать этот подход как BFF Pattern, предполагающий, что это нормально — разрабатывать отдельное API для каждого типа устройства, платформы и, естественно, каждой версии вашего приложения. Дэниэл Якобсон рассказывал, что Netflix был вынужден начать использовать новую характеристику для своего “Experience API”: эфемерность. Ох…
Читать полностью »


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