Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

А это нормально вообще? Проблема нормы в психологии

Время на прочтение21 мин
Количество просмотров19K
Понятие нормы – это одно из фундаментальных понятий в психологии. Любая коррекционная работа начинается с того, что мы решаем, что является нарушением (которое можно устранить или, во всяком случае, скомпенсировать), а что – конструктивной особенностью отдельно взятого индивидуума. Многие люди на том или ином этапе своей жизни задаются вопросом о психологической норме. Нормален ли я? Нормален ли мой ребенок? Нормально ли то, что делает мой партнер? Сегодня, соответственно, мы попытаемся разобраться, что означает слово «нормально» применительно к душевной жизни.

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

Во-первых, мы можем понимать норму статистически. Многие психологические и психофизиологические характеристики вариабельны в широком диапазоне, и разброс их значений можно описать через нормальное распределение. Если мы будем исследовать какой-то вариант интеллекта (например, измеряя способность решать типовые задачи из тестов Айзенка), то мы увидим небольшое количество исключительно эффективных испытуемых, небольшое количество исключительно неэффективных и много промежуточных, средних результатов. Эти средние результаты мы можем считать нормативными, а краевые результаты, соответственно, интерпретировать как одаренность или, наоборот, интеллектуальный дефицит. Но тут сразу возникает резонный вопрос: если «колокольчик» нормального распределения имеет плавную форму, то что дает нам основание для выделения в нем качественно различных областей? На каком основании мы считаем то или иное значение характеристики пороговым, задающим границы нормы?
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии46

50 терминов системного дизайна, которые должен знать каждый разработчик

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров16K



1. Масштабируемость / Scalability


  • Масштабируемость — это способность системы поддерживать возросшую нагрузку путем добавления дополнительных ресурсов
  • Примером является добавление дополнительных серверов для обработки увеличившегося веб-траффика
  • Что такое масштабируемость и как ее достичь?

2. Балансировка нагрузки / Load Balancing


  • Балансировка нагрузки — это разделение входящего сетевого траффика между несколькими серверами для снижения нагрузки на каждый из них (во избежание того, чтобы на один сервер приходилось слишком много траффика)
  • Примером является распределение веб-траффика между несколькими экземплярами EC2 с помощью сервиса AWS Elastic Load Balancer (ELB)
  • Понимание балансировки нагрузки
Читать дальше →
Всего голосов 42: ↑36 и ↓6+42
Комментарии6

Каждый имеет право быть похожим на себя. Расстройство аутистического спектра и карьера в IT: личный опыт

Время на прочтение15 мин
Количество просмотров24K

«Я офигеваю от нелогичности окружающих, а они — от того, что я робот». Эта фраза идеально описывает особенности моего взаимодействия с окружающим миром. Я такой же робот. Или инопланетянин. Я могу только догадываться, каким я кажусь окружающим. Но я знаю, что другие считают меня по меньшей мере странным. Это взаимно. Многие поступки окружающих людей кажутся мне совершенно нелогичными и иррациональными.

Долгое время это ставило меня в тупик. Я не понимал, в чём дело, и считал себя глубоким интровертом, замкнутым мрачным типом, совсем не понимающим людей. Всё гадал, что же со мной не так...

Читать далее
Всего голосов 144: ↑137 и ↓7+165
Комментарии131

Как в 2024 выложить приложение в Apple Store и Google Play

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров9.5K

Публикация приложений в сторах сейчас непростой процесс. Из-за санкций появилось много неизвестности с регистрацией и оплатой аккаунтов. При этом информация о том, как решить те или иные проблемы в этом процессе, которая есть в интернете, противоречива. Так как я этот процесс недавно успешно прошел, делюсь инструкцией, как в 2024 выложить приложение в App Store и Google Play.

Я занимаюсь мобильной разработкой начиная с 2015 года, прошел путь от рядового разработчика до позиции Technical Product Owner в компании Выберу.ру.  Для меня процесс регистрации в сторах — это типовая задача, но санкции добавили несколько нюансов. Эта статья представляет роадмап по публикации приложения с советами и рекомендациями для ускорения этого процесса.

Читать далее
Всего голосов 17: ↑15 и ↓2+13
Комментарии6

Что стоит знать о Jetpack Compose: руководство для начинающих

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров4.4K

Салют, Хабр! На связи Вадим, Android Developer из Clevertec. Когда я начинал разбираться с Jetpack Compose, он показался простым. Но первое впечатление обманчиво. Поэтому написал этот туториал для начинающих, который сэкономит время на погружение.

Читать далее
Всего голосов 12: ↑12 и ↓0+14
Комментарии0

Android + Gradle + CI + CD или Как настроить кормушку для котов

Время на прочтение6 мин
Количество просмотров23K


Здравстуй дорогой читатель. Если тебе незнакомы понятия Continuous integration (CI), Continuous delivery (CD) или же у тебя нет представления как и зачем их нужно использовать, то прошу под кат, где тебя ждет небольшое описание как настроить данные сервисы в своем Android проекте, а также какие бонусы будут получены в итоге.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии7

Dagger 2. Часть третья. Новые грани возможного

Время на прочтение19 мин
Количество просмотров64K

Всем привет! Наконец-то подоспела третья часть цикла статей о Dagger 2!


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


Большое спасибо за отзывы и комментарии. Я очень рад, что мои статьи действительно помогают разработчикам окунуться в мир Даггера. Именно это и придает силы творить для вас дальше.
В третьей части мы с вами рассмотрим различные интересные и немаловажные фичи библиотеки, которые могут вам очень пригодиться.


Вообще библиотека существует уже приличное время, но документация по-прежнему крайне отвратная. Разработчику, который только начинает свое знакомство с Даггером, я бы даже посоветовал не заглядывать в официальную документацию вначале, дабы не разочаровываться в этом жестком и несправедливом мире.


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


Итак, хватит разглагольствовать, и вперед к новым знаниям!

Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии30

Многомодульность в Android и Dagger: пошаговый пример

Время на прочтение17 мин
Количество просмотров14K

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

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии1

Разбираемся с новой уязвимостью Android-библиотеки Jetpack Navigation: как открыть любой фрагмент из вашего приложения?

Время на прочтение16 мин
Количество просмотров4.8K

Всем привет!

На связи эксперты из Стингрей Технолоджиз – Юрий Шабалин, Веселина Зацепина и Игорь Кривонос. Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в популярной библиотеке для навигации в приложениях Android – Jetpack Compose Navigation. Эта уязвимость позволяет открывать любые фрагменты внутри приложения.

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

Интересно? Тогда давайте начинать!

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии7

Git. Скачем между ветками как древесные лягушки

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров26K

Статей на тему много, но, видимо, недостаточно: время от времени слышу от коллег (последние 10 лет, в 4-х разных компаниях):

«Не могу пошарить экран с кодом, у меня другая ветка сейчас».

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

«Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать».

Читать далее
Всего голосов 85: ↑85 и ↓0+101
Комментарии71

Подробное руководство по Logcat в Android Studio с примерами

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров8.3K

Logcat в Android Studio имеет множества функций, которые ускоряют отладку, тестирование и в целом поиск нужной информации в логах. Однако, большинство в лучшем случае использует только поиск по ключевому слову и даже не подозревают как сильно могут ускорить свою работу.

Здесь я расскажу про Logcat в Android Studio, какие у него есть возможности, как его кастомизировать и использовать по максимуму, с практическими советами в каких ситуациях та или иная фича может вам пригодиться. Материал будет полезен как начинающим тестировщикам, так и матёрым разработчикам, ведь это универсальный инструмент, ускоряющий работу, если знать о всех его хитростях.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии2

NAT (Network Address Translation) для новичков

Время на прочтение6 мин
Количество просмотров225K

Приветствую всех читателей статьи!

Данная статья будет полезна как новичкам в IT сфере, так и неопытным системным администраторам/ сетевым инженерам. Здесь затрагиваются понятия и принцип работы технологии NAT, ее значение в наше время, виды и создание с конфигурированием в программе-симуляторе Cisco Packet Tracer.

Читать далее
Всего голосов 11: ↑8 и ↓3+7
Комментарии43

Получение D-U-N-S номера для мобильных разработчиков

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.7K

В конце 2023 года мы столкнулись с проблемой того, что Google Play стал требовать DUNS номер для регистрации новых аккаунтов, а также для подтверждения уже существующих. Данное сообщение могли увидеть все Android разработчики. Также данный номер необходим для регистрации и аккаунтов в AppStore.

Читать далее
Всего голосов 5: ↑5 и ↓0+7
Комментарии0

Защита персональных данных в мобильных приложениях: как не нарушить закон

Время на прочтение12 мин
Количество просмотров2.7K

Всем привет! На связи снова Юрий Шабалин, генеральный директор «Стингрей Технолоджиз». В предыдущей статье я рассказывал о влиянии Профиля защиты ЦБ РФ на мобильные приложения. В продолжение темы российского законодательства сегодня разберем, под какие еще требования попадают приложения, насколько законно хранить персональные данные на смартфоне в открытом виде и попадает ли мобильное ПО под действие Федерального закона "О персональных данных" (152-ФЗ) и подзаконных актов по теме защиты ПДн? Постараюсь разъяснить всё максимально понятно.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии9

Инструменты Android-разработчика

Время на прочтение14 мин
Количество просмотров10K

Будь эффективным — используй «туллинг»!

В этой статье я хочу поделиться с вами своим опытом и рассказать о наиболее полезных инструментах, которые я использую в своей повседневной работе. Мы рассмотрим как широко известные, так и менее популярные, но не менее ценные утилиты, которые помогут вам стать более эффективным Android‑разработчиком.

Читать далее
Всего голосов 38: ↑38 и ↓0+42
Комментарии8

На чем писать Android UI-тесты

Время на прочтение21 мин
Количество просмотров19K

Всем привет. Мы в Avokado Project продолжаем рассказывать про автотестирование в Android. Эта статья — обзор и сравнение существующих инструментов для написания UI-тестов.


Давайте начнем с того, что вспомним, как обычно выглядит процесс тестирования. Будем называть сущность, которая взаимодействует с приложением, клиентом. Для взаимодействия с приложением клиенту обычно доступно несколько интерфейсов: API, REST API, CLI, GUI и т.д. И если, например, API используются клиентами-программами, то GUI используется человеком.


Ожидания от поведения приложения описываются в спецификации. Задача тестирования — проверить, что поведение приложения соответствует спецификации.


Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

WireMock – швейцарский нож в арсенале тестировщика. Часть 1

Время на прочтение15 мин
Количество просмотров57K

Всем привет! Меня зовут Анатолий Калмыков, и я отвечаю за качество создаваемых решений в «Ростелеком ИТ». Сегодня я расскажу вам про WireMock – это одновременно и утилита, и библиотека на Java для создания HTTP заглушек над веб-сервисами. Он создает HTTP-сервер, к которому мы могли бы подключиться, как к реальному веб-сервису.

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

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии7

Cicerone — простая навигация в Андроид приложении

Время на прочтение8 мин
Количество просмотров86K


На этой схеме не скелет древнего обитателя водных глубин и не схема метро какого-то мегаполиса, это карта переходов по экранам вполне реального Андроид приложения! Но, несмотря на сложность, нам удалось её удачно реализовать, а решение оформить в виде небольшой библиотеки, о которой и пойдет речь в статье.


Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии29

«Внешняя» навигация в многомодульном проекте на Kotlin

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров8.3K

Привет, Хабр! Я Дмитрий Воронов из Doubletapp, в этой статье расскажу, как мы делали навигацию в Яндекс Путешествиях. С навигацией в Android, кажется, давно все ясно: бери Jetpack Navigation, читай официальную документацию и следуй ей — и все получится. Если рекомендованная библиотека не подходит — берешь Fragment Manager, прописываешь собственную реализацию и идешь хвастаться коллегам. Если писать свою реализацию нет желания, а официальная библиотека не соответствует модным веяниям — дополняешь свое резюме умением работать с Cicerone. Если твои вкусы специфичны — почему бы не удивить людей неожиданным добавлением в проект Alligator?

В одном коротком абзаце удалось обозначить сразу 4 варианта реализации навигации и, казалось бы, в чем вопрос? Каждый выбирает для своего проекта подходящий ему вариант. Все так, но ровно до того момента, пока не возникает необходимость «поделиться» частью приложения — интегрироваться в другое приложение, и там, как оказывается, другая реализация навигации. И здесь начинается: «Что будем делать? Попробуем написать мост? А может, лучше перепишем навигацию?» 

На этапе проектирования лучше сразу уточнить возможность дальнейшей интеграции с другими приложениями и заранее к этому подготовиться. Помимо всего прочего, нужно подготовить и навигацию, и сделать ее «внешней» — одно из возможных решений этой задачи.

Что такое «внешняя» навигация?
Как это делается?
Реализуем модуль навигации
Примеры реализации

Читать далее
Всего голосов 6: ↑5 и ↓1+5
Комментарии7

Как мы ускоряли сборку Android-приложения из двух миллионов строк кода

Время на прочтение18 мин
Количество просмотров16K

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


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


Я расскажу на примере мобильного Яндекс Браузера. У нас было ~150 Gradle-модулей, ~2 млн LoC на Java/Kotlin, десяток Gradle-плагинов, тысячи строк кода в buildSrc и лёгкая дрожь от вопроса, сколько ещё может переварить билд-система. Не скажу, что это всё было категорически необходимо, но к написанным строчкам кода надо проявлять уважение.

Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии19
1
23 ...

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность

Специализация

Mobile Application Developer