Pull to refresh
0
@Vicplusread⁠-⁠only

Adroid Devoloper

Send message

Распутываем легаси-код на Android проекте

Level of difficultyEasy
Reading time3 min
Views965

Попадая на новый проект с долгой историей вас неизбежно ждёт легаси код. Возможно, что сменилось несколько команд, пока он попал в ваши руки. Может быть на проекте уже и контекст-овнера нет, а на любой ваш вопрос тимлид отвечает - так исторически сложилось.
Приложение может тормозить, состояние определяться десятками мутабельных переменных. Фризы, утечки памяти, файлы на сотни, тысячи строк кода. Год обжекты. Знакомо?
Я хочу дать несколько советов, которые помогут сориентироваться и понять что происходит, а также помогут распутать спагетти код.


1. Поставьте логгер на изменение базы данных. Все ORM поддерживают подобный функционал. На Room можно это сделать так

Читать далее

Неочевидное про Fragment API. Часть 1. Транзакции

Reading time7 min
Views24K

Всем привет! Меня зовут Максим Бредихин, я Android-разработчик в Тинькофф. В этой серии статей я расскажу об интересных моментах из Fragment API, о которых вы могли не знать. Материал будет полезен как начинающим разработчикам, так и закаленным в боях с багами девелоперам.

Усаживайтесь поудобнее, мы начинаем!

Читать далее

Как адаптировать Android-приложение под Huawei

Reading time11 min
Views14K

Всем привет! Меня зовут Миша Вассер, я Head of Android в AGIMA. Мы занимаемся разработкой Digital-продуктов для больших и маленьких компаний, в том числе пилим мобильные приложения.

Не так давно — по сравнению со всей историей Android — Huawei выкатил собственную операционную систему и сказал: «Ребята, вот вам новая система, кайфуйте». Многие отнеслись к новой ОС скептически. Остальным пришлось адаптировать под нее свои Android-приложения.

Мы оказались во второй группе. К нам время от времени обращаются с просьбой помочь с адаптацией под Huawei. И мы неплохо в этом вопросе прокачались. Поэтому сейчас расскажу, что надо сделать, чтобы стало хорошо. А покажу всё это на примере крупного ретейлера, с которым мы работаем.

Читать далее

Многопоточность в мобильной разработке

Level of difficultyMedium
Reading time26 min
Views28K

Всем привет! На связи Сергей, Android-разработчик Студии Олега Чулакова на проектах Сбера.

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

Читать далее

Архитектура Android. Понятно и подробно

Level of difficultyMedium
Reading time15 min
Views35K

Если вы хотите сделать хорошую архитектуру, то используйте эту схему и строго соблюдайте правила, без каких-либо исключений.

Читать правила

Как изменилась Amnezia за 2023 год

Reading time6 min
Views29K

Первые наши пользователи помнят Amnezia как приложение созданное одним человеком, в светлом дизайне и на английском языке. Сегодня AmneziaVPN - это проект, над которым работает целая команда людей из разных стран. Мы стали больше,  приобрели много опыта и теперь имеем возможность делать более сложный функционал . Этот год был, пожалуй, самым продуктивным для нас. Расскажем здесь о самых существенных изменениях, которые произошли с Amnezia за это время.

Читать далее

Настраиваем Gitlab CI для сборки Android-проекта

Reading time5 min
Views13K

Привет! Меня зовут Даша, я Android-разработчик в команде онлайн-кинотеатра PREMIER и я хочу с вами поделиться историей как мы начали приводить в порядок Gitlab CI скрипты :)

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

Погнали!

Main Loop (Главный цикл) в Android Часть 1. Пишем свой цикл

Reading time13 min
Views29K

Основой любого приложения является его главный поток. На нем происходят все самые важные вещи: создаются другие потоки, меняется UI. Важнейшей его частью является цикл. Так как поток главный, то и его цикл тоже главный - в простонародье Main Loop.

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

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

Читать далее

Websocket или REST? А зачем выбирать?

