Разработчик
Google MAPs API в android или как работать с картами быстрее
Отличие DAX и MDX
С точки зрения выражения или языка запросов, одно из наиболее важных различий лежит во внутренней основе обоих подходов.
В кубе, для адресации ячейки в пространстве, у нас есть понятие кортежа. Ось в кортеже устанавливает координаты. Если у нас есть единственный кортеж, то результат — содержание соответствующей ячейки в кубе. Поскольку у атрибутов куба есть элемент All, который служит значением по умолчанию (в большинстве случаев), если атрибут не был включен в кортеж, то мы выполняем агрегацию также, как если бы он там был. Например, следующий кортеж возвращает (агрегированный) объем продаж за 2013 год
(Date.Calendar.[Calendar Year].&[2013], Measures.[Internet Sales Amount])
UI-пасьянс: делаем свой StackView в Android
Астигматизм – зрение как в королевстве «кривых зеркал»
Современная статистика удручает. Более половины населения планеты страдает нарушением зрения, наиболее распространенными проблемами являются близорукость и дальнозоркость. Но офтальмологи часто диагностируют еще одно заболевание, название которого многим незнакомо. Астигматизм – дефект оптической системы глаза, когда резкость изображения ассиметрична по вертикали и горизонтали. И параллельные лучи света, проходящие через глаз, фокусируются не в точку, а в «восьмерку». Для человека это означает, что видимость изображения становится нерезкой, причем часто это касается как дальних, так и близких предметов. В результате вместо нормального изображения человек видит искаженное, в котором одни линии четкие, другие — размытые. Представление об этом можно получить, если посмотреть на свое искаженное отражение в овальной чайной ложке. Аналогичное искаженное изображение формируется при астигматизме на сетчатке глаза.
Окулисты утверждают, что с такой проблемой сталкиваются практически две трети жителей планеты. Но так как степень астигматизма может быть небольшой, то многие практически не ощущают какого-либо дискомфорта. Медикам сложно выделить четкий перечень общих симптомов, указывающих на наличие у пациента астигматизма. В каждом отдельном случае они будут различаться. На самых ранних стадиях его часто путают с усталостью глаз.
Однако, достаточно много людей нуждаются в специальном лечении или коррекции этого нарушения с помощью очков, контактных линз или даже операции.
Играем в APK-гольф. Уменьшение размера файлов Android APK на 99,9%
Применим этот принцип в Android. Мы собираемся поиграть в APK-гольф и создать приложение минимально возможного размера, которое можно установить на Android 8.0 Oreo.
Базовый уровень
Начнём с дефолтного приложения, который генерирует Android Studio. Создадим хранилище ключей, подпишем приложение и измерим размер файла в байтах командой
stat -f%z $filename
.Затем установим APK на смартфон Nexus 5x под Oreo, чтобы убедиться, что всё работает.
Прекрасно. Наш APK весит примерно полтора мегабайта.
Планирование задач в Android с использованием JobScheduler и IntentService
Иногда при разработке под OS Android возникает необходимость выполнять ресурсоемкие операции периодически, регулярно или по запросу, и для этих операций важно, например, наличие интернета или чтобы устройство "не спало". Чаще всего при решении подобных задач применяются AlarmManager, WakefulBroadcastReceiver, либо же вообще WakeLock контролируется вручную. Все это не рекомендуется в документации для разработчиков под Android, а WakefulBroadcastReceiver уже отмечен как deprecated с API level 26.0.0.
Что же мы можем сделать, чтобы следовать рекомендациям Google и создавать приложения с более гибким поведением на версиях Android 5.0+, в которых энергосбережению уделяется все больше внимания? Если вы готовы выставить минимальный API level 21.0.0 для своего приложения, предлагаю под катом пример использования JobScheduler в связке с IntentService для последовательного выполнения трудоемких задач.
Две грани телепортации
«Существует два способа стать счастливым: улучшить реальность или снизить ожидания».
Из напутствия молодоженам
Практическое использование телепортации сильно облегчает написание фантастических произведений. Зашел в кабинку нуль-транспортировки, набрал координаты точки во Вселенной и уже выходишь в нужном месте. Но пока не получается, однако… Поговорим сегодня о двух гранях телепортации – реальной физической и виртуальной.
Как я проходил сертификацию в Xamarin University
Иллюзия движения
(также см. перевод статьи того же автора «Иллюзия скорости» — прим. пер.)
Введение
Вы могли слышать термин кадры в секунду (FPS), и что 60 FPS — действительно хороший ориентир для любой анимации. Но большинство консольных игр идут на 30 FPS, а кинофильмы обычно записывают на 24 FPS, так зачем же нам стремиться к 60 FPS?
Кадры… в секунду?
Ранние времена кинопроизводства
Съёмки голливудского фильма 1950 года «Юлий Цезарь» с Чарлтоном Хестоном
Когда первые кинематографисты начали снимать кино, многие открытия делались не научным методом, а путём проб и ошибок. Первые камеры и проекторы управлялись вручную, а плёнка была очень дорогой — настолько дорогой, что при съёмке старались использовать наименьшую возможную частоту кадров, лишь бы сэкономить плёнку. Этот порог обычно находился между 16 и 24 FPS.
Парсинг сайта средствами языка T-SQL
Повороты экрана в Android без боли
Важно!
Изначально в статье была реализация с ошибкой. Ошибку исправил, статью немного поправил.
Предисловие
Истинное понимание проблем каждой платформы приходит после того, как попробуешь писать под другую платформу / на другом языке. И вот как раз после того, как я познакомился с разработкой под iOS, я задумался над тем, насколько ужасна реализация поворотов экрана в Android. С того момента я думал над решением данной проблемы. Попутно я начал использовать реактивное программирование везде, где только можно и уже даже не представляю как писать приложения по-другому.
Библиотека Reamp: обезболивающее для ваших Android-приложений
Однажды мы в компании EastBanc Technologies устали бороться с теми архитектурными проблемами, которые возникают в Android-разработке и решили все исправить:). Мы хотели найти решение, которое удовлетворит всем нашим требованиям.
И, как это часто бывает, готового решения тогда не нашлось и нам пришлось сделать собственную библиотеку, которая уже приносит счастье нам, и может помочь и вам.
Какие проблемы решали:
- Уйти от жизненного цикла экранов, будь то Activity, Fragment или View
- Уйти от необходимости писать код для сохранения и восстановления состояния для каждого экрана
- Повысить стабильность: защититься от досадных крешей и утечек памяти
- Повысить переиспользуемость кода между телефонным UI и планшетным UI
Как работает Android, часть 1
В этой серии статей я расскажу о внутреннем устройстве Android — о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.
Анализ работы MS SQL Server, для тех кто видит его впервые (часть 2)
Продолжаем анализировать что происходит на нашем MS SQL сервере. В этой части посмотрим как получить информацию о работе пользователей: кто и что делает, сколько ресурсов на это расходуется.
Думаю, вторая часть будет интересна не только админам БД, но и разработчикам (возможно даже разработчикам больше), которым необходимо разбираться, что не так с запросами на рабочем сервере, которые до этого отлично работали в тестовом.
Задачи анализа действий пользователей условно поделим на группы и рассмотрим каждую отдельно:
Как я проходил собеседования на позицию Junior .Net Developer
Кому интересна тема прохождения собеседований, прошу под кат!
Игры для программистов, часть вторая
Несмотря на опасность, что вновь возникнет спор относительно названия, я решил оставить его прежним, дабы сохранить преемственность. Можно воспринимать его как «игры для тех, кто имеет способность к программированию», или ещё как-нибудь в этом духе. Однако я полагаю, что вы читаете этот пост не ради рассуждений о семантике, потому перейдём к сути.
Infinifactory
Корутины в Kotlin (гайд)
Simon Wirtz в своем блоге публикует достаточно много интересных постов о Kotlin.
Представляю вашему вниманию перевод одного из них.