Search
Write a publication
Pull to refresh
-5
0
roboter @roboter

Пользователь

Send message

Не ешь это! Полезная 3D-печать сахаром

Reading time4 min
Views5.7K


3D-печать сахаром обычно ассоциируется исключительно с кулинарией и кондитерским делом. А раз так — то с чем-то несерьезным и бесполезным с практической точки зрения (хотя десерты, это конечно, здорово).

Недавнее открытие ученых из Иллинойса изменит такое отношение. Они разработали метод свободной печати изомальтом и уже применяют его в работе с микрожидкостными устройствами и биологическими тканями. А вообще руководитель исследовательской группы — директор Ракового центра Иллинойса, и созданная разработка будет помогать в изучении раковых опухолей.
Читать дальше →

Генерация кода во время работы приложения: реальные примеры и техники

Reading time19 min
Views22K

Генерация кода в рантайме — очень мощная и хорошо изученная техника, но многие разработчики все еще неохотно её используют. Обычно изучение Expression Trees начинают с какого-нибудь простого примера типа создания предиката (фильтра) или математического выражения. Но не Expression Trees единым жив .NET-разработчик. Совсем недавно появилась возможность генерировать код, используя сам компилятор — это делается с помощью API библиотек Roslyn/CodeAnalisys, предоставляющих, кроме всего прочего, еще и парсинг, обход и генерацию исходников.


Эта статья основана на докладе Raffaele Rialdi (Twitter: @raffaeler) на конференции DotNext 2017 Moscow. Вместе с Рафаэлем мы проанализируем реальные способы использования кодогенерации. В отдельных случаях они позволяют очень сильно улучшить производительность приложения, что в свою очередь приводит нас к дилемме — если сгенерированный код так полезен и мы собираемся его часто использовать, то как же отлаживать этот код? Это один из фундаментальных вопросов, возникающих в реальных проектах.


Рафаэль — практикующий архитектор, консультант и спикер, имеющий MVP в категории Developer Security начиная с 2003 года, который прямо сейчас занимается бэкендами enterprise-проектов, специализируясь на генерации кода и кроссплатформенной разработки для C# и C++.


Читать дальше →

ASP.NET Core: Механизмы предотвращения атак 2.0

Reading time20 min
Views25K

По встроенным механизмам безопасности ASP .NET Core написано мало статей. Даже официальная документация имеет пробелы. В этой статье мы пройдём по всем основным компонентам, имеющим отношение к безопасности, и разберём, как это работает внутри.


Если вы используете старый добрый ASP .NET, то для вас будет полезна информация по внутреннему устройству компонентов безопасности и лучшим практикам их использования. Здесь вы найдёте ответы на следующие вопросы: как реализованы современные анти-XSS механизмы и как их правильно использовать в ASP .NET Core? Как правильно работать с cookies и какие подводные камни там могут встретиться? Как был переписан механизм защиты от CSRF? Как правильно работать с криптографическими алгоритмами? Кроме того, рассказывается про опыт участия в Bug Bounty по поиску уязвимостей в ASP .NET Core.


Перед чтением рекомендуется освежить в памяти атаки из списка OWASP Top 10.


Прототипом статьи является доклад Михаила Щербакова на конференции DotNext 2017 Moscow. Михаил — Microsoft .NET MVP, участник .NET Core Bug Bounty Program, соорганизатор сообщества .NET программистов (Московское комьюнити называется MskDotNet, питерское — SpbDotNet). По работе последние 5 лет занимается безопасностью. Работал в Positive Technologies, в Cezurity, сейчас как консультант работает напрямую с заказчиками, по большей части в этой же сфере. Профессиональные интересы: статический и динамический анализ кода, информационная безопасность, автоматизация отладки кода, исследование внутреннего устройства .NET CLR.


В этом тексте огромное количество картинок со слайдов. Осторожно, трафик!

Читать дальше →

Разрабатываем крутой GUI на esp8266 с библиотекой uGFX

Reading time10 min
Views59K

В многих проектах для esp8266 я использую TFT экран с тачскрином. В зависимости, от проекта интерфейс может быть простым, например, текстовая консоль, выводящая лог работы приложения или просто график изменения входного сигнала. А в некоторых — сложный GUI, с несколькими экранами, графическими кнопками, строками ввода текста и даже виртуальной клавиатурой.


В этой статье хочу поделиться опытом, как можно подключить экран с тачскрином к esp8266 и реализовать графический интерфейс в среде Arduino.


Видео-тизер:



Итак, приступим

Русскоязычный краудфандинг обзавелся новым сервисом аналогичным американскому Patreon.com

Reading time2 min
Views5.5K
Здравствуйте, хабражители, хочу представить вам наш новый проект Скайс.

Скайс — это площадка, позволяющая вести активную творческую деятельность и получать за это ежемесячную зарплату формируемую твоими сторонниками, поклонниками, спонсорами и другими людьми со схожими интересами.

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

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

