Pull to refresh
0
0
Михаил Понькин @MPonkin

Android разработчик

Send message

Droidcon London. Как это было

Reading time6 min
Views2.9K


На днях в Лондоне прошла конференция droidcon. Её не обошли стороной такие модные темы, как Redux, MVI, оптимизация скорости сборки и возможности Gradle. Открывал мероприятие доклад Чета Хаазе (Chet Haase) и Ромена Ги (Romain Guy) про фрагментацию памяти и отличия Garbage Collector между версиями Android, а Джейк Уортон (Jake Wharton) выступил с презентацией про Dagger.

В этом обзоре я хочу поделиться своими впечатлениями от конференции и деталями этих докладов.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments3

А/В-тесты на Android от А до Я

Reading time7 min
Views12K
image

Большая часть статей об A/B-тестах посвящена веб-разработке, и несмотря на актуальность этого инструмента и для других платформ, мобильная разработка несправедливо остаётся в стороне. Мы попытаемся эту несправедливость устранить, описав основные шаги и раскрыв особенности реализации и проведения A/B-тестов на мобильных платформах.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments1

Лицензия на вождение болида, или почему приложения должны быть Single-Activity

Reading time14 min
Views60K

image


На AppsConf 2018, которая прошла 8-9 октября, я выступил с докладом про создание андроид-приложений целиком в одном Activity. Хотя тема известная, существует много предубеждений относительно такого выбора — переполненный зал и количество вопросов после выступления тому подтверждение. Чтобы не ждать видеозаписи, я решил сделать статью с расшифровкой выступления.



О чем я расскажу


  1. Почему и зачем надо переходить на Single-Activity
  2. Универсальный подход для решения задач, которые вы привыкли решать на нескольких Activity
  3. Примеры стандартных бизнес задач
  4. Узкие места, где обычно подпирают код, а не делают все честно
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments81

9 лучших книг про IT и программирование, которые вы могли пропустить

Reading time4 min
Views129K
image

Помните, Льюис Кэрролл писал: «Здесь приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее»? Это фраза прекрасно подходит для IT-мира: технологии быстро развиваются, и каждый день нужно осваивать что-то новое, чтобы оставаться востребованным специалистом. У каждого программиста наверняка есть 5-6 бумажных книг, ставших классикой. О некоторых таких книгах мы уже писали. Но чтобы оставаться востребованным кодером, надо постоянно обновлять библиотеку. В прошлом году портал DevMountain сделал подборку из семи не слишком популярных книг для начинающих программистов. Учитывалась не только оценка портала, но и отзывы на Amazon, а также рекомендации популярных блогов. Автор GeekBrains Илья Бубнов внимательно изучил этот список, а также дополнил подборку парой свежайших экземпляров.
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments3

Топливо для ИИ: подборка открытых датасетов для машинного обучения

Reading time6 min
Views81K


Связанные проекты сообщества Open Data (проект Linked Open Data Cloud). Многие датасеты на этой диаграмме могут включать в себя данные, защищенные авторским правом, и они не упоминаются в данной статье


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


Добавьте к этому доступность больших вычислительных мощностей, и вы поймете, что для полного счастья не хватает лишь одного ингредиента — данных. Огромное количество данных находится в открытом доступе, однако непросто понять, на какие из открытых датасетов стоит обратить внимание, какие из них годятся для проверки идей, а какие могут быть полезны в качестве средства проверки потенциальных продуктов или их свойств до того, как вы накопите собственные проприетарные данные.


Мы разобрались в этом вопросе и собрали данные по датасетам, удовлетворяющим критериям открытости, востребованности, скорости работы и близости к реальным задачам.

Читать дальше →
Total votes 65: ↑65 and ↓0+65
Comments10

Рынки на триллион, или успеть сделать за 10 лет

Reading time5 min
Views9.4K
Сегодня начинаю масштабное исследование ведущих рынков в IT-сфере, а именно:

  1. Киберспорт;
  2. IoT (Интерент вещей);
  3. Блокчейн;
  4. ...

Список будет продолжен, если материал окажется полезным, интересным и важным для сообщества. В каждом разделе будут описаны следующие элементы:

  1. Общее видение рынка;
  2. Цифры и факты;
  3. Ниши, которые закрываются новыми проектами.

И начну — с киберспорта. Почему?
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments10

Дайджест интересных материалов для мобильного разработчика #220 (4 сентября — 10 сентября)

Reading time3 min
Views9.3K
Пока мы готовимся к премьере новых iPhone, давайте посмотрим на последний отсчет Google, дизайн ВКонтакте, использование CoreML и преимущества ARCore, посчитаем математику кликеров и иллюзию выбора. Все это и многое другое в новом дайджесте!

Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments0
Для айтишника, погруженного в работу, идеальный мир – это когда все бытовые вопросы можно решить в несколько «кликов» – в приложениях или сервисах в сети. Реальность же заставляет интроверта вживую общаться с незнакомыми людьми. Например, при аренде жилья. Правда, прогресс добрался и сюда, позволяя обойтись без контактов с людьми и при этом быть уверенным в безопасности и комфорте. Вот он настал — момент, который ненавидит большинство интровертов: нужно найти и снять квартиру. И как бы ни был всесилен интернет, придется выходить из зоны комфорта. Через «не могу» общаться с большим количеством людей, ездить на просмотры, обговаривать условия с риелторами и владельцами. Задавать неудобные вопросы и формулировать ожидаемые ответы.
Читать далее
Total votes 36: ↑32 and ↓4+28
Comments31

Заблуждения Clean Architecture

Reading time15 min
Views427K
Превращаем круги в блоки

­­ 


На первый взгляд, Clean Architecture – довольно простой набор рекомендаций к построению приложений. Но и я, и многие мои коллеги, сильные разработчики, осознали эту архитектуру не сразу. А в последнее время в чатах и интернете я вижу всё больше ошибочных представлений, связанных с ней. Этой статьёй я хочу помочь сообществу лучше понять Clean Architecture и избавиться от распространенных заблуждений.

Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments203

У нас длинные руки: 7 зарубежных площадок, на которых можно найти удалённую работу

Reading time3 min
Views134K
Развитие телекоммуникационных технологий — это win-win для работодателей и работников: компании могут находить таланты по всему миру, а люди могут работать откуда угодно, лишь бы был Wi-Fi. И популярность удалённой работы лишь растёт. К примеру, согласно отчёту Gallup, в 2015 году 37% респондентов ответили, что работают удалённо частично или весь рабочий день. Это было на 7 процентных пунктов больше, чем в 2008. И нет причин считать, что эта тенденция сегодня изменилась.

Чем больше людей обращаются к подработке, фрилансу или удалённой работе на полную ставку, тем чаще возникает вопрос: где именно мне найти работу, которая позволит отказаться от поездок в офис? Предлагаем вашему вниманию семь зарубежных площадок, на которых можно найти удалённую работу.
Читать дальше →
Total votes 50: ↑49 and ↓1+48
Comments35

Play with Docker — онлайн-сервис для практического знакомства с Docker

Reading time4 min
Views69K


В конце прошлого года два капитана Docker представили свою разработку под названием Play with Docker (PWD) — «игровую площадку для Docker». Пользователям предлагается бесплатно поработать со сборкой и запуском Docker-контейнеров прямо в веб-браузере, а также выполнить лабораторные работы для знакомства с Docker с нуля и совершенствования своих навыков.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments6

Читаем, слушаем, используем. Гайд по источникам для саморазвития Android-разработчика

Reading time5 min
Views23K
Пару недель назад я опубликовал “дорожную карту” по развитию для iOS-разработчиков. Теперь, как и обещал, — подобная подборка ресурсов для тех, кто работает с Android. Важный момент — разных источников много, но я выбрал именно те, что постоянно читаю сам, и в чём нахожу пользу. Итак, регулярные рассылки, блоги (личные, коллективные и в видеоформате), подкасты, живые чаты на русском языке, telegram-каналы и огонь-события — всё здесь, под катом.


Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments3

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

Reading time12 min
Views6.5K
В этой статье будет продемонстрирована техника обработки информации по биржевым котировкам с помощью пакета pandas (python), а также изучены некоторые «мифы и легенды» биржевой торговли посредством применения методов математической статистики. Попутно кратко рассмотрим особенности использования библиотеки plotly.

Одной из легенд трейдеров является понятие «локомотива». Описать ее можно следующим образом: есть бумаги «ведущие» и есть бумаги «ведомые». Если поверить в существование подобной закономерности, то можно «предсказывать» будущие движения финансового инструмента по движению «локомотивов» («ведущих» бумаг). Так ли это? Есть ли под этим основания?
image
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments10

Как вырваться из чтения туториалов по программированию

Reading time4 min
Views32K

У всех это было: учишь какой-то язык, штудируешь один учебник за другим — и ничего. Тогда начинаешь сомневаться: «это слишком сложно», «программирование, наверное, не для меня». Уверен, это чувство вам знакомо.

Меня самого недавно настигла эта напасть: мне — уже неплохо освоившемуся младшему PHP-разработчику — вдруг захотелось слегка глубже изучить Python, особенно Django.

Поискав в Интернете, я нашел чуть ли не идеальное руководство: достаточно сложное, чтобы было интересно, но и не слишком перегруженное.

Там предусматривалась работа над проектом, и мне понравился его конечный внешний вид. Казалось даже, что это будет достаточно интересно, чтобы добавить к моему постоянно растущему портфолио.

Однако осилив 80% руководства, я начал сомневаться. Я просмотрел видео и вручную переписал весь код. У меня был отличный проект, который можно показать другим. Так почему же мне казалось, что за все это время навыков у меня не прибавилось?

Переведено в Alconost
Читать дальше →
Total votes 14: ↑9 and ↓5+4
Comments29

Изучите все языки программирования

Reading time9 min
Views85K
Когда я был ещё первокурсником, то познакомился с другим студентом, который утверждал, что может писать код на любом языке программирования, который я смогу назвать. Я был несколько шокирован и ответил подначкой:

— Что, даже на том нечитаемом эзотерическом языке, где есть всего пара команд, которые едва-едва симулируют машину Тьюринга?
— Да, этот язык называется brainfuck. Я знаю brainfuck.

И это был не трюк — мы проверили. Я называл известный мне язык программирования, он тратил пару минут в Интернете на то, чтобы освежить свои знания по нему — и был способен писать на этом языке работающие алгоритмы. Я никак не мог понять этого. Ему, как и мне, было тогда около 18 лет — как он мог в этом возрасте знать все эти языки?

image
Интерпретатор brainfuck, написанный на brainfuck

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

Сегодня я советую своим студентам «постараться изучить все языки программирования». Подумайте сами — ведь эта идея лучше, чем все вот эти «В этом году я выучу Go! Ой, нет, теперь говорят что в моде Rust — выучу лучше Rust! Или Swift ...». Просто выучите все — не ошибётесь. А эта статья, возможно, вам в этом немного поможет.
Читать дальше →
Total votes 89: ↑81 and ↓8+73
Comments94

«Айсберг вместо Оскара!» или как я пробовал освоить азы DataScience на kaggle

Reading time11 min
Views24K
В моей прошлой статье посвящённой освоению науки о данных (или по заграничному — Data Science) с абсолютного нуля (даже ниже чем -273 градуса по Кельвину) я обещал, что подготовлю материал о том, как я осваивал kaggle (буду писать с маленькой буквы, как у них на логотипе).

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

Если вам интересно что же в итоге у меня из всего это вышло прошу под кат.

UPD: На свежую голову добавил небольшие пояснения про вкладку «данные» и про переобучение модели.


Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments3

Как HBO делала приложение Not Hotdog для сериала «Кремниевая долина»

Reading time23 min
Views24K


Сериал HBO «Кремниевая долина» выпустил настоящее приложение ИИ, которое распознаёт хотдоги и не-хотдоги, как приложение в четвёртом эпизоде четвёртогого сезона (приложение сейчас доступно для Android, а также для iOS!)

Чтобы добиться этого, мы разработали специальную нейронную архитектуру, которая работает непосредственно на вашем телефоне, и обучили её с помощью TensorFlow, Keras и Nvidia GPU.
Total votes 25: ↑25 and ↓0+25
Comments12

Руководство: как использовать Python для алгоритмической торговли на бирже. Часть 1

Reading time8 min
Views88K


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

Среди наиболее популярных в сфере финансов языков программирования можно отметить R и Python, также часто используются C++, C# и Java. В опубликованном на сайте DataCamp руководстве речь идет о том, как начать использовать Python для создания финансовых приложений — мы представляем вам серию статей-адаптаций глав этого материала.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments4

«Прикорнуть немножечко»: чек-лист для короткого перерыва на сон

Reading time3 min
Views29K
Здоровый сон — понятие субъективное. Работать над улучшением качества сна сложно или практически невозможно в силу индивидуальных жизненных обстоятельств. Мы решили подготовить краткий чек-лист, который поможет быстро погрузиться в эту тему и найти подходящие тематические источники, которые подойдут именно вам.

В любом случае: мы советуем проводить какие-либо кардинальные эксперименты после согласования своего плана действий со специалистами.


Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments11

React Native с колокольни Android-разработки часть 1

Reading time7 min
Views31K
На хабре есть множество статей про react native, но я не могу понять кем и для кого они написаны. Почти все имеют такой посыл: «Ну, это такой же React как в вебе, только на мобилках». А вот люди, которые занимаются нативной разработкой под мобильные устройства в пролете, ведь разобраться в реакте после Android без двух литров без глубокого изучения никак не получится. А я расскажу за реакт опираясь, внезапно, не на веб разработку, а на Android. Всем заинтересованным добро пожаловать под кат.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments28
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity