Как стать автором
Обновить
-6
0
roboter @roboter

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

Отправить сообщение

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

Время на прочтение4 мин
Количество просмотров5.6K


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

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

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

Время на прочтение19 мин
Количество просмотров22K

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


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


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


Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии13

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

Время на прочтение20 мин
Количество просмотров25K

По встроенным механизмам безопасности 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.


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

Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии2

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

Время на прочтение10 мин
Количество просмотров57K

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


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


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



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

Всего голосов 47: ↑46 и ↓1+45
Комментарии8

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

Время на прочтение2 мин
Количество просмотров5.5K
Здравствуйте, хабражители, хочу представить вам наш новый проект Скайс.

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

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

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

image
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии7

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

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



Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии14

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

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


Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии6

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

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

Я ни в коем разе не принуждаю сразу выливать ваше хлорное железо / перекись водорода, оставьте их для макетирования. Я лишь хочу показать, что заказать платы на производстве в наше время совсем не сложно, как может показаться начинающему радиолюбителю. Есть в этом что-то магическое — подержать в руках красивую плату собственного изготовления.
Читать дальше →
Всего голосов 69: ↑65 и ↓4+61
Комментарии381

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

Время на прочтение7 мин
Количество просмотров20K

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

Selenium за 60 секунд

Время на прочтение5 мин
Количество просмотров84K

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


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



Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии29

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

Время на прочтение4 мин
Количество просмотров92K


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

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

Мы протестировали безопасность устройств Logitech, A4Tech и Microsoft. В ходе тестов нам удалось перехватить данные, передаваемые клавиатурами и мышами, дешифровать трафик и осуществить ряд других атак. Обнаруженные уязвимости могут привести к утечке паролей, платежных реквизитов, персональных данных и другой важной информации.
Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии45

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

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

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

В этой серии статей я собираюсь воссоздать AngularJS с нуля. Мы сделаем это вместе шаг за шагом, в процессе чего, вы намного глубже поймете внутреннее устройство Angular.
Сделаем Angular вместе
Всего голосов 73: ↑72 и ↓1+71
Комментарии18

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

Время на прочтение40 мин
Количество просмотров156K


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

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

Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку.
Читать дальше →
Всего голосов 74: ↑60 и ↓14+46
Комментарии26

CTRL The Robot — из цеха на стол

Время на прочтение3 мин
Количество просмотров9.2K

Впервые рабочий прототип CTRL The Robot был представлен общественности на Consumer Electronics Show (CES 2017) в этом январе.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии47

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

Время на прочтение11 мин
Количество просмотров26K
Сейчас немного научившись программировать под наш микроконтроллер, попробуем связать его с внешним миром. Аппаратные интерфейсные модули STM32 поддерживают много много различных внешних интерфейсов. Начнем с самого часто используемого интерфейса UART. Что это за интерфейс можно прочитать здесь и здесь.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии4

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

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


Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии3

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

Время на прочтение10 мин
Количество просмотров12K
Переслать роботу на Ардуине несколько байт через вайфай, блютус, последовательный порт или любой другой канал связи в виде команды, а потом принять несколько байт в качестве ответа труда не составляет: достаточно скачать скетч с примером обмена данными «здравствуй мир» и вставить в него несколько строк своего кода, который будет выполнять желаемые действия.

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

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

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

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

image
Всего голосов 31: ↑30 и ↓1+29
Комментарии2

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

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



Дорогие друзья, эта статья посвящена всем кто помнит что такое Dos, видео режим 80x25 и прочие «замечательные мелочи» олд скульного разработчика приложений. А так же кому интересно с этим познакомиться.
Follow the white rabbit.
Всего голосов 58: ↑55 и ↓3+52
Комментарии21

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

Время на прочтение7 мин
Количество просмотров40K


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

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

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

Время на прочтение9 мин
Количество просмотров17K
Поговорим на темы от труда и работы, станков, автоматизации на java/groovy до прогнозов о будущем человечества.

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


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

Информация

В рейтинге
Не участвует
Откуда
Эстония
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer
Senior