Google предложила Android-разработчикам посоревноваться в создании приложений или отдельных функций с использованием машинного обучения.
Давно хочешь начать свой ML pet-project? Вот тот самый шанс, чтобы начать! К участию в конкурсе принимаются только приложения, созданные с помощью наборов инструментов, поддерживаемых платформами Google: ML Kit, TensorFlow Lite и другие.
Все подробности представлены на официальном сайте Android Developer Challenge: https://developer.android.com/dev-challenge
Давно хочешь начать свой ML pet-project? Вот тот самый шанс, чтобы начать! К участию в конкурсе принимаются только приложения, созданные с помощью наборов инструментов, поддерживаемых платформами Google: ML Kit, TensorFlow Lite и другие.
Все подробности представлены на официальном сайте Android Developer Challenge: https://developer.android.com/dev-challenge
👍1
Хотели сделать AR - приложение, но не знали с чего начать? Начните с просмотра демок и их исходного кода. Набор исходников AR-проектов https://github.com/SimonMarquis/AR-Toolbox
GitHub
GitHub - SimonMarquis/AR-Toolbox: 🧰 ARCore & Sceneform Playground
🧰 ARCore & Sceneform Playground. Contribute to SimonMarquis/AR-Toolbox development by creating an account on GitHub.
👍1
Всем привет! Сегодня пятница, и в честь конца рабочей недели, порадую вас не статьей а видео с доклада.
Тема доклада - тестирование мобильных приложений и практика написания тестов.
Тесты - это такая тема о которой все говорят, но мало кто делает))
Поэтому давайте уже начнем делать это!
Ссылка на видео
https://www.youtube.com/watch?v=MS7GN2Lgdas&feature=youtu.be
А для тех, кому удобнее текст - расшифровка доклада
https://habr.com/ru/company/yandex/blog/346186/
Тема доклада - тестирование мобильных приложений и практика написания тестов.
Тесты - это такая тема о которой все говорят, но мало кто делает))
Поэтому давайте уже начнем делать это!
Ссылка на видео
https://www.youtube.com/watch?v=MS7GN2Lgdas&feature=youtu.be
А для тех, кому удобнее текст - расшифровка доклада
https://habr.com/ru/company/yandex/blog/346186/
YouTube
017. Школа мобильной разработки – Практика написания тестов. Кирилл Борисов
Тесты — это прекрасно. Но собираетесь ли вы их писать? И если да, то зачем? И как это сделать правильно?
В лекции мы пройдёмся по всем этим вопросам и постараемся ответить на них, в процессе познакомившись с современными инструментами тестирования и спецификой…
В лекции мы пройдёмся по всем этим вопросам и постараемся ответить на них, в процессе познакомившись с современными инструментами тестирования и спецификой…
👍1🔥1
Названы самые востребованные ит специальности в 2020 году. На первом месте разработчики для Android с зп от 150 до 300к. Готовы ворваться в новый год с новыми знаниями? Записывайтесь на курс по разработке под Android. https://rb.ru/news/prof-it-2k20/
rb.ru
Названы самые востребованные ИТ-профессии в 2020 году | RB.RU
Средняя зарплата для этих профессий будет составлять 90-150 тысяч рублей
👍1
Виды Subjects в Android
Эта статья будет полезна для тех, кто уже знаком с реактивным программированием и, в частности с основами RxJava, и хочет углубиться в тему Subject ов. http://androidschool.ru/2019/11/16/subjects-in-android/
Эта статья будет полезна для тех, кто уже знаком с реактивным программированием и, в частности с основами RxJava, и хочет углубиться в тему Subject ов. http://androidschool.ru/2019/11/16/subjects-in-android/
👍1
Доклад о том, какие подходы стоит избегать когда вы используете Kotlin или как писать код правильно, 35 кейсов про которые как минимум стоит услышать. Учитывая, что на Kotlin можно одно и то же написать разными способами, посмотреть доклад как минимум, полезно.
👍1
Сегодня пятница, а значит время полезного видеоматерила для просмотра на выходных. Темой сегодняшнего поста будет кэширование данных в Android. Для этого нашёл для вас доклад с прошлой конференции по мобильной разработке Mobius. А следующий пост будет про паттерны проектирования в Android с примерами.
👍1
Готовлю материал на тему паттернов проектирования, а именно Flyweght. Но для начала вопрос. Какой результат будет?
@Test
public void compareIntegersTest() {
Integer a = 128;
Integer b = 128;
assertEquals(true, a == b);
}
А тут?
@Test
public void compareIntegersTest() {
Integer a = 127;
Integer b = 127;
assertEquals(true, a == b);
}
@Test
public void compareIntegersTest() {
Integer a = 128;
Integer b = 128;
assertEquals(true, a == b);
}
А тут?
@Test
public void compareIntegersTest() {
Integer a = 127;
Integer b = 127;
assertEquals(true, a == b);
}
Те, кто выбрал последний вариант ответа, молодцы. В этом вопросе есть подвох. Все дело в том, что
используя == мы сравниваем ссылки по которым эти объекты хранятся. Когда мы пишем Integer a = 127 мы создаем Integer (ссылочный тип). Получается что сравнивая a == b мы сравниваем ссылки двух объектов. Но почему-то для 127 результат будет true, а для 128 уже false. Все дело в статичном методе valueOf() который вызывается при инициализации переменной. Этот метод, как раз оптимизирует количество объектов в памяти и достаёт уже ранее созданные
объекты из памяти если они есть. Как раз это и есть пример использования паттерна Flyweight в реальном мире. Суть паттерна в переиспользовании общего состояния объекта, таким образом экономив память и не создавая похожие объекты. Такие вопросы часто задают на собеседованиях и теперь вы знаете что ответить 😉
Ну а где еще вы можете применить это в своих Android приложениях вот вот выйдет подробная статья.
используя == мы сравниваем ссылки по которым эти объекты хранятся. Когда мы пишем Integer a = 127 мы создаем Integer (ссылочный тип). Получается что сравнивая a == b мы сравниваем ссылки двух объектов. Но почему-то для 127 результат будет true, а для 128 уже false. Все дело в статичном методе valueOf() который вызывается при инициализации переменной. Этот метод, как раз оптимизирует количество объектов в памяти и достаёт уже ранее созданные
объекты из памяти если они есть. Как раз это и есть пример использования паттерна Flyweight в реальном мире. Суть паттерна в переиспользовании общего состояния объекта, таким образом экономив память и не создавая похожие объекты. Такие вопросы часто задают на собеседованиях и теперь вы знаете что ответить 😉
Ну а где еще вы можете применить это в своих Android приложениях вот вот выйдет подробная статья.
Применяем паттерны проектирования в Android. Flyweight (Легковес).
В этой статье вы узнаете зачем вам применять такой паттерн проектирования как Легковес, какие есть примеры реализации в реальной жизни, узнаете о преимуществах и недостатках паттерна.
В этой статье вы узнаете зачем вам применять такой паттерн проектирования как Легковес, какие есть примеры реализации в реальной жизни, узнаете о преимуществах и недостатках паттерна.
👍1
Сегодня пятница, и даже не 13, поэтому традиционное полезное пятничное видео.
На этот раз материал про собеседование мобильных разработчиков. Из этого видое вы узнаете какие вопросы задают на собеседованиях (и зачем), как правильно отвечать на них и как готовиться.
А совсем скоро, выложу пошаговый чеклист необходимых навыков для развития в качестве Android-разработчика.
На этот раз материал про собеседование мобильных разработчиков. Из этого видое вы узнаете какие вопросы задают на собеседованиях (и зачем), как правильно отвечать на них и как готовиться.
А совсем скоро, выложу пошаговый чеклист необходимых навыков для развития в качестве Android-разработчика.
В этом посте мы рассмотрим виды Schedulers в RxJava, научимся ими пользоваться и узнаем какие между ними отличия. Вы узнаете почему для сетевых запросов лучше использовать io() и почему нужно аккуратно пользоваться newThread()
http://androidschool.ru/2019/12/20/schedulers-rxjava2-0/
http://androidschool.ru/2019/12/20/schedulers-rxjava2-0/
Праздники, лучшее время подумать на чем стоит сфокусироваться в ближайшем году и составить чёткий план. Чтобы вам было проще начать изучение разработки под Android, составил план изучения, с книгами и roadmap - ом. Разработка мобильных приложений остаётся трендом и в 2020 году, но вот какими знаниями и навыками должен обладать современный специалист? Нужно ли учить Java или уже все пишут на Kotlin? RxJava или корутины? А может пора учить Flutter? В этой статье я приведу пошаговый чек-лист навыков и знаний, необходимых Android-разработчику в 2020 году.
Важны ли pet-projects для карьеры программиста?
Программистов - мало. Толковых - еще меньше. Первое, что я вижу когда ищу кандидата - это его резюме. Если человек указывает, что у него более 5 лет опыта работы и при этом пустой github, нет опубликованных приложений, проектов, такое резюме меня немного настораживает. Pet-projects могут помочь вам в развитии карьеры, расширении кругозора и даже создании дополнительного способа для заработка. Размышления на тему домашних проектов и примеры проектов с готовыми API читайте в статье http://androidschool.ru/2020/01/21/pet-projects/
7 Идей для мобильного приложения в качестве pet-project
📌 Приложение для поиска фильмов https://www.themoviedb.org/
📌 Клиент для социальной сети (ВК/Твиттер)
📌 Чат для друзей на основе Firebase https://firebase.google.com/
📌 Приложение для получения прогноза погоды https://openweathermap.org/
📌 Приложение для просмотра ближайших веб-камер https://developers.webcams.travel/
📌 Приложение для отображение котировок ценных бумаг https://rapidapi.com/apidojo/api/yahoo-finance1
📌 Приложение для отслеживания результатов футбольных матчей https://sportspagefeeds.com/documentation
Программистов - мало. Толковых - еще меньше. Первое, что я вижу когда ищу кандидата - это его резюме. Если человек указывает, что у него более 5 лет опыта работы и при этом пустой github, нет опубликованных приложений, проектов, такое резюме меня немного настораживает. Pet-projects могут помочь вам в развитии карьеры, расширении кругозора и даже создании дополнительного способа для заработка. Размышления на тему домашних проектов и примеры проектов с готовыми API читайте в статье http://androidschool.ru/2020/01/21/pet-projects/
7 Идей для мобильного приложения в качестве pet-project
📌 Приложение для поиска фильмов https://www.themoviedb.org/
📌 Клиент для социальной сети (ВК/Твиттер)
📌 Чат для друзей на основе Firebase https://firebase.google.com/
📌 Приложение для получения прогноза погоды https://openweathermap.org/
📌 Приложение для просмотра ближайших веб-камер https://developers.webcams.travel/
📌 Приложение для отображение котировок ценных бумаг https://rapidapi.com/apidojo/api/yahoo-finance1
📌 Приложение для отслеживания результатов футбольных матчей https://sportspagefeeds.com/documentation
Google собрала видеозаписи всех докладов сезона DevFest 2019 года со всех уголков мира и по всем темам в одном месте. Чтобы найти Android - просто выберите нужный пункт в меню. Тут и фишки UI Android 10, TDD для Android, Корутины и доклад об эволюции GC в Android. Ваш @android_school_ru
https://devfest.withgoogle.com/ondemand
https://devfest.withgoogle.com/ondemand
Withgoogle
DevFest on demand
Watch videos of sessions from DevFests around the world, anytime. Topics including Cloud, Web, Machine Learning, Mobile and more!
В больших приложениях очень часто возникает задача генерировать UI на лету. Продакт-менэджеры не хотят перевыпускать приложение, необходимо чтобы UI экрана менялся
динамически в зависимости от страны/типа пользователя/времени и т.д. Поэтому в последнее время набирают популярность различные библиотеки, позволяющие легко и просто
сгенерировать UI на лету. Такие компании как Airbnb, Amazon, Facebook используют такие инструменты в повседненвой работе и они доступны для разработчиков.
И в своих проектах я тоже использую несколько подходов, используя Groupie для динамического формирования экрана. Поэтому сегодня сразу несоклько статей и туториалов на эту тему:
1) Обзор решений для динамического формирования UI экрана
https://proandroiddev.com/dynamic-screens-using-server-driven-ui-in-android-262f1e7875c1
2) Обзор декларативного UI frameworkа для Android - Jetpack Compose https://developer.android.com/jetpack/compose/tutorial
3) Пример на хабре https://habr.com/ru/post/471670/
4) Туториал с подробными шагами от Google https://codelabs.developers.google.com/codelabs/jetpack-compose-basics/#0
@android_school_ru
динамически в зависимости от страны/типа пользователя/времени и т.д. Поэтому в последнее время набирают популярность различные библиотеки, позволяющие легко и просто
сгенерировать UI на лету. Такие компании как Airbnb, Amazon, Facebook используют такие инструменты в повседненвой работе и они доступны для разработчиков.
И в своих проектах я тоже использую несколько подходов, используя Groupie для динамического формирования экрана. Поэтому сегодня сразу несоклько статей и туториалов на эту тему:
1) Обзор решений для динамического формирования UI экрана
https://proandroiddev.com/dynamic-screens-using-server-driven-ui-in-android-262f1e7875c1
2) Обзор декларативного UI frameworkа для Android - Jetpack Compose https://developer.android.com/jetpack/compose/tutorial
3) Пример на хабре https://habr.com/ru/post/471670/
4) Туториал с подробными шагами от Google https://codelabs.developers.google.com/codelabs/jetpack-compose-basics/#0
@android_school_ru
Medium
Dynamic screens using server-driven UI in Android
Understanding the concept of server-driven UI for native mobile development
Современный Android-разработчик должен не только знать Android SDK, различные библиотеки типа Rx или Dagger, но и разбираться в тонкостях настройки приложений в Google Play Console. Но тут есть одна проблема - либо у вас уже должен быть проект, либо доступ к консоли. К тому же, проблем добавляет и то, что Google Play Console постоянно обновляется и статьи устаревают. Поэтому представлю вам отличный ресур от Google - академия Google Play Console. Это набор мини курсов, которые помогут вам освоиться во всех тонкостях работы c Google Play Console. https://playacademy.exceedlms.com/student/catalog
Больше полезных материалов на @android_school_ru
Больше полезных материалов на @android_school_ru
Exceedlms
Google Play Academy : Google Play Academy
Built to help you develop skills that you can apply right away, our e-learning courses are designed by Google product experts, with developers in mind. Gain the skills you need, whether you're growing your business, starting a career, or just want to look…
Как отвечать на вопросы про проектирование архитектуры приложения?
Собеседование - стресс для любого разработчика и чтобы его смягчить, желательно готовиться к вопросам заранее.
Но если про Android SDK и методы класса Object все более-менее ясно, то как ответить на вопрос: "Как бы вы спроектировали приложение для чата"?
Поэтому представляю вам классную статью как отвечать на вопросы по проектированию архитектур с примерами.
https://medium.com/@goncharov.artemv/grokking-the-mobile-system-design-interview-6a06fa94491b
Ставьте лайк если нужно больше про тему прохождения собеседования или интересна эта тема на @android_school_ru
Собеседование - стресс для любого разработчика и чтобы его смягчить, желательно готовиться к вопросам заранее.
Но если про Android SDK и методы класса Object все более-менее ясно, то как ответить на вопрос: "Как бы вы спроектировали приложение для чата"?
Поэтому представляю вам классную статью как отвечать на вопросы по проектированию архитектур с примерами.
https://medium.com/@goncharov.artemv/grokking-the-mobile-system-design-interview-6a06fa94491b
Ставьте лайк если нужно больше про тему прохождения собеседования или интересна эта тема на @android_school_ru
Medium
Grokking the Mobile System Design interview
Nail the iOS/Android System Design Interview
5 Фишек работы с GSON о которых вы не знали.
Многие работали с такой библиотекой для сериализации (проще говоря парсинга) данных как GSON. Однако не все знают насколько гибким и мощным может быть этот инструмент при работе с парсингом json-ответа от сервера. В этой статье расскажу о 5 крутых возможностях GSON.
http://androidschool.ru/2020/02/12/5-gson-tips/
Многие работали с такой библиотекой для сериализации (проще говоря парсинга) данных как GSON. Однако не все знают насколько гибким и мощным может быть этот инструмент при работе с парсингом json-ответа от сервера. В этой статье расскажу о 5 крутых возможностях GSON.
http://androidschool.ru/2020/02/12/5-gson-tips/