Рубрика «Программирование» - 591

Расширения Intel Software Guard Extensions, учебное руководство. Часть 6, две ветви кода - 1

В шестой части серии учебных материалов, посвященных расширениям Intel Software Guard Extensions (Intel SGX), мы временно откладываем анклав в сторону, чтобы заняться выполнением другого требования, которое мы изложили во второй части (проект приложения): мы посвятим эту серию поддержке двух ветвей кода. Нужно, чтобы наше приложение Tutorial Password Manager работало на ПК как с поддержкой Intel SGX, так и без нее. Большая часть содержимого этого материала взята из статьи Правильное обнаружение расширений Intel Software Guard Extensions в приложениях.

Вместе с этой частью серии предоставляется исходный код.
Читать полностью »

Привет!

14 апреля в Екатеринбурге в седьмой раз пройдёт конференция DUMP. Доклады будут идти в 8 секциях: FrontTalks, Serverside, Mobile, Design, DevOps, Тестирование, Management, Science.

Программа получается отличной: Григорий Бакунов (Яндекс), Леонид Васильев (Dropbox), Никита Прокопов (Cognician), Андрей Акиньшин (JetBrains), Александр Блинов (RedMadRobot), Юрий Ветров (Mail.Ru Group), Денис Кортунов (Acronis), Сергей Рассказов (Школа шрифтового дизайна), Александр Орлов (Стратоплан) — считаем, такое нельзя пропускать. Подробности программы — под катом.

image
Помните эти наклейки? В прошлом году мы придумали их специально для конференции. А еще есть такие же стикеры для телеграма
Читать полностью »

Speech AI с Python & Google API

image

Добрый день!

Совсем недавно пришла в голову идея сделать "говорилку" на русском языке. В голове была простенькая схема наподобие:

1) Распознать речь с микрофона
2) Придумать более — менее разумный ответ.
В этом пункте можно сделать много интересного.
Например реализовать управление чем — нибудь физическим и не очень.
3) Преобразовать этот самый ответ в речь и воспроизвести.

Самое интересное, что для всех этих пунктов нашлись библиотеки под Python, чем я и воспользовался.

В итоге получилась связка, практически не зависящая от выбранного в качестве разговорного языка.

Читать полностью »

Cкринкастинг на сайте по WebRTC из браузера Chrome - 1

Cкринкастинг в Chrome

Cкринкастинг (демонстрация экрана, скриншаринг) уже работает в браузере Google Chrome и позволяет захватывать как окно самого браузера, так и окно любого другого приложения. Например можно захватить Firefox, запущенный в соседнем окне.

Все бы замечательно, но есть проблема с безопасностью. В браузере Chrome скринкастинг выключен.

Для его включения необходимо воспользоваться Chrome Desktop Capture API и мы покажем в этой статье как это сделать.

Расширение для скринкастинга

Чтобы скринкастинг заработал, юзер должен установить ваше расширение (Chrome Extension), которое создано специально для вашего сайта (домена).Читать полностью »

Вышел Firefox 52 c поддержкой WebAssembly - 1
3D-рендеринг демки Zen Garden в браузере Firefox 52 c поддержкой WebAssembly

Mozilla выпустила Firefox 52, последнюю версию браузера с поддержкой операционной системы Windows XP. Сделан ряд важных изменений: упрощено подключение к хотспотам, где нужно сначала залогиниться в браузере, появились предупреждения об опасности, если страница запрашивает пароль по небезопасносму соединению (не HTTPS), исчезла поддержка плагинов NPAPI (кроме Flash, а в билде ESR останется полная поддержка), закрыто 28 уязвимостей.

Но ничто это не сравнится с главным и фундаментальным нововведением — поддержкой низкоуровневого языка программирования WebAssembly (wasm) типа ассемблера, который называют одной из самых значительных инноваций веб-платформы за последнее десятилетие. Это то, чего не хватало JavaScript.
Читать полностью »

Что такое HTML, CSS, JavaScript и Bootstrap фреймворк сложно объяснять человеку который далек от IT. А что если нужен сайт на бесплатном хостинге, без привязки к онлайн конструкту именно этого хостинга!?

GitHub Pages для сайта-визитки на 8 марта - 1

Как думаете, реально научить девушку обновлять свой сайт на GitHub Pages к Международному женскому дню!? Расскажу как мне это удалось с помощью генератора сайта, который доступен на Github и написан на Java + FreeMarker, к тому же старался автоматизировать публикацию контента в git репозитарий.
Читать полностью »

beta.gitlance.net/top/javascript

Источник изображения: beta.gitlance.net/top/javascript


Оценивая разработчика ПО в качестве потенциального партнера, работника или подрядчика, многим доводилось в какой-то момент потратить время на копание в его репозиториях на Github, пытаясь понять, что за проекты тот пишет и какого качества у него код. Это занятие малоэффективно, к тому же еще сопряжено с определенными трудностями как оценивание степени вклада разработчика в тот или иной репозиторий, качества его кода; можно гадать о том, действительно ли это его код, и так далее.

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

Мы же верим, что есть способ получше, и именно поэтому создали GitLance. По сути своей, коммиты в Git подобно бухгалтерской книге надежно фиксируют вклад каждого из участников, а на Github находится огромное множество публичных репозиториев Git вместе с их разработчиками, а также сравнимое количество их взаимных оценок в виде звёздочек на репозиториях и форков, идущих от них. Так почему бы не воспользоваться этим для генерации кодового графа?

Читать полностью »

Сколько раз рассказывал коллегам и на собеседованиях. Видимо есть спрос и на Хабре. Кто-то встал перед выбором. Другой сомневается в правильности намеченного пути. Когда выгораешь, такое случается. Кому-то интересно, с чем предстоит столкнуться впереди, или сопоставить своё подобное. Поверьте, это совсем короткая версия объемной тоскливой истории.

Читать полностью »

Красиво «взламываем» ООП с помощью C++14 - 1

Вступление

Недавно при работе над проектом учебной практики возникла потребность из своего кода порождать произвольный процесс и одновременно читать его stdout и stderr. Так как приложение пишется исключительно для linux, я решил заодно разобраться с epoll. Для запуска процесса на просторах интернета была найдена маленькая библиотека, делающая как раз то, что нужно, да еще и оборачивающая ввод-вывод в привычные потоки из стандартной библиотеки (речь о <iostream>).

Вооружившись несколькими статьями про epoll, я уже было собирался писать код, если бы не одно «но» — для epoll нужен доступ к «сырым» файловым дескрипторам, а автор библиотеки не предоставляет public-доступа к ним. Методы класса, возвращающие дескрипторы, скрыты под грифом «protected».

Что делать?

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

Поэтому в голову пришла безумная третья мысль: почему бы не попытаться как-то красиво «взломать» ООП и «легально» получить доступ к protected-методу без вмешательства в исходный код библиотеки? О том, какие преграды возникли на этом пути и как помог C++14 в их преодолении, и пойдет рассказ в данной публикации.
Читать полностью »

Третья конференция JavaScript-разработчиков в Одессе — JS Lab - 1

25 марта в Одессе пройдет третья ежегодная конференция JavaScript-разработчиков — JSLab. Наша команда FlyElephant помогает с организацией этой конференции и приглашает всех принять участие в ней.

В этом году мы планируем собрать 250 front-end и back-end JS-разработчиков из Украины и ближнего зарубежья. Конференция пройдет в два потока, которые будут состоять из 12 докладов по 45 минут и 8 блиц-докладов по 10 минут.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js