image
Читать дальше →

Програмируем символы валют для дисплея покупателя

Reading time4 min
Views19K
Предлагаю небольшое руководство тем, кто как и Squier, автор статьи Автоматизация магазина или как конкурировать с супермаркетами, делает автоматизацию в магазине используя свободное программное обеспечение. В качестве наглядного примера я расскажу и покажу, как подключив дисплей покупателя к Raspberry Pi загрузить на него символы валют для последующего вывода при продажах.



Читать дальше →

Как я проходил сертификацию в Xamarin University

Reading time7 min
Views8.2K
Привет, Хабр! Мы периодически рассказываем о разработке на Xamarin, и даже создали колонку #xamarincolumn для интересующихся. Сегодня настало время историй (точнее, одной истории). Под катом вы узнаете про обучение в Xamarin University и прохождение сертификационного экзамена из первых рук.


Читать дальше →

Перестаньте травить печатные платы дома — заказывайте их на производстве

Reading time3 min
Views100K
В последней своей статье про Домофон с MQTT я проводил опрос на тему того, какую статью написать следующей. Выбор пал на заказ производства печатных плат, вот собственно немного расскажу об этом. Если статья зайдет, напишу по следующей теме из голосовалки.

Я ни в коем разе не принуждаю сразу выливать ваше хлорное железо / перекись водорода, оставьте их для макетирования. Я лишь хочу показать, что заказать платы на производстве в наше время совсем не сложно, как может показаться начинающему радиолюбителю. Есть в этом что-то магическое — подержать в руках красивую плату собственного изготовления.
Читать дальше →

FluentMigrator — система версионных миграций

Reading time7 min
Views21K

Здравствуйте. Что такое миграции и зачем они нужны хорошо рассказано в статье Версионная миграция структуры базы данных: основные подходы.
Я же хочу вам рассказать о системе версионных миграций: FluentMigrator. Почему мне нравится именно этот проект? Из-за приятного синтаксиса миграций и поддержки различных СУБД. Заинтересовались? Добро пожаловать под кат.
Читать дальше →

Selenium за 60 секунд

Reading time5 min
Views85K

Представляю вам перевод моей статьи на Medium.com.


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



Читать дальше →

Об опасностях беспроводных клавиатур и мышей

Reading time4 min
Views93K


Изображение: home thods, Flickr

Компьютерные мыши и клавиатуры с радиоинтерфейсом и USB-трансивером стоят немногим дороже обычных проводных моделей и пользуются популярностью. Но такие устройства не защищены от взлома: собрать набор для проведения атаки можно всего за 300 рублей, а вестись она может с расстояния до 1 км.

Мы протестировали безопасность устройств Logitech, A4Tech и Microsoft. В ходе тестов нам удалось перехватить данные, передаваемые клавиатурами и мышами, дешифровать трафик и осуществить ряд других атак. Обнаруженные уязвимости могут привести к утечке паролей, платежных реквизитов, персональных данных и другой важной информации.
Читать дальше →

Сделай свой AngularJS: Часть 1 — Scope и Digest

Reading time34 min
Views89K
Angular — зрелый и мощный JavaScript-фреймворк. Он довольно большой и основан на множестве новых концепций, которые необходимо освоить, чтобы работать с ним эффективно. Большинство разработчиков, знакомясь с Angular, сталкиваются с одними и теми же трудностями. Что конкретно делает функция digest? Какие существуют способы создания директив? Чем отличается сервис от провайдера?

Несмотря на то, что у Angular довольно хорошая документация, и существует куча сторонних ресурсов, нет лучшего способа изучить технологию, чем разобрать ее по кусочкам и вскрыть ее магию.

В этой серии статей я собираюсь воссоздать AngularJS с нуля. Мы сделаем это вместе шаг за шагом, в процессе чего, вы намного глубже поймете внутреннее устройство Angular.
Сделаем Angular вместе

+500 бесплатных инструментов для запуска вашего стартапа в 2017 году

Reading time40 min
Views156K


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

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

Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку.
Читать дальше →

Первые шаги с STM32 и компилятором mikroC для ARM архитектуры — Часть 3 — UART и GSM модуль

Reading time11 min
Views27K
Сейчас немного научившись программировать под наш микроконтроллер, попробуем связать его с внешним миром. Аппаратные интерфейсные модули STM32 поддерживают много много различных внешних интерфейсов. Начнем с самого часто используемого интерфейса UART. Что это за интерфейс можно прочитать здесь и здесь.
Читать дальше →

Deep Learning: Cочетание глубокой сверточной нейронной сети с рекуррентной нейронной сетью

Reading time6 min
Views23K
Представляем вам завершающую статью из цикла по Deep Learning, в которой отражены итоги работы по обучению ГСНС для изображений из определенных областей на примере распознавания и тегирования элементов одежды. Предыдущие части вы найдете под катом.


