Несмотря на избитость темы и многочисленные рекомендации избегать OR в выражениях WHERE/ON SQL запросов, жизнь вносит свои коррективы. Иногда сама постановка задачи подразумевает необходимость использовать OR. Я не собираюсь здесь рассматривать простые случаи, а сразу возьму быка за рога и рассмотрю случай, когда OR должно привести к двум разным выборкам по разным индексам одной и той же таблицы.
dotnet developer
Bare-metal kubernetes-кластер на своём локальном компьютере
Привет, я Кирилл Шаталаев, инженер инфраструктуры и автоматизации в X5 Tech.
Я в курсе, что статей на эту тему достаточно, в том числе и на Habr. И когда у меня возникла задача поднять кластер, я их все перечитал. Где-то очень подробно рассказывается, как ставить виртуалки с убунтой на Windows под virtualbox, и очень скудно про сам кубер. Где-то досконально описано, как это всё круто можно провернуть с terraform в Яндекс.Облаке. Где-то про сам kubespray скупо пару слов, зато куча скриншотов прометея с кибаной.
В итоге до большинства ключевых моментов пришлось доходить самостоятельно, гуглежом и изучением исходников ролей kubespray. Поехали!
Хакаем CAN шину авто. Виртуальная панель приборов
В первой статье «Хакаем CAN шину авто для голосового управления» я подключался непосредственно к CAN шине Comfort в двери своего авто и исследовал пролетающий траффик, это позволило определить команды управления стеклоподъемниками, центральным замком и др.
В этой статье я расскажу как собрать свою уникальную виртуальную или цифровую панель приборов и получить данные с любых датчиков в автомобилях группы VAG (Volkswagen, Audi, Seat, Skoda).
Мною был собран новый CAN сниффер и CAN шилд для Raspberry Pi на базе модуля MCP2515 TJA1050 Niren, полученные с их помощью данные я применил в разработке цифровой панели приборов с использованием 7″ дисплея для Raspberry Pi. Помимо простого отображения информации цифровая панель реагирует на кнопки подрулевого переключателя и другие события в машине.
В качестве фреймворка для рисования приборов отлично подошел Kivy для Python. Работает без Иксов и для вывода графики использует GL.
- CAN сниффер из Arduino Uno
- Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
- Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
- Софт панели приборов на Python и Kivy (UI framework)
- Видео работы цифровой панели приборов на базе Raspberry Pi
Под катом полная реализация проекта, будет интересно!
Huawei продолжает бороться с санкциями: компания собирается построить собственный завод по производству чипов
В начале декабря мы писали о том, что китайская компания Huawei, похоже, постепенно решает все проблемы, которые связаны с санкциями, наложенными правительством США. Торговая война, которую развязали Китай и Америка, сильнее всего ударила именно по этой компании.
Правительство Соединенных Штатов ввело целый список жестких санкций в отношении этой корпорации. Но практически каждый месяц компания удивляет новыми продуктами и планами на будущее. Так, она разработала собственный чип, ноутбук с ним, ОС для ноутбука. А теперь вот планирует построить фабрику по производству процессоров.
Ультимативный гайд по созданию CI/CD в GitLab с автодеплоем в Kubernetes на голом железе всего за 514$ в год ( ͡° ͜ʖ ͡°)
Шел 2021 год, русские хакеры продолжают переигрывать и уничтожать загнивающий Запад, вмешиваясь в выборы, ломая фейсбуки и пентагоны. Тем временем на Хабре выходят статьи о создании неубиваемых Kubernetes-кластеров, которые, по видимому, всех нас переживут. А кто-нибудь подумал о простых пацанах (пацанессах)??? Как быть обычному программисту, который хочет свой небольшой кластер и ламповый CI/CD с автодеплоем приложения, чтобы кенты с района не засмеяли?
Всем привет, меня зовут Алексей и я алкоголик разработчик на Python/Go в Домклик. Сегодня мы будем понижать порог входа в self-hosted Kubernetes и GitLab AutoDevops.
13 инструментов для разработчиков, шпаргалка по Linux команде apt, вводный курс по Kubernetes Operators и многое другое
Сделали для вас новую подборку шпаргалок, статей, обучающих курсов и книжек в нашем регулярном #полезногопост. Оставайтесь с нами – станьте частью DevNation!
Traefik, docker и docker registry
Под катом вы увидите:
• Использования Traefik в качестве обратного прокси для маршрутизации трафика внутрь docker контейнеров.
• Использование Traefik для автоматического получения Let’s Encrypt сертификатов
• Использование Traefik для разграничения доступа к docker registry при помощи basic auth
• Все перечисленное выше будет настраиваться исключительно внутри docker-compose.yml и не потребует передачи отдельных конфигурационных файлов внутрь контейнеров.
Практически все инструкции, которые есть в интернете, используют несколько дополнительных файлов с конфигурациями, которые нужно будет скопировать в контейнер при запуске. Мы нашли способ сделать все необходимые настройки исключительно внутри compose файла.
Помимо этого в интернете мало информации на тему использования traefik для контроля доступа к docker registry. Описанную ниже технику можно использовать для контроля доступа к любому приложению, реализующему Rest API.
Кластеризация и классификация больших Текстовых данных с помощью машинного обучения на Java. Статья #1 — Теория
Данная статья будет состоять из 3 частей (Теория/Методы и алгоритмы для решение задач/Разработка и реализация на Java) для описания полной картины. Первая статья будет включать только теорию, чтобы подготовить умы читателей.
Цель статьи:
- Частичная или полная автоматизация задачи кластеризации и классификации больших данных, а именно текстовых данных.
- Применение алгоритмов машинного обучение “без учителя” (кластеризация) и “с учителем” (классификация).
- Анализ текущих решений задач.
Задачки, которые будут рассматриваться в целом:
- Разработка и применение алгоритмов и методов обработки естественного языка.
- Разработка и применение методов кластеризации для определения кластерных групп входных документов.
- Применение методов классификации для определения предмета каждых кластерных групп.
- Разработка веб-интерфейса на основе Java Vaadin
Гипотезы, которые я вывел из задачки и при обучении теории:
- Классификация кластерных групп определяет абстрактные и более ценные скрытые знания, игнорируя шумы, чем классификация отдельных объектов.
- Точность кластеризации прямо пропорциональна количеству кластерных групп и обратно пропорциональна количеству объектов в одной кластерной группе.
Забегая вперед, кому интересен сам алгоритм, вот обзор.
Алгоритм программного обеспечение для машинного обучения состоит из 3 основных частей:
- Обработка естественного языка.
- токенизация;
- лемматизация;
- стоп-листинг;
- частота слов;
- Методы кластеризации.
TF-IDF ;
SVD;
нахождение кластерных групп;
- Методы классификации – Aylien API.
Итак, начнем теорию.
SHISHUA: самый быстрый в мире генератор псевдослучайных чисел
Полгода назад мне захотелось создать лучший генератор псевдослучайных чисел (ГПСЧ) с какой-нибудь необычной архитектурой. Я думал, что начало будет лёгким, а по мере работы задача станет медленно усложняться. И думал, смогу ли я научиться всему достаточно быстро, чтобы справиться с самым сложным.
К моему удивлению, сложность возрастала не линейно. Побайтовое тестирование по критерию хи-квадрат оказалось очень трудным! Позднее столь же трудно было пройти тесты diehard. Я опубликовал текущие результаты, чтобы понять, какие ещё трудности меня ожидают. Однако тест PractRand в тот раз пройти не удалось.
Затем было очень трудно прохождение теста BigCrush.
Затем было очень трудно передавать 32 тебибайта данных при прохождении PractRand. Скорость стала проблемой. Мало было создать конструкцию, генерирующей десять мегабайтов в секунду, потому что прохождение PractRand заняло бы месяц. Но должен признаться, что пройти этот тест со скоростью гигабайт в секунду было очень трудно.
OdataToEntity легкий способ создания .Net Core OData сервисов
Когда вышел .Net Core, старая версии OData ASP.NET Web API оказалась несовместимой с новой платформой. Этот фатальный недостаток позволил мне создать свою реализацию OData на платформе .Net Core. В результате творческого переосмысления предыдущей реализации пришло понимание, что она страдала от переусложненного дизайна с большим количеством ненужных абстракций. Возникла идея создать простую в использовании, требующую минимального кодирования библиотеку. Представляю вашему вниманию OdataToEntity, библиотеку создания OData сервисов без написания кода, нужен только контекст доступа к данным.
Как работают реляционные базы данных (Часть 1)
Привет, Хабр! Представляю вашему вниманию перевод статьи
"How does a relational database work".
Когда дело доходит до реляционных баз данных я не могу не думать, что чего-то не хватает. Они используются везде. Существует множество различных баз данных: от небольшого и полезного SQLite до мощной Teradata. Но есть только несколько статей, которые объясняют, как работает база данных. Вы можете искать сами по запросу "howdoesarelationaldatabasework" («как работают реляционные базы данных») чтобы увидеть, как мало результатов. Более того, эти статьи — короткие. Если же вы ищете последние модные технологии (BigData, NoSQL или JavaScript), вы найдете больше углубленных статей, объясняющих, как они работают.
Являются ли реляционные базы данных слишком старыми и слишком скучными, чтобы их можно было объяснить вне университетских курсов, исследовательских работ и книг?
Вышли обновления ML.NET и Model Builder: что нового
ML.NET предлагает Model Builder (простой инструмент пользовательского интерфейса) и интерфейс командной строки, созданные для того, чтобы упростить создание пользовательских моделей ML с использованием AutoML.
Используя ML.NET, разработчики могут задействовать свои существующие инструменты и наборы навыков для разработки и внедрения ИИ в приложения, создавая пользовательские модели машинного обучения для распространенных сценариев, таких как анализ тональности текста, рекомендации, классификация изображений и многое другое!
Реконсиляция — проверка целостности данных в распределенных системах
При разработке и использовании распределенных систем перед нами возникает задача контроля целостности и идентичности данных между системами — задача реконсиляции.
Требования, которые выставляет заказчик — минимальное время данной операции, поскольку чем раньше расхождение будет найдено, тем легче будет устранить его последствия. Задача заметно усложняется тем, что системы находятся в постоянном движении (~ 100 000 транзакций в час) и добиться 0% расхождений не получится.
Инфраструктура открытых ключей: GnuPG/SMIME и токены PKCS#11 с поддержкой российской криптографии
История одного SSL рукопожатия
Недавно мне пришлось прикручивать SSL с двухсторонней аутентификацией (mutual authentication) к Spring Reactive Webclient. Казалось бы, дело нехитрое, но вылилось оно в блуждание в исходниках JDK с неожиданным финалом. Опыта набралось на целую статью, которая может оказаться полезной инженерам в повседневных задачах или при подготовке к собеседованию.
C#: обратная совместимость и перегрузки
Напоминаем всем, что у нас вышла отличная книга Марка Прайса "C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов". Обратите внимание: перед вами уже третье издание, первое издание было написано по версии 6.0 и на русском языке не выходило, а 3-е издание вышло в оригинале в ноябре 2017 года и охватывает версию 7.1.
После выхода такого компендиума, который прошел отдельную научную редактуру для проверки обратной совместимости и прочей корректности изложенного материала, мы решили перевести интересную статью Джона Скита о том, какие известные и малоизвестные сложности с обратной совместимостью могут возникать в языке C#. Приятного чтения.
Создание, настройка и использование собственного Git-сервера
SignalR Core. «Hello Habr!»
Коротко: небольшой самодостаточный пример, иллюстрирующий SignalR для .NET Core 2 и разработку в IDE Rider. В самом конце — видео Dino Esposito с конференции DotNext на эту же тему.
Все привыкли к push-уведомлениям в браузере. Однако создание их требует от программиста определенного опыта и желания возиться с вебсокетами и прочими фронтовыми заморочками, позволяющими веб-приложению в нужный момент отправить обновления на браузерный клиент. Более того, не всегда вебсокеты работают хорошо, поэтому приходится создавать код для поддержки нескольких транспортов — над такой штукой надо думать и хорошо её отлаживать.
Очевидно, есть готовые библиотеки, которые берут это на себя. В мире веб-приложений ASP.NET это SignalR, она позволяет разработчику абстрагироваться от перечисленных сложностей и использовать простую программную модель для работы с push-уведомлениями.
Оптимизируем свои трудозатраты при разработке приложения в Google Material Design
Данный материал может быть полезен как профессиональным дизайнерам интерфейсов, так и разработчикам, чьи познания в графических пакетах находятся ниже уровня “продвинутого пользователя”.
Итак, перед нами стоит задача: опираясь на готовые решения в открытом доступе, максимально оптимизировать затраченный труд на разработку приложения в стиле Google Material Design.
Головная боль от RecyclerView.Adapter — выход есть
Information
- Rating
- Does not participate
- Location
- Подольск, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity