Как стать автором
Обновить
Влад @androidovshchik read-only

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

Шпаргалка по Smali на русском

Время прочтения 13 мин
Просмотры 23K
Разработка под Android *
Перевод

Русская шпаргалка по Smali


Приветствую, любители реверс-инжинирить Android. Перед вами шпаргалка по Smali — аналогу ассемблера для Android-приложений.



Изначальный текст на русском взят отсюда. Там текст появился из машинного перевода официальной документации.


В итоге, оформил сухой текст + поправил небольшие опечатки и корявости перевода. По поводу замечаний и предложений можете писать либо мне в ЛС, либо оформлять PR на Gist.

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

Реверс API по его android приложению

Время прочтения 3 мин
Просмотры 7.8K
Data Mining *Разработка под Android *API *
Туториал

Зачем


У меня есть pet-project, приложение для учета финансов.


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


Но


  • Банков несколько и они ничего не знают друг про друга. В итоге
    • Нет единой аналитики
    • Перевод денег из одного банка в другой будет считаться как списание с одной стороны и зачисление с другой. Эта особенность портит аналитику.
  • Возможность работать с данными позволяет строить любую аналитику и прогнозы в отличие от ui банка
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 32

Как Java 8 поддерживается в Android

Время прочтения 10 мин
Просмотры 13K
Блог компании TINKOFF Разработка под Android *
Перевод
Привет, Хабр! Предлагаю вашему вниманию перевод замечательной статьи из цикла статей небезызвестного Джейка Вортона о том, как происходит поддержка Андроидом Java 8.



Оригинал статьи лежит тут
Читать дальше →
Всего голосов 26: ↑26 и ↓0 +26
Комментарии 8

[в закладки] 9 инструментов, повышающих продуктивность веб-разработчика

Время прочтения 4 мин
Просмотры 31K
Блог компании RUVDS.com Разработка веб-сайтов *JavaScript *
Перевод
Интернет — это не только то место, где можно научиться программировать. Тут имеется множество полезных онлайновых инструментов, способных помочь разработчику на разных этапах работы над проектом и таким образом сэкономить немного времени.



Автор статьи, перевод которой мы сегодня публикуем, отобрал 9 таких инструментов.
Читать дальше →
Всего голосов 46: ↑38 и ↓8 +30
Комментарии 12

Лёгкая интеграция tor в android приложение на примере клиента для рутрекера

Время прочтения 7 мин
Просмотры 18K
Информационная безопасность *Разработка под Android *
Мне давно было интересно, можно ли легко добавить проксирование через тор в Android приложение. Вроде бы довольно очевидная задача, плюс тор браузеры уже под эту платформу давно есть… Но есть много задач, которые сложнее, чем кажутся. Для нетерпеливых сразу скажу — да, можно, и получается довольно легко, быстро и классно. В особенности если не копать с нуля, а воспользоваться моими наработками.

Для примера я буду использовать приложение для работы с рутрекером — никто не любит код, который работает со сферический конём в вакууме. Раньше это приложение обходило блокировку при помощи Google Compression Proxy — но увы — то ли рутрекер, то ли гугл выпилил возможность авторизации с этой проксёй. Сразу скажу, что, конечно, есть всякие впны и прочее, что вы используете для лёгкого обхода блокировки и просмотра сериальчиков. Но речь здесь идёт не про это. Как вы понимаете, тор можно использовать в мобильном приложении для огромного количества вещей — например, для доступа к веб сайтам в .onion или для реализации особо безопасного мессенджера.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 13

Исследование многократного перезалива JPEG

Время прочтения 6 мин
Просмотры 114K
Алгоритмы *Обработка изображений *
Туториал

В VK есть группа со следующим описанием:


Одна и та же фотография каждый день вручную сохраняется на компьютер и снова заливается, постепенно теряя в качестве.

Слева исходная картинка, загруженная 7 июня 2012, справа — какая она сейчас.


КДПВ


Видео

Такая разница очень подозрительна. Попробуем разобраться, что происходило в течение этих 7 лет. Для ознакомления есть статья на Медузе про эту группу, но нас будет интересовать только техническая сторона.

Всего голосов 219: ↑213 и ↓6 +207
Комментарии 99

Стартап без денег. Личный опыт

Время прочтения 3 мин
Просмотры 14K
Интернет-маркетинг *
После запуска приложения всегда встает вопрос, откуда брать пользователей. В этой статье хотел бы поделиться своим опытом, как на старте проекта без денежных вложений привлечь пользователей для вашего продукта.
Читать дальше →
Всего голосов 47: ↑25 и ↓22 +3
Комментарии 13

История постройки гусеничного робота

Время прочтения 8 мин
Просмотры 13K
Разработка робототехники *DIY или Сделай сам
Из песочницы
image

Моя история погружения в изучение робототехники и создание робота с помощью 3d принтера. Ошибки, с которыми я столкнулся и что хотел-бы получить в итоге
Читать дальше →
Всего голосов 68: ↑67 и ↓1 +66
Комментарии 21

Диаграмма Ганта vs Канбан доска

Время прочтения 8 мин
Просмотры 24K
Управление разработкой *Управление проектами *Agile *
Перевод
Если коротко – диаграммы Ганта полезны, когда зависимости являются основным фактором формирования расписания, тогда как Канбан доски можно использовать для работ, которые не имеют зависимостей между собой.

Кроме того, диаграммы Ганта подходят, когда существует предварительный план для всего содержания проекта (хотя бы высокоуровневый), в то время как Канбан доски больше подходят для случаев, когда весь план возникает и дорабатывается по мере развития проекта.

Канбан доски лучше подходят для повторяющейся работы (работы со схожими этапами), а диаграммы Ганта – для комбинации различных видов работ.

Наконец, эти инструменты подразумевают разные взгляды на работу, которые должны соответствовать вашему подходу к работе и вашему подходу к разработке (Agile или предиктивный).

Теперь давайте потратим ещё несколько минут, чтобы разобраться в деталях.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 18

AMD заплатит до $300 покупателям процессоров Bulldozer

Время прочтения 2 мин
Просмотры 17K
Компьютерное железо
Компания AMD обязана выплатить компенсации из-за некорректной рекламы: их новые процессоры предъявлялись как восьмиядерные, но по факту были только четырехъядерными. Подробности сообщает The Verge.

image
Источник: Flickr

Читать дальше →
Всего голосов 26: ↑17 и ↓9 +8
Комментарии 52

11 библиотек (наборов компонентов) для React, о которых стоит знать в 2018-м

Время прочтения 4 мин
Просмотры 60K
Блог компании RUVDS.com Разработка веб-сайтов *ReactJS *
Перевод
11 библиотек (наборов компонентов) для Angular, о которых стоит знать в 2018-м
11 библиотек (наборов компонентов) для Vue, о которых стоит знать в 2018-м
11 библиотек (наборов компонентов) для React, о которых стоит знать в 2018-м

Современные фреймворки для разработки веб-приложений сформировали вокруг себя сообщества, члены которых, помимо прочих дел, занимаются разработкой библиотек для этих фреймворков. Подобные библиотеки находят применение во множестве проектов. Как правило, можно даже говорить о том, что, например, на чистом React, Angular или Vue, без применения дополнительных средств, веб-приложения сегодня не разрабатывают.



Представляем вашему вниманию перевод первого материала из серии статей, в каждой из которых рассмотрены 11 наиболее интересных библиотек для разных веб-фреймворков, на которые стоит обратить внимание в 2018-м. Сегодня поговорим о библиотеках для React.
Читать дальше →
Всего голосов 36: ↑27 и ↓9 +18
Комментарии 21

SwiftUI для прошлого конкурсного задания Telegram Charts (март 2019 года): все просто

Время прочтения 21 мин
Просмотры 7.2K
Разработка под iOS *Разработка мобильных приложений *Swift *


Сразу начну с замечания о том, что приложение, о котором пойдет речь в этой статье, требует Xcode 11 и MacOS Catalina , если вы хотите использовать Live Previews, и Mojave, если будете пользоваться симулятором. Код приложения находится на Github.

В этом году на WWDC 2019, Apple анонсировала SwiftUI, новый декларативный способ построения пользовательского интерфейса (UI) на всех устройствах Apple. Это практически полное отступление от привычного нам UIKit, и я — как и многие другие разработчики — очень хотела посмотреть этот новый инструмент в действии.

В этой статье представлен опыт решение с помощью SwiftUI некоторой задачи, код которой в рамках UIKit несопоставимо более сложный и его не удается на мой взгляд представить в читабельном виде.
Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 4

Пишем оплату для telegram-бота на python с помощью библиотеки telebot часть 3

Время прочтения 3 мин
Просмотры 42K
Python *
Туториал
Для тех, кто не читал предыдущие части:


Зачем нужна оплата?


В жизни каждого разработчика телеграм ботов наступает момент, когда необходимо реализовать оплату в вашем боте. И тут у вас есть два пути. Первый — зарегистрировать ИНН, ИП/Юридическое лицо и подключить официальную оплату от телеграма или просто использовать сторонний сервис по типу Free-Kassa, QIWI и т.д. Думаю выбор очевиден, в этой статье я буду использовать QIWI, потому что так хочу.
Читать дальше →
Всего голосов 9: ↑5 и ↓4 +1
Комментарии 8

Трансформация кода в Android

Время прочтения 12 мин
Просмотры 4.6K
Java *Разработка под Android *Gradle *
Из песочницы

Вместо вступления


Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и книги, постепенно писал простые таски, попробовал создать свой первый Gradle плагин (в buildSrc) и тут понеслось.


Решив сделать что-то, приближенное к реальному миру Android разработки, написал плагин, который парсит layout xml файлы разметки и создает по ним Java объект со ссылками на вьюхи. Затем побаловался с трансформацией манифеста приложения (того требовала реальная задача на рабочем проекте), так как после трансформации манифест занимал порядка 5к строк, а работать в IDE с таким xml файлом довольно тяжело.


