🎲 Перестань перегружать компоненты лишними параметрами. Slot API в Compose позволяет оставить «слоты» в вёрстке, чтобы заполнить их контентом уже по факту использования.⬆️ В карточках разобрали, почему передавать лямбду эффективнее, чем десяток стрингов, и как не превратить универсальный контейнер в неподдерживаемый хаос. Внутри найдёшь пример чистой реализации кнопки, которая примет любой контент и не сломается.🏄 Подписывайся на Surf
Сёрф Нативная разработка
@surf_mobile · 1.8K подписчиков
Посты канала Сёрф Нативная разработка в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.
Комьюнити мобильных разработчиков Сёрф. Делимся экспертизой, разбираем инструменты и тренды для создания приложений под Android и iOS📲💬Чат →https://t.me/+zo5DrfHdxqYwMzgyДругие команды Surf:https://clck.ru/3G5Yhy
Посты канала
📌 Как закрепить последний элемент к низу LazyColumn без хардкодинга? Стандартные модификаторы веса здесь не работают, а попытки вложить скролл в скролл обычно заканчиваются ошибками композиции. На самом деле всё решается гораздо элегантнее через свой собственный Arrangement.⬆️ Полина, Android Developer Surf, подготовила гайд по созданию TopWithFooter — алгоритма, который сам определяет, где должен быть элемент в зависимости от количества контента. Заглядывай в карточки за рабочим кодом, который уберет необходимость городить сложные конструкции из 25 строк.🏄 Подписывайся на Surf
🐞 Что делать, если баг никак не поддаётся? Иногда ошибку в коде очень тяжело воспроизвести, и стандартные методы отладки не помогают. Айдар, Android Developer Surf, собрал свой арсенал приёмов для поиска самых хитрых и неуловимых багов.⬆️ Внутри карточек ты найдёшь практические советы: что предпринять, когда StackOverflow и Google уже не выручают, как git blame может указать на корень проблемы и почему иногда стоит искать ошибку за пределами своего кода. Это набор проверенных шагов, которые сэкономят твои нервы и время.🏄 Подписывайся на Surf
Ещё по теме «Технологии»
ТехнологииПлатим за написание удаление кодаМы, разработчики, сидим и код какой-то пишем. Пишем, пишем, его всё больше и больше, а старое почти не удаляем. А когда удаляем то не ясно «а всё ли удалили» — Xcode никак не подсказывает, что где-то какие-то хвостики остались.В итоге целая пачка проблем:- Иногда при написании нового кода приходится что-то актуализировать в старом, а он может быть вообще нигде не используется и просто мертвым грузом лежит. Это мы время теряем.- Иногда при подготовке кода к новым фичам что-то рефачим и случайно удаляем вызов важного метода. Это мы баги заносим.- Постоянно билдим проект локально и на CI, и в том числе билдится и вот такой мертвый код. Это мы время теряем.8 июня 2023, то есть год назад, я затащил в проект Додо Пиццы тулзу Periphery — она анализирует весь наш код и говорит «вот тут чет лишнее осталось и вот там кусок бесхозный стал». Её одобрение — одна из обязательных проверок на CI при влитии ПРов.Я не знаю сколько нового мертвого кода она запретила вливать (хз как посчитать) и сколько багов предотвратила. Но у нас тут с мертвой точки сдвинулась война с брошенными фичатоглами и тулза сильно помогла при их выпиле. И продолжает помогать.Сначала я скормил ей весь наш проект и она выдала мне около 3000 варнигов. Я понял, что устранить их за раз не вариант. Тогда я загнал все наши модули под карантин, а потом аккуратно раскарантинивал и устранял варнинги. Где-то месяца 2-3 назад я передал задачу другой разработчице, Маше, и где-то полтора месяца назад она закончила выносить все модули из карантина. Но это только первый этап был.Вторым этапом стал тюнинг настроек Периферии: мы попросили ругаться ещё и на публичные проперти, если они не юзаются или если им нет необходимости быть публичными, так как никто снаружи их не юзает. Это дало нам ещё 3000 варнингов. Маша их устраняла последние полтора месяца.В общем и целом спустя год мы закончили удалять бесполезный мертвый код и теперь его никак нельзя занести в проект.Что это нам дало:- Перестали тратить время на поддержание кода, который никогда не выполняется на проде.- Сократили количество легаси. Вот прям сегодня после рефактора очередной кусок удалил по наводке периферии, потому что он перестал использоваться.- Проект стал билдиться быстрее. Пруфов не будет.- Ускорили и удешевили билды на CI.ИтогС самого начала проекта мы считали количество строк кода по мере раскарантинивания проекта. Цифры такие:Удалили: 27кДобавили: 5кЭто много или мало? Давайте посмотрим на аналитику сонара:Lines: 400кLines of Code: 250кПолучается мы удалили где-то 5-10% нашего приложения.Что дальшеМожно подключить к периферии ещё и тесты — там много моков валяется бесполезных и хелперов лишних, на которые мы тож тратим время и силы.
🤔 Расширяем кругозор. Плюс-минус все знают, что такое FOMO, но слышали ли вы о FOBO? У этой аббревиатуры два значения: fear of better option и fear of obsolescence.*️⃣ Fear of better option — страх упустить более выгодный вариант, сделать неправильный выбор.«FOBO — это образ мысли, при котором, принимая решение, вы всегда стремитесь выбрать «лучшее». Но в поисках идеального варианта вы не отказываетесь от всех остальных. Вам неприятно, даже невозможно остановиться на любом из имеющихся вариантов, и вы продолжаете жить в мире неопределенности, а не в мире «да» и «нет», — пишет Питер Макгинли, венчурный капиталист, писатель и автор понятия FOMO, — Вы тратите драгоценное время и силы на обдумывание разнообразных альтернатив только для того, чтобы оттянуть момент, когда пора уже принять решение и заняться другими делами. FOBO отнимает много времени, изматывает и не приносит результатов». Яркий пример — Буриданов осел, который не мог выбрать между двух стогов сена и умер от голода. То есть о FOBO знали еще древние философы. Но сейчас, предположу, проблема стоит острее, потому что у нас куда ни ткнись очень, очень много выбора. От сериалов на вечер до стратегии на жизнь. Слово Питеру Макгинли: «[FOMO] не превращает вас в безнравственного человека, а страх лучшего варианта — да. FOBO заставляет говорить «может быть», когда нужно брать на себя ответственность; молчать, когда приходит время окончательно утверждать планы; отменять все в последнюю минуту, если впереди замаячило кое-что получше. <…>[FOBO вызвано] изобилием возможностей, и [оно], как правило, усиливается по мере того, как вы становитесь старше, солиднее и богаче, поскольку все это дает больше вариантов выбора. Именно тогда FOBO выходит за рамки отказа от чашки кофе или ужина и проникает во все аспекты личных и деловых отношений. Чем больше в вашем распоряжении возможностей, чем шире становится выбор, тем сильнее соблазн сохранить ценность альтернативы, и неважно, что при этом вы впустую тратите время или обижает других. А еще вас, скорее всего, все меньше волнует, как ваше поведение влияет окружающих. В конце концов, у вас есть выбор».*️⃣ Fear of obsolescence — страх остаться без работы и карьеры из-за развития технологий.В 2023 году 22% опрошенных американцев сказали, что испытывают FOBO. В 2021 году таких было только 15%. В материале Всемирного экономического форума пишут, что рост тревожности связан с запуском ChatGPT в ноябре 2022. Там же говорится, что 34% всех бизнес-задач сегодня выполняются машинами, а оставшиеся — людьми. Авторы интерпретируют эти цифры как небольшие, мол, всего 34%, и вообще автоматизация идет медленнее, чем все думали. Но как по мне — 34% это дофига. Год назад я приводила здесь отчет Goldman Sachs, согласно которому с наибольшей вероятностью перемены в условиях работы или сокращения ждут офис-менеджеров и административный персонал, юристов, архитекторов и инженеров. Недавно читала о том, что новые нейросети ставят под сомнение «нужность» джунов в креативных индустриях вроде производства изображений, видео и музыки (о текстах даже не говорю, там еще ChatGPT шороху навел). Считается, что всем, кому грозит автоматизация, просто надо чуть доучиться, чтобы сохранить работу, но просто как всегда — не так уж просто. Те, кто в силу обстоятельств учиться не сможет (пожилые люди, люди с ограниченными возможностями здоровья и так далее), рискуют остаться не у дел. Какой FOBO ваш? ❤️ — fear of better option🔥 — fear of obsolescence🐳 — спасибо, никакой
Гадание на AI 11/12Интересно, что большинство самых цитируемых и важных публикаций на тему AI опубликованы просто препринтами. Этот тренд — уход от медленных академических журналов с peer-review — наблюдается и в математике и физике. Но в AI, конечно, он очень сильный.#Наука
Война США и Китая в гонке за ИИПару недель назад я обещал разобрать слитый документ от ex-сотрудника OpenAI.Так вот, я прочитал его и кардинально изменил своё отношение к прогрессу в ИИ. Присядьте!Вот главные тезисы документа:1. В 2019 году GPT-2 от OpenAI "соображала" на уровне дошкольника, а в 2023 GPT-4 — на уровне старшеклассника. С такими темпами в 2027 GPT будет на уровне учёных.2. Модели-учёные в сотни-тысячи раз ускорят прогресс. Они будут совершать научные открытия. И тут кроется главная опасность — модели научатся самосовершенствоваться.3. Контролировать таких моделей-ученых — практически нерешаемая задача. Если не удастся, то последствия — войны, сумасшествие, массовое уничтожение населения Земли.4. Поэтому США перестали продавать новые видеокарты в Китай. Страна с тоталитарным режимом не должна получить опасную технологию.Документ ex-исследователя OpenAI прям накачивает читателя эмоциями. Как будто писался командой пиарщиков, а не простым ученым! Именно на этой мысли у меня появились первые сомнения.Потом я стал искать логику в тезисах и осознал, что она сильно страдает!1. США обеспокоены угрозой, что AGI может всех уничтожить.2. НО ПРИ ЭТОМ США НЕ ПРЕКРАЩАЮТ РАЗРАБОТКУ AGI. Даже хуже — OpenAI закрыла отдел, который изучал, как создать безопасный AGI.3. Всё что делают США для безопасности — запрещают продавать в Китай видеокарты.Реально, тут нет логики! Слова говорят об одном, а действия — о другом.Именно тут мне пришло осознание: ИТ-гиганты из США хотят себе монополию на рынке ИИ и убирают конкурентов!Потому что рынок ИИ растёт просто бешеными темпами. Его объём в 2024 — 0.2 трлн $, а в 2030 будет 0.8 трлн $. Рост в 4 раза за 6 лет!Любая компания хочет держать такой рынок под собой. Для этого OpenAI, Google и др. пытаются "силовым способом" убрать китайских конкурентов.Именно поэтому они активно пропагандируют идею, что AGI может уничтожить человечество. В таком контексте запрет продаж видеокарт в Китай выглядит суперлогично — там же «тоталитарный режим, ущемляющий права населения». Опасно давать им шанс создать сверхинтеллект.На деле же никто не знает, реально ли создать AGI. Для ИТ-компаний США главное, что теоретический шанс есть. А значит, можно запугать всех людей. И пока все верят, OpenAI, Google и др. захватывают господство на мировом рынке ИИ.Схема построена просто гениальная и я очень рад, что я наконец-то её понял!Ставь 💟, если было интересно!
Обнаружил в Truecaller функцию блокировки номеров по маске. Кинул весь диапазон 981* в бан и жить сразу стало сильно проще.
В Вышке понемногу заканчивается весенний семестр. Каждую неделю обязанностей всё меньше и я чувствую себя всё свободнее. Появилось время не только пить вино на фестах, но и посты писать. Я рассказывал в прошлом посте, что вписался искать лекторов по ML для майнора в Вышке и выдал большую подборку из прошедших лекций. Курс практически подошёл к концу. Осталось только прочитать одну лекцию про АБ-тесты. Поэтому хочу поделиться с вами второй подборкой лекций. В курс вписалось дофига классных лекторов. Если кто-то из вас это читает, большое спасибо каждому из вас. Вы офигенные 🤗Первая часть была из сплошного DL, во второй его поменьше. Каждый лектор даёт введение в свой кусок ML-я, а дальше можно самому копать в него подробнее. 🥛 Кусочек про DL в графах от Эльдара Валитова:9. Введение в глубинное обучение в анализе графовых данныхЕсли хочется больше, можно заглянуть в курс Эльдара с ПМИ или в Стэнфордский аналогичный курс, на котором, во многом, основан курс ПМИ. [видео]Ещё мы два года назад собрали для ML на ФКН классный семинар с базовыми способами учить эмбеды для вершин в графах. [конспект] [тетрадка] [видео]🥛 Кусочек про временные ряды от разработчиков библиотеки ETNA из Т-банка (Мартин Габдушев и Яков Малышев):10-11. Временные рядыОбычно основная проблема в лекциях про временные ряды в том, что люди рассказывают только про ARIMA ииии всё. У меня всегда с этого жутко подгорало. У ребят получилась большая обзорная лекция, где они прошлись по всему спектру задач и моделей, возникающих для временных рядов. Если хочется копнуть глубже и поисследовать математику, которая стоит за всеми этими моделями, можно закопаться в курс с ФКН от Бори Демешева и Матвея Зехова, все лекции в открытом доступе. Возможно, записи прошлого года поудачнее, тк там нет упоротой вышкинской заставки, когда лектор молчит.Update: Матвей говорит, что семинары от этого года удачнее, в них было много изменений по сравнению с прошлым :3🥛 Кусочек про MLOps от Влада Гончаренко12. Introduction to MLOps13. Введение в современный MLOpsПолный курс Влада можно найти вот тут. Вроде неплохо выглядит курс от ODS по MLOps, но он проходил три года назад и часть штук могла устареть. Ещё все очень позитивно отзываются о курсе Макса Рябинина Эффективные системы глубинного обучения. Я пока не смотрел, но планирую летом глянуть свежую шадовскую версию. В открытом доступе есть видео от 2022 года. Также много инфраструктурных вещей есть в курсе ML для больших данных от Лёши Космачёва. [видосы]🥛 Кусочек про рекомендательные системы от Сергея Малышева14. Recsys Intro15. Recsys AdvancedЕсли хочется закопаться чуть глубже, рекомендую глянуть лекции с основного курса по ML с ФКН (лекции 11-14), а дальше можно покопаться в репозитории с более продвинутым курсом. Видосов, к сожалению, не нашел 🙁 🥛 Экспериментальный кусочек про области где используют ML. Тут семест кончился, поэтому была только лекция от Димы Сергеева про HealthTech :3 16. Data Science in HealthTechP.S. Все материалы на гите
Друзья,сегодня меня чуть не развели, очень мастерски. И я хочу поделиться с вами, чтобы и вы не попались. Мне сегодня позвонили в WhatsApp, представились редактором Википедии, сказали, что в статью "Алексей Иванов" были внесены некорректные изменения с использованием нецензурной лексики. Поэтому редакция платформы решила связаться со мной для проверки фактов статьи. Википедия для меня - больная тема. Лет семь назад я даже организовала вокруг неё медийный скандал, потому что в статье о моём авторе окопался деятелтный хейтер Иванова - свердловский коммунист Иван Абатуров - и самоотверженно её правил, весьма тенденциозно. Тогда я пыталась побороться с активистом, но потом махнула рукой, потому что поняла, что для этого нужно навсегда поселиться в Вики. Короче, я обрадовалась, что через столько лет решение проблемы само ко мне пришло в лице редактора сайта, который заверил меня, что на Абатурова много жалоб, и сайт готов предоставить мне эксклюзивный доступ к статье об Иванове, чтобы только я могла её редактировать. Это меня насторожило, потому что это противоречит народной политике Вики, когда каждый может участвовать в создании статей. Но я знала также, что множество известных деятелей стали жертвой недобросовестных активистов ресурса, которые берут под контроль их биографии, а некоторые потом даже зарабатывают на правках некорректной инфы. Короче, я решила, что Википедия поменяла политику и взялась защитить знаменитостей. Редактор сказал, что прямо сейчас мы сможем настроить мне персональный доступ к редактированию статьи. Меня попросили включить камеру и демонстрацию экрана. Я включила. Потом мне прислали ссылку, по которой предложили установить на телефон приложение, из которого я смогу зайти в кабинет. Я нажала на ссылку, мессенджер предупредил меня об опасности. Редактор тут же придумал какое-то объяснение, что, мол WhatsApp всегда блокирует такие ссылки, поэтому я просто должна отклонить блокировку. Вот здесь я насторожилась и решила посоветоваться с нашим системщиком. Редактору сказала, что пришла моя машина и предложила связаться позже. Но он почему-то очень настаивал завершить всё немедленно. Я отказалась. Тогда он предложил хотя бы открыть почту и проверить, пришёл ли мне код для входа в личный кабинет. Я открыла, увидела код и тут же поняла, что мой собеседник его тоже видит, потому что включена демонстрация моего экрана. Я тут же прервала звонок и снова попыталась открыть почту. Меня выбросили из системы и потребовали пароль. Я ввела свой пароль, но он оказался недействительным. Я поняла, что редактор оказался мошенником, он запросил код на мой телефон, подсмотрел его на экране и сменил пароль моей почты. Дальше, видимо, собирался привязать её к своему телефону. Но я быстро сообразила, нажала "забыли пароль", мне на мобильник пришёл новый код, и я поменяла пароль. Когда я зашла в почту, увидела сообщение, что 3 минуты назад кто-то уже менял пароль. Я чудом успела предотвратить развод. Короче, будьте внимательны, не включайте демонстрацию экрана, если вам звонят незнакомцы. Даже если кажется, что они в теме. Мошенники научились действовать очень хитро.
Что изменилось у артистов с появлением умной "Моей волны" Яндекс Музыки?Если мы вернемся, например, в 2015 год, то мы увидим, что люди в основном черпают новую музыку из авторитетных для себя источников СМИ или просто медиа (Родной Звук, Motherland, The Flow, Афиша, Новый рэп и далее по списку, у каждого жанра были свои авторитетные историчники в медиа). Сегодня мы видим, как почти все паблики, которые раньше делились новой музыкой, сейчас либо просто умерли, либо переформатировались в новостные паблики или стали похожими на желтую прессу, обсуждая фотки в купальнике Алины Олешевой из кис-кис.А все не случайно, ведь с появлением умных алгоритмов на стриминговых сервисах, которые справедливо знают твои музыкальные предпочтения даже лучше, чем ты сам, надобность в авторитетных источниках с новой музыкой просто изжила себя. Так же, не стоит забывать и о появлении Тик Тока, который полностью перевернул музыкальный рынок (но это тема отдельного поста).Так вот, если раньше мы видели 200.000 тысяч слушателей на Яндексе у какого-то артиста, - то это был отличный индикатор его популярности. Сегодня такие цифры мы можем увидеть у огромного количества музыкантов с 500 подписчиками в инстаграме и 1000 в ВК. О чем нам это говорит? Моя волна — это новое радио в 2024. Люди могут знать несколько твоих песен наизусть, но при этом в душе не ебать кто ты вообще такой: не подписаться на тебя, и тем более не знать, что у тебя скоро концерт. Яндекс дал вам то, что вы так давно просили — много прослушиваний. Но мои наблюдения говорят о том, что артисты имея по 200,300, 500+ тысяч на Яндексе, не могут собрать аудиторию в своих соц. сетях, оставаясь просто добавленной песней в плейлистах.Яндекс — сделали совершенно гениальный продукт, закрыв огромную дыру (в виде стримов) в потребностях молодых артистов, но при этом мы знаем, что кроме аналитики нет никаких сервисов для дальнейшего продвижения своей музыки на уже якобы существующую аудиторию. Ты можешь только смотреть на эти 200к, но никакх до них не добраться. — у молодых артистов паника.Самое сложное сейчас — это не набрать стримы, а набрать аудиторию фанатов, которые будут следить за вами и активничать в соц. сетях. А тут, ребята, как раз-таки и включаются все прелести вашего позиционирования и умения генерить не только музыкальный контент.К слову, так было всегда, но просто сейчас эти болячки всплыли гораздо ярче.
Многих удивило, что Маск выбрал нержавейку для «Cтаршипа», но вчерашний полёт доказал, что это был верный инженерный выбор. При входе в плотные слои атмосферы управляющий руль раскалился докрасна, но не потерял устойчивости и сохранил управляемость. Если бы вместо стали использовали алюминий или композиты, он давно бы прогорел.Какие технические и инженерные причины изначально привели к выбору нержавейки?Интуитивно все считают, что сталь тяжелая, а ракеты должны быть легкими. Специалисты по материалам обычно говорят, что нужно использовать что-то очень легкое, например, передовые углеродные композиты.Именно с этого SpaceX и начали — с очень продвинутого углеродного волокна. Однако оно производилось в небольших количествах и стоило $130/кг. Кроме того, есть сложности в использовании углеродного волокна для баков, которым нужно хранить криогенные жидкости и нужен наддув топлива в баках и его подача в ТНА. Starship сделан по системе самонаддува: кислородный бак наддувается газообразным кислородом, а метановый, соответственно, газообразным метаном. Смола и углерод в композитах — это органика с пористой структурой, которые запросто горят при контакте с кипящим кислородом, что требует облицовки композитных баков или какого-то не композитного вкладыша. Это всё усложняет, увеличивает трудоёмкость и снижает массовую эффективность углеволокна.Также у композитов много чисто технологических проблем при изготовлении ракеты диаметром 9 метров. Намотка углеродного волокна без пузырей и пустот — сложная задача, и любая ошибка означает необходимость утилизировать всю заготовку. Также требуется огромный автоклав для отверждения и время, что замедляет процесс разработки, которая ведётся по системе «Аджайл». «Старшип» сам размером с 20-этажный дом, поэтому представьте, какого размера должен быть автоклав. Нержавейку же можно всегда залатать на месте без потери прочности.Они рассматривали и другие материалы, например, высокопрочный алюминий. Для F9 SpaceX используют алюминий-литий, самый прочный и легкий алюминиевый сплав. Но он плохо сваривается: на заводе используются спецстанки и СТП — сварка трением с перемешиванием. Al/Li стоит около $40/кг, при массе Starship в 100 тонн затраты будут $4 млн только на металл.Нержавеющая сталь стоит всего около $4/кг, по сравнению со $130 у композитов. Это также упрощает производство — всё сваривается в один слой прямо из стальной катушки с металлургического завода вместо намотки 120 слоёв углеродного волокна. Нержавейку можно не красить, что экономит вес и упрощает конструкцию.«Старшип» входит в атмосферу на гиперзвуковой скорости около 25 чисел Маха и испытывает колоссальные термические перегрузки. Температура плавления у стали выше, чем у алюминия, и она лучше выдерживает высокие температуры, чем углеродное волокно. Если композиты теряют прочность при температурах выше 200°C, алюминий — при 300°C, то сталь выдерживает до 800°C. Это значит, что массу теплозащитного экрана можно уменьшить, так как стальной корпус может выдерживать более высокие температуры, что позволяет использовать более тонкие плитки теплозащиты, чем, например у «Шаттла».Свойства нержавейки значительно улучшаются при криогенных температурах. При комнатной температуре её свойства так себе, но зато при температуре заправки жидкого кислорода прочность растёт и, что очень важно, она не становится при этом хрупкой. Холодная обработка стали ещё сильнее улучшает её прочность.У «Старшипа» обе компонента — метан и кислород — криогенные, что очень хорошо влияет на характеристики. Нержавейка очень прочная, стойкая и легко свариваемая. Они начали с нержавейки американского стандарта 301, которая имела проблемы с ударной вязкостью при криогенных температурах, поэтому перешли на 304 (18% хром, 8% никель), а сейчас заказывают спецвариант сплава 304 с легированием и холодной обработкой под названием 30X — у Маска всё с буквой X.Нержавейка, которая используется для «Старшипа» и «кибертрака» от «Теслы» — одна и та же, 30X. Сталь для «Старшипа» и «кибертрака» поставляет финская компания «Outokumpu», у которой есть завод в Алабаме.
Представьте, как сильно все потеряются, если гугл календарь исчезнет?