Как стать автором
Обновить
15
0
Lungo @Lungo

Android developer @ Ring

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

20 инструментов Android-разработчика, о которых вы могли не знать

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

Набор полезных, но не очень известных инструментов и библиотек Android.

Работая над статьями о 30 лучших библиотеках и проектах Android 2019 г. и 25 лучших библиотеках и проектах Android 2020 г., я наткнулся на множество замечательных инструментов и проектов, которые могут пригодиться в разработке приложений для Android — ниже они приведены в случайном порядке. Пользуйтесь!

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

Как разрушалась личность блестящего молодого программиста

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

Своими программами Ли Холлоуэй заложил основы компании Cloudflare, специализирующейся на интернет-безопасности. Но со временем он стал апатичным, непредсказуемым, отдалился от всех – и долгое время никто не мог понять, что с ним произошло.




В пятницу 13 сентября 2019 года Мэтью Принс и Мишель Зэтлин, сооснователи компании Cloudflare из Сан-Франциско, занимающейся интернет-безопасностью, стояли на узком мраморном балконе, с которого открывался вид на Нью-Йоркскую фондовую биржу. Стайка директоров компании сгрудилась рядом с Принсом, готовая вести вслух обратный отсчёт. «Громче! Громче! – призывал их Принс. – Пять! Четыре! Три!..» Ровно в 9:30 основатели потянулись к знаменитому колоколу биржи, знаменующему начало торгового дня, а также – выход их 10-летней компании на биржу. Так они изменили свою жизнь и сорвали куш. В тот момент они обогатились на миллионы долларов.

Более сотни сотрудников и инвесторов, стоявших внизу на первом этаже, разразились радостными криками, а их поднятые телефоны фотографировали происходящее. Кристин Холлоуэй, сотрудник №11, подняла взгляд на балкон, сделала несколько фотографий, а потом отправила их через мессенджер своему мужу, Ли Холлоуэю, третьему сооснователю компании. Он в это время находился дома, в Калифорнии. Периодически чьё-нибудь знакомое лицо выныривало из толпы, чтобы сказать ей: «Ли должен был быть здесь».
Всего голосов 169: ↑162 и ↓7+155
Комментарии222

42 оператора расширенного поиска Google (полный список)

Время на прочтение15 мин
Количество просмотров278K
Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

Большинство операторов легко запомнить, это короткие команды. Но уметь эффективно их использовать — совсем другая история. Многие специалисты знают основы, но немногие по-настоящему овладели этими командами.

В этой статье я поделюсь советами, которые помогут освоить поисковые операторы для 15 конкретных задач.
Читать дальше →
Всего голосов 127: ↑124 и ↓3+121
Комментарии40

3D печатный яйцебот всего за $15. Рецепт приготовления

Время на прочтение7 мин
Количество просмотров47K
Всем привет!

image

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

Для тех кто не в курсе яйцебот — это машина, которая обычным фломастером умеет рисовать на любых сферических объектах: яйцах, теннисных шариках, ёлочных игрушках. Концепт механизма придумал дизайнер Bruce Shapiro в далеком 1990-м году, а не так давно знаменитая компания Evil Mad Scientist Laboratories выпустила в свободную продажу свою версию под названием The EggBot. Надо отдать должное Evil Mad Scientist Laboratories свой проект сделала открытым и разрешает пользоваться программным обеспечением для других яйцеботов даже в коммерческих проектах.
Всего голосов 79: ↑79 и ↓0+79
Комментарии68

Путь, который стоило пройти, чтобы получить бесценный опыт в мобильной разработке

Время на прочтение7 мин
Количество просмотров15K
Привет, Хабр!

Пришло время подвести итоги 2016 года. Здесь пойдет речь о второй попытке повторить успех с образовательным приложением “Русский язык — грамотей”. (о другой попытке мы писали ранее)


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

Генерируем псевдослучайные ID а-ля Youtube

Время на прочтение4 мин
Количество просмотров24K
Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.


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

Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
Читать дальше →
Всего голосов 69: ↑63 и ↓6+57
Комментарии41

Полное практическое руководство по Docker: с нуля до кластера на AWS

Время на прочтение39 мин
Количество просмотров1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

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

5 UI фишек для современного Андроид приложения. Код, идеи и живой пример

Время на прочтение5 мин
Количество просмотров22K
image

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

Статья не ставит своей целью научить проектировать пользовательский интерфейс или объяснить сокровенный смысл Material дизайна, но надеюсь, приведенные примеры смогут вдохновить Ввас на эксперименты с дизайном ваших приложений.
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии15

Хабрасливки: золотые посты «Хабрахабра» и Geektimes

Время на прочтение15 мин
Количество просмотров43K
Прошлый топ статей Хабра/ГТ было интересно почитать, но не всех он обрадовал: кому-то показалось удивительным, что рейтинг по количеству просмотров состоит в основном из попсовых материалов. Но идея сделать более хардкорный топ меня всё-таки захватила достаточно, чтобы попытаться отсортировать все посты Хабра и ГТ по качеству. Я по-прежнему считаю, что лучше всего с этой задачей справится нейросеть, и наверное это можно сделать уже сейчас, если потратить достаточно много времени, показывая ей разные статьи с пометкой «торт/не торт», но пока я выбрал подход чуть попроще и с использованием имеющихся данных.

У рейтинга по просмотрам есть очевидные недостатки: публичный счётчик на Хабре появился только в 2012 году, да и большая чать просмотров приходит из поиска, и это абсолютно случайные люди. Очевидно, что качество статей Хабра должны оценивать сами хабрапользователи, поэтому подборка должна быть основана на оценках постов. Для выбора «золотых постов Хабра» я использовал хорошо зарекомендовавшую себя знакомую по Dirty.ru и ещё одному ресурсу систему определения золотых постов как публикаций, не менее 98% голосов за которые положительны.

  1. «Делаем приватный монитор из старого LCD монитора», kfedorov — 1484 проголосовало, 18 отрицательно (2011)
  2. «История игрушки. Поле Чудес», PapaBubaDiop — 933 проголосовало, 10 отрицательно (2011)
  3. «Как мы искали Марс-3», Zelenyikot — 677 проголосовало, 8 отрицательно (2013)
  4. «Читаем QR код», tgx — 621 проголосовало, 9 отрицательно (2011)
  5. «Бейджи для Хабра, версия», idenisenko — 562 проголосовало, 10 отрицательно (2011)
  6. «Загадка выпадающего списка «Амазона»», atomlib — 558 проголосовало, 10 отрицательно (2013)
  7. «Как я наказал Firaxis или история о том, как перебрать бинарный движок через глушитель», Harkonnen — 551 проголосовало, 4 отрицательно (2010)
  8. «Банкомат. Некоторые особенности», UserSide — 548 проголосовало, 6 отрицательно (2014)
  9. «Взгляд изнутри: светодиодные лампочки», Tiberius — 542 проголосовало, 5 отрицательно (2011)
  10. «Самодельный трекинг посылок, или Туда и Обратно», legrus — 533 проголосовало, 1 отрицательно (2013)

Читать дальше →
Всего голосов 48: ↑39 и ↓9+30
Комментарии29

Как «звучит» космос

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

Фото Paul Hudson CC-BY

Звук – это физическое явление, которое представляет собой упругие волны, распространяющиеся в определенной среде. В узком смысле под звуком понимают колебания, воспринимаемые органами слуха животных и человека. Барабанная перепонка в нашем ухе улавливает высокочастотные изменения давления воздуха, а мозг обрабатывает полученный сигнал.

В космосе мы ничего не слышим, поскольку там нет подходящей для распространения звука среды. Однако мы узнаем, если недалеко от нашей планеты произойдет вспышка сверхновой, – «взрыв» будет результатом деформирования атмосферы Земли под действием света.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии18

Какую библиотеку работы с HTTP в Android выбрать?

Время на прочтение6 мин
Количество просмотров68K
Представляю вашему вниманию перевод статьи «Which Android HTTP library to use?».

Для чего это вообще?


Сегодня почти все приложения используют HTTP/HTTPS запросы как своеобразный транспорт для своих данных. Даже если вы напрямую не используете эти протоколы, множество SDK, которые вы, скорее всего, уже включили в свои приложения (например, метрика, статистика падений, реклама), используют HTTP/HTTPS для работы с сетью. На сегодняшний день совсем немного существует библиотек, которые разработчик мог бы свободно использовать в своем проекте. И я постараюсь рассказать об основных из них в этом посте.
У Android-разработчиков есть много причин, чтобы сделать выбор в пользу сторонних библиотек, заместо уже встроенных API, таких как HttpURLConnection или Apache Client. Например:
Узнать зачем
Всего голосов 17: ↑15 и ↓2+13
Комментарии13

Справочник по синхронизаторам java.util.concurrent.*

Время на прочтение14 мин
Количество просмотров268K
Целью данной публикации не является полный анализ синхронизаторов из пакета java.util.concurrent. Пишу её, прежде всего, как справочник, который облегчит вхождение в тему и покажет возможности практического применения классов для синхронизации потоков (далее поток = thread).

В java.util.concurrent много различных классов, которые по функционалу можно поделить на группы: Concurrent Collections, Executors, Atomics и т.д. Одной из этих групп будет Synchronizers (синхронизаторы).



Синхронизаторы – вспомогательные утилиты для синхронизации потоков, которые дают возможность разработчику регулировать и/или ограничивать работу потоков и предоставляют более высокий уровень абстракции, чем основные примитивы языка (мониторы).
Читать дальше
Всего голосов 45: ↑41 и ↓4+37
Комментарии15

Ускорьте Ваше приложение. PERFMATTERS!.

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

Мои правила


Каждый раз, когда у меня возникает проблема в производительности, я следую этим правилам:
  • Всегда измеряйте — оптимизация с помощью глаз плохая идея. Когда вы просмотрели ту же анимацию несколько раз, вам кажется, что она выполняется быстрее. Цифры не врут. Используйте инструменты, о которых я расскажу, и измеряйте поведение вашего приложения несколько раз до и после того как делаете изменения.
  • Используйте медленные устройства — Если вы хотите найти все слабые места, вам больше помогут медленные устройства. Новые и производительные устройства не будут показывать ваши возможные проблемы производительности и не у всех ваших пользователей есть топ устройства.
  • Компромиссы — Оптимизация производительности всецело состоит из компромиссов. Вы оптимизируете одно в обмен на другое. Во многих случаях этот другой компромисс может быть потраченным временем на нахождение и исправление производительности, также он может быть качеством ваших растровых изображений или количеством данных которые вы должны хранить в определенной структуре данных. Приготовьтесь жертвовать чем-либо.

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

Intro to RxJava

Время на прочтение1 мин
Количество просмотров26K
В рамках образовательных программ в e-Legion мы проводим лекции по Android-разработке в лаборатории ИТИС КФУ. Двумя из них мы решили поделиться с вами. Лекции посвящены набирающему популярность фреймворку RxJava.

Лекция 1


В лекции рассказано про:
  • Общие идеи фреймворка RxJava, зачем это нужно и как с этим работать
  • Способы создания различных Observable и самые основные операции над ними
  • Основных операторов преобразования Observable, а также о методе cache
  • Операции соединения Observable и их последовательного / параллельного выполнения.


Презентация.
Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии3

Светодиодные лампы из магазина Ашан

Время на прочтение4 мин
Количество просмотров67K
Большинство светодиодных ламп, которые я тестирую и о которых пишу, можно купить только в специализированных интернет-магазинах, однако обычные покупатели как правило покупают лампы в гипермаркетах. Я съездил в магазины Ашан и Леруа Мерлен, купил там 48 моделей светодиодных ламп и протестировал их. Лампы вернул обратно в магазины, так как там есть возможность возврата. О лампах из Леруа Мерлен расскажу в следующий раз, сегодня — 22 лампы из Ашана.


Читать дальше →
Всего голосов 107: ↑105 и ↓2+103
Комментарии82

Разработка быстрых мобильных приложений на Android. Часть первая

Время на прочтение8 мин
Количество просмотров39K
В Edison мы часто сталкиваемся с оптимизацией мобильных приложений и хотим поделиться материалом, который считаем крайне полезным, если вы решаете одну из двух задач: а) хотите чтобы приложение меньше тормозило; б) хотите сделать красивый, мягкий и гладкий интерфейс для массового пользователя.
Предлагаем вашему вниманию первую часть перевода статьи Udi Cohen, которую мы использовали как пособие для обучения молодых коллег оптимизации под Android.



Несколько недель назад я выступил на Droidcon в Нью-Йорке с докладом об оптимизации производительности Android.

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

Мои основные правила, которым я следую при работе с оптимизацией:
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии2

400 потрясающих бесплатных сервисов

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

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Всего голосов 108: ↑89 и ↓19+70
Комментарии38

40 ключевых концепций информационных технологий доступно и понятно

Время на прочтение16 мин
Количество просмотров159K
Представляю вашему вниманию перевод очень ёмкой, и в то же время достаточно краткой (для такого масштаба проблемы) статьи Карла Чео. Я решил, что очень хочу сделать её перевод практически сразу, как только начал читать, и очень рад, что в итоге сделал это.
Для того, чтобы сделать обучение более веселым и интересным, представляю вам перечень важных теорий и концепций информатики, объяснённых с помощью аналогий с минимальным количеством технических деталей. Это будет похоже на очень быстрый курс информатики для всех с целью просто дать вам общее представление об основных концепциях.

Важные замечания:
  • Пункты с неуказанным источником написаны мной самостоятельно. Поправьте меня, если вы заметите какие-то неточности. Предложите лучшую аналогию, если это возможно.
  • Заголовки ссылаются на соответствующие им статьи в Wikipedia. Пожалуйста, читайте эти статьи для более серьезных и детальных объяснений.
  • Аналогии — отличный способ объяснить материал, но они не идеальны. Если вы хотите по-настоящему понять перечисленные концепции, вам следует начать с фундаментальных азов и рассуждать, исходя из них.

Также зацените эту инфографику (вариант на русском), если вы просто начинающий программист.
Читать дальше →
Всего голосов 104: ↑96 и ↓8+88
Комментарии37

Android Data Binding in RecyclerView

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


На Google IO 2015 анонсировали новую библиотеку Data Binding Library. Основная ее задача — вынесения взаимодействия модели и View в xml-файлы. Она значительно упрощает написание кода и избавляет от необходимости использования методов findByViewId(), добавления ссылок на view-элементы внутри Activity/Fragment’ов. Также она позволяет использовать кастомные атрибуты, привязывая их к статическим методам. Поскольку статьей просто по Data Binding уже достаточно, но по его использованию в RecycleView всего ничего, восполним этот пробел.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии10

Видеоролик NASA показывает формирование потоков мусора в океане за последние 35 лет

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


Визуализация помогает понять многое. Сухие цифры и факты — это хорошо, но человеку, пускай это даже академик, легче воспринимать все же наглядную информацию. Ученые NASA, которые работают в NASA SVS (Научная студия визуализации) понимают это, как никто другой. Эти специалисты уже много раз радовали нас различными роликами, и этот раз — не исключение.

Правда, радоваться особо нечему — специалисты взяли подробные данные о потоках мусора в океане, и сформировали очень наглядную картинку, позволяющую понять, что представляет из себя океан сейчас. Видеомодель создана с учетом движения множества океанических течений. Особенности течений приводят к тому, что в некоторых регионах формируются настоящие острова мусора, где все, что выбрасывает человек в море, скапливается, и плавает в практически неизменном виде многие годы.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Зарегистрирован
Активность