Pull to refresh
17
0
Вадим Лукичёв @dolpheen

Flutter Enthusiast

Send message

Обещания — настоящие и не очень

Level of difficultyEasy
Reading time7 min
Views15K

Хабр, привет! Меня зовут Настя Абрашитова, я руководитель службы инструментов репозитория в Яндексе. Однажды ко мне пришёл мой знакомый, назовём его Леонид. Он долгое время работал в небольшой компании. Он решил посоветоваться, стоит ли ему увольняться со своей работы или есть смысл остаться. 

С одной стороны, Леонид занимался одним и тем же годами, и ему было скучно. А ещё ему давно не повышали зарплату, которая была ниже рынка. С другой стороны, по его словам, у него были отличные карьерные перспективы. Когда он задумался о смене работы, его СTO сказала, что в ближайшее время собирается уйти на заслуженный отдых и видит в роли своего преемника именно Леонида.

Я решила уточнить, когда это должно случиться. Леонид немного погрустнел и сказал, что они не обсуждали конкретную дату. Более того, этот разговор проходил примерно за два года до того. Я спросила: было ли с тех пор что-то сделано, что приблизило Леонида к позиции СTO? Оказалось, что ничего.

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

Читать далее
Total votes 72: ↑68 and ↓4+64
Comments18

Logbroker: сбор и поставка больших объемов данных в Яндексе

Reading time11 min
Views54K
Привет! Меня зовут Алексей Озерицкий. В Яндексе я работаю в разработке технологий и инфраструктуры. Не только тем нашим сервисам, которыми пользуются миллионы людей, важно уметь работать с действительно большими объемами данных без сбоев. Один из наших ключевых внутренних инструментов — Я.Статистика, информация в котором предназначена только для сотрудников Яндекса и более того — является коммерческой тайной. Статистика занимается сбором, хранением и обработкой информации (в первую очередь логов) от сервисов Яндекса. Результатом нашей работы с ней являются статистические расчеты для дальнейшей аналитики и принятия продуктовых решений.

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

В ядре системы лежит Apache Kafka. Logbroker с помощью API изолирует пользователя от сырых потоков Apache Kafka, реализует процессы восстановления после сбоев (в том числе семантику exactly once) и сервисные процессы (междатацентровая репликация, раздача данных на кластеры расчета: YT, YaMR...).
Читать дальше →
Total votes 61: ↑56 and ↓5+51
Comments20

Яндекс открывает ClickHouse

Reading time14 min
Views167K
Сегодня внутренняя разработка компании Яндекс — аналитическая СУБД ClickHouse, стала доступна каждому. Исходники опубликованы на GitHub под лицензией Apache 2.0.



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

В этой статье мы расскажем, как и для чего ClickHouse появился в Яндексе и что он умеет; сравним его с другими системами и покажем, как его поднять у себя с минимальными усилиями.
Читать дальше →
Total votes 176: ↑172 and ↓4+168
Comments204

Автоматизация работы с Logs API в AppMetrica. Лекция в Яндексе

Reading time10 min
Views12K
Данные, которые собирает AppMetrica, можно заставить работать как угодно, а не только для аналитики. Они позволяют автоматизировать множество процессов, прямо или косвенно связанных с поведением пользователей. О том, как настроить выгрузку, что за данные можно использовать и какие подводные камни встретились при разработке Logs API, рассказал разработчик Николай Волосатов.


Total votes 32: ↑31 and ↓1+30
Comments0

YTsaurus: основная система для хранения и обработки данных Яндекса теперь open source

Reading time14 min
Views55K

Привет! Меня зовут Максим Бабенко, я руковожу отделом технологий распределённых вычислений в Яндексе. Сегодня мы выложили в опенсорс платформу YTsaurus — одну из основных инфраструктурных BigData-систем, разработанных в Яндексе.

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

В Github-репозитории находится серверный код YTsaurus, инфраструктура развёртывания с использованием k8s, а также веб-интерфейс системы и клиентский SDK для распространённых языков программирования — C++, Java, Go и Python. Всё это — под лицензией Apache 2.0, что позволяет всем желающим загрузить его на свои серверы, а также дорабатывать его под свои нужды.

Читать далее
Total votes 219: ↑218 and ↓1+217
Comments33

Суперкомпьютеры Яндекса: взгляд изнутри

Reading time12 min
Views33K


Недавно три наших новых GPU-кластера заняли 19, 36 и 40 места в рейтинге суперкомпьютеров Top500. Это лучшие результаты среди всех участвующих в нём суперкомпьютеров России. Но сегодня мы поговорим не о местах в рейтинге, а о том, чем полезно на практике участие в подобных замерах.

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

