Pull to refresh

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

Open source *Gadgets Smartphones Software
image

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

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

Smartphones IT-companies

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

Читать далее
Total votes 11: ↑11 and ↓0 +11
Views 15K
Comments 45

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

Information Security *Finance in IT Cryptocurrencies

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

Читать далее
Total votes 8: ↑6 and ↓2 +4
Views 4K
Comments 14

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

Information Security *IT-companies

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

Читать далее
Total votes 1: ↑1 and ↓0 +1
Views 929
Comments 4

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

Website development *
Пару дней назад Сеть облетела новость, что 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 обладает «фундаментальными» изъянами, которые невозможно исправить путём эволюционного развития.
Читать дальше →
Total votes 90: ↑78 and ↓12 +66
Views 4.5K
Comments 173

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

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

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

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

CSS 3D эффекты

Website development *

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

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

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

ECMAScript Harmony и Node.js

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

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

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 произошедшие, отражает эта перемена.

Читать дальше →
Total votes 33: ↑26 and ↓7 +19
Views 11K
Comments 35

Исследуем JavaScript Generators

Website development *JavaScript *Node.JS *
Tutorial
Translation


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

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

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

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

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

JavaScript *
Translation
Я постоянно слышу людей, ноющих об асинхронных коллбэках в 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;  
        } 
    });

Интересно, не правда ли? Централизованная обработка исключений и понятный порядок исполнения.
Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Views 33K
Comments 61

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

Website development *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 и заметки о её перспективах.

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


Читать дальше →
Total votes 87: ↑82 and ↓5 +77
Views 96K
Comments 40

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

Microsoft corporate blog Website development *JavaScript *TypeScript *


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

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

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

databoom corporate blog 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 *). В результате пользователь нашего итератора будет получать узлы дерева, перемежаемые неожиданными значениями.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views 6.5K
Comments 0

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

Website development *JavaScript *Browsers
Доброго времени суток.



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

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

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

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


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

А теперь подробнее
Total votes 26: ↑21 and ↓5 +16
Views 23K
Comments 41

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

High performance *IT systems testing *Interfaces *
Recovery mode

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

Читать далее
Total votes 4: ↑1 and ↓3 -2
Views 7.6K
Comments 10