Текстовые редакторы, как тип программного обеспечения, появились чуть позже чем динозавры, и вероятнее всего это был вообще первый софт, с которым вы столкнулись в своей жизни, возможно кто-то даже застал MS-DOS Editor.
Однако с переходом большой части ПО в браузеры актуальны и соответствующие визуальные редакторы Rich Text Editors, и проблемных мест в их разработке масса. Если вы по какой-то причине решили сделать свой собственный редактор, то подумайте еще раз — есть мнение, что делать этого не нужно.
Чтобы вы могли принять более взвешенное решение, Егор Яковишен обобщил весь свой опыт, полученный в процессе создания Setka Editor, и рассказал про проблемы, с которыми придется столкнуться, и что можно предпринять для их решения.
Disclaimer:статья написана на основании доклада Егора на конференции Frontend Conf 2017 в июне 2017 года. Ситуация с поддержкой браузерами определенных API с тех пор уже могла измениться.
30 марта 2018 г. Neurodata Lab LLC и НИУ ИТМО проводят однодневную конференцию в Санкт-Петербурге (мероприятие в Москве также запланировано на ближайшее будущее), посвященную индустрии Emotion AI, её особенностям и перспективам.
Регистрация доступна по ссылке: ifmo.timepad.ru/event/675637
Предварительный анонс приводится ниже, в теле публикации. Читать дальше ->
Добрый день, читатель! В этой статье рассмотрим дорожную карту, которую проходит типичный персонаж нашей дебютной игры Kidarian Adventures. Она, к слову, недавно вышла в мировой релиз на платформах ios и android. Я продемонстрирую свою привычную структуру работы, однако, заострю внимание на создании анимации в Dragon Bones, приложу пояснения и самописные видео-туториалы. Читать дальше ->
Сертификаты подписи кода уже несколько лет используются злоумышленниками для вредоносных программ. Ещё в 2010 году исследователи обратили внимание на образцы зловредов с сертификатами, скопированными из «чистых» файлов. Естественно, такая подпись кода не проходила проверку Authenticode (см. презентацию F-Secure на конференции CARO 2010).
Очередной ласточкой стал в 2011 году «правительственный» зловред Stuxnet. Он использовал четыре 0day-уязвимости в Windows, чтобы распространиться и получить права администратора, и был подписан настоящими сертификатами, украденными у Realtek и JMicron. Зловред устанавливался в систему как драйвер Microsoft.
Потом появились другие примеры, а примерно с 2015 года заработал полноценный чёрный рынок валидных сертификатов от авторитетных удостоверяющих центров (УЦ). Такие сертификаты продаются на подпольных форумах вроде российского Antichat.
Есть распространённое мнение, что сертификаты безопасности на чёрном рынке украдены у реальных владельцев. Это не так. Их действительно выдают настоящие УЦ. Читать дальше ->
Сам процесс решения задачек на взломы особенно приятен, а когда есть решение – приятно вдвойне. Сегодня мы решили разобрать крякми, который попался нам на конференции ZeroNights в ноябре, где наша команда из школы кибербеза и ИТ HackerU дебютировала и сразу выдебютировала заняла первое место в hardware challenge. Решение crackme «SHADOW» пригодится тем, кто увлекается реверс-инжинирингом.
Для крякми этого уровня достаточно знать ассемблер и иметь базовое представление об устройстве драйверов под Windows. Читать дальше ->
В этой статье я попробую показать как избежать одного из признаков «загнивающего» кода, а именно SQL запросы внутри циклов. Примеры будут на простом PHP без использования ООП. Это значительно облегчит понимание. Прочтение займет от 5 до 10 минут. Читать дальше →
Привет, Хабр! Мы продолжаем собирать интересные новости с финтех-полей, и на сегодня у нас – небольшая заметка о свежих национальных валютах и о попытках взымать с граждан налоги не только внутренней, но и криптовалютой.
Это не значок рубля, а логотип новой криптовалюты — венесуэльской
Национальные криптовалюты, красивые и разные
Многие страны сейчас рассматривают вероятность введения национальных криптовалют. Но впереди планеты всей – Венесуэла. Страна, правда, развивает крипту не потому, что все чиновники Венесуэлы такие продвинутые, а, скорее, от безысходности. Боливар (местная валюта) обесценивается со страшной силой, маховик инфляции раскручивается все сильнее, поэтому властям приходится искать новые способы предотвратить финансовый крах.
В данном руководстве рассматривается подключение VoIP FXS шлюзов Yeastar NeoGate TA400 / TA800 / TA1600 / TA2400 / TA3200 к IP-АТС 3CX.
Шлюз Yeastar Neogate FXS подключается к SIP серверу 3CX как многопортовое устройство, каждый порт которого — отдельный добавочный номер (пользователь) 3CX. Затем в каждый порт шлюза можно подключить аналоговый телефонный или факс-аппарат. Шлюз подойдет для организаций, в которых уже имеется телефонная инфраструктура и аналоговые аппараты, но существует потребность перейти на новые технологии SIP-телефонии. Читать дальше ->
Альфа-Банк стал одним из первопроходцев мобильного банкинга: приложения для iOS и Android появились у него ещё в 2010-м, когда возможность «пополнить баланс телефона с самого телефона» была непривычной. А как обстоят дела с мобильной разработкой в банке теперь, спустя все эти годы?
Ранее мы публиковали текст «Один день в Альфа-Банке: Java-разработка», а теперь наконец пришло время продолжения, где мы расспросили про работу над iOS- и Android-приложениями. Ответили нам Илья Царев и Антон Пухонин. Если написать их имена как iLya и Anton, сразу становится ясно, кто за что отвечает в компании! Читать дальше ->
Недавно я приступил к реализации системы 2D-теней в Unity, которую можно было бы использовать в настоящей игре. Как известно профессиональным разработчикам, есть большая разница между тем, чего можно достичь в техническом демо и тем, что применимо для интеграции в полную игру, где реализованная возможность является лишь одной из множества. Влияние на ЦП, видеопроцессор и память должны находиться в балансе со всем остальным в игре. На практике у разных проектов возникают различные ограничения, но я решил создать систему, занимающую не больше пары миллисекунд времени обработки и не больше нескольких мегабайт в памяти.
Таким ограничением я отбрасывал множество уже существовавших способов расчёта теней, которые мне удалось найти. Популярной была пара техник. В одной применялась реализуемая на ЦП трассировка лучей, определяющая границы силуэтов блокирующей свет геометрии. В другой все препятствия для света рендерились в текстуру, а затем для неё выполнялся алгоритм типа ray-stepping с несколькими проходами для создания карты теней. Эти техники обычно используются не более чем с парой источников света и точно не позволили бы мне работать с десятками источников света в соответствии с выбранными мной ограничениями. Читать дальше ->
Сотрудничество со Сбербанк, Германом Грефом, РОСНАНО, Евразхолдинг
400 избирательных кампаний в РФ и за рубежом, включая Бориса Ельцина.
Маркетинговые стратегии крупнейших компаний
Алексей – легенда мирового консалтинга, научит сочетать логику, технологии и кармические законы вселенной, которые он вывел с помощью Facebook.
В формате питча расскажи о своем стартапе и получи обратную связь от коллег и инвесторов. Участие в Стартап-микрофоне позволяет стартапам заранее протестить свой питч, узнать от других об ошибках, пропущенных важных вещах и о чем на самом деле стоит рассказать.
Существует множество вариантов взаимодействия микросервисов. Вы можете использовать обнаружение сервисов (Service Discovery, например, Spring Cloud Discovery Server/Client в реализации Netflix Eureka) и совершать прямые вызовы. Или можете использовать общую базу данных для обмена результами работы. Но брокеры сообщений продолжают оставаться популярным выбором.
Они варьируются от простых движков вроде Amazon SQS или RabbitMQ до событийных потоковых процессоров вроде Azure Event Hubs или Apache Kafka и вплоть до служебных шин вроде Microsoft BizTalk Server. Когда разработчики выбирают один из движков, они критически нуждаются в знаниях об их эффективности. Как вы можете повысить производительность разработчиков? Для Java разработчиков Spring Cloud Stream предлагает ценную абстракцию.
Spring Cloud Stream предлагает интерфейс для разработчиков, которым не требуются нюансы базового брокера. Этот брокер, Apache Kafka или RabbitMQ, настраивается самим Spring Cloud Stream. Связь с брокером и обратно от брокера осуществляется также через библиотеку Stream.
Что меня волнует, так это то, что все брокеры обрабатываются одинаково. Spring Cloud Stream нормализует поведение, даже если оно не является родным для брокера. Например, хотите создать конкурирующую модель консюмера для своих клиентов или секционировать обработку? Эти концепции ведут себя по-разному в RabbitMQ и Kafka. Нет проблем. Spring Cloud Stream делает работу одинаково прозрачной. Давайте фактически попробуем оба этих сценария. Читать дальше →
В V8 они доступны без флага начиная с v6.4, так что готовы к использованию во всех текущих каналах Google Chrome от стабильного до Canary.
В Node.js они будут доступны без флага уже в v10 (выходит в апреле). В других версиях требуется флаг --harmony_regexp_property (Node.js v6–v9) или --harmony (Node.js v8-v9). Сейчас без флага их можно испробовать или в ночных сборках, или в ветке v8-canary.
При этом нужно иметь в виду, что сборки Node.js, скомпилированные без поддержки ICU, будут лишены возможности использовать этот класс регулярных выражений (подробнее см. Internationalization Support).
Подробнее о поддержке в других движках и средах см. в известной таблице (после перехода проскрольте чуть выше).
Я не буду повторять описания этой долгожданной возможности, лишь сошлюсь на несколько статей от известных специалистов:
Всем доброго времени суток. Сегодня я хочу рассказать о том, как писал реализацию механизма промисов для своего JS движка. Как известно, не так давно вышел новый стандарт ECMA Script 6, и концепция промисов выглядит довольно интересно, а также уже очень много где применяется веб-разработчиками. Поэтому для любого современного JS движка это, безусловно, must-have вещь.
Внимание: в статье довольно много кода. Код не претендует на красоту и высокое качество, поскольку весь проект писался одним человеком и всё ещё находится в бете. Цель данного повествования — показать, как же всё работает под капотом. Кроме того, после небольшой адаптации данный код можно использовать для создания проектов чисто на Java, без оглядки на JavaScript.
Первое, с чего стоило начать написание кода — это с изучения того, как всё должно работать в итоге. Архитектура получившегося модуля во многом определялась по ходу процесса. Читать дальше ->
Под катом несколько мыслей на тему особенностей геймдизайна игр в виртуальной реальности. Буду весьма рад обсудить в комментариях, какие ограничения и возможности дают геймдизайнеру современные VR-технологии.
Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий.
Мы продолжаем цикл из 18 статей на основе его лекций:
Здравствуйте. Хочу поделиться немного глупой теорией. Суть ее в том, что дохлые ноутбуки, да и «железо» в принципе, заставляют вас делать софт лучше. Читать дальше ->
Время от времени замечаю вопросы о том, как принимать платежи Bitcoin на своём сайте без использования сторонних сервисов. Это достаточно просто, но надо учитывать, что есть подводные камни.
В этой статье я постараюсь максимально подробно, без акцента на каком-либо языке программирования, описать, как сделать приём платежей Bitcoin (а также, при желании — Litecoin, Dash, Bitcoin Cash, Steep, ONION и т.п.), начиная с разворачивания полной ноды и заканчивания проверкой поступления платежа.