Dolgo.polo Dev | Денис Долгополов
2.27K subscribers
88 photos
2 videos
120 links
Разбираемся в мобильной разработке (Android/iOS) и пытаемся выяснить, зачем оно так устроено

Статистика/цены: @dolgo_polo_dev_stats

По вопросам/рекламе: @dolgopolovdenis
Download Telegram
интересно наблюдать, как с каждый годом программа митапов становится все сложнее

в этот раз позвали на конференцию-коллабу (aka bigtechnight) Яндекса со Сбер/x5/Lamoda/T-Банк


что было (помимо технических докладов):

🔵IT-стендап

смешнее ли это концерта Луи Си Кея? конечно нет
интереснее ли это очередного доклада про SDUI? конечно да
послевкусие и атфосфера? определенно располагающие к нетворкингу

шутить про IT тяжелее, чем про жену/ребенка + выступают не комики, а технические специалистыпоэтому результат поражает. всем кто был на сцене респект


🔵трансфер между офисами

собрал все носки и наклейки в одной локации?можно за 20 минут доехать до офиса следующей компании


🔵куча спецов из разных областей — было с кем обсудить систему охлаждения Алисы, разобраться в компановке серверов, поиграть в проектировщика бэкенд-кластера

в общем модный System Design в чистом виде на свежем воздухе


p.s. на фото — идеальный программист глазами HR-отдела

@yandex, уже в вашем внутреннем дворике
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7🤣6💯3
обидно, только плюс-минус научился понимать язык бэкендеров, и слова
микросервис, ку восемь эс, джиэрписи, релоад под, энжинкс, лоад балансер
начали обретать какой-то смысл

и тут сходил на конфу для ИИ-разработчиков

снова почувствовал себя чужим среди своих — раг, претрейн, предикт, ансамблирование, тичинг форсинг рнн
🤣27💯10❤‍🔥4😱1
Сколько времени занимает измерение времени?

Обычно для замеров перфа используются:

🔵System.currentTimeMillis() — отдает количество мс, прошедших с 1970 года
🔵System.nanoTime() — отдает количество нс от запуска JVM

🔵(coroutine) measureTimeMillis() — под капотом дергает System.currentTimeMillis()
🔵(coroutine) measureTimeNanos() — под капотом дергает System.nanoTime()


два фан факта:

💡 выражение System.currentTimeMillis() * 1_000L - System.nanoTime() некорректно, так как функции отсчитывают время от разных точек

💡 обе функции возвращают время не моментально, им на это нужно около 10-100нс (смотря на каком железе и ОС запускать, оч длинная статья с пруфами)

погонял локально тест со скрина, получил результаты около 10-30нс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍8❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#продуктоваяфича

хотел посмотреть пост в вк

-> половину экрана закрыла шторка "открыть в приложении?"

-> через 3 секунды поверх нее вылезла еще одна плашка "ОТКРЫТЬ В ПРИЛОЖЕНИИ"

ладно, убедили

-> открывается приложение и меня встречает:

-> сплешскрин с горизонтальным лоадером

-> потом загрузочный экран с круглым лоадером в диалоге

-> потом скелетон с анимацией загружаемой страницы

-> потом начала прогружаться видеошапка сообщества

-> забыл, зачем заходил

парадокс, ведь каждая фича по отдельности сделана идеально
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤣40🤡13🔥8
💵 как кэшировать

в комментариях скинули годный доклад с базовой базой от 2019г (видео, преза)


tldr:

в приложении можно наладить 3 вида кэша:

☑️ в тупую — сохраняем в файлик все, скаченное из долгого интернета

☑️ с проверкой актуальности — перед чтением кэша делаем легкий запрос на бэк с вопросом "есть более свежие данные?"

☑️ с мержингом — обновляем не всю единицу контента, а скачиваем с бэка только обновленную часть, и мержим на клиенте

во всех случаях желательно не забывать очищать кэш — по времени, размеру или LRU
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥5
кстати, можно проделать крайне интересный социальный эксперимент

на сайте Mobius есть история докладов за каждый год

по ним можно отследить, как менялся хайп из года в год


из настоящего довольно интересно посмотреть, как обсуждали:
☑️нужен ли Kotlin/Fragments/Rx
☑️возможно ли работать на удаленке
☑️первые попытки на KMM в 2018

один лайк ❤️ и делаю намедни

p.s. если знаете еще архивы, скиньте, пожалуйста, в комменты или личку. а то Mobius только от 2016
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤‍🔥64🔥5👍2🤡1
😮 🐦‍⬛ накаркал, получается

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

а потом подписку для отключения рекламы и подписку ultima-pro для полного отключения рекламы



🔗 источник
Please open Telegram to view this post
VIEW IN TELEGRAM
😱20🤡5💯5🤣2
В новой Samsung One UI 8.0 появился отдельный тогл "включить Bluetooth завтра в 5 утра"

Настроить сценарий работы нельзя, он просто включает bluetooth завтра в 5 утра


🤯 в сеть был слит телефонный разговор одного из сотрудников команды Samsung.Bluetooth:

дорогая, сегодня задержусь на работе, пилим инновацию. продакт сказал, это really game changer
🤣46💯5🤡4🎉1
💶💷💴 Платные сообщества


Насчитал примерно 2 миллиарда платных сообществ по прохождению собесов, сливов вопросов, менторства и прочего трудоустройства. И это я еще в интернет не заходил

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

Никакого негатива к ним не испытываю, как и позитива


🤔 А знаете ли вы какие-то классные платные сообщества, не связанные с собесами?

блоги, путешствия, преколы, спорт или даже IT — любые объединения по интересам, которые стоят своих денег, но не ставят трудоустройство/заработок как самоцель

🤑
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔10👍9💯5🔥1
☁️ Почему Cloudflare роняет за собой половину интернета?

раз в пару месяцев интернет отдыхает

кто-то в офисе Cloudflare решает передернуть на ночь фича флаг, и по графикам доступности Cloudflare можно отследить, сколько времени уходит на поиск виновника


Тысячи компаний используют Cloudflare как антибот-прокси


Когда вы заходите на chatgpt.com, запрос летит не на слабый маленький сервер OpenAI 😭, а на большой и устойчивый к ddos сервер Cloudflare 🫠


Cloudflare по десятку параметров проверяет, что вы не ддос-машина, и проксирует запрос на слабенький сервер OpenAI


🧬 так вот:

если Cloudflare начинает неправильно отделять ботов от реальных юзеров (или по другим причинам перестает обрабатывать входящий трафик), то OpenAI и остальные бедолаги просто перестают получать запросы, трафик до их серверов не долетает


один лайк и рассказываю, как большие дяди страхуются от таких миллиардных потерь
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍95❤‍🔥167🔥1
Недавно был на IT-квартирнике в МГУ. Это формат, где выпускники, работающие в Яндексе, выступают в вузе, в котором учились

Можно задать вопрос человеку, который ещё пару лет назад спал на твоем этаже в общаге

Рассказывали о том, как начинали в IT и чего не стоит бояться

Разработчики, продакты, СТО делились опытом:
как попали на стажерку и совмещали её с учёбой
как развивалась карьера после стажировки
чем занимаются сейчас

Был пример пути от стажёра до СТО Алисы и умных устройств. А его коллега рассказала, как из-за ошибочно переключенного фича флага на 10 минут включился тариф "Вместе" в новой стране — и почему такие ошибки нормальны

Если бы у вас в универе проходило что-то подобное на 1-2 курсе — согласились бы?
🔥10👍5💯4👎1🤡1
Что делать, если Cloudlare упал?

этап первый — паника 🤬

этап второй — зашортить акции Cloudflare

этап третий — перенастроить DNS


в чем фокус:

вы владеете доменом chatgpt.com


значит, вы можете указать DNS-серверам, в какой IP резолвить chatgpt.com

например, указываем chatgpt.com == 172.64.155.209 (IP адрес Cloudflare)


а в момент падения Cloudflare указываем другой IP, убирая Cloudflare из цепочки


и тут несколько вариантов, какой IP указать:

1️⃣ сразу на свой сервер ⚠️ риск получить по яйцам от ддосеров / спалить свой настоящий IP

2️⃣ запасной антибот-прокси (любой аналог Cloudflare)

3️⃣самописный антибот-прокси

готово, домен остался тот же, а сервер поменялся

...

часть 1 - Почему Cloudflare роняет за собой половину интернета?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥10🔥6👍3💯3😱1
Ыыы, дебаг
🤣48🔥9🤡7
На прошлой неделе заехал на Data Dojo — традиционную встречу ML-сообщества Яндекса. В этот раз собрали программу с обзором трендов и итогами года в ML


Делюсь фактами, которые показались мне интереснее всего из двух выступлений:


🧬 Сергей Овчаренко, руководитель отдела мультимодального анализа и генерации, рассказал, какие задачи сейчас решают ИИ (пока мы тратим токены на генерацию compose-кнопочек):

🔵VLA — на вход получают "видео" + "звук", на выход выдают "команды для робота"

робот слышит "подними банку", видит банку -> генерируется N команд для двигателей, чтобы выполнить задачу

🔵World Modeling — генерация 3D-миров с соблюдением физики и возможностью перемещаться по этому миру

🔵Omni — модельки, умеющие одновременно обрабатывать звук, видео и текст


🧬Дмитрий Солодуха, руководитель команды голосовой активации, поговорил о пользе от ИИ в Алисе:

🔵отклик без явного обращения по имени — слать весь аудиопоток дорого и не секьюрно, поэтому создали локальную модельку, которая из всего потока выбирает потенциальные команды

🔵короткие команды "останови", "переключи" можно обработать локально, но нужна моделька, которую потянет слабый процессор колонки

🔵на колонке несколько микрофонов. звук до каждого доходит с задержкой. можно выявить шумы на первом и со сдвигом заглушить их на втором (если успеешь🦔)

🔵если в комнате больше одной колонки, надо вычислять, к которой направлено обращение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤‍🔥5🤔1
⚠️ проверка подписчиков на ботов

всем срочно пройти капчу:

https://neal.fun/not-a-robot/

p.s. дошел до 11 уровня, я моб
🤣25😱7🤡3💯1
с новым годом! 🎁
желаю хорошо отдохнуть и потом еще раз хорошо отдохнуть ☕️
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥24❤‍🔥11🎉7💯1
🌐 Как сделать свою систему рекомендаций как у ТикТока — короткий гайд


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

Чипс можно описать 3 параметрами:
| Хруст      | 1..10    |
| Солёность | 1..10 |
| Цена | 1..500р |


Например:
| русская картошка | [3 5 100] |
| лэйс | [7 6 190] |



Дальше мы заставляем пользователя подписать соглашение о сборе данных

Или покупаем у соц сетей 🌐 готовую информацию о юзере, внутри которой указано:

| Любимый хруст      | 5    |
| Любимая солёность | 4 |
| Приемлемая цена | 200р |



Используем любую формулу расстояния между векторами

Например, самую тупую — разница координат
result = |x1 - y1| + |x2 - y2| + |x3 - y3|


Готово, самый "близкий" вектор покажет идеальный чипс


А дальше дело за малым:

🦧 берем не 3 параметра, а 3000

🦧 учимся автоматически вытаскивать 3000 параметров о каждом видео

🦧 учимся точно собирать 3000 предпочтений юзера

🦧 даем каждому параметру веса

🦧 выдумываем сложную формулу (с интегралами, дифференциалами и перделами) для поиска близких векторов

🦧 добавляем обратную связь по времени, проведенному в приложении


@dolgo_polo_dev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍9❤‍🔥4👏3