Search
Write a publication
Pull to refresh
48
0
Артём Гапченко @artemgapchenko

Android Dev

Send message

Титаник на Kaggle: вы не дочитаете этот пост до конца

Reading time31 min
Views84K
Привет, хабр!

#{Data Science для новичков}

Меня зовут Глеб Морозов, мы с Вами уже знакомы по предыдущим статьям. По многочисленным просьбам продолжаю описывать опыт своего участия в образовательных проектах MLClass.ru (кстати, кто еще не успел — до конца еще можно получить материалы прошедших курсов — это, наверное, самый краткий и максимально практичный курс по анализу данных, который можно себе представить).

Данная работа описывает мою попытку создать модель для предсказания выживших пассажиров «Титаника». Основная задача — тренировка в использовании инструментов применяемых в Data Science для анализа данных и презентации результатов исследования, поэтому данная статья будет очень и очень длинной. Основное внимание уделено исследовательскому анализу (exploratory research) и работе по созданию и выбору предикторов (feature engineering). Модель создаётся в рамках соревнования Titanic: Machine Learning from Disaster проходящего на сайте Kaggle. В своей работе я буду использовать язык «R».
Читать дальше →

Подборка бесплатных инструментов для разработчиков

Reading time28 min
Views188K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →

Что нового и интересного в IntelliJ IDEA 15

Reading time4 min
Views29K
На прошлой неделе JetBrains объявила о выходе IntelliJ IDEA 15. Как всегда, IDE доступна в двух редакциях: коммерческая Ultimate и бесплатная Community Edition. Скачать новую версию можно на официальном сайте JetBrains. Этот пост вкратце о том, что в ней нового и интересного.

image

Kotlin
Главная новость заключается в том, что одновременно с релизом IntelliJ IDEA 15 вышел и Kotlin Beta — практически готовый к релизу JVM язык программирования, разрабатываемый в недрах JetBrains. В IntelliJ IDEA 15 поддержка Kotlin доступна “из коробки”.

Отладчик
Популярность Java 8 продолжает набирать обороты, а JetBrains продолжает делать отладчик более удобным для работы с лямбда-выражениями. При добавлении точки останова IDE теперь позволяет выбрать конкретное выражение. Перейти в конкретное лямбда-выражение теперь можно и при помощи Step Into и Run to Cursor.

Также в отладчик был добавлен инструмент Force Return. Он позволяет прервать исполнение текущего метода и вернуть выбранное значение. Это может быть удобно, если вы хотите поменять логику выполнения программы без изменения кода и без перезапуска.

Читать дальше →

Бунт против виртуальной машины

Reading time25 min
Views20K
Предлагаю вашему вниманию перевод статьи Rage Against the Virtual Machine.

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

Эвристики обнаружения, представленные в этой статье, охватывают три различные категории, основанные на (i) статических свойствах, (ii) динамической информации от датчиков и (iii) тонкостях работы эмулятора Android на виртуальных машинах. Для оценки эффективности представленных методов они были включены в образцы реальных вредоносных приложений и отправлены в публично доступные системы динамического анализа, после чего были получены тревожные результаты. Было обнаружено, что все инструменты и сервисы уязвимы для большинства наших техник уклонения от анализа. Даже тривиальные техники, такие как проверка значения IMEI, достаточны для обхода некоторых существующих сред динамического анализа. Также предложены возможные контрмеры для улучшения устойчивости текущих инструментов динамического анализа против попыток уклонения от анализа.
Читать дальше →

Технические собеседования: советы

Reading time5 min
Views38K
Привет, Хабр!

У команды Хекслета немало опыта проведения технических собеседований. Мы делились опытом и советами в вебинаре «Собеседования: взгляд со стороны работодателя». А сегодня публикуем перевод статьи с советами от компании, которая помогает людям готовиться к собеседованиям.

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

Лекции Технопарка: мастер-класс Алексея Рыбака «Про то, что я бы хотел, чтобы мне рассказали, пока я учился»

Reading time25 min
Views47K
Сегодня мы начинаем серию публикаций новых мастер-классов Технопарка. И первая из них — мастер-класс Алексея Рыбака на свободную тему, в котором он поделился со студентами соображениями о том, чем работа в реальной жизни отличается от учебы. Видео смотрите на нашем сайте, а адаптированную расшифровку — ниже.

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

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


Читать дальше →

По горячим следам DroidCon Moscow 2015

Reading time19 min
Views5.1K


С 25 по 27 сентября в Москве проходил DroidCon, крупнейшая евразийская конференция для Android-разработчиков. Гости и выступающие собрались в офисе Mail.ru, занимающем одну из 27-этажных башен бизнес-центра. Сама конференция шла три дня, и программа выступлений каждого дня была рассчитана на разную целевую аудиторию.
Читать дальше →

Давайте поковыряем This War of Mine глубже: что в игромеханике?

Reading time11 min
Views113K


Игра гениальная. Она ещё год назад взорвала кучу изданий тем, как быстро и эффективно доносит до игрока ужасы войны. Поэтому предлагаю забраться немного «под капот». Сразу говорю — игра не наша, и отношения к нам не имеет.

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

Итак, напомню: основная задача игры — погрузить человека в состояние «быть гражданским на войне и попробовать выжить», чтобы даже до самых отмороженных дошло, как это плохо. Соответственно, всё остальное строится именно вокруг этого. При этом сама по себе игра должна быть:
  • Интересной.
  • С простым порогом входа.
  • Реалистичной для задач погружения.

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

Внимание, ниже немного спойлеров и много скриншотов (трафик).
Читать дальше →

На что обратить внимание ИТ-руководителю

Reading time2 min
Views23K
Сегодня мы решили заглянуть в один из тредов на Hacker News и проанализировать тематическое обсуждение проблемы, связанной с переходом к управленческой работе ИТ-специалистов.

Читать дальше →

Пагинация списков в Android с RxJava. Часть I

Reading time13 min
Views41K
Часто при разработке клиента мы сталкиваемся с задачей отображения какой-либо информации с сервера, базы данных или еще чего-нибудь в виде списка. И при прокручивании списка данные должны автоматически подгружаться и вставляться в список незаметно для пользователя. У пользователя вообще должно сложиться впечатление, что он скроллит бесконечный список.

В данной статье я бы хотел рассказать вам о том, как сделать автоподгружаемый список простейшим в реализации для разработчика и максимально эффективным и быстрым для пользователя. А также о том, как нам в этом здорово поможет RxJava с ее главной догмой — «Everything is Stream!»
Читать дальше →

Гугл-Цюрих глазами сибиряка-фрилансера

Reading time19 min
Views67K

Расскажи мне полуправду, как полуэльф полуэльфу...

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

Ни в коей мере не считая себя чем-то выдающимся (ну, разве что, пузом), решил ответить на вопросы «а как там?» и «а почему туда?» хоть и субъективно, но максимально объективно и, по возможности, информативно.
Читать дальше →

Рецепты под Андроид: Selectable соус для LayoutManager'a

Reading time12 min
Views8.6K
Пользователь не любит тратить время, пользователь не любит переписывать текст. Пользователь хочет копипастить. И хочет делать это даже в приложении на мобильном устройстве. И хочет, чтобы эта функция была удобной для работы пальцем на небольшом экране. Производители операционных систем по-разному реализуют эту функцию, стараясь угодить пользователям. Не отстают и разработчики приложений.



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

Scrum. Из хаоса к порядку и высокой продуктивности

Reading time8 min
Views26K
Про то, что такое Scrum и с чем его едят написаны миллионы статей. Однако большинство из них предполагают, что до скрама существует некий вакуум, либо наоборот жесткая среда с ведением процессов по PMBOK и др. Множество авторов пишут про «нулевой спринт» в начинающимся проекте, про подбор идеальной команды, про выбор длины спринта, однако в свое время я не нашел большого количества статей про внедрение Agile методологий в существующую среду, в которой до этого не было методологий, но уже были сложившиеся традиции.

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

Под катом длинная реальная история внедрения Scrum в процес разработки, который переживал не лучшие времена. Надеюсь эта история будет вам интересна и, возможно, поможет вам решиться или решить какие-то проблемы.
Читать дальше →

К чему можно оказаться не готовым, став тим-лидом

Reading time8 min
Views60K
imageОдин технический специалист нашей компании PayOnline, которая занимается автоматизацией приема платежей, предложил перевести статью автора Pascal de Vink, который проработал тим-лидом уже 2 года. Когда Pascal только занял эту должность, оказалось, что ко многим вещам он был просто не готов. Эта статья поможет избежать многих ошибок на пути от разработчика к лидеру команды. Ниже идет непосредственно перевод.

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

Меньше заниматься разработкой


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

Обработка аннотаций в процессе компиляции

Reading time10 min
Views37K
magicМетапрограммирование — вид программирования, связанный с созданием программ, которые порождают другие программы как результат своей работы (в частности, на стадии компиляции их исходного кода), либо программ, которые меняют себя во время выполнения.

Аннотации, как инструмент метапрограммирования появились вместе с релизом Java 5 в далеком 2004 году. Вместе с ними появился инструментарий Annotation Processing Tool, на смену которому пришла спецификация JSR 269 или Pluggable Annotation Processing API. Что интересно, этой спецификации без малого 10 лет, но свою популярность в Android разработке она начала обретать только сейчас.

О возможностях, которые открывает эта спецификация мы поговорим чуть позже (будет мнооого кода), а сперва, не хотите ли поговорить о компиляции Java кода?
Читать дальше →

Доступна Android Studio 1.4

Reading time4 min
Views45K
Несколько дней назад стала доступна Android Studio 1.4 на Stable Channel, привнёсшая ряд удобных новшеств в инструментарий Android разработчика. Тех, кто еще не успел ознакомиться с нововведениями, прошу под кат.


Читать дальше →

Увеличение времени работы от аккумулятора в Android M

Reading time8 min
Views37K


По мнению многих разработчиков, в большинстве случаев к слишком быстрому разряду аккумуляторов смартфонов приводит плохая оптимизация приложений. В мае этого года в Google прошла очередная ежегодная конференция Google I/O, на которой было анонсировано много всего интересного для разработчиков. В частности, когда речь зашла об Android M, то одной из центральных тем были именно производительность мобильных устройств и продолжительность работы от аккумулятора. Давайте взглянем на новые функции и инструменты, которые помогут пользователям и разработчикам выжать ещё больше из аккумуляторов мобильных устройств.
Читать дальше →

Онлайн трансляция Droidcon Moscow 2015

Reading time2 min
Views5.7K
Привет, Хабр! Сегодня в 10:00 (МСК) на droidcon.moscow начнётся трансляция одной из самых крупных ежегодных Android-конференций — Droidcon. В этот раз мероприятие будет разделено на следующие тематические блоки: Tech Day, Business Day, Community Day. Главными темами Droidcon Moscow 2015 станут: Новые фичи Android M, носимые устройства и разработка для них, облако, Интернет вещей (IoT), Material Design, Android TV, виртуальная и дополненная реальности (AR/VR), Открытые API.

Присоединяйтесь к нам и будьте в курсе всех событий!
Что будет на конференции?

Новый курс «Основы тестирования программного обеспечения» на Универсариуме

Reading time1 min
Views23K


С 28 сентября на бесплатной учебной площадке Универсариум начнется мой курс «Основы тестирования программного обеспечения». Он предназначен для тех, кто делает первые шаги в сфере обеспечения и контроля качества программных продуктов. Из него вы узнаете о различных процедурах обеспечения качества и получите начальные навыки работы в этой области. Для глубокого понимания этой темы нельзя обойтись без исторического экскурса, поэтому вы узнаете, как формировалась природа качества в процессе развития человеческой цивилизации и чем сегодня руководствуются компании в борьбе за качество. Также я расскажу о комплексе процедур контроля качества, с помощью которых можно улучшить программные продукты.

Прослушав курс, вы не только получите теоретические знания, но и примените полученную информацию на практике.

Курс будет проходить с 28 сентября по 21 ноября.

Учебная программа:

1. Введение в обеспечение качества — 5 лекций
2. Тестирование ПО — 3 лекции
3. Артефакты тестирования — 3 лекции
4. Инструменты на службе тестирования ПО — 2 лекции
5. Другое тестирование — 2 лекции
6. Управление тестированием — 2 лекции

Записывайтесь на курс: universarium.org/course/445

Что почитать, чтобы писать нормально

Reading time5 min
Views12K
damn-hard-writing

В прошлых выпусках мы рассказывали почему бренды должны делать контент, а не втупую пропагандировать свои продукты. Теперь поговорим о том, как писать о продукте. Сегодня мы поделимся полезными ссылками, чтобы вы никогда не писали как амёба.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity