Перевод статьи Elvis Chidera "The (Complete) Android Splash Screen Guide". Но для начала немного истории о проблеме Splash Screen на Android.
Andreas K @DarkestMaster
Пользователь
История о том, как мы перевели проект в почти четверть миллиона строк на TypeScript и остались в живых
10 min
32KTranslation
В 2016-м статически типизированный JavaScript оказался крайне востребованным. Теми или иными средствами, позволявшими устранить недостатки динамической природы JS, воспользовались многие компании. Нас тоже привлекла перспектива задействовать огромный потенциал статической типизации в своих разработках.

Выбирая инструменты, мы предварительно остановились на TypeScript и Flow. Хотя проекты эти и различаются, направлены они на решение одной и той же задачи. А именно, позволяя контролировать типы данных, они обеспечивают более совершенную, в сравнении с чистым JS, организацию кода, улучшают возможности рефакторинга, позволяют программистам работать быстрее и увереннее.

Выбирая инструменты, мы предварительно остановились на TypeScript и Flow. Хотя проекты эти и различаются, направлены они на решение одной и той же задачи. А именно, позволяя контролировать типы данных, они обеспечивают более совершенную, в сравнении с чистым JS, организацию кода, улучшают возможности рефакторинга, позволяют программистам работать быстрее и увереннее.
+36
Группировка оповещений в Android 7
3 min
12KTutorial

Уведомления в группе сортируются по приоритету. Если у вас в группе 7 уведомлений и приходит еще одно низкого приоритета — оно сначала будет наверху, а потом улетит в самый низ и его совсем не будет видно списке, до тех пор пока вы не удалите некоторое число уведомлений.
Мы сделали группировку по каналам, это позволяет сразу видеть канал и при возможности свернуть его. Даже если канал пришлет вам 100 уведомлений — они все равно легко сворачиваются и удаляются одним движением.
В этой статье мы расскажем, почему официальный мануал не работает, и как мы нашли способ сделать все правильно.
+7
Дайджест интересных материалов для мобильного разработчика #166 (8-14 августа)
3 min
16KХотя на Хабре, похоже, очередное летнее затишье, в целом получилось всего очень порядочно – Apple наконец-то научилась обрабатывать скриншоты, ФАС спорит с Apple и Google, новое про синдром самозванца, шикарная таблица Менделеева в материальном дизайне и много всего другого. Добро пожаловать в новый дайджест!


+16
Полезные сниппеты для Nginx конфигов
5 min
123K
Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.
+88
Ручная верстка vs Storyboard/Nib
3 min
30KБольшинство разработчиков для iOS знакомы со Storyboard. Apple предлагает использовать его. Но в последнее время, удобство этого инструмента вызывает у меня сомнения.
Ниже я хочу сравнить различные методологии с использованием Storyboard или набора Xib-фалов, с ручной верстой (с использованием autolayout и без). Не претендую на полноту раскрытия темы и буду рад, если вы укажете мне на ошибки и/или предложите другие методологии и критерии сравнения.
Пост не содержит экспериментов, академических вычислений и основывается на моих знаниях и опыте в области iOS разработки. Был бы рад узнать мнения экспертов!
Ниже я хочу сравнить различные методологии с использованием Storyboard или набора Xib-фалов, с ручной верстой (с использованием autolayout и без). Не претендую на полноту раскрытия темы и буду рад, если вы укажете мне на ошибки и/или предложите другие методологии и критерии сравнения.
Пост не содержит экспериментов, академических вычислений и основывается на моих знаниях и опыте в области iOS разработки. Был бы рад узнать мнения экспертов!
+6
Анимация переходов между двумя фрагментами
4 min
27KTranslation

Наш конечный продукт будет достаточно прост. Мы будем делать приложение-галерею с котиками. При нажатии на изображение будет открываться экран с подробностями. Благодаря фреймворку переход из сетки изображений в окно с подробностями будет сопровождаться анимацией.
Если вы желаете увидеть, что получилось — готовое приложение находится на GitHub.
+19
Подводные камни Entity Framework и производительность
15 min
68KПри работе с Entity Framework, как и с любым другими ORM, часто возникают вопросы, связанные с его производительностью. Многие разработчики из-за незнания нюансов делают ошибки, приводящие к плохим результатам. Затем, во время анализа проблем и поиска решений, недостаточно разобравшись в вопросе, приходят к выводу, что улучшить ситуацию можно только переходом на другой ORM или отказом от него вообще. Хоть в некоторых ситуациях такое решение может оказаться разумным, зачастую не все так плохо — просто нужно знать нюансы. В этой статье я попытался собрать те подводные камни, с которыми мне чаще всего приходилось сталкиваться на практике.
+28
Тестирование мобильных приложений: tips & tricks
12 min
131KНаша новая статья представляет собой список рекомендаций и советов. Из неё вы узнаете:
Начинающим тестировщикам советы могут помочь расти быстрее, а более опытным — упорядочить знания. Статья также будет полезна разработчикам, продакт-менеджерам и менеджерам проектов, словом — всем, кто хочет улучшить качество продукта и наладить взаимодействие между отделами.
1. Используйте принципы эвристики и мнемоники — они помогают удержать в голове все аспекты, которые нужно учесть при тестировании фичи или приложения.
2. Скриншоты, логи и видео — лучшие аргументы тестировщика!
К сожалению, с логами «общения» с сервером зачастую не всё так гладко, как с клиентскими логами. Обычно они добавляются скорее для удобства разработчика при отладке работы с сервером, чем для работы тестировщика.
- как облегчить процесс тестирования мобильных приложений в целом;
- о специфике работы с сетью, внутренними и внешними сервисами, платформах iOS и Android;
- какие процессные решения и изменения позволят вам развиваться быстрее и вводить культуру тестирования в отделе разработки;
- какие существуют полезные инструменты и решения для тестирования, отладки, мониторинга и миграции пользователей.
Начинающим тестировщикам советы могут помочь расти быстрее, а более опытным — упорядочить знания. Статья также будет полезна разработчикам, продакт-менеджерам и менеджерам проектов, словом — всем, кто хочет улучшить качество продукта и наладить взаимодействие между отделами.
Как облегчить процесс тестирования?
1. Используйте принципы эвристики и мнемоники — они помогают удержать в голове все аспекты, которые нужно учесть при тестировании фичи или приложения.
- Набор интеллект-карт на все случаи жизни: test insane, ministry of testing
- Эвристики, мнемоники: I SLICED UP FUN (моя любимая), COP FLUNG GUN, SFDPOT, LONG FUN CUP
2. Скриншоты, логи и видео — лучшие аргументы тестировщика!
К сожалению, с логами «общения» с сервером зачастую не всё так гладко, как с клиентскими логами. Обычно они добавляются скорее для удобства разработчика при отладке работы с сервером, чем для работы тестировщика.
+27
SVG-иконки – много и со стилем
14 min
51K
Маленький рассказ о том, как наша команда решила организовать иконки в грядущем проекте. Чуть-чуть исторического экскурса, взгляды по сторонам (на PNG и векторные шрифты) и рассказ о том, как мы всё-таки обустроились в итоге.
+55
Балансировка 70 тысяч запросов в секунду на HighLoad++
5 min
39K
Библиотека докладов
Это не просто статья — это целая библиотека докладов про внутреннее устройство тех или иных крупных и высоконагруженных проектов. Все эти доклады звучали на конференциях HighLoad++ и РИТ++ за последние несколько лет.
+33
Рецепты под Android: Как вкусно приготовить LayoutManager
16 min
49KTutorial
Привет хабр!
Мы любим разрабатывать мобильные приложения, отличающиеся от своих собратьев как по функциям, так и по пользовательскому интерфейсу. В прошлый раз мы рассказали о клиент-серверном взаимодействии в одном из наших приложений, а в этот раз поделимся реализацией его UI фичи с помощью написанного с нуля LayoutManager. Думаем, что статья будет полезна не только начинающим андроид-разработчикам, но и более продвинутым специалистам.

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

+33
Анализ защиты Sony PlayStation 4
25 min
104KTranslation

Поскольку никаких публичных заявлений касательно взлома PS4 не поступало уже давно, настало время нарушить тишину и рассказать немного о том, как далеко зашел прогресс в отношении взлома PS4, а так же о причинах, которые мешают продвинуться дальше.
В данной статье я затрону некоторые принципы безопасности, касающиеся всех современных систем, а также поделюсь своими находками, сделанными благодаря выполнению ROP-тестов на моей PS4.
Если вы плохо знакомы с применением эксплойтов, вам cледует сначала прочитать мою прошлую статью про взлом игр DS с помощью уязвимости целостности стека (stack smash) в файлах сохранений.
Загрузить всё необходимое для собственных экспериментов можно здесь, на данный момент поддерживается исключительно прошивка 1.76.
+117
Microsoft добавил средство сбора телеметрии в Windows 7/8/8.1
1 min
301KСегодня на MS Windows 7 и 8.1 прилетели обновления KB3080149 и KB3075249. Телеметрическая информация передаётся на следующие сервера:
Передача осуществляется через TCP по порту 443 с использованием SSL.
Дляпараноиков людей, беспокоящихся о несанкционированной передаче информации Microsoft (далее возможно и третьим лицам), предлагаю добавить сервера в список исключений маршрутизатора, а следующие строчки в файл hosts (%windir%\System32\drivers\etc\hosts):
vortex-win.data.microsoft.com
settings-win.data.microsoft.com
Передача осуществляется через TCP по порту 443 с использованием SSL.
Для
127.0.0.1 vortex-win.data.microsoft.com
127.0.0.1 settings-win.data.microsoft.com
+66
Некоторый опыт разработки игры на Unity3D
6 min
37KНе считаю себя опытным программистом и тем более серьезным разработчиком игр. Я человек, который увлекается программированием и у меня немного получается. Статья не претендует называться учебным материалом, или наставлением.
Скриношты для привлечения внимания:

Стоит ли заниматься подобным, не имея серьезных знаний в разработке игр, моделировании, программировании? Ответа на вопрос от меня не последует, он у каждого будет свой. С уверенностью могу сказать точно — я не пожалел. Я попытаюсь кратко и четко выделить и описать узкие места с которыми я столкнулся, проложить карту по граблям.
Unity3d с недавних пор разрешено использовать бесплатно и на всю мощь. Я долго метался между несколькими движками, но c# оказался для меня решающим преимуществом. Кроме того, в Unity3d очень удобный способ построения пользовательского интерфейса. Для тех кто не боится Lua, также могу посоветовать Project Anarchy, или Unreal Engine 4 если не брезгуете визуальным программированием. У меня сложилось впечатление, что Unity3D прекрасно подходит для мобильной разработки. К сожалению у Unity3D слабое русскоязычное комьюнити и нередко приходится лезть на официальный qa.
Скриношты для привлечения внимания:


Моральная сторона вопроса
Стоит ли заниматься подобным, не имея серьезных знаний в разработке игр, моделировании, программировании? Ответа на вопрос от меня не последует, он у каждого будет свой. С уверенностью могу сказать точно — я не пожалел. Я попытаюсь кратко и четко выделить и описать узкие места с которыми я столкнулся, проложить карту по граблям.
Unity3d
Unity3d с недавних пор разрешено использовать бесплатно и на всю мощь. Я долго метался между несколькими движками, но c# оказался для меня решающим преимуществом. Кроме того, в Unity3d очень удобный способ построения пользовательского интерфейса. Для тех кто не боится Lua, также могу посоветовать Project Anarchy, или Unreal Engine 4 если не брезгуете визуальным программированием. У меня сложилось впечатление, что Unity3D прекрасно подходит для мобильной разработки. К сожалению у Unity3D слабое русскоязычное комьюнити и нередко приходится лезть на официальный qa.
+12
6 вещей, который я хотел бы знать перед разработкой своего первого Android-приложения
5 min
28KTranslation
От переводчика: перевод делался сходу, за один присест, так что в некоторых местах может быть немного топорным. В любом случае, вы знаете, куда писать об ошибках.
В комментариях к оригинальной статье есть несколько здравых мыслей, как, например, не использовать библиотеки с мира «большой» джавы, так как они слишком объемные, или использовать всякие Glide-ы вместо Picasso (с чем я, впрочем, согласен). Можете посмотреть, если интересно.
И еще, я не придумал, как заставить отображаться сниппеты с гитхаба, так что я просто скопировал код.
Мое первое приложение было ужасным. В самом деле, оно было настолько кошмарным, что я удалил его с маркета и больше даже не буду указывать его в своем резюме. То приложение могло быть не настолько ужасным, если бы я знал несколько вещей об Android-разработке перед его написанием.
Далее следует список вещей, которые надо понимать во время разработки вашего первого приложения под Android. Эти уроки были извлечены из реальных ошибок, которые я делал в исходном коде моей первой программы, — ошибкок, которые я буду приводить ниже. Понимание этих вещей поможет вам написать приложение, которым вы будете гордиться чуть больше.
Конечно, если вы пишете что-то по ходу изучения Android-разработки, скорее всего, позже вы все равно возненавидите свое творение. Как сказал @codestandards:
(Если код, который вы написали год назад, не кажется вам плохим, вы, наверное, недостаточно учились)
В комментариях к оригинальной статье есть несколько здравых мыслей, как, например, не использовать библиотеки с мира «большой» джавы, так как они слишком объемные, или использовать всякие Glide-ы вместо Picasso (с чем я, впрочем, согласен). Можете посмотреть, если интересно.
И еще, я не придумал, как заставить отображаться сниппеты с гитхаба, так что я просто скопировал код.
Мое первое приложение было ужасным. В самом деле, оно было настолько кошмарным, что я удалил его с маркета и больше даже не буду указывать его в своем резюме. То приложение могло быть не настолько ужасным, если бы я знал несколько вещей об Android-разработке перед его написанием.
Далее следует список вещей, которые надо понимать во время разработки вашего первого приложения под Android. Эти уроки были извлечены из реальных ошибок, которые я делал в исходном коде моей первой программы, — ошибкок, которые я буду приводить ниже. Понимание этих вещей поможет вам написать приложение, которым вы будете гордиться чуть больше.
Конечно, если вы пишете что-то по ходу изучения Android-разработки, скорее всего, позже вы все равно возненавидите свое творение. Как сказал @codestandards:
If the code you wrote a year ago doesn't seem bad to you, you're probably not learning enough.— Code Standards ( @codestandards) 21 мая 2015
(Если код, который вы написали год назад, не кажется вам плохим, вы, наверное, недостаточно учились)
+11
Основы успешной реализации push-уведомлений для мобильных приложений
5 min
91KНаши разработчики в Techmas часто сталкиваются с задачами создания уведомлений (push notifications). Несмотря на простоту и популярность технологии, в её реализации есть ряд особенностей, о которых и пойдёт речь в этой статье.


+10
Устройство WebP
3 min
26KWebP — сравнительно новый формат от Google. Картинки в этом формате занимают на 30% меньше места на странице благодаря особому сжатию, построенному на кодировании ключевых кадров в видеокодеке VP8.
WebP поддерживает сжатие с потерями и без, разные степени прозрачности, метаданные и может содержать встроенный ICC-профиль. Но пока не все браузеры и приложения поддерживают формат.

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

+30
Семь удивительных «возможностей» Javascript
5 min
66KTranslation
За последние несколько месяцев я сделал несколько доработок для
Наверняка вы знаете, что в любом цикле можно использовать ключевые слова
JSHint
, в основном с целью изучить ES6 (я особенно горжусь тем, как переделано обнаружение областей видимости для переменных). Во время этого процесса я наткнулся на несколько вещей, которые меня удивили — в основном, в ES6, однако есть и кое-что про ES3, что я до этого никогда не использовал.Break из любого блока
Наверняка вы знаете, что в любом цикле можно использовать ключевые слова
break
и continue
— это стандартная возможность в современных языках программирования. Однако не все знают, что циклам можно давать метки и с их помощью прерывать любой конкретный цикл:outer: for(var i = 0; i < 4; i++) {
while(true) {
continue outer;
}
}
+51
Лекция Дмитрия Ветрова о математике больших данных: тензоры, нейросети, байесовский вывод
2 min
49KСегодня лекция одного из самых известных в России специалистов по машинному обучению Дмитрия Ветрова, который руководит департаментом больших данных и информационного поиска на факультете компьютерных наук, работающим во ВШЭ при поддержке Яндекса.
Как можно хранить и обрабатывать многомерные массивы в линейных по памяти структурах? Что дает обучение нейронных сетей из триллионов триллионов нейронов и как можно осуществить его без переобучения? Можно ли обрабатывать информацию «на лету», не сохраняя поступающие последовательно данные? Как оптимизировать функцию за время меньшее чем уходит на ее вычисление в одной точке? Что дает обучение по слаборазмеченным данным? И почему для решения всех перечисленных выше задач надо хорошо знать математику? И другое дальше.
Люди и их устройства стали генерировать такое количество данных, что за их ростом не успевают даже вычислительные мощности крупных компаний. И хотя без таких ресурсов работа с данными невозможна, полезными их делают люди. Сейчас мы находимся на этапе, когда информации так много, что традиционные математические методы и модели становятся неприменимы. Из лекции Дмитрия Петровича вы узнаете, почему вам надо хорошо знать математику для работы с машинным обучением и обработкой данных. И какая «новая математика» понадобится вам для этого. Слайды презентации — под катом.
Как можно хранить и обрабатывать многомерные массивы в линейных по памяти структурах? Что дает обучение нейронных сетей из триллионов триллионов нейронов и как можно осуществить его без переобучения? Можно ли обрабатывать информацию «на лету», не сохраняя поступающие последовательно данные? Как оптимизировать функцию за время меньшее чем уходит на ее вычисление в одной точке? Что дает обучение по слаборазмеченным данным? И почему для решения всех перечисленных выше задач надо хорошо знать математику? И другое дальше.
Люди и их устройства стали генерировать такое количество данных, что за их ростом не успевают даже вычислительные мощности крупных компаний. И хотя без таких ресурсов работа с данными невозможна, полезными их делают люди. Сейчас мы находимся на этапе, когда информации так много, что традиционные математические методы и модели становятся неприменимы. Из лекции Дмитрия Петровича вы узнаете, почему вам надо хорошо знать математику для работы с машинным обучением и обработкой данных. И какая «новая математика» понадобится вам для этого. Слайды презентации — под катом.
+56
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity