Когда программисты выходят на пенсию? 35 — новые 55?
Обсудим правду, слухи и закат карьеры программистов
Не задумывались, почему в офисе нечасто можно увидеть седых разработчиков? Куда все деваются, когда становятся старше? Неужто компании...
4 типичные ошибки программиста, которые видны лишь с позиции руководителя
Я проработал программистом более 5 лет. Конечно, у некоторых из вас, вероятно, гораздо больше опыта, но тогда я считал, что уже достиг уровня старшего...
Первые шаги в программировании: работа без ошибок
Овладение искусством написания кода может стать неоценимым вкладом в ваше будущее, так как этот профессиональный навык востребован в современном мире как никогда раньше. Именно...
Выбираем шрифт
Факторы, которые следует учитывать при выборе шрифта для вашего следующего проекта.
Serif или Sans Serif, вот в чем вопрос
Большинство шрифтов можно разделить на две основные категории:...
Как писать функции: 8 советов от опытного разработчика
Функция - это небольшая часть истории о системе. Чтобы научиться излагать ее как можно удачнее, воспользуйтесь советами профессионального программиста.
Чистая архитектура: руководство для начинающих
Разбираемся в том, что такое чистая архитектура, какие преимущества она дает и как ей следовать на практике. Рассмотрим все примеры с иллюстрациями.
Топ-5 примеров комментирования кода
Ничто не может объяснить код лучше самого кода. Но в некоторых случаях без комментирования не обойтись. Узнайте, как правильно использовать комментарии и тем самым повысить читабельность кода.
Как улучшить написание условных выражений
В условиях, казалось бы, все предельно просто: освоив написание такого кода однажды, в дальнейшем всегда его придерживаешься. Но даже самое простое можно улучшить. Попробуем...
Худшие способы нанять хороших программистов
Хорошее собеседование — это просто неформальная беседа двух увлеченных программистов
Чарльз Баркли поразительно точно отметил:
Я не считаю себя тем, кто дает интервью. Я просто веду...
Почему все веб-сайты выглядят одинаково?
Интернету не хватает креативных решений, поэтому я попросил своих учеников разработать редизайн уже существующих веб-сайтов.
Современный интернет однообразен. Все выглядит одинаково: одинаковые шрифты, похожие страницы,...
Как я настроил VS Code
Недавно я был в аэропорту Борисполь на Украине, работал над статьей для блога, как вдруг мой VS Code перестал работать. Он крашнулся дважды меньше...
Основы аутентификации для начинающих
Без аутентификации не обойтись, пожалуй, почти ни в одном реальном проекте, рассчитанном на людей. Рассмотрим два основных подхода к аутентификации пользователей: как они работают, в чем их преимущества и недостатки.
Введение в библиотеку Flutter Bloc
Обратим наш пристальный взор на библиотеку Flutter Bloc и разберемся в ее тонкостях, чтобы эффективно задействовать ее потенциал в будущих проектах.
Почему большинство инженеров ПО не пишут документацию?
Неважно, работаете вы в небольшом стартапе или же в крупной корпорации, когда возникает необходимость в хорошей, ценной документации сервисов или проектов, то на ее...
Что такое разработка через тестирование и как эффективно ее использовать
Возможно, вы слышали о такой технике программирования, как TDD - разработка через тестирование. Разбираемся, как правильно использовать этот метод, чтобы повысить свой профессиональный уровень.
Принципы SOLID спешат на помощь
Не раз и даже не два случалось мне возиться с кодом ради исправления одной крошечной ошибки или расширения функциональности, пока, наконец, в моей жизни...
Не смотрите свысока на отладку через печать
Люди склонны пренебрежительно относиться к отладке через печать, ведь она не использует сложные инструменты. Не использует отладчики, изысканные логгеры или профайлеры. А используется скромная инструкция print. Или функция print(), console.log() или println!(), или как она называется на вашем языке.
Три нашумевших диаграммы. Исследование JavaScript в 2018
Вы думали статистика и графики — это скука? Подумайте ещё раз…
Нашумевший — это буквально самое заезженное слово в интернете, если не считать слово «буквально». Но в этот раз — это...
4 совета по улучшению Jupyter Notebooks
Jupyter Notebooks - отличный инструмент для всех разработчиков, желающих поделиться своей работой. Он предоставляет простой способ обмена проектами и широко используется в таких областях, как...
Как я наконец перешел от обучения к работе
Даже после прохождения множества курсов, где вы просто копируете код вслед за инструктором, существенного прироста в навыке, как правило, так и не происходит.
Многие наверняка...
Манипуляции с битами. Игра в истину
Прежде всего нужно понять «Истину», как она представлена в таблице истинности. На самом деле таких таблиц несколько, но для этого урока нам хватит двух...
Как упростить работу с базами данных в Golang с SQLX
Покажем, как легко стало оперировать базами данных. Разберем преимущества пакета database/sql: совместимость с базами данных, автоматическое сканирование структуры и вставка строк, функция Get, привязка параметров для предотвращения внедрения кода SQL.
Разделение окон в Vim
Рассмотрим возможности редактора Vim в плане организации рабочего пространства: разделение окон, взаиморасположение вкладок и окон, сравнение с другими редакторами.
Моя среда разработки в Linux 2018
В этой статье я немного пройдусь по приложениям на моем ноутбука на базе Linux. На написание материала меня вдохновил этот пост, только в моем случае...
Знакомство с Git и GitHub: руководство для начинающих. Часть 1
Часть 1, Часть 2
Ищите, с чего бы начать изучение Git и GitHub? Хотите поработать с другими? Усердно трудитесь над проектом? Или вдруг заметили, что...
Как галлюцинируют нейросети
Как заставить нейросеть галлюцинировать? Какие развлекательные и практические задачи при помощи этого можно решить? Знакомимся с разработанным Google алгоритмом - DeepDream.
5 советов для начинающих программистов
Когда я только начинал заниматься программированием, то часто пребывал в озадаченном состоянии. Порой возникали чувство потерянности и неуверенность в своих силах, что заставляло постоянно...
Основы Git за 5 минут
По мере своего становления в роли разработчика приходит понимание того, что большая часть работы ведется в команде. И при работе в команде нужна система...
Как выбрать язык программирования для проекта машинного обучения
Это руководство поможет вам сравнить языки программирования, используемые в машинном обучении: Python, R, Java, C++, JavaScript и Julia. Оцените их возможности и ограничения, чтобы выбрать наиболее подходящий для вашего проекта.
10 лучших легких дистрибутивов Linux для старых компьютеров
10. Peppermint
Peppermint — это облачно-ориентированный дистрибутив Linux, не требующий мощного железа для запуска. Он основан на Lubuntu и использует окружение рабочего стола LXDE для более плавной...
21 способ быть хреновым разработчиком
Интернет буквально кишит статьями, повествующими о том, как вы можете улучшить ваши навыки разработки. Эти статьи гласят о “лучшей коммуникации”, “работе в команде”, “постоянном...
Почему люди проваливают собеседования по алгоритмам и структурам данных в крупных компаниях?
Компьютерные науки — это область с огромными возможностями. Миллионы студентов всего мира мечтают построить карьеру в этой сфере. Но возникает неожиданная проблема: несмотря на то, что...
Какой язык программирования выбрать в 2019?
Благодаря интернету весь мир имеет доступ к ресурсам для обучения программированию: как платным, так и бесплатным. Каждый щелчок мыши ведёт к новой статье, новому...
Перенос сценариев CI в docker build
Распространенный сценарий: команда разработчиков поддерживает множество Jenkinsfile, каждый из которых соответствует требованиям проекта. Однако эти сценарии непрерывной интеграции (CI) непригодны для повторного использования в...
Как рационально использовать GIT
Вчера код работал, сегодня нет
Код был удален
Появилась ошибка и никто не имеет представления почему
Если у вас была такая ситуация, то эта статья для вас.
Не считая знания...
14 когнитивных измерений — мастхэв для современного программиста
Хотите стать первоклассным программистом? Тогда приготовьтесь к постоянному совершенствованию. Для начала узнайте о 14 когнитивных измерениях, разработанных Томасом Грином для оценки дизайна программ.
Mermaid: универсальный инструмент для создания диаграмм
Пополним рабочий арсенал новым революционным инструментом для построения диаграмм, имя которому Mermaid. Рассмотрим принцип работы и его преимущества по сравнению с PlantUML.
Что определяет настоящего “Senior” разработчика?
В мире программирования один лишь факт того, что вы долго работаете разработчиком, не делает из вас отличного специалиста. По моему опыту, разработчики и инженеры...
Алгоритм Skyline для упаковки 2D-прямоугольников
Автор делится решением задачи упаковки двумерных прямоугольников в ограниченное пространство — вы найдете иллюстрации, итоговую анимацию работы алгоритма и конечно, код с достаточным количеством комментариев. В конце материала — таблица времени выполнения алгоритма в худших случаях.
#01TheNotSoToughML | Что означает “подогнать линию”
Настало время восполнить пробелы в отношении алгоритмов и концепций машинного обучения. Разбираем интуитивные решения, которые стоят за построением прогностической модели в машинном обучении.
Основные правила код-ревью
Code review или обзор кода - работа, требующая высокого уровня профессионализма. Ознакомьтесь с его лучшими практиками: вот что нужно и что нельзя делать разработчику при обзоре кода.
4 причины использовать перечисления PHP вместо старомодных констант класса
Переходим с констант класса на перечисления, рассмотрим их преимущества на примерах. Чем полезны подсказки типа?
Мой опыт работы с Data Scientist, будучи программным инженером
Предыстория
В конце 2017 года я начал проявлять интерес к такой области, как машинное обучение. По специальности я Android Engineer, и в этой статье я...
Парное программирование: недостатки, которые предпочитают умалчивать
Приверженцы парного программирования часто говорят о его положительном влиянии на обмен знаниями и разрушении "бункеров знаний" в команде. В особенности они выделяют тот факт,...
Почему программисты не бросают работу?
Примечание: В этой статье я выражаю своё личное мнение, а не взгляды какой-либо компании.
Технические компании постоянно пытаются понять, что нужно сделать ,чтобы сотрудники были довольны. Добиться...
Сравнение производительности ввода/вывода: C, C++, Rust, Golang, Java и Python
Сравниваем, как различные языки, такие как C, C++, Rust, Golang, Java и Python, обрабатывают данные на вход/выход. Также попробуем выяснить, может ли Rust обрабатывать высокопроизводительные промисы.
Всё, что вы хотели знать об отладке в IntelliJ IDEA
Отладка — это один из самых важных этапов процесса разработки. И дело не только в том, что устранение ошибок занимает, вероятно, большую часть времени: она также...
Как настроить отладчик для Chrome extension в Visual Studio Code
Отладка веб-приложений с помощью Visual Studio Code значительно повышает эффективность работы, помогает сэкономить много времени и сохранить чистоту кода. Приступим!
Начало установки
Для начала установите расширение...
Программное обеспечение без конструкции if-else
Не откладывая в долгий ящик скажу: зачастую конструкция if-else — плохой выбор. Её использование приводит к сложным конструкциям, снижает читаемость кода и усложняет рефакторинг.
Тем не...
Антишаблоны программирования
Познакомьтесь с ошибками, которые часто сопровождают процесс разработки ПО. Даже встретив среди них грабли, на которые вы уже наступали, не поленитесь повторить пройденное, чтобы в следующий раз не облажаться!
Введение в конвейерную обработку данных с использованием бессерверной архитектуры
Сегодня мы расскажем вам о построении сквозных конвейеров данных с использованием бессерверных технологий. Мы сосредоточимся на Amazon Web Services (AWS) для построения конвейера, однако подобную архитектуру можно легко воспроизвести на любой другой облачной платформе, включая Google Cloud Platform (GCP), Microsoft Azure и т. д.
От рекомендаций по проведению ревью кода к общечеловеческим ценностям
Став частью команды QuintoAndar, я приобщилась ко многим процессам, о которых раньше не знала. В их число входили обязательные ревью кода.
Если кратко, то в...
Знакомство с Git и GitHub: руководство для начинающих. Часть 2
Часть 1, Часть 2
Рабочий процесс на GitHub
Допустим, у вас есть проект с кучей разных идей и возможностей для дальнейшей реализации. Что-то из этого...
Искусственный интеллект и пользовательский опыт: погружение в новую эру визуализации данных
Рассмотрим роль искусственного интеллекта в визуализации. Изучим способы обработки и анализа данных на основе ИИ. Узнаем, как это влияет на пользовательский опыт. Проанализируем конкретные примеры визуализации данных на основе ИИ. Рассмотрим нюансы визуализации с помощью ИИ.
Испытаем ИИ в решении логических задач
Алгоритмические задачи довольно часто нужны программистам для того, чтобы поддерживать свой мозг в тонусе и не давать себе прокрастинировать. Однако иногда гораздо интереснее решить задачу не напрямую, а хитрым способом. Один из таких способов и описан в этой статье.
#02TheNotSoToughML | Способы “подгонки линии”
Продолжаем цикл по заполнению пробелов в области алгоритмов и концепций машинного обучения. В этой статье мы узнаем, как настроить веса и смещение в модели линейной регрессии.
Как освоить новый язык программирования или фреймворк
Новые языки программирования появляются чуть ли не каждый день. Dart, Go, Kotlin, Elixir и многие другие! В таких условиях постоянно учиться непросто, но есть...
BabyAGI — автономный ИИ-агент для оптимизации задач
Изучите 10 примеров задач, выполняемых автономным ИИ-агентом BabyAGI. Способность логически рассуждать, принимать сложные решения и контролировать параметры делает BabyAGI бесценным помощником в автоматизации управления задачами.
Яндекс опубликовал календарь дней быстрого найма
Яндекс объединил все мероприятия по быстрому найму в одном календаре. Сейчас в нём доступны три типа событий, которые позволят устроиться в компанию за несколько...
Секрет быстрого обучения
Многие молодые разработчики боятся выглядеть глупо. Они уверены, что это преуменьшает их способности в глазах других и отрицательно влияет на их карьеру.
Однако все наоборот....
Реактивное программирование или сопрограммы: между молотом и наковальней?
Выбор между привычным и экспериментальным в программировании сродни положению между молотом и наковальней. Одна из таких дилемм - противопоставление реактивного программирования и сопрограмм. Предлагаем вникнуть в суть конкурентных концепций, изучить их достоинства и подводные камни.
Лучшие языки программирования для изучения в 2018
Это полное руководство по выбору «правильного» язык программирования в 2018 году.
Хочу сразу прояснить кое-что: это не топ самых популярных языков, с кучей названий и...
10 способов повысить эффективность RAG-системы
Хотите создать эффективную RAG-систему для генерации ответов, дополненной результатами поиска? Предлагаем 10 стратегий повышения качества RAG, которые обеспечат успешный переход от прототипа к производству.
Битва трендов: React vs Angular vs Vue
Подождите, по-моему, я уже писал на эту тему… Да, но слишком многие жаловались, что я так и не сказал, что же лучше. Поэтому в...
Пора делать шаг по карьерной лестнице разработчика?
Список общих рекомендаций по смене работы и устройству на должность своей мечты. Почему техническая зубрежка не является ключом к успеху, и какая стратегия здесь окажется более эффективной?
Что на самом деле важно для качества кода?
Хотя новички и джедаи могут озвучивать свои подходы к решению проблем одинаково, результаты разработки у них совершенно разные, как и способы достижения чистого кода. Чтобы понять специфику создания действительно качественного кода, предлагаем детально разобрать реальный пример с реальным кодом.
Raspberry Pi + Pushover + Puppeteer = автоматизация повседневных задач
Узнаем из первых рук, как автоматизировать повседневные задачи. Напишем скрипты для разных типов задач, настроим их автоматизацию и отправку уведомлений о результатах их выполнения.
Как запустить ИИ-генератор Stable Diffusion
Stable Diffusion - ИИ-генератор изображений от StabilityAI, который может работать на стандартных видеокартах. Изучим его потенциал на практике. Чтобы использовать это руководство, не нужен даже опыт в программировании.
Как организовать код в Python
Если вы занимаетесь вычислительными исследованиями или наукой о данных, но у вас нет опыта в области компьютерных наук, то вы, вероятно, создали удивительные научные...
Топ-7 онлайн-редакторов кода и IDE
Какие онлайн-редакторы кода и полноценные IDE позволяют повысить производительность? Обзор лучших инструментов, похожих на VSCode, поможет вам сделать правильный выбор.
Продвинутый CLI: команды, которые должен знать каждый разработчик
1. wget
В операционных системах, подобных Unix, команда wget загружает файлы, обслуживаемые по HTTP, HTTPS или FTP через сеть. По умолчанию она включена во все...
3 основных закона разработки ПО
Чтобы стать инженером-программистом, требуются годы обучения. Однако основные принципы, на которых базируется подход к разработке программного обеспечения, можно свести к 3 фундаментальным законам.
Метрики для улучшения архитектуры ПО
На примере Java и Maven продемонстрируем, как определенные метрики помогают проектировать более масштабируемое и обслуживаемое программное обеспечение, а также изучим немного теории.
Как написать чистый код, который легко читать
Рассмотрим практические советы по созданию кода, который впоследствии читается как книга. Чтобы их составить, автору пришлось проанализировать и сравнить множество подходов и приемов других разработчиков.
Проблема эйджизма в IT-сфере
Причины возникновения эйджизма в IT-сфере и способы его преодоления
Когда вы заканчиваете школу или университет и начинаете искать работу, вы можете начать волноваться, что отсутствие...
Регрессор дерева решений
Предлагаем наглядное руководство по смарт-обрезке ветвей дерева решений с учетом сложности/стоимости вычислений. Описанный подход потенциально позволяет создавать более оптимальные деревья, хотя зависит от набора данных, поставленной задачи и доступных вычислительных ресурсов.
Создание и оценка базовых и продвинутых RAG-приложений с помощью LlamaIndex и Gemini Pro в...
В 1-й части этого руководства рассмотрим этапы создания базового RAG-приложения с помощью фреймворка данных LlamaIndex и модели Gemini Pro. Кроме того, протестируем это приложение с использованием системы TruLens на релевантность контекста, а также релевантность и обоснованность ответа.
Remote First: программисты не должны работать в офисе
Open-space, излишний контроль, метро и пробки убивают вдохновение. Приводим аргументы в пользу того, что разработчиком лучше работать удаленно.
Руководство по навигации с помощью клавиатуры
В целом, когда речь заходит о компьютерной навигации, люди разделяются на два лагеря: на тех, кто использует мышь и не понимает, зачем вместо этого...
Как мы создавали автоматизированное тестирование с помощью Playwright
Переход на автоматизированное тестирование позволяет ускорить выпуск продуктов, повысить их качество, сэкономить усилия разработчиков и сохранить доверие клиентов. Ознакомьтесь с опытом команды Tempest по освоению автоматического тестирования веб-приложений с использованием фреймворка Playwright.
Что такое шаблон SAGA и какую проблему он решает в микросервисной архитектуре
Шаблон SAGA помогает решать специфическую для архитектуры микросервисов проблему. Это сложный в применении инструмент, которым должен владеть опытный разработчик.
Насколько эффективен промпт-инжиниринг в разработке ПО?
Не упускаем ли мы что-то важное, сосредотачиваясь на обучении ИИ тому, в чем преуспели сами, - написанию кода при разработке ПО? Ответить на этот вопрос поможет сравнение эффективности ИИ и человека в решении сложных задач программной инженерии.
Топ-12 факторов, уничтожающих продуктивность программиста
Никто не ждет от программиста, что он сделает свою работу, не используя компьютер. Но при этом многие компании ожидают, что он сделает свою работу,...
5 лучших бесплатных текстовых редакторов для Windows
В представлении большинства людей современный писатель — это человек, печатающий на компьютере Apple MacBook. Они недалеки от истины, вот только не всегда учитывается один...
20 продвинутых проектов для освоения сложных концепций программирования
Теория не заменит практики. Попробуйте свои силы в выполнении интересных проектов.
Я могу назвать себя «экспертом по ИИ», а вы?
Страшилки об искусственном интеллекте заполонили интернет. Но кому следует их бояться? Тем, кто создает модели ИИ, новые алгоритмы, сайты и приложения на основе ИИ, или тем, кто только использует все это? Пока еще искусственный интеллект не захватил наш мир, определитесь, кто вы - созидатель или потребитель.
10 тенденций в разработке программного обеспечения в 2019 году
Тенденции меняются каждый день во всех сферах деятельности: в моде, в образовании, в разработке программного обеспечения. В эпоху цифровизации сфера программирования меняется чрезвычайно быстрыми...
10 бесплатных ресурсов для обучения обработке естественного языка
Аббревиатура NLP (Natural Language Processing) в переводе на русский язык означает “обработка естественного языка”. Эта область знаний, объединяющая в себе лингвистику, компьютерные науки и...
Учим ИИ отвечать на сообщения
Введение
Глубокое обучение применяется во многих задачах NLP вроде перевода, добавления титров к изображениям и систем поддержки диалога. В машинном переводе оно используется для преобразования...
Тестируя нетестируемое — битва с легаси-кодом
Знакомимся со стратегией приведения легаси-системы в разумный вид, из которого с ней можно будет работать привычными средствами. Разбираемся, что происходит, и действуем, не боясь все сломать.
Принципы SOLID - ключи к чистому коду
Хотите писать чистый, удобочитаемый код и экономить при этом время? Тогда уделите несколько минут изучению принципов SOLID, выведенных легендарным Робертом К. Мартином в бестселлере "Чистая архитектура".
NeuralHash от Apple: принцип работы и слабые места
NeuralHash от Apple - технология сканирования изображений на наличие детской порнографии. Предлагаем пользователям устройств iOS и iPadOS познакомиться с ее особенностями и степенью уязвимости, а также с возможными мерами безопасности.
Нативное будущее кроссплатформенной разработки
Коротко о кроссплатформенности
Сейчас кроссплатформенная разработка не пользуется большой популярностью. Основная причина состоит в том, что существующие инструменты не в полной мере справляются со своей...
10 бесплатных Mac-приложений, о которых вы точно не знали
На macOS немало полезных предустановленных программ, но также есть много сторонних бесплатных приложений, способных упростить работу. Узнайте о 10 наиболее интересных приложениях, которых сделают цифровую жизнь гораздо приятнее.
Почему вам стоит завести чек-листы для программирования
Скорее всего, многим попадался код, который выглядит как головоломка: в программе куча ненужных строк и бесполезных комментариев. Или же в неё внесли изменения, и...
Как Meta оптимизировала согласованность кэша до 99,99999999
Проблема инвалидации и согласованности кэша актуальная для многих инженеров-программистов. Хотите узнать, как решили эту проблему в Meta? Технология, использованная этой компанией, наверняка подойдет и вам. С ее помощью вы сможете вовремя отслеживать ошибки в кэшировании и значительно повысить показатель согласованности кэша.
No-code и сферы его применения
Наблюдаем за ростом популярности нового IT-движения
Так называемое явление «No-code», или же «Zero-code», сейчас активно набирает обороты. На рынок приходит всё больше инструментов для создания...
Реальный способ стать хорошим программистом
С самого начала своей карьеры я часто задавал себе одни и те же вопросы. Чему мне действительно следует учиться? Чем еще я должен овладеть...
6 лучших фреймворков и инструментов генеративного ИИ
Ознакомьтесь с фреймворками и инструментами, лидирующими в сфере генеративного ИИ: HuggingFace, LangChain, LlamaIndex, Llama2, Haystack и SingleStore Notebooks. Эти технологии предлагают множество вариантов интеграции ИИ в проекты - будь то обработка естественного языка, аналитика данных или создание сложных приложений на основе ИИ.
GenAIScript от Microsoft: новый генеративный скрипт на базе ИИ
Компания Microsoft запустила новый генеративный скрипт на базе искусственного интеллекта - GenAIScript. Посмотрим, какими функциями оснащен этот инструмент и какие задачи можно решать с его помощью.
C++: руководство по vector.erase
Разберем две разновидности метода и нюансы производительности. Рассмотрим типичные ошибки и реальные применения.
5 советов аналитикам и их менеджерам
У сегодняшних аналитиков есть все шансы стать завтрашними бизнес-лидерами. Практические советы профессионального аналитика помогут ускорить этот процесс. Прислушаться к ним стоит и менеджерам, желающим покорить новые бизнес-вершины.
Перехват ошибок в компоненте React
Поговорим о механизме перехвата ошибок из компонента и отображении резервного компонента («ErrorComponent») в случае возникновения ошибки при отображении компонента.
В статье речь пойдёт о следующих...
6 рекомендаций по запуску современной кодовой базы Android с нуля
Шесть тем в фокусе: внедрение зависимостей, чистая архитектура, Jetpack Compose, Kotlin, конвейеры сборки, безопасность. Расскажем обо всем, что важно, дополнив фрагментами кода и пояснениями.
Изучаем AndroidManifest.xml: <service> как подэлемент <application>
Чтобы сервисы приложения обнаруживались и запускались системой, они должны быть представлены в файле AndroidManifest.xml элементом . Разберем ключевые атрибуты элемента и посмотрим на примерах, как они работают.







































































