Поможет мне в этом Дмитрий Монахов dmtrmonakhov. Он уже известен читателям Хабра по докладу о разработке ядра Linux. Передаю ему слово.
Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments56

Болевые точки Dart и Flutter

Reading time24 min
Views12K

Flutter — довольно популярный фреймворк для разработки кроссплатформенных приложений. В основном это приложения под Android и iOS, но все же имеется возможность разрабатывать и под другие платформы, хотя в большинстве случаев еще не все так гладко по сравнению с основными платформами. Этот фреймворк уже сейчас имеет некоторую фан базу, которая, как и положено фан базе, генерирует статьи о том, какой Flutter клевый, крутой, интересный и производительный и т. п. В этих статьях Flutter часто сравнивается с конкурентами, и чаще всего он описан в положительном свете. Ни в коем случае не пытаюсь как‑то умалить его заслуги, но... работая с ним ежедневно, вольно или невольно начинаешь замечать неприятные и раздражающие моменты, с которыми приходится жить. Именно об этих моментах сегодня и пойдет речь.

Читать далее
Total votes 38: ↑31 and ↓7+24
Comments20

Кодогенерация Dart

Reading time9 min
Views4.1K

Доброго дня, в данной статье подробно рассмотрим как работает кодогенерация во Flutter. Главная цель, которая стояла перед мной при написании статьи - это разбор каждого этапа настройки кодогенерации, чтобы у разработчика, прочитавшего этого материал, сложилась полноценная картина всего процесса.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments1

Интервальное голодание — как точно вычислить время

Reading time12 min
Views82K

Интервальное голодание — паттерн питания в котором регулируются циклы с едой и без нее.


Этот паттерн питания сейчас стал довольно популярным и, так как Lifext методика изначально уделяла большое внимание паттернам питания, то мы решили написать подробный разбор и перевести исследования на эту тему.


Интересно. В ходе исследования мы сделали полезное открытие, которое позволяет информировано настраивать индивидуальные циклы еды с максимально полезным результатом и легко внедряемыми интервалами. Статья написана в хронологии проведённого исследования и логика вывода довольно проста и понятна.


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


Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments30

Использование шейдеров во Flutter. Часть 2

Level of difficultyMedium
Reading time10 min
Views2.9K

Всем привет! На связи Юрий Петров, Flutter Team Lead в Friflex. В предыдущей статье мы познакомились с работой шейдеров во Flutter, а также рассмотрели, как написать свой собственный шейдер на языке GLSL. В этой части разберемся, как импортировать готовые шейдеры и управлять ими из Flutter.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments2

Всё про USB-C: обеспечение питания

Level of difficultyMedium
Reading time11 min
Views44K

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

Технология USB-C приходит на смену проприетарным круглым разъёмам зарядных устройств, которые мы привыкли использовать для ноутбуков и огромного числа других девайсов. Она соперничает с проприетарными разъёмами телефонных зарядок, постепенно делая их «изгоями» и подталкивая производителей к переходу на использование универсальных широкодоступных решений. Любителям мастерить электронику своими руками больше нет нужды использовать крохотные разъёмы MicroUSB и несоответствующие спецификации кабели, чтобы подать 3 А на свой жаждущий тока Pi 4. Сегодня для этого достаточно иметь гнездо USB-C с двумя резисторами или специальной микросхемой, если резисторы стоящую задачу решить неспособны.

Используя USB-C, вы получаете гораздо большую отдачу от вложенных средств. Это касается и питания, ведь не всем устройствам достаточно 15 Вт – некоторые требуют большего. Об этом и будет наша статья. В ней мы разберёмся, как можно обеспечить для вашего девайса бо́льшую мощность через USB-C.
Читать дальше →
Total votes 65: ↑62 and ↓3+59
Comments73

Спуфинг подкрался незаметно, хоть виден был издалека

Reading time4 min
Views28K
image

Спутниковые системы навигации (ГНСС) решают две задачи — определение пространственных координат и синхронизация времени. И не очевидно, какая из них является более важной. Если подделку координат можно обнаружить своими глазами, то подделку времени, не имея собственных атомных часов, заметить непросто.

То, что GPS уязвим перед спуфингом, было очевидно всем и давно. Но лет 15 назад считалось, что для проведения такой атаки требуется очень дорогое железо, например симуляторы Spirent стоимостью более $100 000. Появление «любительских» SDR за 100$ все поменяло. Теперь стоимость атаки упала до стоимости дешевого HackRF One. На GitHub 680 форков для генерации сигналов GPS. На youtube полно инструкций как запустить свой спуфер (даже запустить с помощью USB to VGA адаптера за $5).
Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments51

Компонентный подход. Боремся со сложностью в Android-приложениях

Reading time10 min
Views10K

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

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

Меня зовут Артур, я тимлид в компании MobileUp. Я помогу вам освоить компонентный подход. Постараюсь сделать это как можно проще и увлекательнее.

Вас ждет серия статей. Это первая из них — теоретическая. В ней мы рассмотрим, какие сложности встречаются в Android-приложениях, и почему MVVM и Clean Architecture не панацея против них. Я расскажу, что такое компонентный подход и в чем его преимущества. А в конце статьи будут ссылки на материалы для углубленного изучения.

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments15

Как я несколько лет боролся с прокрастинацией и победил: полное практическое руководство

Reading time8 min
Views288K

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

Начать читать
Total votes 145: ↑120 and ↓25+95
Comments174

Умные паяльники от Pine64: стоит ли покупать вторую версию Pinecil. Часть 1

Reading time4 min
Views53K

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

Некоторые компании выпускают умные паяльники, которые способны поддерживать необходимую температуру, переходить в спящий режим, когда их не используют и помогать выполнять максимально тонкую работу. Выпускают такие устройства как китайцы, у которых относительно простые системы стоят 10-15 долларов США, так и европейские и американские компании. Занимается разработкой и выпуском паяльников и компания Pine64, которая также поставляет модульный открытый телефон PinePhone, одноплатники и прочие устройства. Долгое время Pine64 предлагала свой умный open-source паяльник Pinecil, но сейчас появилась и вторая его версия. О ней и пойдет речь в статье.
Читать дальше →
Total votes 65: ↑63 and ↓2+61
Comments96

Sliver во Flutter, или как работает скролл

Reading time11 min
Views16K

Если вы уже встречались со сливерами, то наверняка оценили всю «прелесть» работы с ними. На самом деле они совсем не так трудны и ужасны.

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments4

Дюк, вынеси мусор! — 6. Shenandoah GC

Reading time8 min
Views15K

Несмотря на то, что мы уже успели достаточно подробно рассмотреть целых шесть сборщиков мусора (Serial, Parallel, CMS, G1, ZGC, Epsilon), у OpenJDK еще есть, что нам предложить. Эта статья посвящена Shenandoah, тому самому сборщику, "который смог" (с таким слоганом он обычно подается).

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

Посмотреть, раз есть на что
Total votes 15: ↑15 and ↓0+15
Comments3

Влияние дофамина на организм: как работает и как этим управлять

Reading time25 min
Views115K

Ура! Готов магнум опус про дофамин, по мотивам подкаста Лаборатории Губермана! Это было сложно, долго и дорого, но оно того точно стоило!

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

Она является конспектом и осмыслением 39 выпуска подкаста “Лаборатория Губермана” (Controlling Your Dopamine For Motivation, Focus & Satisfaction | Huberman Lab Podcast #39), который ведет Эндрю Губерман, профессор нейробиологии Стэнфордского Университета. 

Подстрочный перевод выпуска (35 страниц).

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

Читать далее
Total votes 83: ↑78 and ↓5+73
Comments28

От черного прямоугольника в Яндекс.Браузере к ускорению всего Chromium

Reading time6 min
Views59K
Сегодня мы расскажем вам историю об одном интересном баге в Яндекс.Браузере, исправление которого привело к значительному ускорению отрисовки во всем проекте Chromium. И помогут мне в этом Кирилл drBasic Плешивцев и Вадим Lof Петров, специалисты из нашей команды, которым и посчастливилось разбираться с проблемой. Передаю им слово.



Один не совсем обычный баг

Меня зовут Кирилл, я работаю в группе внутренних компонентов Яндекс.Браузера в Новосибирске. В один не совсем прекрасный день коллеги из тестирования Яндекс.Браузера воспроизвели проблему с проигрыванием видео через Flash Player. И поскольку именно наша группа отвечает за эту часть браузера (медиа, кодеки, вот это все), задача досталась мне. Баг, скажем так, не претендовал на оригинальность. Клик по кнопке Play приводил к черному прямоугольнику вместо корректного воспроизведения видео. Этот симптом я встречал и раньше, поэтому рассчитывал на достаточно быструю локализацию проблемы. Но я ошибался.
Читать дальше →
Total votes 125: ↑121 and ↓4+117
Comments49

Высшая каста в индийском IT

Reading time12 min
Views54K

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

Читать далее
Total votes 102: ↑98 and ↓4+94
Comments390

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity