Рубрика «перевод»

Данная статья является шестой частью серии статей, предназначенных, по словам автора, для тех, кто не может разобраться с внедрением зависимостей и фреймворком Dagger 2, либо только собирается это сделать. Оригинал написан 23 декабря 2017 года. Перевод вольный.

Dagger 2 advanced part 1 image
Читать полностью »

Перевод. Оригинал по ссылке.

В версии Typescript 2.0 был добавлен модификатор readonly. Свойствам помеченным модификатором readonly значение может быть присвоено только в момент инициализации, или в конструкторе того же класса. Любые другие присваивания значении запрещены.

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

Недавно я провел исследование о main() методе в Java и то, как он служит точкой входа для любого приложения Java. Это заставило меня задуматься, а как насчет Android-приложений? Есть ли у них основной метод? Как они загружаются? Что происходит за кулисами до выполнения onCreate()? Майкл Бэйли очень подробно рассказал о том, как работает Main Thread, так что это быстрый обзор его доклада плюс дополнительная информация из Android Open Source Project (AOSP).

В этой статье мы рассмотрим:

  1. Что происходит от нажатия на иконку приложения до запуска MainActivity
  2. Найдем основной метод приложения и узнаем, как основной поток (он же UI, он же Main Thread) получает свое назначение.
  3. Рассмотрим роль, которую играют Looper & Handler в передаче сообщений, которые в конечном итоге приводят к созданию вашей Activity.

Что происходит при запуске приложения

При запуске любого приложения, многое происходит глубоко внутри на уровне ядра, например начальная загрузка Zygote, загрузка классов в JVM, а для JVM — найти основной метод static void main(String args []) и вызывать его. В случае Android JVM находит основной метод main() в ActivityThread. Затем он вызывает main(), после чего ядро передает управление вашему приложению. Итак, мы нашли точку входа — ActivityThread, но прежде чем подробно изучить это, давайте посмотрим на дорожную карту процесса, чтобы визуализировать всю операцию.
Читать полностью »

Одним из моих любимых последних дополнений к Android Studio является APK Analyzer, который вы можете найти в главном меню в разделе «Сборка → Анализ APK».

image
Полезный совет: можно просто перетаскивать APK-файлы в редактор, чтобы открыть их

APK Analyzer позволяет вам открывать и проверять содержимое любого APK файла, который у вас есть на компьютере, который либо создан из вашего проекта в Android Studio, либо получен с сервера сборки или другого хранилища. APK-файл не обязательно собирать (Build → Build APK) перед этим, и вам не нужен исходный код для этого APK.

Примечание. APK Analyzer лучше всего работает с release-версиями APK. Если вам нужно проанализировать debug-версию вашего приложения, убедитесь, что вы используете APK, который не предназначен для Instant run. Чтобы получить этот APK, соберите APK Build → Build APK. А еще можно узнать, открыли ли вы APK Instant Run, проверив наличие в архиве файла instant-run.zip.

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

Данная статья является пятой частью серии статей, предназначенных, по словам автора, для тех, кто не может разобраться с внедрением зависимостей и фреймворком Dagger 2, либо только собирается это сделать. Оригинал написан 17 декабря 2017 года. Перевод вольный.

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

Для запуска приложения Angular 5 на сервере node.js необходимы:

* следуя рекомендациям сайта будет установлена версия 1.2 Ленивцам вроде меня нужна версия 1.6*.

Подробности под спойлером

Если ng (angular/cli) уже установлен. Проверьте версию

ng -v

Если версия <1.6 — обновимся

npm uninstall -g @angular/cli
npm cache
npm cache verify
npm i -g @angular/cli@latest

Проверим результат

ng -v

Если версия > 1.6 — цель достигнута.

** опционально, но с ним быстрее

Шаг 1. Развертываем новое приложение

Вообще говоря, заголовок слишком громкий для необходимых действий.
Читать полностью »

$59,000 на покупку электро-грузовика - 1

После того, как Tesla открыла возможность зарезервировать свой новый электро-грузовик, неожиданно много пред. заказов поступило из Канады. Теперь стало известно, что Онтарио — крупнейшая провинция Канады, анонсировала новую программу, которая будет стимулировать покупку таких грузовиков.
Читать полностью »

Привет! Представляю вашему вниманию перевод статей блога ZCash, в которых рассказывается о механизме работы системы доказательств с нулевым разглашением SNARKs, применяемых в криптовалюте ZCash (и не только).

Предыдущие статьи:

Часть 1: Объяснение SNARKs. Гомоморфное скрытие и слепое вычисление полиномов (перевод)
Часть 2: Объяснение SNARKs. Знание о принятом коэффициенте и достоверное слепое вычисление полиномов (перевод)

Вступление от переводчика

Начиная заключительную часть перевода, хочу сказать, что мы живем в воистину удивительное время. Время, когда высшая математика имеет возможность практически сразу быть задействованной в разработке программного обеспечения и мы можем наблюдать «в действии» результаты работы математиков технологических институтов в продвинутых вещах, основанных на блокчейнах и обменах данными.

Ну что же, не буду задерживать далее вашего внимания, давайте перейдем к самому интересному…
Читать полностью »

В этом праздничном сезоне будет трудно обойтись без обсуждения биткойнов. Поскольку стоимость биткойнов заигрывает с 20 000 долларов, а институциональные инвесторы начинают вкладывать большие деньги во фьючерсы на биткойн, этот вопрос стал горячей темой для обсуждения за кофе, бизнес-ланчами, праздничными столами и т. д.

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

В Laravel есть много отличных функций которые упрощают работу с массивами, путями, строками, маршрутами, и прочими вещами — например любимая функция dd().

Вы можете создать и свои собственные функции для вашего Laravel приложения и PHP пакета, используя Composer для автоматического импорта их.

Если вы новичок в Laravel или PHP давайте пройдемся по всему процессу создания собственных PHP функций которые будут автоматически подгружаться в Laravel'ом.

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