Search
Write a publication
Pull to refresh
1
0
Демидюк Денис @iDennis

User

Send message

На Cousera открыта запись на курсы по веб-разработке на Ruby on Rails «Web Application Architectures»

Reading time3 min
Views13K
Периодически я заходил на курсеру посмотреть доступны ли там какие-нибудь прикладные курсы. Было банально интересно, промелькнёт ли какой-нибудь лучик света за суровой теорией. Смотрел по языкам программирования, по управлению проектами, по аналитике. А сегодня увидел курс, информацией о котором и захотелось поделиться.

Его название в заголовке, а перевод описания ниже, а пока пару слов, почему я считаю, что он полезен всем:
  • Новичкам можно изучить новую для них технологию или подтянуть ещё не укрепившиеся знания.
  • Гуру-рельсовикам можно заработать Verified Certificate и тем самым подтвердить свои знания для общественности. Например, его можно прикрепить в LinkedIn или указывать в откликах на фрилансе


Смотреть содержание курса

Осваиваем техническое зрение на примере Bioloid STEM и HaViMo2.0

Reading time17 min
Views33K
image

Добрый день, уважаемые читатели Хабра! Данной статьей я открываю серию публикаций по робототехнике. Основными направлениями тематики статей будут являться описание практических реализаций различных задач – от простейшего программирования роботов, до реализации навигации и автономного поведения робота в различных условиях. Основная цель данных статей – показать и научить как просто решить ту или иную прикладную задачу, либо как быстро адаптировать свой робототехнический набор под конкретные условия. Я постараюсь использовать доступные и распространенные на рынке наборы, чтобы многие из вас смогли использовать мои решения и доработать их для своих целей. Надеемся, что данные статьи будут полезны как студентам различных учебных заведений, так и преподавателям робототехники.
Читать дальше →

Разбираемся с LCD экраном LPH9157-2 от Siemens C75/ME75

Reading time8 min
Views86K

Внятной документации на этот экран я не нашел поэтому пришлось разбираться с тем что есть и экспериментировать. В качестве управляющего устройства я использовал Raspberry PI. Так-же была написана программа позволяющая превратить этот экран в мини-монитор.

Описание


Данный дисплей имеет разрешение 132 x 176 пикселей и даёт возможность работать с тремя цветовыми палитрами 16(5-6-5), 12(4-4-4) и 8(3-3-2) бит.
Читать дальше →

Создаём своё первое десктопное приложение при помощи HTML, JS и Node-WebKit

Reading time4 min
Views117K
В наше время при помощи JavaScript и HTML можно сделать практически всё. А благодаря Node-WebKit (недавно переименован в NW.js) можно делать даже десктопные приложения, которые выглядят, как нативные и имеют доступ ко всем частям ОС. Сегодня мы покажем, как создать простое десктопное приложение при помощи Node-WebKit, используя jQuery и несколько модулей для Node.js.

Node-WebKit — комбинация Node.js и встроенного браузера WebKit. Код JavaScript выполняется в особом окружении, из которого есть доступ и к стандартному API браузеров, и к Node.js.
Читать дальше →

Футуристическое мышление

Reading time6 min
Views58K
Все имена сохранены, все совпадения имеют под собой злой умысел.

Привет! Меня зовут Саня, и я вижу будущее. Вы только не подумайте: я не какой-нибудь там маг-экстрасенс пятой категории гильдии Ардуины второго пришествия. Я действительно вижу будущее, когда сосредоточусь. Я не знаю, кто посылает мне эти видения: бородатый дядька на небе, аццкий сцотона, или дух Ричарда Фейнмана просачивается сквозь швы пространства-времени и подсовывает мне в голову эти картинки. Я также не знаю, как вся эта бодяга согласуется с многомировой теорией, принципом неопределённости Гейзенберга и пророчеством Ванги.

Многие спросят: «Эй чувак! Если ты действительно видишь будущее, то какого чёрта ты тратишь время на пост в хабр вместо того, чтобы спасать мир?!» Проблема в том, что я не вижу глобальных событий. Я не могу предсказать эпидемию или войну; не могу знать о том, что Северная Корея запустит ядерную ракету; даже вымирание популяции бородатых хомячков в африканских саваннах я не могу предотвратить. Вот я и решил устроиться на работу, где мои скромные умения точно пригодятся.
Читать дальше →

MVC и Модель 2. Знания и обязанности компонентов

Reading time13 min
Views52K
Долгое время я изучал паттерн MVC. Больше полутора лет прошло с тех пор, как я впервые с ним познакомился и в течение всего этого времени я никак не мог упорядочить в своей голове зоны ответственности трех составляющих паттерн компонентов.

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

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

Я решил собрать всю недостающую информацию в одном месте. Это и стало причиной для написания статьи.

tl;dr: читаем итог. Остальных прошу устроиться поудобнее.
Читать дальше →

Влезаем в компьютер, не используя средства ввода, ищем Джокера и коннектимся к серверу на Android — в заданиях NeoQUEST-2014!

Reading time11 min
Views16K

Совсем скоро стартует отборочный тур NeoQUEST-2015, и в качестве подготовки к нему предлагаем вместе с нами разобрать задания очного тура NeoQUEST-2014! Мы уже рассказали, как прошел NeoQUEST-2014, поделились материалами докладов и фотографиями (возможно, на них кто-то даже нашел себя!). Теперь расскажем о той таинственной и скрытой от глаз зрителей, но важнейшей части NeoQUEST — соревновании специалистов по кибербезопасности, оказавшихся лучшими по итогам февральского онлайн-тура.

Очная ставка для участников включала в себя 5 заданий, однако одно из них не прошел никто. В этой статье разберем пройденные четыре:

  • «Am I Joker?» — занимаемся конкурентной разведкой, применяя всю информацию о пользователе, которую удалось достать из соцсетей, выходим на сторонний сайт и эксплуатируем его уязвимость;
  • «Неожиданная находка» — есть компьютер и флешка, но нет ни мышки, ни клавиатуры? Не беда, ведь флешка не простая, а с SecureDrive, и один из ее разделов компьютер может определить как компакт-диск;
  • «Глазам своим не верь ты» — как найти на компьютере вредоносную программу, скрывающую свою сетевую активность, а заодно и файлы на диске?
  • «Кадры решают все» — коннектимся к веб-серверу, который неожиданно оказывается поднят на телефоне с ОС Android, и формируем специальный jar, чтобы получить ключ.

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

Как мы готовим будущих специалистов по большим данным

Reading time4 min
Views15K
В эту субботу стартует наша программа “Специалист по большим данным”: она получилась такой насыщенной, что, кажется, в ближайшие три месяца у слушателей не останется никакого свободного времени. В этом посте я расскажу, как именно мы будем растить специалистов по Big Data, и как будет построен процесс обучения во время первого месяца.



Центральный кейс на этот период — создание DMP-системы. DMP (data management platform) анализирует интернет-логи пользователей и, исходя из их поведения в сети, присваивает этим людям различные свойства или причисляет к определенным классам. Например, правильно настроенная DMP-система может определить пол и возраст человека и узнать, является ли он гаджетоманом или, скажем, фанатом люксовых фешн-брендов. Этот кейс мы разрабатываем совместно с компанией Data-Centric Alliance, они используют большие данные для настройки рекламных кампаний.
Читать дальше →

Fujitsu ETERNUS CD10000: Ceph без забот

Reading time5 min
Views13K
Сегодня многие компании работают с огромным количеством данных. Нет, я сейчас не о паттернах BigData, а просто о том, что удивить десятком-другим терабайт данных на серверах отдельно взятой компании никого уже нельзя. Но многие идут дальше – сотни терабайт, петабайты, десятки петабайт… Конечно, хорошо, когда ваши данные и задачи по их обработке попадают под идеологию mapreduce, но намного чаще все эти данные представляют собой либо «просто файлы», либо тома виртуальных машин, либо уже структурированные и шардированные своим образом данные. В таких случаях компания приходит к идее необходимости развертывания системы хранения данных.



Добавляет популярности СХД сегодня и системы, подобные OpenStack – ведь приятно управлять своими серверами не заботясь о том, что в одном сервере не работает диск, что одна из стоек обесточена. Не заботиться о том, что железо на одном Самом Важном Сервере устарело и для его апгрейда необходимо деградировать ваши сервисы до минимального уровня. Конечно, такие случаи могут быть ошибкой проектирования, но будем честны – все мы можем допустить такие ошибки.

В итоге компания встаёт перед непростым выбором: создать СХД самостоятельно на основе открытого ПО (Ceph, MuseFS, hdfs – есть из чего выбрать с минимальными затратами на интеграцию, но придется потратить время на дизайн и развертывание) или купить готовую проприетарную СХД и потратить время и силы на её интеграцию (с риском того что СХД со временем достигнет лимита своей ёмкости или производительности).

Но что если взять за основу Ceph, для которого сложно придумать невыполнимую задачу в области хранения данных, заручиться поддержкой какого-нибудь Ceph-вендора (например Inktank, которые его и создали), взять современные серверы с большим количеством SAS-дисков, написать web-интерфейс для управления, добавить дополнительные возможности для эффективного развертывания и мониторинга… Звучит заманчиво, но сложно для среднестатистической компании, тем более, если это не IT-компания.


К счастью, обо всём этом уже позаботились в компании Fujitsu, в лице продукта ETERNUS CD10000 – первой enterprise-СХД, основанной на Inktank Ceph Enterprise, с которой мы вас сегодня и познакомим.
Читать дальше →

Роутер от оператора? – Нет, спасибо

Reading time10 min
Views207K

MT7621A, два ядра MIPS 1004Kc/880MHz. 256MB RAM. Радиоблок 2.4GHz и 5GHz на MT7602E и MT7612E.

У каждого уже есть сложившееся мнения на счет оборудования, предоставляемого под брендом оператора. Кто-то хвалит, кто-то ругает, кто-то предпочитает оставаться в стороне принимая решения в зависимости от ситуации, не вступая в полемику. Однозначного ответа на вопрос «Что же лучше?» нет.

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

Каждое обновление дефолтного роутера начинается с мысли: «Ну вот теперь-то мы сделаем идеальный продукт!». А потом начинаются грабли. Про те, по которым мы ходили, я и расскажу.
Читать дальше →

Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса

Reading time29 min
Views108K
На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, созданную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

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



В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.

На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельно остановимся на декларативных шаблонах BEMHTML и BEMTREE, которые позволяют преобразовывать данные в БЭМ-дерево, описанное в формате BEMJSON и, затем в HTML. Рассмотрим в деталях, как написать серверную часть приложения по БЭМ-методологии.
Читать дальше →

Вывод температуры, пробок и курса валют на светодиодную матрицу Raspberry Pi

Reading time12 min
Views20K
Есть под рукой Raspberry Pi c подключенной к нему вот такой штукой:



Ещё есть кнопочка. Вот и появилось желание по нажатию кнопочки выводить на светодиодную матрицу что-то полезное, а не баловство. А еще подучить питон — ООП, потоки, парсинг и прочее. Можно сказать, что это мой первый полезный проект на питоне. Так что данная статья будет одновременно полезна для тех, кто хочет сделать домашний информер, и, кроме того, надеюсь, поучительная.
Читать дальше →

Jammer: глушим GSM, 3G, 4G, WiMAX, Yota

Reading time3 min
Views230K
Мы живем в свободной стране. Любой может приобрести «игрушку», за которую в США светит штраф $112,000 (джаммеры так же признаны вне закона в Англии, Странах Евросоюза, Австралии, Канаде, Индии, Сингапуре и пр)

Пока есть возможность («пока лопух не догадался»), я взял на обзор одну из популярных гражданских глушилок.

Обзор 5-канальной глушилки ГРН40-А5

В 2012 году обсуждался вопрос широкого использования GSM-глушилок в общественных местах.
В 2014 российские разработчики представили свой аппарат для ЕГЭ.
В 2014 журнал «Хакер» признал глушилки (jammer) полезным гаджетом.
В феврале 2015 года африканский злоумышленник протащил глушилку в парламент.

Что интересно, началась веселуха и на глушилки появляются антиглушилки (и обнаружители глушилок), а на них в свою очередь появляются глушилки антиглушилок и тд.
ТТХ
Общая выходная мощность: 12 Вт
Размер прибора: 21*17*6 мм
Вес устройства: 2 кг
Питание: АС:110/220V — DC:5V, 12A
Потребляемая мощность устройства: 30 Вт
Подавляемые системы:
CDMA-800, GSM-900 и GSM-1800, PHS-1900, 3G, 4G, LTE, WIMAX
Рабочие температуры -40℃ to +55℃
Расстояние эффективного подавления регулируемое, от 1 до 80 м (в зависимости от близости базовой станции и прочих условий)


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

USB killer

Reading time2 min
Views437K
Было обычное хмурое зимнее утро, мы с коллегами по обыкновению пили утренний кофе, делились новостями, ничто не предвещало беды. Но тут приятель рассказал… далее цитата из скайп чата:

Как-то читал статейку как парень в метро вытянул у чавака из сетчатого кармана сумки флеху, на которой 128 было написано. Пришел домой, вставил в ноут -> спалил пол компа… Написал на флехе 129 и теперь носит в наружном кармане своей сумки...

Картинка для привлечения внимания:



Так как я работаю на предприятии, которое занимается разработкой и производством электроники, то мы с коллегами принялись активно обсуждать варианты реализации такой флешки, — которая “спаливала бы полкомпа.” Было множество хардкорных, фантастических, а также вполне реальных вариантов. И всё бы так и закончилось этим весёлым обсуждением, если бы я не собирался заказывать изготовление печатных плат для других своих проектов.
Читать дальше →

Лампа, показывающая прогноз погоды

Reading time13 min
Views59K
Многие из нас, прежде чем выйти из дома утром, проверяют прогноз погоды на предстоящий день. Я всегда использовал для этого свой смартфон и, однажды, задумался, а почему бы не сделать этот процесс более простым и удобным. Так, в голову пришла идея создания комнатной лампы, которая бы умела показывать прогноз погоды в моей местности, а так же предупреждать о возможных осадках и скорости ветра.



Под катом видео и изображения демонстрирующие работу данной лампы и подробная инструкция по её созданию.
Читать дальше →

Гибридные приложения в Qt на примере использования D3.js

Reading time6 min
Views29K
D3 — мощная JavaScript библиотека для визуализации данных. На мой взгляд — просто рай для web-разработчика, казалось бы недоступный для Qt-программиста. Но гибкость фреймворка Qt позволяет интегрировать web-frontend в толстый клиент с помощью механизма Qt Web Bridge. Такие приложения получили наименование гибридные (Qt Hybrid Apps).

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

На скриншоте ниже изображен виджет Dependency Wheel (Круг Зависимостей), отрисовка которого осуществляется с помощью D3.js а управление данными и отображением — с помощью Qt. При нахождении указателя над соответствующей дугой её взаимосвязи «подсвечиваются», а остальные становятся полупрозначными. Данный виджет можно использовать для визуализации различного рода зависимостей (например библиотек).

В отличии от оригинального JS решения диаграмма динамически изменяет размер под размер виджета, а данные устанавливаются на стороне Qt, а не с помощью загрузки JSON-файла.

Статья больше ориентирована на Qt-программистов, но также может быть интересна и JS программистам.


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

Защищаем приватные ключи от кражи из VPS

Reading time6 min
Views19K
В начале каждого семестра студенты магистерской программы кафедры МиИТ Академического университета (СПб) и представители компаний-партнеров собираются вместе. Представители рассказывают о проектах, над которыми можно будет работать, а студенты выбирают их.

В одном из проектов, сделанных в Parallels Labs, наш студент исследовал возможность реализации виртуального Hardware Security Module (HSM). В результате он добавил свою реализацию VHSM в open-source проект OpenVZ. Подробнее о его решении читайте под катом.
Читать дальше

Дайджест интересных материалов для мобильного разработчика #91 (16-23 февраля)

Reading time3 min
Views18K
Прошедшая неделя запомнится нам «долгожданным» иском Яндекс против Google, потенциальной уязвимостью в Telegram, выходом очередного отчета Developer Economics, дебагера для Android от Facebook и сервиса Answers от Twitter. Все это и многое другое в еженедельном дайджесте!

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

Все уже украдено до нас

Reading time4 min
Views80K
image

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

Хорошо Декарту, или, тем более, всяким древнегреческим математикам, доказывать простенькие теоремки и вписывать свое имя в историю. Сейчас далеко не каждый (да что там, единицы на тысячи человек) физически способны добраться до переднего края науки, не выбросившись из окна главного корпуса МГУ по пути.

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

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

Короче, слишком сложно нынче пробиться. Очень высокая конкуренция, куда ни плюнь.

У меня есть для вас обнадеживающая новость. В мире разработки ПО это абсолютно не так. Нерешенные задачи россыпями валяются на дороге, некому взять и сделать.
Читать дальше →

Создание вращающегося логотипа с помощью ImageMagick и FFMPEG

Reading time9 min
Views20K
Статья может заинтересовать тех, кто хочет слегка оживить оформление своего видеоканала, а также тех, кто только начал работать с указанными в заголовке инструментами. Уверенные же пользователи, рассчитываю, дополнят мой материал.

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


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

Information

Rating
Does not participate
Location
Брест, Брестская обл., Беларусь
Date of birth
Registered
Activity