Одна из проблем, с которыми приходится столкиваться, занимаясь настройкой окружения для разработчиков, с использованием Docker и Docker-compose, это вопрос о том, как сводить вместе несколько различных проектов. При условии, что все проекты, конечно же, имеют docker-compose.yml файл.
Причин, по которым становится необходимо делать это, может быть несколько:
Разработка низко связанных компонентов огромной системы. Где каждый проект, по сути, может являться отдельным самостоятельным приложением
Подключение отдельных компонентов для тестирования. Вынесение mock-сервисов и тестов в отдельные контейнеры со своей логикой линковки и взаимодействия
Внешнии, по отношению к проекту, системы, которые тем не менее 'живут' в docker среде
Ввиду живого интереса к прошлой статье о библиотеке Smartbox, которая призвана стать основой для любого кроссплатформенного SmartTv приложения, я решили описать, как же создать такое приложение разом для трёх вендоров SmartTv устройств:
Копаясь в памяти своего неискушённого идеальным миром мозга, я, припоминаю, как два года назад начиналась наша история по разработке приложений для SmartTv. Если коротко, то это был АД!!! богатейший опыт.
Однако, хотелось бы получить этот опыт сразу, не наступая на недокументированные грабли, разложенные по всей технологии, и специальные детские грабли разложенные каждым вендором отдельно. Но как говорится «c'est la vie» и нам пришлось пробиваться сквозь тернии к звёздам!
В итоге мы получили кроссплатформенную расширяемую библиотеку для всех SmartTv.
Недавно мои коллеги напомнили мне о замечательной игре MortalKombat, в которую ну просто не возможно играть без джойстиков, а если и возможно то удовольствия никакого.
И я вспомнил о технологии управления любыми экранами с мобильного телефона, которую описал в предыдущей статье. Цель в той статье была достигнута но практического применения ноль.
И не долго думая была создана игра в которую по моим ощущениям можно играть, если в вашей сети нет диких тормозов и проксей вырубающих коннекты веб сокетов.
Давеча был свидетелем одного интересного спора о том как же действительно нужно определять IP адрес конечного пользователя из скриптов PHP.
Собственно, каждое слово сабжа отображает действительную ситуацию. Это был религиозный спор, обострённый весенней замечательной погодой, в котором, я считаю, не оказалось правых и не правых, но который побудил меня к мини-исследованию и, к моему счастью, поставил точку в понимании этого конфессионального но по факту очень простого вопроса.
Для тех, кто как и я сомневался был уверен, что во всём разобрался, но боялся спросить лень было разбираться в мелочах — под кат.
Идея управлять экранами не нова — мыши, клавиатуры, киннекты и много много, много, другого.
Предпосылки к созданию нового интерфейса управления были следующие:
Скорость интернета равна скорости света…даже больше (оптоволокно с несколькими модами)
Доступность интернета стремится к 100% во всех 4х измерениях – в любой точке в любое время
Количество мобильных устройств почти превысило популяцию homo sapiens…
В настоящий момент существует множество средств контроля и обеспечения безопасности, однако все их можно разделить на следующие группы или классы: 1. Средства управления доступом к системе (доступ с консоли, доступ по сети) и разграничения доступа 2. Обеспечение контроля целостности и неизменности программного обеспечения (сюда же я отношу средства антивирусной защиты, поскольку внедрение вируса есть изменение ПО) 3. Средства криптографической защиты 4. Средства защиты от вторжения извне (внешнего воздействия) 5. Средства протоколирования действий пользователей, которые тоже служат обеспечению безопасности (хотя и не только) 6. Средства обнаружения вторжений 7. Средства контроля состояния безопасности системы (обнаружения уязвимостей)
Самыми интересными являются три последних класса, которые играют пассивную роль в обеспечении безопасности, однако их значимость не должна быть принижена. Если мы, к примеру, рассмотрим цикл Деминга в отношении обеспечения информационной безопасности на уровне ПО, то положение этих трех классов будет занимать полностью одну четвертую часть всего процесса обеспечения безопасности.