Как стать автором
Обновить

Huawei открыла доступ к Harmony OS 2.0

Время на прочтение 2 мин
Количество просмотров 19K
Open source *Гаджеты Смартфоны Софт
image

Huawei сразу после презентации своей новейшей ОС Harmony OS 2.0 открыла разработчикам устройств доступ к ней на Gitee. Новая ОС стала улучшенной версией оригинальной Harmony OS 2019 года. Также был запущен официальный сайт Huawei Harmony OS, на котором доступен для загрузки исходный код.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 19

Отечественные смартфоны BQ переведут на Harmony OS от Huawei вместо Android от Google

Время на прочтение 1 мин
Количество просмотров 15K
Смартфоны IT-компании

Генеральный директор BQ Владимир Пузанов рассказал изданию «Газета.Ru», что после отказа Google лицензировать Android-смартфоны под российскими брендами компания переведёт новые устройства на китайскую Harmony OS от Huawei. Уже лицензированные устройства продолжат работать без изменений.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 45

Хакеры взломали блокчейн-мост Horizon

Время на прочтение 1 мин
Количество просмотров 4.1K
Информационная безопасность *Финансы в IT Криптовалюты

За последние полгода хакеры взломали уже 3-й блокчейн-мост и украли криптовалюты на большую сумму денег — на $100 млн. Киберпреступникам удалось взломать блокчейн-мост Horizon, работающий в сети Harmony. Кроме него, в начале февраля 2022 года протокол Wormhole сообщил о взломе. Сумма ущерба составляет 120 тысяч ETH, что равно примерно $320 млн. Также в марте 2022 года был взломан блокчейн-мост Ronin который использовался в мобильной игре Axie Infinity. Злоумышленники смогли вывести $625 млн в криптовалюте: 173,6 тысячи ETH на сумму более $600 млн и стейблкоинов USDC на сумму $25,5 млн.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 14

ФБР обвинило связанных с КНДР хакеров во взломе моста Harmony One

Время на прочтение 1 мин
Количество просмотров 949
Информационная безопасность *IT-компании

Федеральное бюро расследований обвинило связанных с Северной Кореей хакеров во взломе межсетевого моста Harmony One. В результате июньской акции злоумышленники похитили криптовалюту на сумму в $100 млн.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 4

Подробности о новом языке программирования Google Dart (Dash)

Время на прочтение 3 мин
Количество просмотров 4.5K
Разработка веб-сайтов *
Пару дней назад Сеть облетела новость, что Google собирается представить в октябре 2011 года новый язык веб-программирования Dart. К сожалению, никакой дополнительной информации на эту тему не было. Однако в архиве ньюс-группы com.googlegroups.google-caja-discuss сохранилось письмо с заголовком “Future of Javascript doc from our internal JavaScript Summit”, датированное 16 ноября 2010 года, которое даёт хоть какое-то представление о том, что такое Dash (там упоминается именно такое название). Письмо составлено по результатам внутреннего совещания ведущих разработчиков Google на тему развития клиентских языков веб-программирования.

Если вкратце, то Google разрабатывает Dash в качестве замены/альтернативы Javascript. На совещании разработчики сошлись во мнении, что Javascript обладает «фундаментальными» изъянами, которые невозможно исправить путём эволюционного развития.
Читать дальше →
Всего голосов 90: ↑78 и ↓12 +66
Комментарии 173

Официальная презентация языка Google Dart

Время на прочтение 3 мин
Количество просмотров 5.7K
Разработка веб-сайтов *
Сегодня компания Google официально представила новый язык структурного веб-программирования Dart, который позволит создавать быстрые и высокопроизводительные веб-приложения. При всей своей простоте для написания маленьких скриптов, с помощью Dart можно будет создавать и сложные модульные веб-приложения, использовать библиотеки, дебаггеры, редакторы кода и другой инструментарий.

На официальном сайте представлен технический обзор языка (перевод на русский от azproduction), спецификации (PDF), список библиотек.

Как объяснялось во внутренней переписке компании, Dart позиционируется в качестве замены/альтернативы Javascript, страдающего от «фундаментальных» изъянов, которые невозможно исправить путём эволюционного развития.
Читать дальше →
Всего голосов 101: ↑86 и ↓15 +71
Комментарии 55

CSS 3D эффекты

Время на прочтение 2 мин
Количество просмотров 13K
Разработка веб-сайтов *

Стивен Виттенс переработал свой сайт Acko.net. Виттенс применил 3D функции CSS 3 и небольшую часть JavaScript для создания ошеломляющего 3D заголовка страницы.

Чтобы увидеть 3D в действии вам надо использовать браузер WebKit (Safari или Chrome) т.к. пока только они поддерживают CSS 3D эффекты. В других браузерах, которые еще не поддерживают 3D эффекты сайт все равно нормально просматривается. Чтобы увидеть полный 3D эффект обязательно прокрутите страницу.

Виттенс в своем блоге подробно написал как он создал 3D эффекты и даже сделал 3D редактор, с которым вы можете поиграть.
Читать дальше →
Всего голосов 35: ↑31 и ↓4 +27
Комментарии 49

ECMAScript Harmony и Node.js

Время на прочтение 4 мин
Количество просмотров 18K
JavaScript *Node.JS *
Из песочницы
Начну издалека. С браузеров. Новинками браузеростроения интересуюсь не так уж и часто, но вот однажды, со скуки, решил посмотреть, что javascript грядущий нам готовит и что с этого нам могут предложить современные браузеры. Речь идет, само собой, не о ECMAScript 5, а уже о ECMAScript 6 ECMAScript Harmony. Через пару минут серфинга я наткнулся на такую вот сводную табличку. Не самая актуальная — Chrome, например, довольно давно поддерживает Proxy. Само собой, разброд оказался еще тот. В браузере это использовать пока не реально.
В браузере. А на сервере? На сервере нет необходимости поддерживать зоопарк различных браузеров. Node.js использует V8 — тот же javascript движок, что и Chrome, соответственно, он должен поддерживать те же новые возможности языка.
Читать дальше →
Всего голосов 29: ↑27 и ↓2 +25
Комментарии 30

Новшества node-webkit версии 0.4.1

Время на прочтение 3 мин
Количество просмотров 11K
Node.JS *
Три дня назад (1 февраля) Roger Wang объявил о выходе новой версии движка node-webkit созданного в недрах Intel Open Source Technology Center мощного сочетания WebKit и Node.js, позволяющего создавать кросс-платформенные графические приложения методом веборазработки на языках HTML, CSS и JavaScript.

Новая версия имеет номер 0.4.1; на её основе нетрудно составить и запустить, например, вот такое окно:

[скриншот]

Почти семь недель прошло с того дня (18 декабря), когда я обозревал одну из предыдущих версий (0.3.6) этого движка. Вам нетрудно заметить, что за это время успела перемениться не только последняя, но и предпоследняя цифра версии. Сейчас я расскажу, какие изменения, в node-webkit произошедшие, отражает эта перемена.

Читать дальше →
Всего голосов 33: ↑26 и ↓7 +19
Комментарии 35

Исследуем JavaScript Generators

Время на прочтение 9 мин
Количество просмотров 43K
Разработка веб-сайтов *JavaScript *Node.JS *
Туториал
Перевод


Когда я начинал писать на node.js, я ненавидел две вещи: все популярные шаблонизаторы и огромное количество callbacks. Я добровольно использовал callbacks, потому что понимал всю силу событийно-ориентированных серверов, но с тех пор в JavaScript появились генераторы, и я с нетерпением жду день, когда они будут имплементированы.

И вот этот день наступает. На сегодня генераторы доступны в V8 и SpiderMonkey, имплементация следует за обновлениями спецификации — это заря новой эры!
Читать дальше →
Всего голосов 54: ↑49 и ↓5 +44
Комментарии 17

Как захватить мир, или javascript next уже сейчас (часть первая)

Время на прочтение 3 мин
Количество просмотров 13K
JavaScript *
Из песочницы
Доброго времени суток дорогой хабраюзер. Я очень люблю все новое и красивое и поэтому очень часто посматриваю за развитием ecma 6 aka Harmony. Да-да, вы не ошиблись, речь пойдет именно о новом javascript, хотя он еще в разработке, но многие фичи уже сейчас можно начать тестировать, так сказать, просто для своего удовольствия.
Читать дальше →
Всего голосов 26: ↑16 и ↓10 +6
Комментарии 14

Отказываемся от коллбэков: Генераторы в ECMAScript 6

Время на прочтение 6 мин
Количество просмотров 33K
JavaScript *
Перевод
Я постоянно слышу людей, ноющих об асинхронных коллбэках в JavaScript. Держать в голове порядок исполнения в этом языке немного трудно (это тот случай, который называют «Callback Hell» или «The Pyramid of Doom»), если до этого ты имел дело с синхронным программированием. Моим обычным ответом было «тебе придется как-то с этим обходиться». В конце концов, ожидаем ли мы, что все языки программирования будут выглядеть и ощущаться одинаково? Конечно нет.

Все поменял недавний обзор черновика ECMAScript 6, в котором описываются генераторы — возможность языка, которая целиком изменит наш способ написания и серверного, и клиентского JavaScript. С помощью генераторов мы можем превратить вложенные коллбэки в похожий на синхронный код без блокирования нашей единственной event loop.
Например, этот код:
    setTimeout(function(){
        _get("/something.ajax?greeting", function(err, greeting) {
            if (err) { console.log(err); throw err; }
            _get("/else.ajax?who&greeting="+greeting, function(err, who) {
                if (err) { console.log(err); throw err; }
                console.log(greeting+" "+who);
            });
        });
    }, 1000);

может быть написан так:
    sync(function* (resume) {
        try (e) {
            yield setTimeout(resume, 1000);
            var greeting = yield _get('/something.ajax?greeting', resume)
            var who = yield _get('/else.ajax?who&greeting=' + greeting, resume)
            console.log(greeting + ' ' + who)
        }
        catch (e) {
            console.log(e);
            throw e;  
        } 
    });

Интересно, не правда ли? Централизованная обработка исключений и понятный порядок исполнения.
Читать дальше →
Всего голосов 44: ↑40 и ↓4 +36
Комментарии 61

Размышления о стандартной библиотеке JavaScript. Core.js

Время на прочтение 64 мин
Количество просмотров 99K
Разработка веб-сайтов *JavaScript *Node.JS *
Один пацан писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.
— С просторов интернета

К чему это я? Занятная штука — JavaScript. Основа современного web и на фронтэнде альтернатив как таковых не имеет.

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

Ванильная стандартная библиотека JavaScript, в целом, неплоха. Это не только стандартная библиотека по спецификации языка ECMA-262 актуальных версий — от 3 до черновика 6. Часть API вынесена в отдельные спецификации, например, API интернационализации ECMA-402. Многие возможности, без которых сложно представить JavaScript, например, setTimeout, относятся к web-стандартам. Консоль не стандартизована вовсе — приходится полагаться на стандарт де-факто.

Вот только не такая уж она и стандартная — везде разная. Есть старые IE, в которых из коробки мы получаем стандартную библиотеку ES3 90-бородатого года даже без Array#forEach, Function#bind, Object.create и консоли, и есть, например, Node.js, на которой многие уже вовсю используют возможности грядущего ES6.

Хочется иметь универсальную, действительно стандартную библиотеку, как на сервере, так и в любом браузере, максимально соответствующую современным стандартам, а также реализующую необходимый функционал, что (пока?) не стандартизован. Статья посвящена библиотеке core.js — реализация моих соображений по поводу стандартной библиотеки JavaScript. Кроме того, эта статья еще и шпаргалка по современной стандартизованной стандартной библиотеке JavaScript и заметки о её перспективах.

Содержание, или что получим на выходе:


Читать дальше →
Всего голосов 87: ↑82 и ↓5 +77
Комментарии 40

Тренды JavaScript на 2015 год

Время на прочтение 19 мин
Количество просмотров 112K
Блог компании Microsoft Разработка веб-сайтов *JavaScript *TypeScript *


Всем привет! Мы как-то задумали сделать легкий вводный курс на тему JavaScript и разработки приложений (он, кстати, скоро будет опубликован): и, пока я собирал материалы к нему, как-то само собой выяснилось, что есть довольно много вещей, которые, так сказать, находятся на переднем крае развития JavaScript. Отсюда родилась идея сделать отдельную обзорную статью в жанре «X трендов на год Y по технологии Z».

Многие из тех, вещей, которые я буду описывать, можно попробовать в той или иной степени уже сегодня (собственно, иначе я бы говорил о космическом будущем, а не о трендах). В этом есть несомненный плюс: если у вас будет свободное время (а на праздниках его обычно много), вам будет чем заняться. Да и, в целом, хорошо начинать новый год с расширения своих горизонтов!
Читать дальше →
Всего голосов 108: ↑88 и ↓20 +68
Комментарии 76

Асинхронный рекурсивный итератор и борьба с callback в Node.js

Время на прочтение 2 мин
Количество просмотров 6.6K
Блог компании databoom JavaScript *
На Хабре было уже довольно много статей про новые возможности стандарта ECMAScript 6 (например,«Отказываемся от коллбэков: Генераторы в ECMAScript 6») и многие используют эти возможности.

Используя примеры из приведенной статьи, мы можем:
1. Легко написать любой итератор, например, итератор по дереву
2. Написать псевдо-синхронный код (борьба с callback)

Но что делать, если нам надо написать рекурсивный итератор по дереву, а получение дочерних узлов требует вызова асинхронной функции с передачей callback?

Простой рекурсивный итератор (без вызова асинхронных функций) мог бы выглядеть довольно просто и кратко:

function* iterTree(treenode) {
    var children = getChildren(treenode);
    if (children) { // inner node
        for (let i=0; i < children.length; i++) {
            yield* iterTree(children[i]); // (*) recursion
        }
    } else { // leaf node
        yield treenode;
    }	
}

Приведенный выше пример прост, поскольку использует синхронный вызов функции getChildren. Если же функция getChildren асинхронная и требует передачи callback (например, это получение данных с диска или по сети) – то все существенно усложняется. Мы уже не можем так просто написать (следуя примерам из приведенной выше статьи)

let children = yield getChildren(treenode, resumecallback);

В этом случае функция iterTree остановится в месте вызова оператора yield и передаст управление вызывающей функции. Но у нас рекурсивная функция – и вызывающая функция тоже передаст управление выше (оператор yield *). В результате пользователь нашего итератора будет получать узлы дерева, перемежаемые неожиданными значениями.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 0

Разработка на ES6 для браузеров

Время на прочтение 2 мин
Количество просмотров 23K
Разработка веб-сайтов *JavaScript *Браузеры
Доброго времени суток.



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

Представляю вашему вниманию github.com/DavidKlassen/es6-browser-boilerplate.

В основу шаблона лег github.com/babel/babel-library-boilerplate, но gulpfile.js был основательно почищен и упрощен. Многие зависимости я убрал и оставил возможности, которые необходимы для разработки приложений для браузеров.

Основные цели, которые я преследовал:


  • Шаблон должен быть хорошей стартовой точкой для разработки SPA и third party SDK.
  • Минималистичность и расширяемость.
  • Весь код, то есть и само приложение и тесты можно писать на ES6.

А теперь подробнее
Всего голосов 26: ↑21 и ↓5 +16
Комментарии 41

Потеснит ли Huawei дуополию Google и Apple на рынке мобильных операционных систем?

Время на прочтение 7 мин
Количество просмотров 7.7K
Высокая производительность *Тестирование IT-систем *Интерфейсы *
Recovery mode

Китайская компания представила HarmonyOS 2.0. Собственная операционная система должна заменить Android на устройствах Huawei. IT-гигант из Поднебесной лишился доступа к сервисам Google из-за санкций США. Кроме ОС компания показала и первые устройства на ней. В один из продуктов интегрировано семейство виртуальных ассистентов от Сбера. Пока рано говорить о глобальном распространении HarmonyOS, но с выходом новой ОС Huawei делает попытку отвоевать долю рынка IoT, отмечают эксперты.

Читать далее
Всего голосов 4: ↑1 и ↓3 -2
Комментарии 10