В статье «Moxy — реализация MVP под Android с щепоткой магии» мы рассказывали, как побороть проблему жизненного цикла и разделить код своего Android-проекта на слои. Однако MVP (даже при умной кодогенерации view state в Moxy) заставляет писать огромное количество лишнего кода (создавать связанные друг с другом классы и интерфейсы presenter и view). На самом деле эту работу за вас должен делать робот! :) Настало время еще сильнее уменьшить boilerplate при помощи кастомизации шаблонов Android Studio под Moxy.
Android developer
Прощай, объектно-ориентированное программирование
8 мин
105KПеревод
Я в течение десятилетий программировал на объектно-ориентированных языках. Первым из них стал С++, затем был Smalltalk, и наконец .NET и Java. Я фанатично использовал преимущества наследования, инкапсуляции и полиморфизма, этих трёх столпов парадигмы объектно-ориентированного программирования. Мне очень хотелось воспользоваться обещанным повторным использованием и прикоснуться к мудрости, накопленной моими предшественниками в этой новой и захватывающей сфере. Меня волновала сама мысль о том, что я могу мапить объекты реального мира в классы и думал, что весь мир можно аккуратно разложить по местам.
Я не мог ошибаться сильнее.
+11
Почему следует использовать RxJava в Android – краткое введение в RxJava
8 мин
31KПеревод
Здравствуйте все.
Мы продолжаем знакомить вас с нашим издательским поиском, и хотели прозондировать общественное мнение на тему RxJava.
В ближайшее время собираемся опубликовать более общий материал по реактивному программированию, которое нас также интересует не первый год, а сегодня предлагаем почитать о применении RxJava в Android, так как именно на этой платформе особенно важна динамичность и быстрота реагирования. Добро пожаловать под кат
Мы продолжаем знакомить вас с нашим издательским поиском, и хотели прозондировать общественное мнение на тему RxJava.
В ближайшее время собираемся опубликовать более общий материал по реактивному программированию, которое нас также интересует не первый год, а сегодня предлагаем почитать о применении RxJava в Android, так как именно на этой платформе особенно важна динамичность и быстрота реагирования. Добро пожаловать под кат
+15
Структура Android проекта – альтернативный путь
2 мин
22KПредлагаю вашему вниманию перевод статьи «Android Project Structure — alternative way». Поблагодарить автора оригинальной статьи можно тут.
Все мы знаем, как выглядит структура Android проекта – поместить все изображения в этот каталог, все файлы разметки в тот каталог. Но… во время разработки проекта количество файлов растет очень быстро и становится трудно ориентироваться и переходить к нужному файлу.
Структура типичного Android проекта
Intro
Все мы знаем, как выглядит структура Android проекта – поместить все изображения в этот каталог, все файлы разметки в тот каталог. Но… во время разработки проекта количество файлов растет очень быстро и становится трудно ориентироваться и переходить к нужному файлу.
Структура типичного Android проекта
+12
Динамический blur на Android
4 мин
34KИнформации о том как быстро размыть картинку на Android существует предостаточно.
Но можно ли сделать это настолько эффективно, чтобы без лагов перерисовывать размытый bitmap при любом изменении контента, как это реализовано в iOS?
Но можно ли сделать это настолько эффективно, чтобы без лагов перерисовывать размытый bitmap при любом изменении контента, как это реализовано в iOS?
+21
Material Design: философия и практика
8 мин
32K2 года прошло с того момента, как разработчики Google впервые представили свою концепцию дизайна пользовательского интерфейса, получившую название Material Design. О том, как далеко зашло практическое применение этой концепции, и чем на сегодняшний день Material Design является для рядовых разработчиков, мы побеседовали с Владимиром Ивановым, не просто поклонником и последователем идеи, а человеком, который больше года на практике работает с Material Design в своем приложении.
— Добрый день! Расскажите, пожалуйста, о себе и своей работе.
— Здравствуйте! Меня зовут Владимир Иванов, уже более 6 лет я пишу приложения под Android (и не только). Ранее занимался Kaspersky Safe Browser, а на данный момент работаю в компании, которая выпускает универсальное коммуникационное приложение Fonum. Правда, мы еще достаточно молоды: у нас есть только приложение под Android, и пока оно некоторым образом отстает от популярных мессенджеров. Однако у нас есть несколько инновационных идей, за счет которых мы планируем быстро нагнать конкурентов.
В компании я руковожу разработкой мобильных приложений, в частности, под Android.
— Ваше приложение построено по принципам material design, т.е. с концепцией вы сталкиваетесь на работе?
— Да, мы изначально выбрали material design в качестве основы подхода к приложению в целом. Т.е. можно сказать, что Fonum целиком и полностью воплощает идеи material design. Я буквально живу последний год с этой концепцией, пропитался духом и буквой этого подхода.
— Добрый день! Расскажите, пожалуйста, о себе и своей работе.
— Здравствуйте! Меня зовут Владимир Иванов, уже более 6 лет я пишу приложения под Android (и не только). Ранее занимался Kaspersky Safe Browser, а на данный момент работаю в компании, которая выпускает универсальное коммуникационное приложение Fonum. Правда, мы еще достаточно молоды: у нас есть только приложение под Android, и пока оно некоторым образом отстает от популярных мессенджеров. Однако у нас есть несколько инновационных идей, за счет которых мы планируем быстро нагнать конкурентов.
В компании я руковожу разработкой мобильных приложений, в частности, под Android.
— Ваше приложение построено по принципам material design, т.е. с концепцией вы сталкиваетесь на работе?
— Да, мы изначально выбрали material design в качестве основы подхода к приложению в целом. Т.е. можно сказать, что Fonum целиком и полностью воплощает идеи material design. Я буквально живу последний год с этой концепцией, пропитался духом и буквой этого подхода.
+9
Если вместо оформления на работу предлагают открыть ИП
9 мин
122KЯ сейчас в поисках работы программиста в Москве. И мне звонят некоторые кадровые агентства и интересуются есть ли у меня ИП, так как их клиент-работодатель вместо трудового договора с работниками заключает договоры оказания услуг или субподряда с ИП или ООО с одним учредителем, я их буду называть ИП в дальнейшем. ИП у меня нет, но есть не приносящее дохода ООО, где я веду бухучет самостоятельно. Поэтому и знаю, что это такое, какие именно налоги нужно платить и почему эта схема в России не законна и чем все это грозить горе-работнику, который на это согласился. Еще раз повторяю, я не юрист, а программист; то, что я опишу ниже, вполне могло устареть, измениться и т.п., и, если в комментариях укажут действующую норму, я не буду против.
+18
Справочник по Java Collections Framework
6 мин
772KДанная публикация не является полным разбором или анализом (не покрывает пакет
Java Collection Framework — иерархия интерфейсов и их реализаций, которая является частью JDK и позволяет разработчику пользоваться большим количесвом структур данных из «коробки».
На вершине иерархии в Java Collection Framework располагаются 2 интерфейса:
java.util.concurrent
). Это, скорее, справочник, который поможет начинающим разработчикам понять ключевые отличия одних коллекций от других, а более опытным разработчикам просто освежить материал в памяти.Что такое Java Collections Framework?
Java Collection Framework — иерархия интерфейсов и их реализаций, которая является частью JDK и позволяет разработчику пользоваться большим количесвом структур данных из «коробки».
Базовые понятия
На вершине иерархии в Java Collection Framework располагаются 2 интерфейса:
Collection
и Map
. Эти интерфейсы разделяют все коллекции, входящие во фреймворк на две части по типу хранения данных: простые последовательные наборы элементов и наборы пар «ключ — значение» (словари).+18
1
Асинхронные операции и пересоздание Activity в Android
11 мин
16KВ одной статье на хабре (274635) было продемонстрировано любопытное решение для передачи объекта из
Такое решение корректно функционирует до тех пор, пока Android не выгрузит ваше приложение. А он вправе это сделать.
onSaveInstanceState
в onRestoreInstanceState
без сериализации. Там используется метод writeStrongBinder(IBInder)
класса android.os.Parcel
.Такое решение корректно функционирует до тех пор, пока Android не выгрузит ваше приложение. А он вправе это сделать.
…system may safely kill its process to reclaim memory for other foreground or visible processes…
(http://developer.android.com/intl/ru/reference/android/app/Activity.html)
+12
Кюветы Android, Часть 2: SDK и Libraries
10 мин
23KРазрабатывая под Android, всегда нужно быть начеку. Шаг влево / шаг вправо — и вот прошел ещё один час за дебагом. Кюветы могут быть какие угодно: начиная от обычных багов в SDK и заканчивая неочевидными именами методов с контекстно зависимым результатом (да-да, Fragment.getFragmentManager(), это я о тебе).
В предыдущей статье были описаны кюветы «на поверхности» SDK, в которые угодить очень легко. На этот же раз кюветы будут поглубже, помудрёнее и поспецифичнее. Также будет несколько моментов, связанных с Retrofit 2 & Gson.
В предыдущей статье были описаны кюветы «на поверхности» SDK, в которые угодить очень легко. На этот же раз кюветы будут поглубже, помудрёнее и поспецифичнее. Также будет несколько моментов, связанных с Retrofit 2 & Gson.
+22
На сайте знакомств Ashley Madison работала армия женщин-ботов
3 мин
22KЖурналист и аналитик Фонда электронных рубежей Аннели Ньювиц (Annalee Newitz) продолжает изучение исходников сайта знакомств Ashley Madison, которые попали в открытый доступ в августе 2015 года (официальный пост от хакеров из Impact Team со ссылкой на торрент в дарквебе).
В прошлый раз Аннели изучила базу данных, в которой были колонки с названиями “bc_email_last_time,” “bc_chat_last_time” и “email_reply_last_time” — с указанием даты и времени для каждого пользователя. Сначала Аннели и другие специалисты решили, что таблицы содержат информацию о времени последней активности пользователя на сайте. При этом в ячейках было указано недавнее время преимущественно для мужчин, и очень редко для женщин.
На основании этого был сделан вывод, что на сайте присутствует всего 12 000 активных пользователей-женщин и десятки миллионов мужчин. Это оказалось ошибкой. Реальность оказалась куда более куда более интересной. Как выяснилось в ходе дальнейшего анализа исходников, колонки “bc_email_last_time,” “bc_chat_last_time” и “email_reply_last_time” соответствуют не дате и времени последней активности юзера, а дате и времени, когда с ним последний раз контактировал чатбот.
В прошлый раз Аннели изучила базу данных, в которой были колонки с названиями “bc_email_last_time,” “bc_chat_last_time” и “email_reply_last_time” — с указанием даты и времени для каждого пользователя. Сначала Аннели и другие специалисты решили, что таблицы содержат информацию о времени последней активности пользователя на сайте. При этом в ячейках было указано недавнее время преимущественно для мужчин, и очень редко для женщин.
На основании этого был сделан вывод, что на сайте присутствует всего 12 000 активных пользователей-женщин и десятки миллионов мужчин. Это оказалось ошибкой. Реальность оказалась куда более куда более интересной. Как выяснилось в ходе дальнейшего анализа исходников, колонки “bc_email_last_time,” “bc_chat_last_time” и “email_reply_last_time” соответствуют не дате и времени последней активности юзера, а дате и времени, когда с ним последний раз контактировал чатбот.
+29
Роботомобили Google теперь катаются по дорогам Остина
2 мин
6.7KКорпорация Google решила расширить «ареал обитания» своих небольших роботомобилей. Сейчас тестирование таких систем проводится и в Остине, Техас. Кстати, в прошлом году здесь же тестировались и «самоходные» автомобили Lexus. Ранее роботомобили Google тестировались только в Кремниевой долине, текущий выход за ее пределы — первый для этих систем.
Законодательство Техаса не предусматривает возможности тестирования автономных систем на дорогах (пока что такие законы есть только в Неваде, Флориде, Калифорнии и Мичигане), но представители Google провели ряд бесед с губернатором штата, с главой полиции и представителями Министерства транспорта Техаса. Мэр Остина уже заявил, что его город — идеальное место для проведения испытаний роботов-автомобилей, поскольку здесь всегда рады инновациям. Более того, мэр считает, что автомобили Google помогут снизить количество аварий и снять нагрузку на некоторые участки городских дорог. В итоге корпорации удалось договориться о тестировании, теперь можно ждать более-менее массового появления автомобильчиков Google в центре Остина через пару недель.
+18
Android архитектура клиент-серверного приложения
13 мин
106KТуториал
Клиент-серверные приложения являются самыми распространенными и в то же время самыми сложными в разработке. Проблемы возникают на любом этапе, от выбора средств для выполнения запросов до методов кэширования результата. Если вы хотите узнать, как можно грамотно организовать сложную архитектуру, которая обеспечит стабильную работу вашего приложения, прошу под кат.
+24
Атака на архиваторы. Скрываемся в одном архиве от трех программ
4 мин
40KСтатья показывает, как можно обхитрить внимательного пользователя, знакомого с азами социальной инженерии, следящего даже за расширениями файлов и ни в коей мере не призывает к использованию данной информации в незаконных целях. Цель – запустить исполняемый файл, выдав его за текстовый документ в zip-архиве, а если запустить вряд ли получится, то не дать распаковать или скрыть файл.
+40
Ручные огнемёты появились в свободной продаже в США
2 мин
16KРебята с Indiegogo всё-таки не успели выпустить в сентябре свой «первый коммерчески доступный ручной огнемёт» XM42. Их опередила компания XMatter LLC, которая уже начала продажи огнемёта X15, а также акусессуаров к нему — дополнительных баллончиков с углекислым газом и банок с напалмом.
+14
Фанаты ZX Spectrum воскресили любимый компьютер
2 мин
15KОдин из первых экземпляров ZX Vega
Компьютер и игровая приставка ZX Spectrum, которую можно считать прародителем современных Xbox и PlayStation, появилась в продаже в 1982 году. Для неё было создано множество простых, но увлекательных игр. Сейчас, более тридцати лет спустя, ZX Spectrum получил вторую жизнь благодаря тысячам фанатов культового гаджета.
Новая версия называется ZX Vega. Её разработчики успешно собрали средства на производство в рамках краудфандинговой кампании на Indiegogo, а две недели назад отправили покупателям первую тысячу компьютеров. 14 августа началась отправка второй партии.
+13
Как увеличить скорость работы 1С в 100 раз прямым обращением к MSSQL
3 мин
53KТуториал
Возникла задача пометить на удаление документы за 1 год. Эта операция выполняется перед бесследным удалением и включает выставление отметки и удаление движения по регистрам. Пробное удаление штатными средствами одного месяца заняло 4 часа. Это означало, что 12 месяцев удалялись бы 48 часов (2 суток). Забегая вперед, скажу, что прямым доступом к 1С документы удаляются за 30-40 минут. Обращение к MSSQL выполнялось через .Net framework и компонент .Net Bridge.
Структура базы данных 1С весьма запутана и состоит из малозначимых для человека названий. 1С содержит функцию определения структуры хранения по имени объекта. В основу разработки положена эта функция ПолучитьСтруктуруХраненияБазыДанных, которая согласно русскому названию возвращает описание структуры. В этой структуре важны 2 поля Назначение, которое должно быть равно «Основная», и название таблицы ИмяТаблицыХранения.
Определение имен таблиц MSSQL
Структура базы данных 1С весьма запутана и состоит из малозначимых для человека названий. 1С содержит функцию определения структуры хранения по имени объекта. В основу разработки положена эта функция ПолучитьСтруктуруХраненияБазыДанных, которая согласно русскому названию возвращает описание структуры. В этой структуре важны 2 поля Назначение, которое должно быть равно «Основная», и название таблицы ИмяТаблицыХранения.
+12
Ученые записали на видео работу нервной системы плодовой мушки
2 мин
9.7KНервная система не только человека, но и организмов, в том числе, насекомых — очень сложный для изучения объект. Несмотря на десятки лет исследований, ученые все еще не до конца понимают, как все это работает. Тем не менее, можно верить, что разгадка уже близка.
Как бы там ни было, но специалистам Медицинского института Говарда Хьюза удалось снять на видео работу центральной нервной системы дрозофилы, плодовой мухи. Результаты работы ученые опубликовали в авторитетном журнале Nature.
+18
Открыт новый вид пятиугольников, покрывающих плоскость
2 мин
105KВ мире математики сенсация. Открыт новый вид пятиугольников, которые покрывают плоскость без разрывов и без перекрытий.
Это всего 15-й вид таких пятиугольников и первый, открытый за последние 30 лет.
+72
Акции: первый серьезный опыт
7 мин
41KМой первый опыт инвестирования случился еще в школе, у нас уже появился dial-up, а спустя некоторое время и первые компании, предлагающие торговать на Forex. Отношение в тот момент ко всей этой торговле было исключительно игровое – я совершал сделки без особого анализа, используя самые простые индикаторы уровней на графике цены. Спустя годы я пришел «взрослую биржу».
Через несколько месяцев игры на валютах я заметил, что график регулярно «подтормаживает», а заявки на продажу или покупку валюты исполняются с задержкой и всегда не в мою пользу. Разобравшись в вопросе, я узнал, что большая часть компаний, связывающих себя с Forex, фактически не проводит операций на реальном рынке и в лучшем случае принимает ставки на изменения курса валюты на одноименном рынке. Наигравшись, я завязал.
Я никак не связан с финансами и поэтому лишь в 2014 году вернулся к торговле, начал читать статьи и книги по этой теме. Мой интерес был продиктован желанием научиться не только копить деньги, но и защищать их от инфляции и многих других страшных слов.
Совсем скоро я узнал, что на деле все не так сложно, а объем базовых знаний, необходимых для рационального управления личными деньгами, невелик.
Через несколько месяцев игры на валютах я заметил, что график регулярно «подтормаживает», а заявки на продажу или покупку валюты исполняются с задержкой и всегда не в мою пользу. Разобравшись в вопросе, я узнал, что большая часть компаний, связывающих себя с Forex, фактически не проводит операций на реальном рынке и в лучшем случае принимает ставки на изменения курса валюты на одноименном рынке. Наигравшись, я завязал.
Я никак не связан с финансами и поэтому лишь в 2014 году вернулся к торговле, начал читать статьи и книги по этой теме. Мой интерес был продиктован желанием научиться не только копить деньги, но и защищать их от инфляции и многих других страшных слов.
Совсем скоро я узнал, что на деле все не так сложно, а объем базовых знаний, необходимых для рационального управления личными деньгами, невелик.
+20
Информация
- В рейтинге
- Не участвует
- Откуда
- Россия
- Зарегистрирован
- Активность