Читать дальше →

Консолька в роботе на Ардуине

Reading time10 min
Views12K
Переслать роботу на Ардуине несколько байт через вайфай, блютус, последовательный порт или любой другой канал связи в виде команды, а потом принять несколько байт в качестве ответа труда не составляет: достаточно скачать скетч с примером обмена данными «здравствуй мир» и вставить в него несколько строк своего кода, который будет выполнять желаемые действия.

Однако с развитием проекта область вспомогательного кода, который отвечает за связь с внешним миром, раздувается: появляется логика, отделяющая один пакет данных от другого, разрастается лес проверок, что за команда пришла, какие у нее параметры, как её правильно выполнить, что делать, если пакет данных не корректен, если данные пришли не полностью, если они не умещаются в отведенных для них буферах памяти и так далее. Код, обслуживающий вспомогательную логику, переплетается с главным кодом, выполняющим интересную и полезную работу. Заменить один канал связи на другой (например, добавить к последовательному порту вайфай) без переработки накопившейся кодовой базы становится весьма проблематично.

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

Исходная задача: упростить процесс создания прошивки для роботов, которые будут работать в режиме «вопрос-ответ». Главный скетч должен содержать полезный код (что, собственно, должен делать робот) и минимальное количество вспомогательных конструкций. Все вспомогательные транспортно-протокольные блоки окуклить в библиотеку и вынести за пределы внимания инженера.

В качестве побочного эффекта получилась своеобразная командная строка, работающая внутри Ардуины, если подключиться к ней через монитор последовательного порта и отправлять команды вручную:

image

Старая, добрая «The Matrix» или визуализатор для матрицы версии один

Reading time5 min
Views35K
На Хабре неоднократно появлялись статьи с описанием приложения из известного фильма «The Matrix». Как известно, все они принадлежат так называемому классу View Matrix, позволяют визуализировать состояние мира в котором проживают главные герои фильма. Но в отличие от предыдущих версий данных программ для ЭВМ, я хочу рассказать о визуализаторе матрицы первой версии (о которой в фильме упоминал герой с именем Морфеус в первой части трилогии).



Дорогие друзья, эта статья посвящена всем кто помнит что такое Dos, видео режим 80x25 и прочие «замечательные мелочи» олд скульного разработчика приложений. А так же кому интересно с этим познакомиться.
Follow the white rabbit.

Не совсем удачная попытка вернуть былое или КПК с барахолки

Reading time7 min
Views40K


Мое знакомство с карманными персональными компьютерами (КПК) началось много лет назад. Однажды, году в 2004-2005, в руках у знакомого я увидел небольшой девайс с цветным красивым экраном, который сразу привлек мое внимание. Тогда я уже кое-что слышал о КПК или «наладонниках», поэтому решил изучить девайс. Знакомый дал немного поработать с этим устройством, и я понял — это то, что мне нужно. В смысле, не гаджет, принадлежащий знакомому, а любой КПК такого же уровня. К сожалению, в то время я не мог позволит себе приобрести даже относительно недорогую модель, поэтому пришлось подождать пару лет.

Год или два спустя мне подарили КПК, причем такой же модели, какая была когда-то у знакомого. С этого момента и началось непосредственное сближение с наладонниками. Мне тогда досталась модель HP iPAQ H2210, которая была оснащена неплохим набором функций и аппаратных модулей. За несколько недель я освоил практически все эти функции, научился подключать КПК к интернету через телефон, подключаться к домашней локальной сети и выполнять много чего еще. Одна из функций, которые понравились мне больше всего — это возможность использования КПК в качестве пульта дистанционного управления.

Управляем автоматом на Groovy/Java. Как ЧПУ станку в домашней мастерской не превратиться в мульт героев «двое из ларца»

Reading time9 min
Views17K
Поговорим на темы от труда и работы, станков, автоматизации на java/groovy до прогнозов о будущем человечества.

Узнаете про персональное автоматизированное производство в домашней мастерской, как идея творца превращается в готовое изделие. Рассмотрим подход по отправке G-code инструкций из JVM и groovy/java на исполнение ЧПУ станку для автоматизации того, чего нет в системе «из коробки».


Надеюсь, эта публикация будет познавательна программистам работающих с JVM, тем кто интересуется темой IoT, кому не чуждо мастерить, кто думает о покупке 3D принтера, кто делал прототип какой-либо системы и запускал ПО на Raspberry PI/Beagleboard Black. То про что расскажу, можно повторить используя open source software и open hardware.
Внимание, в публикации много иллюстраций! И лучше не есть при просмотре техники безопасности...

Information

Rating
Does not participate
Location
Эстония
Date of birth
Registered
Activity

Specialization

Fullstack Developer
Senior