https://zen.yandex.ru/media/android_junior/11-saitov-na-kotorye-ia-zahoju-kajdyi-den-5f2ebc7e3729023908a2d2e8 немного полезных сайтов, которые мне помогают в учебе
Яндекс Дзен
11 сайтов, на которые я захожу каждый день
Мой личный список сайтов, которые у меня в закладках и на которые я стараюсь заходить каждый день, чтобы как-то совершенствоваться как разработчик.
Forwarded from Android Academy Msk News
Уже через час ребята из Android Academy Global начнут рассказывать самые последние обновления, связанные с #Android11 На очереди у нас сегодня следующее:
1️⃣ The Art of Jetpack Navigation Component
2️⃣ CameraX
👉 Присоединяйтесь ➡️ https://www.youtube.com/watch?v=RZ6eM_6QPjM
текст для публикаций в ваших каналах, если вдруг надо. сс
1️⃣ The Art of Jetpack Navigation Component
2️⃣ CameraX
👉 Присоединяйтесь ➡️ https://www.youtube.com/watch?v=RZ6eM_6QPjM
текст для публикаций в ваших каналах, если вдруг надо. сс
YouTube
Android 11 #4: The Art of the Navigation Component and CameraX
Feedback form: https://forms.gle/NVVHycfGcnApkkKF6
Slides: https://bit.ly/3i8pRlF
Github: https://github.com/Android-Academy-Global
TM Android Academy Moscow: https://t.me/AndroidAcademyMsk
TM Android Academy Minsk: https://t.me/androidacademyminsk
TM Android…
Slides: https://bit.ly/3i8pRlF
Github: https://github.com/Android-Academy-Global
TM Android Academy Moscow: https://t.me/AndroidAcademyMsk
TM Android Academy Minsk: https://t.me/androidacademyminsk
TM Android…
Я постоянно мучаюсь с material button и закругленными углами, так что раз и навсегда сделала напоминание для себя же: https://zen.yandex.ru/media/android_junior/material-button-kak-sdelat-knopki-s-radiusom-i-fonom-5f4a6c05b3e74622cd13e88a
Дзен | Статьи
Material button. Как сделать кнопки с радиусом и фоном.
Статья автора «Блог Android-разработчицы» в Дзене ✍: Мне очень нравятся красивые закругленные кнопки из material. Но, к сожалению, вечно у меня с ними проблемы.
Узнала сегодня потрясающую и мега-полезную вещь. Довольно часто бывает, что правишь какую-то библиотеку в своей ветке, а потом надо её протестить в другом проекте. Но как это сделать, если сама библиотека локально хранится и нужной версии ещё нет в гите? У меня раньше был кривой способ, что я подключала библиотеку как дополнительный модуль в проекте. Это долго и вечно возникали проблемы.
Решение: заходим в свою ветку в библиотеке и пишем в терминале в студии:
./gradlew build — Макбук
gradlew build — Винда
Дожидаемся сборки и делаем:
./gradlew publishToMavenLocal — Макбук
gradlew publishToMavenLocal — Винда
Дожидаемся и находим, куда сохранилось. На маке у меня: основной модуль проекта — build — publications — maven. На винде вроде должна быть папка /.m2. И смотрим тут название версии. Будет что-то в стиле: "100.500.1-SNAPSHOT". Копируем — идём в проект и заменяем версию.
Открываем build.gradle и в repositories вставляем mavenLocal (). Сихронизируем и всё готово. Ну разве не красота? :)
Решение: заходим в свою ветку в библиотеке и пишем в терминале в студии:
./gradlew build — Макбук
gradlew build — Винда
Дожидаемся сборки и делаем:
./gradlew publishToMavenLocal — Макбук
gradlew publishToMavenLocal — Винда
Дожидаемся и находим, куда сохранилось. На маке у меня: основной модуль проекта — build — publications — maven. На винде вроде должна быть папка /.m2. И смотрим тут название версии. Будет что-то в стиле: "100.500.1-SNAPSHOT". Копируем — идём в проект и заменяем версию.
Открываем build.gradle и в repositories вставляем mavenLocal (). Сихронизируем и всё готово. Ну разве не красота? :)
Лучше поздно, чем никогда. Хотя 2020 год для человечества был достаточно плохим, но для меня он был прекрасен.
Небольшие итоги:
1. Первое и самое главное. Я уже год как настоящий разработчик. И ни разу не пожалела, что так кардинально сменила сферу деятельности во взрослом возрасте.
2. Посетила мобиус, хоть и онлайн. Это была моя мечта еще в прошлом году, но тогда не получилось по деньгам. Надеюсь, в следующем получится сходить и посмотреть вживую.
3. Немного обучаю нашего нового джуниора. Поняла, как сложно было со мной, и как много времени отнимают ответы на вопросы и CR.
4. Получила первую звезду на гитхабе и несколько подписчиков. Во мне правда все еще есть чувство, что иногда я пишу что-то глупое. Но я борюсь с этим чувством и надеюсь, что в следующем году оно совсем уйдет.
5. В моем маленьком блоге на дзене больше 500 подписчиков. Не думала, что кому-то будет интересно и кто-то будет меня воспринимать всерьез. Спасибо, что вы есть <3
6. Купила PlayStation. Никак не связано с разработкой, но давно хотела и теперь счастлива. :)
Планы на 2021:
1. Дописать приложение и выложить в PlayMarket.
2. Написать какую-нибудь свою маленькую библиотеку. У меня постоянно куча идей, но мало времени и сложно выбрать.
3. Стараться регулярно вести блог.
И хочу пожелать, чтобы в новом году вы не боялись что-то менять в своей жизни и доверяли своим чувствам. Если сердце подсказывает, что разработка — это ваша, то учитесь и дерзайте. Всё получится, если стараться.
Небольшие итоги:
1. Первое и самое главное. Я уже год как настоящий разработчик. И ни разу не пожалела, что так кардинально сменила сферу деятельности во взрослом возрасте.
2. Посетила мобиус, хоть и онлайн. Это была моя мечта еще в прошлом году, но тогда не получилось по деньгам. Надеюсь, в следующем получится сходить и посмотреть вживую.
3. Немного обучаю нашего нового джуниора. Поняла, как сложно было со мной, и как много времени отнимают ответы на вопросы и CR.
4. Получила первую звезду на гитхабе и несколько подписчиков. Во мне правда все еще есть чувство, что иногда я пишу что-то глупое. Но я борюсь с этим чувством и надеюсь, что в следующем году оно совсем уйдет.
5. В моем маленьком блоге на дзене больше 500 подписчиков. Не думала, что кому-то будет интересно и кто-то будет меня воспринимать всерьез. Спасибо, что вы есть <3
6. Купила PlayStation. Никак не связано с разработкой, но давно хотела и теперь счастлива. :)
Планы на 2021:
1. Дописать приложение и выложить в PlayMarket.
2. Написать какую-нибудь свою маленькую библиотеку. У меня постоянно куча идей, но мало времени и сложно выбрать.
3. Стараться регулярно вести блог.
И хочу пожелать, чтобы в новом году вы не боялись что-то менять в своей жизни и доверяли своим чувствам. Если сердце подсказывает, что разработка — это ваша, то учитесь и дерзайте. Всё получится, если стараться.
Я тут начала переходить на binding. В итоге получилось всё просто, но со своими нюансами. https://zen.yandex.ru/media/android_junior/viewbinding-perehod-s-sintetikov-5ff9a661fe4e686f6a3c49d8
Яндекс Дзен
ViewBinding. Переход с синтетиков
В Kotlin 1.4.20 появилось изменение Deprecation of the kotlin-android-extensions compiler plugin. Parcelable implementation generator has moved to the new kotlin-parcelize plugin — это означает, что теперь мы не можем использовать синтетический сахар и он…
Пока нет вдохновения писать про что-то техническое, расскажу немного о том, что у меня происходит. Я работаю уже больше года и недавно мы взяли нового джуниора. Он достался мне и тут я осознала, что такое карма.
Что в итоге совместной работы хотелось бы посоветовать:
1) Если вы не понимаете задачу — спрашивайте. И делайте это сразу, а не через три дня. В любом случае придется объяснять, но лучше сделать это сразу, а не ждать несколько дней.
2) Если вопрос в стиле "Что такое debug" или "Что такое NPE", то, пожалуйста, сначала погуглите. У разработчиков есть и свои задачи и не хочется тратить время на вопросы, которые можно легко загуглить. Конечно, все равно ответим, но это немного раздражает.
3) Умение правильно гуглить — это важно. Раньше я думала, что это умеют абсолютно все. Оказывается, нет.
4) Пишите вопрос сразу же. Не надо писать "Привет" и дожидаться ответа, а только потом задавать вопрос.
5) Если не поняли ответ сразу же, то сначала немного подумайте, а уже потом переспрашивайте.
6) Если вы не знаете, как решать задачу, то подумайте, а потом спросите. Вряд ли ответом будет решение и конкретный код. Скорее всего вам просто подскажут что смотреть и где. Не ждите, что разработчик даст вам код, который нужно просто скопировать и вставить. Это все-таки ваша задача.
7) Проверяйте код перед отправкой. Хотя бы запустите и проверьте, что нигде не светится красным. Желательно еще проверить, что вы выполнили задачу и всё работает.
8) Спрашивайте, когда что-то не понимаете. Но предварительно откройте гугл и проверьте, что ответа не будет в первых трех ссылках.
9) Никто не будет вас ругать, так что не стоит бояться уточнять и совершать ошибки. Все были начинающими и и все понимают, что они требуют много времени и внимание. Как говорится: "Мы знали, кого брали на работу".
Что в итоге совместной работы хотелось бы посоветовать:
1) Если вы не понимаете задачу — спрашивайте. И делайте это сразу, а не через три дня. В любом случае придется объяснять, но лучше сделать это сразу, а не ждать несколько дней.
2) Если вопрос в стиле "Что такое debug" или "Что такое NPE", то, пожалуйста, сначала погуглите. У разработчиков есть и свои задачи и не хочется тратить время на вопросы, которые можно легко загуглить. Конечно, все равно ответим, но это немного раздражает.
3) Умение правильно гуглить — это важно. Раньше я думала, что это умеют абсолютно все. Оказывается, нет.
4) Пишите вопрос сразу же. Не надо писать "Привет" и дожидаться ответа, а только потом задавать вопрос.
5) Если не поняли ответ сразу же, то сначала немного подумайте, а уже потом переспрашивайте.
6) Если вы не знаете, как решать задачу, то подумайте, а потом спросите. Вряд ли ответом будет решение и конкретный код. Скорее всего вам просто подскажут что смотреть и где. Не ждите, что разработчик даст вам код, который нужно просто скопировать и вставить. Это все-таки ваша задача.
7) Проверяйте код перед отправкой. Хотя бы запустите и проверьте, что нигде не светится красным. Желательно еще проверить, что вы выполнили задачу и всё работает.
8) Спрашивайте, когда что-то не понимаете. Но предварительно откройте гугл и проверьте, что ответа не будет в первых трех ссылках.
9) Никто не будет вас ругать, так что не стоит бояться уточнять и совершать ошибки. Все были начинающими и и все понимают, что они требуют много времени и внимание. Как говорится: "Мы знали, кого брали на работу".
Сегодня мое первое приложение стало доступно всем в Play Market. Было волнительное ожидание сроком в 5 дней, но все прошло хорошо.
Сама регистрация и создание аккаунта интуитивно понятные. Ошибиться там сложно. Потом нужно было оплатить аккаунт разработчика. 2000р и все готово.
Конечно, сразу же покопалась во всем и нашла много удобных штук: есть немного логов, можно раскатывать тестовые версии и т.п.
Для публикации приложения пришлось заполнить кучу простеньких анкет в стиле "К какой категории относится приложение" и "Можно ли показывать его детям". Ничего сложного. И там для страницы приложения надо приложить просто миллион скриншотов: для обычного телефона, для планшета, еще для среднего экрана. И везде не меньше двух штук. Ну зато узнала, что мое приложение не особо оптимизировано для планшетов и смотрится там не очень.
А еще заказала у девочки-студентки иконки для приложения, чтобы в маркете оно смотрелось адекватно.
Когда все заполнено, то останется просто скинуть апк и ждать (я ждала 5 дней). Было интересно, что когда я сначала закинула первую версию, то в Crashlytics у меня появилось 56% падений при установке. Цифра впечатляет.
Конечно, сразу пофиксила и отправила вторую версию. Правда плохо, что нельзя отменить отправку на проверку, если что-то пошло не так. Ну или я не нашла.
Само приложение не буду показывать. Просто похвасталась. :)
Сама регистрация и создание аккаунта интуитивно понятные. Ошибиться там сложно. Потом нужно было оплатить аккаунт разработчика. 2000р и все готово.
Конечно, сразу же покопалась во всем и нашла много удобных штук: есть немного логов, можно раскатывать тестовые версии и т.п.
Для публикации приложения пришлось заполнить кучу простеньких анкет в стиле "К какой категории относится приложение" и "Можно ли показывать его детям". Ничего сложного. И там для страницы приложения надо приложить просто миллион скриншотов: для обычного телефона, для планшета, еще для среднего экрана. И везде не меньше двух штук. Ну зато узнала, что мое приложение не особо оптимизировано для планшетов и смотрится там не очень.
А еще заказала у девочки-студентки иконки для приложения, чтобы в маркете оно смотрелось адекватно.
Когда все заполнено, то останется просто скинуть апк и ждать (я ждала 5 дней). Было интересно, что когда я сначала закинула первую версию, то в Crashlytics у меня появилось 56% падений при установке. Цифра впечатляет.
Конечно, сразу пофиксила и отправила вторую версию. Правда плохо, что нельзя отменить отправку на проверку, если что-то пошло не так. Ну или я не нашла.
Само приложение не буду показывать. Просто похвасталась. :)
Я тут начала изучать алгоритмы. Хочу через год попробовать в яндекс или еще куда-нибудь, так что заранее готовлюсь. А может и на моей работе пригодятся. Буду теперь периодически и алгоритмы закидывать. — https://zen.yandex.ru/media/android_junior/stek-prostaia-realizaciia-na-kotline-6036ab8a06d8906a0cf163c1
Дзен | Статьи
Стек. Простая реализация на котлине.
Статья автора «Блог Android-разработчицы» в Дзене ✍: Я начала изучать алгоритмы (наконец-то доросла до них), так что буду иногда и про это теперь писать.
Еще немного алгоритмов. Теперь время очереди. — https://zen.yandex.ru/media/android_junior/ochered-realizaciia-na-kotline-60463f9958285736ddd03370
Дзен | Статьи
Очередь. Реализация на Котлине.
Статья автора «Блог Android-разработчицы» в Дзене ✍: Продолжаем изучать алгоритмы.
Очередь — это почти то же самое, что и стек, но тут первым извлекается тот элемент, который был вставлен первым.
Очередь — это почти то же самое, что и стек, но тут первым извлекается тот элемент, который был вставлен первым.
Где учить sql джуниорам? Когда я искала работу, то про sql у меня спрашивали всего на двух собеседованиях и просили составить самые простые запросы в стиле SELECT * FROM Table, но более глубокие знания точно не повредят. Да и на работе обязательно встретятся запросы в БД. Даже если используете Room, где куча автоматизаций, то от миграций никуда не деться.
Миграция — изменение БД от одной версии к другой. Например, у вас есть база данных Cats, где есть столбики Name и Age. Это первая версия базы. Потом вы подумали и решили, что хотите добавить еще столбик Country. Не повредит знать, где живут котики. Но проблема в том, что если вы просто добавите новый столбик и установите себе поверх старой версии, то будет исключение. Потому что раньше у вас не было страны, а теперь есть. Чтобы исключений не было, надо написать миграцию — небольшое правило, где мы рассказываем, какие изменения произошли в новой версии и что надо сделать. Например: database . execSQL ( "ALTER TABLE Cats ADD COLUMN Country TEXT" ). Подробно не буду объяснять, потому что статья про сайт, а не про БД.
Недавно открыла для себя сайт, где можно изучить основы: https://www.w3schools.com/sql/ — тут находится очень краткое обучение. https://www.w3schools.com/sql/exercise.asp — а тут упражнения по темам. Проходятся достаточно легко. Прочитали тему — сразу сделали упражнения.
Интерфейс на английском, но визуально всё понятно.
Миграция — изменение БД от одной версии к другой. Например, у вас есть база данных Cats, где есть столбики Name и Age. Это первая версия базы. Потом вы подумали и решили, что хотите добавить еще столбик Country. Не повредит знать, где живут котики. Но проблема в том, что если вы просто добавите новый столбик и установите себе поверх старой версии, то будет исключение. Потому что раньше у вас не было страны, а теперь есть. Чтобы исключений не было, надо написать миграцию — небольшое правило, где мы рассказываем, какие изменения произошли в новой версии и что надо сделать. Например: database . execSQL ( "ALTER TABLE Cats ADD COLUMN Country TEXT" ). Подробно не буду объяснять, потому что статья про сайт, а не про БД.
Недавно открыла для себя сайт, где можно изучить основы: https://www.w3schools.com/sql/ — тут находится очень краткое обучение. https://www.w3schools.com/sql/exercise.asp — а тут упражнения по темам. Проходятся достаточно легко. Прочитали тему — сразу сделали упражнения.
Интерфейс на английском, но визуально всё понятно.
W3Schools
SQL Tutorial
SQL is a standard language for storing, manipulating and retrieving data in databases.
Прекрасная книга от Роберта Мартина — https://zen.yandex.ru/media/android_junior/chistyi-kod-konspekt-glava-1-vstuplenie-6063813fe0f03f689eaf3d39
Яндекс Дзен
Чистый код. Конспект. Глава 1. Вступление.
Предисловие: я люблю читать различные книги, а еще записываю всякие полезные штуки в тетрадку. Но недавно мне подали идею, что можно в блоге вести конспекты, чтобы эта информация пригождалась не только мне. Так что потренируемся на чистом коде. Это отличная…
Продолжаем читать Мартина https://zen.yandex.ru/media/android_junior/chistyi-kod-konspekt-glava-2-soderjatelnye-imena-6064d9892a842913a70b0804
Яндекс Дзен
Чистый код. Конспект. Глава 2. Содержательные имена
Продолжаем читать Мартина. И сегодня очень полезная глава про имена. Думаю, для опытных разработчиков она бесполезна, но вот для начинающих — самое то. Я помню, что на первых лекциях по Java сама называла методы и переменные в стиле 'a' и 'method1' и не понимала…
А я написала свою первую библиотеку! Пусть простая и неказистая, зато своя! https://zen.yandex.ru/media/android_junior/napisala-svoiu-pervuiu-biblioteku-606b63ac4ae18415ba2929ac
Яндекс Дзен
Написала свою первую библиотеку.
В выходные мне нечего было делать и я решила, что пришло время для своей библиотеки. Так что быстренько набросала, проверила, а потом была поставлена в тупик вопросом: а как собственно ее опубликовать? Великий гугл еще больше меня озадачил, потому что для…
Продолжаем читать Мартина. https://zen.yandex.ru/media/android_junior/chistyi-kod-konspekt-glava-3-funkcii-606b6cf2b15d725cb2a111ee
Яндекс Дзен
Чистый код. Конспект. Глава 3. Функции.
Заметки: Функция должна быть еще более компактная. Еще компактней. Максимально компактной. Желательно не делать функции больше 20 строк. Всякие if, else, while должны состоять из одной строчки и содержать вызов функции. С красивым именем это будет читаться…
Сегодня была очень интересная и познавательная глава про комментарии. https://zen.yandex.ru/media/android_junior/chistyi-kod-konspekt-glava-4-kommentarii-606e0c4f1a4fdc43eb50d3f9
Яндекс Дзен
Чистый код. Конспект. Глава 4. Комментарии.
Заметки: Мартин очень не любит комментарии, так что будет куча пунктов, почему комментарии — плохо. Так почему комментарии — это неизбежное зло? Комментарии — всегда признак неудачи, потому что нам не удалось выразить свои мысли в коде так, чтобы всё было…
https://zen.yandex.ru/media/android_junior/chistyi-kod-konspekt-glava-5-formatirovanie-607883254825fd7864978b14 — продолжаем читать Мартина)
Яндекс Дзен
Чистый код. Конспект. Глава 5. Форматирование.
Заметки: Выработайте набор правил форматирования и автоматизируйте их. Подтверждаю, что это просто потрясающе удобная штука. Например, не надо думать, назвать вьюшку в xml через camelCase или в стиле awesome_name. От стиля кода и удобочитаемости зависит будущее…
https://zen.yandex.ru/media/android_junior/chistyi-kod-konspekt-glava-6-obekty-i-struktury-dannyh-607c7f3519675453a57fab6d — и шестая глава. Поздравляю, мы прочитали треть книги. :)
Яндекс Дзен
Чистый код. Конспект. Глава 6. Объекты и структуры данных.
Сегодня будет сложно. Напомню, что тут только мои заметки. Для полного погружения читайте книгу. :) Когда я читала в первый раз эту книгу Мартина, то шестая глава была мне максимально непонятной. Сейчас стало яснее, но все равно тяжко зашла. Заметки: Используйте…