Reading time8 min
Views39K

В этой статье я описываю, как создать систему, в которой абсолютно каждое действие можно выполнять, как с помощью Websocket, так и с помощью обычных запросов на входные точки REST.

Узнать больше

Пишем чат под Android на Websocket'ах

Reading time5 min
Views26K

Привет Хабр!

Во время локдауна я решил поупражняться в разработке под Android. Начать решил с простой гиперказуальной игры с элементами дуэли. Взаимодействие игроков решил реализовать через отдельный сервер и websocket'ы, но пока читал про все это дело, понял, что простого туториала на русско-язычных ресурсах почему-то нет. Поэтому, решил восполнить этот пробел.

В этой статье я постараюсь описать как настроить WebSocket'ы на примере чата с сервером на SpringBoot и клиенте под Android.

Читать далее

В каких российских городах разработчикам выгоднее жить в 2022

Reading time5 min
Views31K

Считать, сколько зарабатывают айтишники — всегда интересно, а еще интересно разбираться, сколько они тратят. В начале года мы посчитали, что зарплаты разработчиков во второй половине 2021 года выросли на 17% за счет регионов.

Нам захотелось не просто посмотреть на разницу зарплат в Москве и регионах, но и разобраться, как эта зарплата влияет на покупательскую способность специалистов. Как и год назад, мы наложили на эти зарплаты актуальную стоимость жизни в городах и узнали, где ИТ-специалистам выгодно жить в 2022 году. 

Читать далее

Модульность и DI в современном Android-приложении. Большой туториал от Яндекса

Reading time21 min
Views40K

Всем привет! Я Денис Загаевский из Android-разработки Яндекс.Карт. Если вы развиваете многомодульное приложение или хотите разбить на части пока ещё одномодульное, этот туториал для вас.


Под катом расскажу, как удобно разбить приложение на модули, зачем это нужно и как потом приготовить в нём DI (dependency injection). Кто-то мог слышать мой доклад на Mobius 2021 Piter или в Школе мобильной разработки, а для всех остальных я написал эту статью.


Смотреть доклады

На Mobius:



В ШРИ:



Местами буду ссылаться на опыт Яндекс.Карт. Кстати, рабочий пример нашего подхода есть на GitHub.


Читать дальше →

Создание и балансировка инвестиционного портфеля с помощью ML

Reading time12 min
Views25K

В прошлой статье я писал про свои ML-модели для оценки отдельных компаний, но вопрос формирования итогового портфеля совсем не затрагивал. В этом посте хочу рассказать о том, как я собираю свой личный портфель, а так же поделиться сайтом, на котором реализую весь описанный в статье функционал http://stocks.ml. Дисклеймер: у автора нет экономического образования и все выводы и суждения в статье делаются на основе житейского опыта и здравого смысла.

Читать далее

Доллары в глазах: сравниваем российские и американские зарплаты

Reading time7 min
Views116K

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

Данный материал будет полезен разработчикам, Product Manager-ам, аналитикам, тестировщикам, Data Scientist-ам, HR-ам, опытным специалистам уровня middle+, а также всем-всем-всем мечтающим релоцироваться в США.

Читать далее

ML глазами практикующего трейдера

Reading time12 min
Views17K

Сразу скажу что назвать себя программистом или знатоком машинном обучении у меня язык не поворачивается, скажем так - программирую я лучше 90% трейдеров и разбираюсь в трейдинге лучше 99% программистов и datascientists. Это не к тому что я такой молодец, это скорей к вопросу какая дыра непонимания существует между областями знаний, которую я попытаюсь немножко устранить.

Я веду свой блог на трейдерском сайте, где описываю свои подходы прикрутить ML к трейдингу. При том что я сам весьма начинающий в области ML, прямо скажем я не часто встречаю релевантные отзывы, ибо 90% практикующих трейдеров о нейросетях только слышали и имеют представление о нем как о розовом пони. В равной мере когда я вижу как какой то чистый математик или програмист пробует реализовать свои знания применительно к фондовому рынку, у меня частенько начинает литься кровь из глаз.

Написать свой первый пост на хабре меня сподвигла 2 статьи на хабре на тему прогнозирования активов, одна совсем древняя, другая свежая, я даже ее откаментировал. Так часто бывает когда что то хорошее вызывает желание алаверды. А статья хороша хотя бы тем, что там совершенно верный подход к трейдингу на финансовых рынках: "выдвигаем гипотезу-тестируем на истории". Ничего лучше не придумано (хотя наверно есть гении которые могут познав суть предмета, прогнозировать его дальнейшее состояние, даже такое, которое раньше не существовало в истории). Многие трейдеры вообще этого не понимают, предпочитая торговать по книжкам гуру или избитым техиндикаторам. Можно было бы бомбить эту статью комментариями, но справедливее, помимо критики было бы написать что то полезное для всех ребят из IT ("критикуешь?! А ты предложи что то взамен!"), которые вооружившись инструментарием ML хотят попробовать реализовать свои знания на финансовых рынках. А этот интерес очевидный, так как финансовый рынок как своего рода интеллектуальное казино предоставляет возможность капитализировать свои знания, трудолюбие, талант, осталось дело за малым - создать рабочий алгоритм позволяющий выносить денюжки с рынка. На языке трейдеров называется это алготрейдингом. Но много ли вы слышали о удачном применении ML в трейдинге? Я лично нет, хотя можно самоуспокоиться тем, что удачные реализации никто светить не будет, и все на самом деле работает и пока мы тут пишем и читаем, кто то удачно вооружившись градиентным бустингом или сверточной сетью делает профиты мозолистыми пальцами, холодной головой и горячим сердцем. Но сдается мне не так все просто. Помимо того что фондовый рынок вообще нельзя прогнозировать (ога!), тут есть некоторые проблемы реализации, которые я попытаюсь, путанно, но изложить.

Читать далее

Как написать генератор изображений, который вас понимает

Reading time13 min
Views46K

Автор статьи рассказывает, как за неделю создал Text2Art.com — генератор изображений на основе VQGAN+CLIP, способный рисовать пиксель-арт и живопись, а также изображать то, что вы напишете в текстовом поле.

Для интерфейса используется Gradio, модель работает на сервере FastAPI, а системой очереди сообщений служит Firebase. Подробностями делимся к старту курса по ML и DL.

Читать далее

10 библиотек, о которых должен знать каждый Android-разработчик

Reading time7 min
Views26K

10 библиотек, о которых должен знать каждый Android-разработчик


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

Читать дальше →

Как я перешёл из системного администрирования в Android-разработку

Reading time8 min
Views73K


Несколько лет назад, я, как и другие начинающие Android-разработчики, решил найти работу в этой области. Если вы начинающий специалист, и не знаете, с чего начать изучение Android, или если вы уже обладаете определёнными знаниями в этой теме и планируете в скором времени устраиваться на работу, то этот материал для вас. По задумке, к данной статье вы будете возвращаться по мере накопления опыта: смотреть на каком этапе в данный момент находитесь и что изучать дальше.
Читать дальше →

Сбербанк делится опытом создания приложения в Material Design: стили и темы

Reading time20 min
Views53K
Привет, Хабрахабр! Не так давно мы подводили итоги конкурса по Material Design, и в комментариях нас просили показать реально популярные и красивые Material-приложения. Что же, встречайте: «Сбербанк Онлайн» в новом, современном интерфейсе. Про процесс создания приложения интереснее узнать от самих создателей.

Мы передаём слово команде разработчиков Android-приложения Сбербанка, чтобы вы услышали об опыте создания такой сложной штуки, как UI мобильного банк-клиента, из первых уст. Большую часть поста написал freeuser, так что спасибо говорите ему. ;)
Читать дальше →
1

Information

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

Specialization

Mobile Application Developer
Java
Kotlin
Android development
SQLite
Google Maps API
RxJava 2
Google Firebase
Android SDK