Привет всем! В предыдущей статье мы обзорно рассмотрели основные компоненты CI/CD Kubernetes платформы Gitorion. В данной статье подробнее остановимся на реализации хостинга кода, системы управления версиями и непрерывной интеграции CI.
Администрирование
Удаленный доступ с помощью Континент TLS
По статистике Positive Technologies за 2020 год в 100% компаний выявлены нарушения регламентов информационной безопасности. Среди всех нарушений в 64% компаний используются незащищенные протоколы. Незащищенный протокол означает, что данные передаются без шифрования и не имеют защиты от злоумышленников.
И, если с защитой каналов связи между филиалами (Site-to-Site VPN) все понятно, то с удаленным доступом все не так просто. Многие компании используют ПО для удаленного доступа, нарушая собственные регламенты, а в некоторых случаях и законодательство.
Тормозящая виртуализация на x86. Небольшая попытка разобраться Часть 4. KVM
Для лиги лени. Какая-то заумь про то, что не нужно, потому что все равно давно у нормальных людей все приложения в облаках на микросервисах, и прекрасно работают.
Часть 4. Что из этого следует, и как устроен планировщик в KVM или KVM- QEMU. Тут тоже не будет ничего нового, но будет масса ошибок.
Создать тест онлайн
Эта статья предназначена для широкого круга специалистов, желающих углубить свои знания в создании и применении онлайн тестов. Независимо от того, являетесь ли вы HR-специалистом, маркетологом, учителем или разработчиком онлайн курсов, здесь вы найдете полезную информацию, которая поможет вам сделать ваши тесты более эффективными и привлекательными для вашей аудитории.
В статье мы обсудим лучшие практики и подходы к созданию эффективных тестов, представим примеры вопросов, которые помогут вам лучше понять, какие типы вопросов лучше всего подходят для различных целей. Также мы расскажем о шаблонах Тестографа, которые облегчат процесс создания тестов, экономя ваше время и усилия. Использование Тестографа позволит вам создавать профессионально выглядящие тесты, опросы и голосования, которые не только будут полезны для сбора информации, но и повысят вовлеченность и интерес к вашему контенту.
Мы уверены, что после прочтения этой статьи вы сможете эффективнее использовать онлайн тесты в своей деятельности, повысить их качество и добиться лучших результатов.
Как мы упростили работу с данными с помощью пайплайна: пошаговый план
Привет, меня зовут Руслан Шкарин. Я Senior Software Engineer и это моя первая статья в DIY-медиа вАЙТИ от beeline cloud. Расскажу, как занимался построением пайплайна для сбора и анализа логов системы в реальном времени для сервиса, который обходил сотни тысяч веб-страниц и парсил контактные данные.
Вызовы автоматизации: NFC-метки на металлической поверхности
О самой технологии NFC (Near Field Communication) написано множество статей, в том числе и здесь на Хабре. Активно данная технология находит применение в промышленности. В частности, компанией «Сибур», ведущим игроком в области нефтехимической промышленности, в целях повышения эффективности и для обеспечения контроля и автоматизированного сбора информации внедрены тысячи защищенных NFC-меток. «Защищенность» подразумевает наличие сертификата по соответствующему классу взрывозащиты. Вообще на объектах такого уровня все устройства должны быть взрывозащищенными, так как их применение предполагается во взрывоопасных средах.
Мозг промышленного масштаба или как воплотить мечту в реальность?
В предыдущей статье мы рассмотрели различные типы нейросетей и обсудили, какие задачи можно решать с их помощью. Теперь рассмотрим задачу искусственного интеллекта с организационной и технической точки зрения.
При работе над сложными проектами обычно вовлечена команда разработчиков и специалистов по обработке данных, у которых сразу возникают вопросы: как управлять проектом, совместно разрабатывать модель машинного обучения (Machine Learning model), проводить ее тестирование, каким образом синхронизировать код и результаты экспериментов? После разработки и оптимизации ML-модели возникает необходимость ее развертывания в промышленной среде. Все эти проблемы могут казаться менее увлекательными, чем решение самой задачи машинного обучения, но они имеют критическое значение для успешной реализации ML-проектов.
В этой статье мы подробно рассмотрим жизненный цикл ML-сервиса от идеи до разработки и внедрения, а также инструменты и принципы, используемые на каждом этапе.
Обнаружение SSH-туннелей по размеру пакетов
Иллюстрация из книги «Справочник киберсантехника»
Протокол SSH — очень мощный инструмент, который используется для удалённой консоли или передачи файлов (scp, sftp). Есть менее известная функция перенаправления портов. Такие SSH-туннели используются для пробития файрволов и хорошо скрываются от обнаружения стандартными средствами мониторинга типа Trisul, Zeek (ранее был известен как Bro), Suricata и Snort. Поэтому для их обнаружения в корпоративной сети используются другие методы.
Настраиваем логирование с помощью Loki и Grafana
При построении микросервисной архитектуры часто возникает потребность анализировать логи из нескольких источников (баз, сервисов и т. д.). В этой статье я бы хотел поделиться решением к которому в итоге пришел.
История, создание и применение штриховых кодов
В наше время решающую роль в развитии экономики играет именно маркетинг. При помощи штриховых кодов различных видов в наше время человечество облегчило себе поиск различной информации, в том числе и в сфере маркетинга.
Штриховой код — это графическая информация, относящаяся только к одному товару, источнику, информационному ресурсу, определённой услуге и др.
Ни для кого не секрет, что в нашей жизни всё большую роль играют штриховые коды. Они удобны своей лёгкостью применения и тем, что каждый штриховой код несёт исключительно свою информацию, значит один и тот же код не может нести в себе разную информацию. В наше время всё большую популярность набирают именно QR-коды. Использование данного типа штриховых кодов стало столь широким благодаря массовому внедрению QR-кодов в программное обеспечение различных гаджетов, так же из-за возможности кастомизации и быстрой генерации они стали популярным средством рекламы различных брендов.
Штриховые коды генерируются по определённым алгоритмам, разработанным уже достаточно давно, но актуальным в наше время, ведь вектор развития штриховых кодов почти не изменялся. Но различной информации, которую можно изобразить в виде штрихового кода, стало несравнимо больше, что стало причиной возникновения особой проблемы: необходимо разработать особый вид штриховых кодов, которые будут отвечать всем современным стандартам. Так, в 2000-х годах стали разрабатывать так называемые QR-коды, тем самым, уже в то время, было положено начало почти всем штриховым кодам, что окружают нас.
Минимализм / Минималист / TMUX.config
Заметили, что мир становится намного красочнее, пестрее, ярче и контрастнее?
Весь мир как-будто бы сошел с ума в погоне за яркостью, красками, фактурой, контрастом, дизайном и стилем. За последние пару десятилетий появилось много такого, что не имело бы место на существование без цвета, ярких акцентом и дизайна. Я думаю далеко идти не надо и интернет без цвета так и остался бы пространством для гиков и ботанов. То время было больше для ученых, техников и просто энтузиастов, которые пытались создать виртуальный мир.
Сейчас же парадигма сместилась в сторону скроллинга ярких картинок, фотографии и видео, и на первый план вышло яркое представление, а не качество внутри.
В ИТ мире тоже происходит такой сдвиг, программы для разработки (IDE) походят больше на елку с гирляндой или какие-то детские квесты из 2000-х. Странность заключается в том, что центр внимания программиста смещается со знаний, на все что угодно, но только не на написание качественного кода, изучения алгоритмов или разобраться как же все таки работает Garbage Collector (.Net мем). Становятся популярны какие-то странные супер фичи будущего, выбор красивой подсветки ошибок, умные помощники и т.д. Но самое странное все начинают называть себя экспертами всех этих ценностей.
https://github.com/paulbuzakov/tmuxconfig
Спасаем Google Shared Drives от санкций (дополнение спустя два года)
Ровно два года назад, 16 марта 2022 года, ваш покорный слуга рассказал про нехитрые телодвижения, которые с помощью rclone позволяют сохранить локально ваши корпоративные Google shared drives (не путать с личным Google Drive).
Ок, данные были сохранены и можно выдохнуть. Но что делать, если вам хочется продолжить использование этого продукта, аналогов которому по функциональности и экосистеме нет? И при этом хочется еще спокойно спать по ночам? В том числе и после новых санкций:
Где изучать DevOps. Бесплатные курсы, книги и полезные материалы
В области DevOps существует так много направлений, что изучение всех из них может занять огромное количество времени и требуемые знания будут зависеть от того, где вы работаете.
DevOps - это не просто набор инструментов и практик, это целая философия и подход к разработке программного обеспечения, охватывающая весь цикл разработки от Кодина до развертывания и мониторинга. Изучение DevOps не сравнимо с изучением отдельного языка программирования; это требует обширных знаний и умений в различных областях.
Стать хорошим DevOps-инженером означает обладать навыками автоматизации, контейнеризации, управления конфигурациями, непрерывной интеграции, доставки, мониторинга систем и многим другим.
Для тех, кто стремится стать DevOps-инженером, важно освоить широкий спектр инструментов и методологий. Существует множество онлайн-курсов и ресурсов, которые помогут вам приобрести необходимые знания и навыки.
Эти источники позволяют выбрать наиболее подходящий подход к обучению и материалы для своего учебного процесса. Некоторые из них включают в себя курсы по Docker, Kubernetes, Ansible, Jenkins, Git и другим инструментам, необходимым для успешной работы в области DevOps.
Изучение DevOps может быть вызовом, но с правильным подходом и настойчивостью вы сможете освоить эту обширную область и стать востребованным специалистом в сфере разработки программного обеспечения.
В статье я собрал большой список курсов, книг, репозиториев и ресурсов, которые помогут вам стать DevOps-инженером🧑💻.
Ближайшие события
Как потерять управление оболочкой… Расследование
Несколько недель назад я занимался хаком языковых серверов в Zed, пытаясь заставить Zed определять, когда заданный бинарник языкового сервера, например gopls
, уже присутствует в $PATH
. Если так, вместо загрузки нового бинарника Zed должен использовать его.
Трудность: часто $PATH
динамически изменяется такими инструментами, как direnv
, asdf
, mise
и другими, которые позволяют в данной папке установить определённый $PATH
. Почему эти инструменты так делают? Потому что это даёт возможность, скажем, в начале $PATH
добавить ./my_custom_binaries
, пока вы находитесь в my-cool-project
. Поэтому нельзя просто использовать $PATH
, связанный с процессом Zed, нужен $PATH
, как он есть, когда выполняется cd
в каталог проекта.
Легко, подумал я. Просто запусти $SHELL
, выполни cd
в проект, чтобы запустить direnv
и всё такое, запусти env
, сохрани окружение, выбери $PATH
, найди в нём бинарники. И это было легко. Вот часть кода, та часть, которая запускает $SHELL
, cd
и получает env
:
fn load_shell_environment(dir: &Path) -> Result<HashMap<String, String>> {
// Получает $SHELL
let shell = std::env::var("SHELL")?;
// Конструирует команду, которую хочется выполнить в $SHELL
let command = format!("cd {:?}; /usr/bin/env -0;", dir);
// Запускает $SHELL как интерактивную оболочку (чтобы использовались файлы пользователя rc).
// и выполняет `command`:
let output = std::process::Command::new(&shell)
.args(["-i", "-c", &command])
.output()?;
// [... проверка кода выхода, получение stdout, превращение stdout в HashMap и т. д. ...]
}
За исключением одного: после запуска экземпляра Zed в терминале, который выполнял эту функцию, я больше не мог убить Zed, нажав Ctrl-C
.
Инженер-аналитик или дата-инженер: Как выбрать нужного специалиста? | Census
Мэдисон — инженер-аналитик, увлекающаяся данными, предпринимательством, писательством и образованием. Ее цель — преподавать так, чтобы это было полезно для каждого, независимо от того, начинает ли он карьеру или уже работает в инженерии 20 с лишним лет.
И так вы поняли, что вам не помешала бы дополнительная помощь в работе с данными. Но кого конкретно следует искать, вы не знаете, ведь существуют дата-аналитики, дата-инженеры, а теперь… и инженеры-аналитики?!
Не разобравшись, можно подумать, что дата-инженеры и инженеры-аналитики — это одно и то же. Звучит-то ведь похоже, верно? Но на самом деле у инженеров-аналитиков и дата-инженеров разные обязанности. Поэтому выбор подходящего для вас и вашей организации специалиста зависит от ваших потребностей, места, которое он занимает по отношению к бизнесу, и навыков, необходимых для работы.
ShIoTiny5 — OTA, часы, Encoder и прочие новости от v0.26 до v0.32
Это продолжение цикла статей о хобби-проекте ShIoTiny5 - встраиваемой системе графического программирования микроконтроллеров семейства ESP8266.
Изменения, новшества, планы - за последние несколько месяцев.
Для тех, кто не знает о чём речь
Для тех, кто слышит о проекте ShIoTiny5 впервые - можно посмотреть сайт проекта и там же найти подробную инструкцию прошивки v0.32 и саму прошивку.
Кроме того, в конце статьи есть ссылки, которые помогут понять о чём речь.
Для написания программ для ShIoTiny5 не нужно ничего, кроме интернет-браузера и модуля на базе ESP8266, соединённого с компьютером или ноутбуком по WiFi.
Дополненная реальность на производстве: как МТС и компания «Дайгер» ПО для промышленных AR-очков создавали
Привет, Хабр! В сегодняшней статье расскажем о том, как команда МТС совместно с компанией «Дайгер» под руководством её технического директора Сергея Головина разработали специализированное ПО для устройств дополненной реальности, используемых на промышленных объектах. В «Дайгер» появилась идея проекта, после чего её команда стала его реализовывать. Команда МТС принимала активное участие в работе с середины 2023 года.
Кейс интересный, поскольку нам удалось создать систему, которая связывает оператора на объекте с удалённым специалистом. Он может при необходимости подключиться в режиме конференции, дать советы и обсудить возможности решения возникших проблем. Подробности — под катом.
Юзабилити-тестирование сайта
Юзабилити-тестирование становится ключевым инструментом в руках разработчиков и дизайнеров, позволяя выявить и устранить потенциальные проблемы интерфейса ещё до того, как сайт попадёт к конечному пользователю.
Эта статья будет интересна широкому кругу профессионалов, занимающихся созданием и продвижением веб-ресурсов. Веб-разработчики найдут здесь информацию о том, как интегрировать тестирование юзабилити в процесс разработки, чтобы сделать сайты максимально удобными и понятными для пользователей. Дизайнеры узнают, как использовать обратную связь от тестирования для улучшения визуальных и функциональных аспектов интерфейса. Маркетологам и владельцам бизнеса статья поможет понять, почему юзабилити является критически важным фактором для увеличения конверсии и удержания клиентов, и как его можно измерить и оптимизировать с помощью современных инструментов, таких как Testograf.
Септик и автономная канализация. Часть 1. Основы
Канализация является крайне важной системой современного дома, однако при этом она незаслуженно обходится вниманием. Если нет централизованной канализации, то возникает необходимость строительства автономной канализации, что является сложной технической задачей. Многие знают, что автономная канализация часто строится на основе септика. Интернет буквально завален статьями, рекламой и видео про септики, но количество адекватных материалов по этой теме исчезающе мало. Попробуем восполнить этот пробел и развеять мрак заблуждений. В этой статье рассмотрим самые базовые вопросы, необходимые для понимания того, как устроена автономная канализация на основе септиков. Статья будет полезна всем, кто планирует строить автономную канализацию, равно как и тем, кто уже эксплуатирует таковую.
И вновь KolibriOS! И вновь ассемблер!.
В прошлой статье, я решил потестировать ассемблер на данной ОС. Но я ни когда не ищу лёгких путей и потому решил окунуться в мир KolibriOS и программировать используя только данную ОС. Всё что я смог выяснить, это то что давно когда-то что-то делали и на данный момент, увы, многое забросили...
Но далеко не всё так плохо как кажется! В KolibriOS есть готовый редактор кода с подсветкой CEdit, и он поддерживает подсветку для нескольких языков программирования. Но я не уверен что он умеет компилировать под все эти языки. Но как минимум текст набрать можно. Fasm поддерживается полностью и собирать/запускать/отлаживать приложения можно "используя" данный редактор (не совсем, редактор запускает отдельно компилятор и так же запускает отдельно отладчик), что и позволяет полноценно разрабатывать программы.
Я бы хотел сразу предупредить, практически ни какого обучения в статье не будет. Всё рассчитано на то, что вы уже хотя бы немного знаете ассемблер x86 и уже создавали простые программы под данную архитектуру (под Windows, Dos, Linux, а так может и MacOS).