Pull to refresh
16
0
Данил Терновых @palmut

User

Send message

Тесты для функций compose в андроид

Level of difficultyEasy
Reading time5 min
Views1.4K

Представьте себе мир, где каждый раз, когда вы вносите изменения в код вашего приложения, вы уверены, что ничего не сломалось. Где ошибки обнаруживаются еще до того, как пользователи успеют их заметить. Где ваш код не только работает, но и документируется автоматически, улучшая архитектуру проекта с каждым тестом. Звучит как мечта? На самом деле это реальность, если вы правильно используете тесты. В этой статье мы погрузимся в мир тестирования Android-приложений с использованием Jetpack Compose, рассмотрим различные виды тестов и научимся настраивать и писать инструментальные тесты для ваших Compose функций.

Читать далее
Total votes 1: ↑1 and ↓0+3
Comments0

Что почитать о блокчейн-технологиях: руководства, книги и статьи

Reading time6 min
Views27K
Мы собрали дайджест из материалов, посвященных принципам работы блокчейн-технологии и разработке децентрализованных приложений. В него вошли наши собственные статьи и ресурсы по теме, на которые рекомендовали обратить внимание резиденты Hacker News, Quora и Reddit.

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

Total votes 17: ↑16 and ↓1+15
Comments1

За пять дней я прошел собеседования в пяти компаниях Силиконовой долины и получил пять предложений о работе

Reading time12 min
Views118K
За пять дней, с 24 по 28 июля 2017 года, я прошел собеседования в LinkedIn, Salesforce Einstein, Google, Airbnb и Facebook; все пять компаний предложили мне работу. Это был замечательный опыт и я понимаю, как мне повезло, что мои усилия оправдали себя, поэтому решил написать об этом. Здесь я расскажу о том, как готовился к собеседованиям, как они проходили и какое впечатление произвели на меня компании.



Как все началось


Я отработал в Groupon почти три года. Это моя первая работа, там были и прекрасные люди, и отличные проекты. Мы делали всякие интересные штуки, вводили перемены внутри компании, публиковали материалы и все в таком духе. Но со временем я стал ощущать, что темп моего самообразования стал затухать (попросту говоря, замедляться), мне не хватало пищи для ума. К тому же, как и всякого разработчика ПО из Чикаго, меня тянуло в Область залива Сан-Франциско — ведь там столько известных компаний.

Жизнь коротка, а профессиональная жизнь еще короче. Обговорив все с женой и заручившись ее полной поддержкой, я решил сделать решительный шаг и в первый раз в жизни поменять работу.
Читать дальше →
Total votes 95: ↑88 and ↓7+81
Comments98

Тотальная шаблонизация

Reading time9 min
Views27K


Когда собаке программисту нечего делать, он начинает все автоматизировать. Мне по роду своей деятельности приходится писать много кода и, конечно, хочется какие-то повторяющие вещи обобщить в виде библиотек, скриптов или шаблонов для Android Studio. О них и поговорим.

Поехали
Total votes 16: ↑13 and ↓3+10
Comments3

Леденец из мороженого, или как привнести в ваше приложение немного Material

Reading time7 min
Views20K
Пятая версия Android была выпущена почти полгода назад. Несмотря на это, большинство приложений в маркете до сих пор упорствуют в стиле Holo. То ли новый Material-стиль пока не по зубам среднему разработчику, то ли Android L еще не успел прочно войти в обыденность.

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

Если вы, как я недавно, твердо решили обернуть своё, давно не обновлявшееся, приложение в новую «шкурку», этот обзор инструментов и библиотек может сэкономить вам N часов времени.

Осторожно, мало картинок!
Total votes 26: ↑23 and ↓3+20
Comments19

Анимации c помощью Transitions API

Reading time11 min
Views70K
Привет!

На хабре ещё не была освещена тема Transitions API для анимаций, которые появились в Android начиная с 4.4 (KitKat) и продолжили свое развитие в 5.0 (Lollipop). В своей статье я расскажу о том, как упростить работу с анимациями с их использованием и как применять их на любом устройстве с версией Android 4.0 и выше.


Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments20

Восприятие русского языка в Google Now/Google поиск

Reading time3 min
Views226K
Проснувшись утром 13 декабря, что-то стрельнуло у меня в голове, и, взяв телефон в руки, я тапнул по микрофончику и, не ожидая ничего нового, спросил: «какая погода в Москве?»

Какого же было мое удивление, когда с открытием Google Now я услышал:

— Погода в Москве столько то градусов, небольшой снег

Что? Послышалось спросони? Нет, на предложение построить маршрут до работы G.Now отреагировал тоже вполне адекватно и построил маршрут.

Google включил распознавание русского голоса! Ура, товарищи!

Но как так? Без шума и без пыли, когда этого так долго многие ждали! Сообщество Nexus в Google+, как выяснилось, тоже было особо не в курсе.
Распознавание русского языка пришло на цыпочках вместе с последним обновление Google поиск.

Прошло 5 дней, сегодня об этом написал droider.ru, где в самом посте и в комментах сказано, что понимает Google Now совсем немного команд.

Я решил проверить.
Читать дальше →
Total votes 90: ↑83 and ↓7+76
Comments88

Google Play — работаем легально!

Reading time4 min
Views179K
Привет, Хабр!



Сегодня, я хочу рассказать о том как сделать свое хобби по разработке Android-приложений пусть небольшим, но официальным бизнесом. О том, как легально получать деньги, заработанные на Google Play, о «страшном» валютном контроле и «таинственном» паспорте сделки.
Читать дальше →
Total votes 92: ↑88 and ↓4+84
Comments115

Устройство интернетов

Reading time8 min
Views19K


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

— Оки, задачу понял. Уже делаю — ответил я. Работа системного администратора в небольшой фирме, занимающейся продажей котельного оборудования, включает в себя множество дисциплин. Вёрстка макетов — одна из них. Недавно директор увидел какую-то софтину, строящую в реальном времени графики по данным с датчиков на котлах, и захотел, чтобы эти графики были включены в каталог с нашим оборудованием. И не просто включены, а в динамике, чтобы показать эффективность работы разных котлов под разной нагрузкой. Сначала директор сам хотел наделать скриншотов, но обнаружил, что данные слишком быстро обновляются, поэтому делегировал эту ответственную задачу мне.

Открыв любимый поисковик, я хотел было уже ввести «автоматизированное создание скриншотов», как вдруг моё внимание привлёк новый элемент управления на этой странице. Вообще, главная страница этой поисковой системы настолько минималистична, что каждое её изменение, даже на пару пикселей, сразу бросается в глаза. А сейчас там под строкой поиска появилось самое настоящее окно чата. Внизу вертелась анимированная иконка с изображением карандаша, символизирующая, должно быть, то, что собеседник пишет мне сообщение. Через пару секунд анимация исчезла, и в окне чата появилась надпись: «привет как дела».
Читать дальше →
Total votes 185: ↑146 and ↓39+107
Comments97

Служба TSM для управления NFC приложениями на SIM

Reading time6 min
Views14K

Определение


TSM (Trusted Service Manager) – служба, которая позволяет поставщикам услуг и мобильным операторам управлять своими бесконтактными приложениями удаленно, обеспечивая доступ к защищенным элементам на терминалах с поддержкой NFC. Владелец TSM сервера выступает в качестве посредника, который устанавливает деловые соглашения и технические связи между оператором мобильной связи, поставщиками услуг или другими лицами, контролирующими доступ к защищенным элементам бесконтактного приложения на мобильных терминалах с поддержкой NFC.

Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments3

Что ещё важно знать обывателю о патентах. Продолжаем ликбез

Reading time3 min
Views5.8K
Мы помним, что патентная система — это система, дающая изобретателю ограниченную во времени, охраняемую государством монополию на распоряжение его идеей за её обнародование. В этой статье я расскажу вам, как именно изобретательская монополия ограничена во времени и как, на данный момент, происходит обнародование.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments17

«One Last Thing» — документальный фильм о Стиве Джобсе (2011 год), профессиональный русский перевод

Reading time1 min
Views13K
image

«Одна последняя вещь» (One Last Thing) — документальный фильм о Стиве Джобсе, выпущенный в 2011 году. В фильм включено неизвестное интервью Стива Джобса, данное в 1994 году, а также интервью со Стивом Возняком, Рональдом Уэйном, Дином Хови, Россом Перо. Перевод на русский язык — канал GTV.

Читать дальше →
Total votes 76: ↑55 and ↓21+34
Comments84

Ближайшее будущее аккумуляторных батарей

Reading time33 min
Views107K
В последние годы все острее встает вопрос усовершенствования мобильных источников энергии — вопрос как глобальный, так и повседневный. Глобальная сторона заключается в том, что человечество, остро нуждаясь в энергии в любой её форме, выбрало в качестве свободноконвертируемой электрическую. Причина – относительно низкие потери при обратном переводе из электрической в любую другую, а так же низкие потери при передаче от точки выработки (электростанция) до стационарной точки потребления (э/розетка). Основным источником электроэнергии на сегодняшний день является сжигание на ТЭС невозобновляемого углеводородного топлива, которого с каждым годом все меньше, а цена всё выше. Основной вред окружающей среде наносят тем не менее не ТЭС, а двигатели внутреннего сгорания автомобилей, в виду компактности не столь эффективные и оснащенные не столь же хорошими системами очистки.
Все говорит, что работай автомобили на электротяге, наш мир стал бы намного чище, а жизнь со временем даже дешевле

Но вряд ли многие из нас, не считая борцов за зеленый мир, и даже считая оных, думают об этом каждый день. Гораздо чаще мы вспоминаем недобрым словом какой-нибудь значок на дисплее нашего ноутбука или телефона, увидев что пользоваться им осталось минут 20. И вопрошаем:”Ну когда же они сделают нормальную батарейку, а?”.
Читать дальше →
Total votes 269: ↑249 and ↓20+229
Comments141

А ваши сотрудники продуктивные?

Reading time4 min
Views2.1K
Продуктивность у одного и того же человека может отличаться в зависимости от времени суток, настроения, коллектива, фазы луны, а иногда и от политической ситуации в Гондурасе. Понятно, что на некоторые факторы вы не в силах повлиять, но сделать жизнь программиста проще, а как следствие — продуктивнее, вам вполне по силам. Итак, что же для этого нужно?

Не устанавливайте рамки


Вроде бы эта тема многократно обсуждалась, но, тем не менее, многие компании заставляют приходить программистов в 9 утра, забывая, что работа разработчика – это творческий процесс (спросите своих сотрудников, как часто решение насущной проблемы приходит во время прогулки, в метро, во время секса), который трудно сочетается со стандартным офисным расписанием. А если еще учесть, что большинство проектов идут из обеих Америк (смещение времени до -8:00), то обязательный приход в 9:00 тем более выглядит странным решением.

Читать дальше →
Total votes 69: ↑56 and ↓13+43
Comments85

Почему наши премии плохи

Reading time3 min
Views3.3K
Все мы знаем, что нынче модно говорить о мотивации сотрудников и соотв. что-то делать в этом направлении. Но, к сожалению, большинство попыток что-то сделать встречают 3 проблемы:
  1. Решение задачи поручают тем, кому в принципе то все-равно. Главное изобразить деятельность и отчитаться.
  2. Решение поручают тому, кто и рад бы достичь результата, но не умеет. Иными словами «почему хороший программист не превращается в хорошего тимлидера».
  3. Поручают все нужному человеку, он, вроде бы, рожает правильные мысли, но административные ограничения не позволяют реализовать задуманное.

В результате мы получаем что-то вроде следующего набора: питание + ДМС + премии (ежемесячные, квартальные, годовые)
Что же тут не так ?
Total votes 5: ↑5 and ↓0+5
Comments3

Как выкачать исходники Android под Windows

Reading time3 min
Views14K
В недавнем посте о восстановлении работы git-репозитория Android многие жаловались, что пока нет веб-интерфейса доступа к исходникам из Windows тоже нет. Это не так, git под Windows есть и их можно легко забрать. Единственное что не работает без пинка — это repo, который весьма удобен для выкачивания сырцов. Однако пинок требуется минимальный, имя пинку — Cygwin. Этот пост о том, как поставить Cygwin с нуля, какие пакеты выбрать для работоспособности repo и как всё выкачать пользователям Windows. Для понимания поста требуется умение работать с консолью на базовом уровне, понимать что такое приглашение, уметь печатать текст и жать Enter.

Читать дальше →
Total votes 27: ↑18 and ↓9+9
Comments14

Опыт составления резюме

Reading time5 min
Views33K

Проблема


Не так давно мне потребовалось обновить своё резюме. Последний раз я это делал несколько лет назад, так что решил написать резюме с нуля.

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

Читать дальше →
Total votes 131: ↑107 and ↓24+83
Comments215

Выжимаем максимум из DDMS

Reading time6 min
Views35K
DDMS (Dalvik Debug Monitor Server) — безумно полезный инструмент для отладки приложений, который идет в комплекте с Android SDK, о котором почему-то особо и не сказано на хабре, впрочем как и в примерах google он представлен в очень скромном виде. Я бы хотел раскрыть его возможности и показать на что он способен. Вкратце:
  • изучать информацию о работающих потоках;
  • анализировать heap на количество свободной и занятой памяти;
  • анализировать какие объекты чаще создаются, их размер и другое (Allocation tracker);
  • находить проблемные участки кода, которые долго работают и требуют оптимизации (Method profiling). Это я советую знать всем.

Об этих вещах будет рассказано в рамках данной статьи. И для справки, менее интересное, что довольно тривиально и о чем НЕ будет рассказано в рамках данной статьи:
  • работать с файловой системой эмулятора или устройства;
  • находить информацию об ошибках (привет LogCat);
  • эмулировать звонки/смс/местоположение;
  • использовать инструмент Network Statistics.


Если заинтересовались, прошу под кат.
Total votes 34: ↑34 and ↓0+34
Comments6

Новый SwipeRefreshLayout из библиотеки Android support — «потяните чтобы обновить»

Reading time3 min
Views44K
Тихо и незаметно вместе с обновлением библиотеки Android support до версии 19.1 в нее прокрался новый компонент, который часто бывает нужным и полезным в быту. Сей совсем крохотный росчерк я посвящаю ему, SwipeRefreshLayout.

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

Очень похоже, что компонент был создан для GoogleNow, а потом перекочевал в support lib (очень похожа анимация).
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments7

Интеграция Android Studio, Gradle и NDK

Reading time5 min
Views46K
В свете недавних изменений (начиная с релиза 0.7.3 от 27 декабря 2013) новая система сборки под Android становится очень интересной в том числе и для тех, кто использует NDK. Теперь стало действительно просто интегрировать нативные библиотеки в вашу сборку и генерировать APK для различных архитектур, корректно обращаясь с кодами версий.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments5

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity