Pull to refresh
20
Karma
0
Rating
Zaur Abdulgalimov @abdulgalimov

Пользователь

Service Workers

const cacheFiles = [
    'https://domain.ru/file/to/path.bin'
];

self.addEventListener('install', (event) => {
    console.log('[sw] installed8', event);
    caches
        .open('static')
        .then((cache) => cache.addAll(cacheFiles))
});

self.addEventListener('activate', (event) => {
    console.log('[sw] activated', event);
});

self.addEventListener('fetch', (event) => {
    event.respondWith(
        caches.match(event.request)
          .then(response => {
            if (response) {
                console.log('[sw] from cache', event.request, response);
              return response;
            } else {
              return fetch(event.request);
            }
          })
    );
});


Использую вот такой Service Worker.
  1. Воркер устанавливается(лог [sw] installed выполняется).
  2. Дожидаюсь пока файл загрузится (150мб). Вижу этот файл во вкладке Application -> Cache Storage.
  3. Перезапускаю страницу. Вижу что файл в кеше был найден(лог [sw] from cache выполняется). Ожидаю что файл загрузится моментально, а он грузится так же долго 30 сек.


Что я делаю не так? Спасибо.

Чтение GATT-характеристик Bluetooth устройства

Да что то они сильно поменяли сайт с 2015 года, когда статья была написана. Но в принципе информацию можно найти. Например если разбирать приведенную в статье характеристику 2A0F Local Time Information: открываем ссылку, у меня в ответ скачивается XML с содержимым:
image

Здесь как видим есть поле «Time Zone» Описание которого можно найти на странице с характеристиками используя это имя поля или идентификатор org.bluetooth.characteristic.time_zone

В описании поля «Time Zone» как раз описание в формате sint8 — то о чем я писал в статье выше:
image

Чтение GATT-характеристик Bluetooth устройства

Про GATT поиском на сайте bluetooth.com нашел

Ссылки apple не знаю куда делись, лень искать :)
ANE библиотек больше нет, ибо флешь помер :(

Подводные камни Service Workers

Спасибо за статью, полезно :)

Я правильно понял что воркер не будет работать со страницей, которая была запущена впервые на девайсе? Заметил такую штуку, если удалить serviceworker и открыть страницу, воркер не получает событие fetch. Если после этого обновить страницу — событие fetch воркеру прилетает. Это нормальное поведение? Если да, то как сделать так чтобы воркер начал кешировать ресурсы при первом заходе на страницу? возможно ли это?

Спасибо.

WebAssembly и манипуляции DOM

В нескольких публикациях столкнулся с тем что вызов JS функций из C++ — это дорогая операция. А как на счет вызова C++ функций из JS и возврат ArrayBuffer-а?

Знакомство с WebAssembly

т.е. размер файла 27кб не смущает? при том что должен получиться Uint8 массив длиной ~200 байт.

Знакомство с WebAssembly

Подскажите как правильно скомпилировать .wasm из .c файла?
Взял пример из статьи:


int fib(int n)
{
    if (n == 0) { return 0; }
    else
    {
        if ((n == -1) || (n == 1)) { return 1; }
        else 
        {
            if (n > 0) { return fib(n - 1) + fib(n - 2); }
            else { return fib(n + 2) - fib(n + 1); }
        }
    }
}

Компилирую так же как в статье:


emcc -O1 fib.c -g -o fib.html -s WASM=1 -s NO_EXIT_RUNTIME=1 -s NO_FILESYSTEM=1 -fno-exceptions -fno-rtti --llvm-lto 1

Получаю .wasm файл размером 27 кб :( Как получить массив как в примере выше:


[0,97,115,109,1,0,0,0,1,134,128,128,128,0,1,96,1,127,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,144,128,128,128,0,2,6,109,101,109,111,114,121,2,0,3,102,105,98,0,0,10,203,128,128,128,0,1,197,128,128,128,0,1,1,127,2,64,32,0,65,1,106,34,1,65,3,79,13,0,32,1,65,2,116,65,12,106,40,2,0,15,11,2,64,32,0,65,1,72,13,0,32,0,65,127,106,16,0,32,0,65,126,106,16,0,106,15,11,32,0,65,2,106,16,0,32,1,16,0,107,11,11,146,128,128,128,0,1,0,65,12,11,12,1,0,0,0,0,0,0,0,1,0,0,0]

?

Экосистема разработчиков в Telegram

А как же без лучшего бота для проведения опросов :) http://telegra.ph/QuanBot-Domashnyaya-stranica-04-22

Разработка HTML5-игр в Intel XDK. Часть 1. Знакомство с XDK

Подскажите пожалуйста, почему у меня нет шаблонов Games image?

Некоторая практика применения Hibernate

Уже в который раз натыкаюсь на статью, прочитав которую думаю: «ну вот супер, все понятно, то что нужно», а потом читаю коменты и большинство пишут что это все не правильно, профи так не делают и т.п.… кто нибудь, напишите пожалуйста, или дайте ссылку где простым языком написано как надо это делать :) очень не хочется изначально учится не верному способу…

Коллекция Telegram ботов для гиков

http://telegram.me/QuanBot — лучший бот для проведения опросов :) видео с его возможностями:

Telegram: чат-культура 2.0

Вдруг кому понадобится бот для проведения опросов в чатах телеграм, QuanBot — лучший бот с расширенными настройками: https://youtu.be/12ekmVmlRWg.

image > image > image > image

Сервисы дистрибуции мобильных приложений для iOS. Часть 2: HockeyApp

Новый билд можно отправить либо вручную через сайт сервиса:…
… Либо в полуавтоматическом режиме, если установлено десктопное приложение — в этом случае достаточно будет выполнить архивирование проекта (Product-Archive) — далее в появившемся попапе выбрать Upload:


Еще в OSX(на других ОС не пробовал) можно отправлять билд из командной строки.

Сервисы дистрибуции мобильных приложений для iOS. Часть 4 (заключительная): Fabric (Crashlytics)

Спасибо за подробную информацию. Я правильно понял что, если я собираю ipa без Xcode проекта — значит у меня нет шансов использовать fabric?

Работа с Java в командной строке

Супер! Спасибо)

Тестирование Adobe AIR приложений в системе HockeyApp

Кому интересно посмотреть на исходники, выложил все в svn-репозиторий fpsvn.ru/svn/ane/hockeyapp/opensource/

Тестирование Adobe AIR приложений в системе HockeyApp

На самом деле они молодцы, и сильно помогли когда я разбирался с их SDK и у меня были проблемы на уровне ObjectiveC. Но вот разбираться с AIR они не хотят. Наверно да, не понимают что AIR разработчиков тоже очень много :)

Тестирование Adobe AIR приложений в системе HockeyApp

У них на форуме AIR разработчики спрашивали в разное время. Ответ один — мы не занимаемся поддержкой AIR. На тему возникших у меня проблем спрашивал у тех поддержки — ответ тот же — это ваша проблема :)
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity