Клиентская оптимизация *
Делаем сайты удобнее и приятнее
Новости
strlcpy, или как CPU противоречат здравому смыслу
Один из моих старых постов о strlcpy недавно вызвал обсуждения на различных форумах. Вероятно, с этим как-то связан выпуск новой версии POSIX. Многие авторы приводили один контраргумент, который я слышал и раньше:
«В общем случае, когда исходная строка умещается в конечный буфер, strlcpy
будет обходить строку только один раз, а strlen + memcpy
будут обходить её дважды».
Под этим аргументом скрывается допущение о том, что однократный обход строки выполняется быстрее. И, честно говоря, это вполне разумное допущение. Но справедливо ли оно? Об этом мы и поговорим в статье.
Два потока, одно ядро: как устроена одновременная многопоточность
Одновременная многопоточность (Simultaneous multithreading, SMT) — это функция, позволяющая процессору одновременно обрабатывать команды из двух разных потоков. Но задавались ли вы когда-нибудь вопросом, как это работает? Как процессор отслеживает два потока и распределяет ресурсы между ними?
В статье я объясню, как устроена эта функция. Понимание внутреннего устройства SMT поможет вам решить, подходит ли она для ваших продакшен-серверов. Иногда SMT способна резко повысить производительность системы, но в некоторых случаях она приводит к замедлению. Знание подробностей позволит вам сделать правильный выбор.
Примечание: основная часть изложенного в статье относится к реализации SMT компании Intel, также называемой гипертредингом (hyper-threading). Она основана на научной статье компании, опубликованной в 2002 году.
Оптимизация производительности Flutter приложений
Привет, Хабр!
У меня есть несколько советов по оптимизации производительности приложений на Flutter. Хотя фреймворк и имеет высокую производительность по умолчанию, неправильное написание кода может привести к проблемам с быстродействием. Давайте рассмотрим несколько важных моментов, которые помогут вам написать быстрый и эффективный код.
Истории
CPP — custom product page для мобильных приложений
CPP - custom product page для мобильных приложений.
Привет, коллега! Пора обсудить такую тему, как CPP. В рядах прошаренных мобильщиков этот формат рекламной кампании уже давно используется для снижения стоимости закупки. Но если ты пропустил эту тему, то тебе к нам — читать статью и просвещаться.
Зачем лабораториям кастомные решения и как мы их создаем
Лаборатории могут работать на типовых коробочных решениях, которыми пользуется большинство компаний на рынке. Но если создать кастомное, заказчик получит конкурентное преимущество и хорошую возможность стать лидером в своей нише. Он сможет выполнять больше заказов за меньшее время, а значит, зарабатывать больше денег.
Factorio: оптимизации 2.0
▍ Оптимизация роботов (автор: Rseding)
За годы работы над Factorio я профилировал множество файлов сохранений и регулярно встречал сохранёнки, где большая часть времени обновления тратится на логистику и/или строительных дронов. В этом нет ничего нового, но наряду с дронами существуют и дронстанции (в больших количествах).
Типичная фабрика с кучей дронстанций (Roboport)
Дронстанции никогда не были «медленными», но они всегда присутствуют на карте, и у игроков есть мотивация строить их в больших количествах; к тому же, их будет ещё больше в грядущем Space Age, где нужно будет многое делать удалённо. Сохранение, полученное после последней сессии плейтестинга, снова показало, что они отнимают небольшое, но ненулевое количество времени, поэтому я снова задумался о них.
Как мы помогли клиентам автоматически настраивать программы для работы с КЭП
Устанавливать и настраивать программы для работы с электронной подписью можно разными способами. Когда-то мы это делали с помощью CD-дисков, а потом поняли, что это долго и неудобно. Тогда мы разработали решение, которое позволяет клиентам Удостоверяющего центра и других продуктов Контура устанавливать и настраивать программы без каких-либо действий со стороны пользователя и практически без инструкций. И имя ему — Контур.Веб-диск.
Я Андрей Чеканов, ведущий инженер-программист и разработчик в Контуре. В статье расскажу, как мы создавали это решение и почему не все получилось сразу.
Насколько быстр Javascript? Симулируем 20 миллионов частиц
Я бросил себе вызов: симулировать 1000000 (миллион) частиц на чистом Javascript на телефоне, используя только CPU и добившись 60 FPS.
Поехали.
Задача не особо сложна, если выполнять всю работу на GPU, но правило гласит, что нужно пользоваться только CPU, при этом работая на JS, так что никакого WASM.
Профайлер памяти. Зачем он нужен и как использовать
Профайлер памяти — это инструмент, который анализирует работу конкретного приложения, помогает выявить утечки памяти, показывает точное количество использованной памяти и количество выделений. Если программа потребляет больше памяти, чем ожидалось, то профайлер покажет все выделения ресурсов и позволит определить, почему и где они выделяются.
Профайлер можно использовать не только в разработке, но и в системном администрировании, чтобы отслеживать рабочие процессы конкретных приложений, скриптов и задач.
Юнит-экономика: база простыми словами с примерами
🤬 ARPC = (AvP – COGS) × APC — 1s COGS
🤬 LTV = (AVp − VC × AVp) × RPR × Lifetime
🤬 ARPPU = (AVp − COGS) × APC − 1COGS
Так вот: эта статья не о формулах (👍), а об основных принципах и подходах в работе с юнит-экономикой, чтоб ты смог разобраться и начать применять на практике.
Прежде чем делать выводы или переходить к практике, дочитай эту статью до конца. Каждый раздел статьи сам по себе не передает полного смысла и не раскрывает всю картину того, что я хочу в ней донести.
Проблемы нормализации НСИ и их решения
При эксплуатации учетных систем пользователи часто жалуются на «бардак» в справочниках: элементов слишком много, они задублированы, непонятно, какой элемент использовать, часть из них не используется вообще. При этом пользователи не могут ответить на вопрос, кем и для чего эти элементы были заведены. Если возникнет необходимость в отражении, например, нового факта хозяйственной деятельности, то пользователь часто «идет по пути наименьшего сопротивления» – заводит новый элемент справочника. Несмотря на то, что для этих целей уже был зарегистрирован элемент ранее, но о его наличии пользователь не знает или не хочет разбираться со старым «наследством» и проблема все более и более усугубляется.
Меня зовут Алексей Бырко, я консультант-эксперт в департаменте 1С «КОРУС Консалтинг» и в своей работе я часто сталкиваюсь с потребностью нормализации НСИ на проектах. Поделюсь своим опытом, почему это происходит и что с этим делать.
Ужасы работы с Интернетом в Антарктиде (и как это исправить), часть 2
В этой части я приведу ещё несколько примеров того, как нам мешает скачивание обновлений внутри приложений.
Пример 1: обновления macOS
Ни для кого не секрет, что обновления macOS огромны. Иногда это раздражает даже дома, но на Южном полюсе ситуация гораздо хуже.
Размер патча минорного обновления macOS обычно имеет размер от 0,5 до 1,5 гигабайтов. Патчи с крупными обновлениями иногда занимают до шести с лишним гигабайтов. Дополнительные инструменты, например Xcode, часто весят несколько гигабайтов.
Ближайшие события
200 лет шрифту Брайля: как себя сегодня чувствуют ассистивные технологии в сети?
В 1824 году 15-летний незрячий французский мальчик Луи Брайль изобрел рельефный шрифт, которым сегодня пользуются люди с нарушениями зрения по всему миру. Так появилась первая полноценная ассистивная технология в истории. В этой статье я расскажу, какие еще технологии подобного рода у нас есть сегодня в цифровом мире — в котором так многое зависит от способности видеть, читать и кликать.
Если ты этого не видишь, взрослый бизнес не для тебя — новые ниши для предпринимателя
Случайно совпало, что статья выходит на фоне новостей о Мосбирже, забавно…
Сколько приходится видеть одно и то же мнение – новых ниш в бизнесе уже не найти. Но ведь это не так. Есть десятки непаханых полян любого размаха. И сейчас попробую поделиться своим (и не только) видением до сих пор нетронутых вотчин, которые в течение этого десятилетия окажутся самыми желанными для предпринимателей.
Если тренд уже можно отследить в Яндекс Метрике или Гугл Трендс, считай шанс упущен.
Ужасы работы с Интернетом в Антарктиде (и как это исправить), часть 1
Часть этого поста я написал, всё ещё находясь в Антарктиде, но уеду, ещё не закончив его.
Я просматривал свои старые черновики постов и понял, что этот почти завершён.
Надеюсь, читателям покажется интересным этот беглый взгляд на реальный опыт пользования Интернетом в условиях ограниченной полосы пропускания.
В течение 14 месяцев работы в Антарктиде доступ в Интернет у меня был только через крайне ограниченное число спутниковых каналов, предоставленных Антарктической программой США (United States Antarctic Program).
В начале поста нужно дать особое примечание:
Хотя я был ИТ-сотрудником United States Antarctic Program, всё, о чём я буду говорить в этом посте, основано или на публично доступной информации, или на моих личных наблюдениях как обычного участника программы, живущего во льдах.
При написании поста не использовалась информация с ограниченным доступом и непубличная информация.
При приёме на работу я подписал условия, ограничивающие публичное раскрытие непубличной информации о материалах, связанных с информационными технологиями. Я намерен полностью соблюдать эти ограничения. Такие ограничения типичны для сдельной работы на правительство США.
Маловероятно, что я смогу ответить на дополнительные вопросы по темам, обсуждаемым в этом посте. Я тщательно старался писать максимально подробно, не допуская при этом раскрытия непубличной информации о правительственных ИТ-системах.
Данная информация отражает мой личный опыт нахождения в Антарктиде с августа 2022 года по декабрь 2022 года в Мак-Мердо, а затем с декабря 2022 года по ноябрь 2023 года на Южном полюсе.
Как мы наладили процессы онбординга в компании: с отзывами сотрудников Zetta
Внедрение эффективной корпоративной культуры — ключевой фактор успеха современных организаций. Большая часть нагрузки в этом процессе приходится на онбординг — комплекс мероприятий по адаптации новых сотрудников.
Мы решили рассмотреть принципы и эффективность внедрения онбординга на примере нашей компании, фабрики кухонь Zetta. Ведь грамотная корпоративная культура оказывает непосредственное влияние на мотивацию персонала, их удовлетворенность работой, а также на отношение к клиентам и партнерам.
Как мы поддерживали сервис и клиентов, когда менялся закон об электронной подписи
В законе об электронной подписи изменения происходят уже несколько лет. Бизнесу приходится все сильнее управлять растущим количеством сертификатов и затратами на них. А нам — поддерживать эти процессы: делать их удобными и качественными.
В статье, я — Сергей Бородулин, менеджер по развитию Корпоративного центра регистрации (КЦР) Контура, расскажу, как наша команда меняла сервис в эпоху законодательных перемен: на какие ценности ориентировалась и что делала, чтобы сохранить удобство для пользователя.
Разбираем 5 способов ускорить сайт: от простого к сложному
Низкая скорость загрузки — это критично. По данным исследования Unbounce, долгое ожидание негативно влияет на пользователей: 45,4% из них с меньшей вероятностью совершат целевое действие, а 11,9% — вообще покинут сайт. Давайте обсудим несколько способов, которые помогут ускорить сайт быстро и без особых усилий.
Меня зовут Алексей Солдатов, я руководитель техподдержки SpaceWeb. В этой статье поделюсь способами для ускорения загрузки сайта, которыми пользуюсь лично, а также расскажу о некоторых подводных камнях.
USM (Unified Service Management)_Шаблон
User Story Mapping - это методика визуализации пользовательских историй, которая помогает командам разработки программного обеспечения лучше понять пользовательский опыт и определить приоритеты для разработки функциональности продукта.
USM строится на основе пользовательских историй, которые описывают функциональные требования к продукту. Эти истории организуются в виде карты, которая визуализирует поток работы пользователя через различные этапы взаимодействия с продуктом. Карты User Story Mapping могут быть использованы для итеративного планирования разработки продукта, а также для улучшения понимания пользовательских потребностей и предпочтений.
Вклад авторов
sunnybear 1587.8ru_vds 430.6Lorents 364.0Leono 281.0olegbunin 239.0Antiever 224.0alexeimoisseev 201.0Mgrin 175.0duran-duran 173.0sirus 172.0