Так я разобрался как генерировать код и ресурсы для Android проекта, но со временем захотелось чего-то большего. Появилась мысль, что было бы круто трансформировать AST (Abstract Syntax Tree) в compile time как это делает Groovy из-под коробки. Такое метапрограммирование открывает много возможностей, была бы фантазия.


Дабы теория не была просто теорией, я решил подкреплять изучение темы созданием чего-то полезного для Android разработки. Первое, что пришло на ум — сохранение состояния при пересоздании системных компонентов. Грубо говоря, сохранение переменных в Bundle максимально простым способом с минимальным бойлерплейтом.

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

Почему стандарт USB нужно было делать таким сложным?

Время прочтения 7 мин
Просмотры 72K
IT-стандарты *Периферия
Перевод

USB Type-C

Что такое USB Gen 1, Gen 2 и Gen 2×2? (предыстория от февраля 2019)


Раньше найти USB побыстрее было просто: выбирайте USB 3.0 вместо USB 2.0, и всё. Но теперь вам придётся разобраться в том, чем отличаются USB 3.2 Gen 1, Gen 2 и Gen 2×2 – а также в том, чем отличаются разные типы SuperSpeed.

Раньше маркировка была проще




Давным-давно USB было два основных вида, 2.0 и 3.0. И всё, что вам нужно было о них знать – это то, что 3.0 был быстрее, чем 2.0. Вы могли купить флэшку стандарта USB 2.0, воткнуть её в компьютер с разъёмами USB 3.0, и она подошла бы – просто медленнее, со скоростями 2.0. Ну а если бы вы купили флэшку USB 3.0 и воткнули в разъём 2.0, то также получили бы скорости от 2.0.
Читать дальше →
Всего голосов 92: ↑80 и ↓12 +68
Комментарии 193

Корутины в Kotlin (гайд)

Время прочтения 12 мин
Просмотры 134K
Блог компании Альфа-Банк Программирование *Java *Kotlin *
Перевод


Simon Wirtz в своем блоге публикует достаточно много интересных постов о Kotlin.
Представляю вашему вниманию перевод одного из них.
Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Комментарии 20

Язык программирования Ü. Введение, мотивация к созданию, цели

Время прочтения 11 мин
Просмотры 44K
Open source *Программирование *Компиляторы *

Введение


С 2016-го года (с перерывами) я разрабатываю собственный язык программирования. Название данного языка — «Ü». Почему Ü? Потому, что хотелось однобуквенного названия, а все буквы из набора A-Z уже заняты.

Данная статья имеет задачу ознакомить публику с данным языком, дать составить общее представление о нём. Статья не ставит целью описать язык полностью, более полное описание языка, если надо, будет дано в последующих статьях.

Зачем нужен ещё один язык?
Читать дальше →
Всего голосов 81: ↑66 и ↓15 +51
Комментарии 255

Почему const не ускоряет код на С/C++?

Время прочтения 10 мин
Просмотры 32K
Блог компании VK Высокая производительность *Анализ и проектирование систем *C++ *C *
Перевод

Несколько месяцев назад я упомянул в одном посте, что это миф, будто бы const помогает включать оптимизации компилятора в C и C++. Я решил, что нужно объяснить это утверждение, особенно потому, что раньше я сам верил в этот миф. Начну с теории и искусственных примеров, а затем перейду к экспериментам и бенчмаркам на реальной кодовой базе — SQLite.
Читать дальше →
Всего голосов 109: ↑99 и ↓10 +89
Комментарии 77

22 сайта для программиста, которые помогут заговорить на английском

Время прочтения 3 мин
Просмотры 112K
Программирование *Лайфхаки для гиков Изучение языков
Хабр, привет!

Сделал подборку из 22-х сайтов для изучения английского языка.
Подборка поможет изучить английский легко, без зубрежки и учебников.

Приступим!

Учить лексику


Плагины, мобильные приложения и сайты, которые помогут перевести и запомнить незнакомые термины с русского на английский и обратно.

ЛеоПереводчик

С этим плагином удобно переписываться с коллегами. Он автоматически переводит непонятные слова и выражения. Незаменимый инструмент, когда нет времени на доскональные переводы и нужен срочный ответ.
Читать дальше →
Всего голосов 45: ↑39 и ↓6 +33
Комментарии 15

Почему в Google Play мало инновационных приложений или почему иногда программирование — это магия

Время прочтения 6 мин
Просмотры 38K
Разработка под Android *
Многие бегуны с утра измеряют пульс покоя. Если с утра он повышен, значит ты дал лиху — перетренировался. Я не бегун, но тоже измеряю. На апсторе есть удобная программа для измерения пульса по лицу, которая идеально мне подходит.

Но около года назад я отложил свой айфон в сторону, взяв андроид. На следующее утро я неожиданно понял — я больше не могу измерять пульс по лицу не вставая с постели. Я обыскал весь Google Play, но не нашел ничего похожего. Почему таких приложений нет в андроид?
О том как я публиковал одно 'странное' приложение - читайте в статье
Всего голосов 152: ↑151 и ↓1 +150
Комментарии 112

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность