Pull to refresh
13
0
Михаил @Mikhail_dev

User

Send message

Приложения для геошаринга

Reading time3 min
Views9K


15-20 лет назад, с самого начала проникновения мобильной связи в нашу жизнь, самый частый вопрос, который задавался в начале диалога по сотовому телефону, был такой — «Ты где?»

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

Предлагаю читателям Хабра обзор приложений для геошаринга, в которых можно узнавать текущее положение собеседника без вопроса «Ты где?».

Как я заменил RxJava на корутины в своем проекте и почему вам вероятно также стоит это сделать

Reading time7 min
Views26K
Привет, Хабр! Представляю вам перевод статьи автора Paulo Sato на тему использования Kotlin Coroutines вместо RxJava в своих Android проектах.

RxJava как базука, большинство приложений не использует и половины её огневой мощи. В статье пойдет речь о том, как заменить её корутинами (сопрограммами) Kotlin.

Я работал с RxJava в течении нескольких лет. Это определенно одна из лучших библиотек для любого Android проекта, которая и сегодня в ударе, особенно, если вы программируете на Java. Если же вы используете Kotlin, то можно сказать, что в городе новый шериф.

Большинство использует RxJava только для того, чтобы контролировать потоки и для предотвращения callback hell (если вы не знаете, что это такое, считайте себя счастливчиком и вот почему). Дело в том, что мы должны иметь ввиду, что реальная мощь RxJava — это реактивное программирование и backpressure. Если вы используете её для контроля асинхронных запросов, вы используете базуку, чтобы убить паука. Она будет делать свою работу, но это перебор.

Одним заметным недостатком RxJava является количество методов. Оно огромно и имеет тенденцию расползаться по всему коду. В Kotlin вы можете использовать корутины для реализации большей части поведения, которое вы ранее создавали, используя RxJava.

Но… что такое корутины?

Корутин — это способ обработки конкурентных задач в потоке. Поток будет работать пока не остановлен и контекст будет меняться для каждого корутина без создания нового потока.
Корутины в Kotlin всё еще являются эксперементальными, но они вошли в Kotlin 1.3, так что я написал ниже новый класс UseCase (для clean architecture), использующий их. В этом примере, вызов корутин инкапсулирован в одном файле. Таким образом, другие слои не будут зависеть от выполняемых сопрограмм, обеспечивая более разъединенную архитектуру.
Читать дальше →

Обзор задач по алгоритмам для собеседований — генерация множеств

Reading time7 min
Views67K

Привет, Хабр!


Этим постом начинается разбор задачек по алгоритмам, которые крупные IT-компании (Mail.Ru Group, Google и т.п.) так любят давать кандидатам на собеседованиях (если плохо пройти собеседование по алгоритмам, то шансы устроиться на работу в компанию мечты, увы, стремятся к нулю). В первую очередь этот пост полезен для тех, кто не имеет опыта олимпиадного программирования или тяжеловесных курсов по типу ШАДа или ЛКШ, в которых тематика алгоритмов разобрана достаточно серьезно, или же для тех, кто хочет освежить свои знания в какой-то определенной области.


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



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

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

Ученые нашли способ обратить процесс старения клеток

Reading time6 min
Views91K


Многие люди мечтают, что при их жизни найдут способ остановить старение. Теперь можно перестать мечтать. Реальная жизнь переплюнула научную фантастику. Исследователи смогли не только остановить, но и обратить процесс старения – вернув человеческие клетки обратно к их «молодому» состоянию. Правда, пока что только в лаборатории. Ученые рассчитывают, что скоро их открытие позволит создавать лекарства против естественной дегенерации тканей. И указывают на то, какие продукты нам нужно употреблять, чтобы достичь похожего эффекта в своём организме.

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

Как устроен пассажирский вагон дальнего следования

Reading time9 min
Views118K
Современный вагон при соединении с остальным поездом автоматически включается в локальную сеть и получает параметры с сервера штабного вагона. У одноэтажного вагона Тверского вагоностроительного завода сейчас в мониторинге примерно 280 параметров (начиная от уровня заполнения фекального бака и заканчивая напряжением аккумулятора), а у двухэтажного — около 400.



Начнём с межвагонных связей. Это тормозная пневматическая магистраль (пневматические рукава, которыми вагоны соединяются между собой, железнодорожники называют их «лягушками»), высоковольтная магистраль, аварийная магистраль 110 В, интерком и локальная сеть, плюс радиорелейные мосты между вагонами на случай обрыва локальной сети.
Читать дальше →

Мне 57, и я scrum-мастер

Reading time7 min
Views26K
Этим постом мы отвечаем на вопрос, есть ли для программиста карьера (и вообще работа) после 50-ти. Свою историю рассказывает Татьяна Митина, руководитель отдела программирования в центре разработки C3D Labs в Нижнем Новгороде. Она 16 лет проработала в Intel, а сейчас занимается разработкой геометрического 3D-ядра.

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

Ни GA, ни ЯМ. Как мы сделали собственный кликстрим

Reading time8 min
Views16K

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


Систему сбора и анализа событий можно обобщённо назвать кликстримом. Расскажу о технической стороне кликстрима в Авито: устройство событий, их отправка и доставка, аналитика, отчёты. Почему хочется своё, если есть Google Analytics и Яндекс.Метрика, кому портят жизнь разработчики кликстримов и почему go-кодеры не могут забыть php.


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

Недостатки фриланса. Личный опыт

Reading time6 min
Views72K


UPD: в этом посте отражено субъективное мнение автора в 2018-ом году. Сейчас я работаю над своим проектом в сфере обучения облачным технологиям.

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

Развалившись в гамаке, на берегу острова Бора Бора, ты неспешно рисуешь скетч или отрабатываешь навыки js-ниндзя.

В левой руке махито, в правой мулат(ка). И основным обременяющим занятием есть поход к банкомату.

Может так и бывает, но уж точно не у меня. Поэтому, проработав 12 лет на фрилансе (около 11,000 часов), внезапно, я задумался — а что дальше? А почему я топчусь на месте то. Пусть у единиц, но получается расти дальше, расширять базу клиентов, основывать компании, интересно жить в конце концов.

Поэтому этот пост с СЕО-шным названием будет именно о том, что не так во фрилансе со «своей колокольни». Во-первых самоанализа ради. А во-вторых для того парня из офиса, который мылится работать на себя, да все никак… За 12 лет много опыта накопилось, есть чем поделиться. Много примеров из опыта.
Читать дальше →

Как я переехал в Израиль после блокировки Telegram

Reading time10 min
Views90K


Все помнят бурление, когда вышло постановление о блокировке Telegram? Как много было вопящих и брызгающих слюной комментов о том, что поросенок Петр всегда был прав и вообще пора собирать чемодан и искать работу за рубежом?


Так вот, кто-то поныл и успокоился, а я подумал: 'Действительно, почему бы и нет?'. Короче, Петя, заводи трактор, мы выезжаем!


Это история о том, как я бросил всё и переехал жить и работать в Израиль. Расскажу, как у меня это получилось, какие есть отличия от отечества, сколько платят и часто ли стреляют.


Ах да, Хабр и в Израиле читают.

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

Как мы делали БелАЗ. Часть 1 – Железо

Reading time15 min
Views89K


Наверное, все знают, что большие карьерные самосвалы имеют электромеханическую трансмиссию (уже с 1968 года): ДВС вращает генератор, энергия от которого приводит в движение тяговые электродвигатели в задних колесах самосвала. В интернете можно найти много обзорных статей и «тест драйвов» этих машин, но многие технические подробности обычно опускаются. Эта серия статей будет написана с изнаночной стороны, от имени разработчиков электрической трансмиссии: как мы это разрабатывали, на каких контроллерах, на каких двигателях, как отлаживали и запускали машину. Также мы готовы ответить на интересующие вопросы в комментариях. Интересно? Добро пожаловать под кат.
Читать дальше →

Что за роботы-пауки летают над стадионами и снимают футбол. Интервью с создателем Robycam

Reading time12 min
Views48K
На чемпионат мира по футболу в России привезли сотни тонн оборудования. На каждом стадионе установлено по 34 суперсовременные камеры, которые транслируют картинку в HD, UHD и 4K HDR. Раньше их ставили только по краям поля, но с 2014 года камеры на чемпионатах мира летают прямо над головами спортсменов.

Вы, наверное, видели эти штуковины, похожие на перекачанный квадрокоптер с панцирем. На самом деле это подвесные роботизированные платформы на тросах.


Фото: Movicom

Реализация навигации в Android приложениях с помощью Navigation Architecture Component

Reading time20 min
Views105K

image


От переводчика


Здравствуйте, хабрчане. Это перевод статьи-документации к новой технологии Navigation для Android-разработчиков. Технология сейчас находится в стадии разработки, но уже доступна для использования и очень даже работает в превью версии Android Studio 3.2 и выше. Я уже опробовал её в действии и могу сказать что меня она впечатлила. Наконец-то осуществление смены экранов перестало быть чем-то сложным, особенно если используется передача данных от одного экрана к другому. Собственно, перевод я делаю для того чтобы больше русскоязычных разработчиков обратило внимание на технологию, и чтобы упростить её изучение.
Если заметите существенные ошибки или неточности, прошу сообщать в комментариях.

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

Вольный опус про найм, собеседования и трэш на рынке IT-кадров

Reading time11 min
Views96K

Нынче программист может не найти работу в двух случаях: он либо клинический дятел и неадекват, либо хочет в качестве оклада звездолёт. Во всех остальных случаях "в девках" он долго не задерживается. Однако вопрос "кто кого на***л?" интересует обе стороны "противостояния". Так же всем хочется знать цену вопроса и как бы расширить целевую аудиторию, побыстрее найти наилучшее предложение и отвадить всяких отмороженных. Ну и, конечно же, есть чисто-программерское "чтобы внутренний перфекционист был спокоен". Обо всём этом по чуть-чуть и поразмышляю в текстовой форме.

Клац

Дискредитация специалистов или современные собеседования

Reading time6 min
Views90K

Представьте, что вы — IT компания. Может большая или нет, но так получилось, что вам потребовался стажер. Ведь пора, наконец, растить новое поколение в духе вашей идеологии.

Но вот незадача — стажеры такие животные, которые не обладают навыками. И ранее ничего полезного они не делали. Как же не ошибиться в выборе? Что ж, это довольно просто. Если нельзя оценить по результату, то следует искать предпосылки к достижению этого результата…

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

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

Reading time13 min
Views59K
UPD: так как тема хорошо зашла и показала наличие спроса на такой сервис, буду развивать его дальше. Завел паблик вконтакте для сбора фидбека и публикации информации об обновлениях https://vk.com/sightsafari

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

Ситуация еще больше осложняется, если рядом нет никаких крупных достопримечательностей, о которых все знают и которые можно было бы включить в свой маршрут после короткого поиска в интернете. Что делать если вы застряли в каком-нибудь Купчино, про которое вы только и слышали, что там лучше не застревать? Приходится идти по навигатору, надеясь, что на пути встретится что-то интересное. Однако популярные навигаторы учитывают лишь расстояние и время в пути, но не принимают во внимание интересность маршрута. Мне попадались еще проекты, пытающиеся учитывать удобство пешего маршрута (ведущие в обход шумных магистралей), но хочется же пройти не только комфортно, но и увидеть какие-нибудь красоты.



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

Описание алгоритма и примеры работы под катом, ссылка в конце.
Читать дальше →

Карьера менеджера в ИТ: от командной строки к командной работе

Reading time11 min
Views29K
Мир IT сегодня не похож ни на одну из других отраслей — над кодом приложений, игр, корпоративных решений, сервисов работают увлечённые, грамотные ребята. Программисты и инженеры, дизайнеры и тестировщики, системные администраторы и новомодные DevOps превращают идеи в программное обеспечение, которым пользуются миллионы людей. Они вдохновенно пишут код, разрабатывают алгоритмы, готовят макеты и соединяют это в работоспособные полезные механизмы. Мы, пользователи Хабра, часто говорим о разработке, администрировании, новых технологиях и языках программирования, зарубаемся в жарких спорах о преимуществах одного стека над другим, но забываем о важном звене в любой IT-компании — менеджерах проектов и продуктов. А между тем не факт, что завтра именно вам не предложат отойти от дел программерских и стать менеджером. Мотивация? Стоит ли? Потолок? Карьерный тупик? Новый горизонт? Давайте разбираться.


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

Чему я научился, пройдя множество собеседований в компаниях и стартапах из сферы ИИ

Reading time14 min
Views38K
За последние восемь месяцев я прошел собеседования в самых разных компаниях — DeepMind в Google, Wadhwani Institute of AI, Microsoft, Ola, Fractal Analytics и некоторых других — в основном на позиции Data Scientist, Software Engineer и Research Engineer. По ходу дела мне предоставлялись возможности не только пообщаться со многими талантливыми людьми, но также по-новому взглянуть на себя с пониманием того, что хотят услышать работодатели, когда беседуют с кандидатами. Думаю, если бы я располагал этой информацией раньше, то мог бы избежать многих ошибок и подготовиться к собеседованиям куда лучше. Это и стало импульсом к написанию данной статьи — возможно, она поможет кому-нибудь получить работу мечты.


В конце концов, если уж собираешься две трети своего времени (если не больше) проводить за работой, она должна быть этого достойна.
Читать дальше →

Кто мутит воду? Большое подробное сравнение-тест бытовых фильтров для очистки воды

Reading time10 min
Views442K


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

Как я осилил английский

Reading time13 min
Views352K
Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
Читать дальше →

Два раза в одну реку или (Не)много о профессиональном выгорании

Reading time17 min
Views105K
Саббатикал — это оплачиваемый или частично оплачиваемый длительный отпуск продолжительностью от трёх месяцев до года (и более) с гарантированным сохранением места за сотрудником.

— Саш, очевидно, работа не приносит тебе удовольствия, — Слава проговаривал бесспорные вещи. Четвертую неделю вместо работы я мчался на очередной детский турнир по футболу. Когда у тебя трое детей, можно 120% своего времени занять их увлечениями. — У меня есть к тебе предложение. Давай отправим тебя в отпуск на год? Я за это время закрою собой бизнес. Доходы, по-прежнему, пополам. Потом ты вернешься с новыми силами, и, может быть, я на год в отпуск схожу.

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

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity