Как стать автором
Обновить
16.46

Клиентская оптимизация *

Делаем сайты удобнее и приятнее

Сначала показывать
Порог рейтинга
Уровень сложности

Как я ускорил свое мобильное приложение BookDesk на React Native в 3 раза?

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров2.5K

Всем привет! В этом материале я поделюсь с вами практическим опытом по оптимизации своего мобильного приложения на React Native. Я расскажу как я ускорил свое приложение в 3 раза.

Я разрабатываю свое мобильное приложение BookDesk для хранения прочитанных книг. Предыдущие серии: 123

Читать далее
Всего голосов 10: ↑8 и ↓2+11
Комментарии2

Новости

strlcpy, или как CPU противоречат здравому смыслу

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров16K

Один из моих старых постов о strlcpy недавно вызвал обсуждения на различных форумах. Вероятно, с этим как-то связан выпуск новой версии POSIX. Многие авторы приводили один контраргумент, который я слышал и раньше:

«В общем случае, когда исходная строка умещается в конечный буфер, strlcpy будет обходить строку только один раз, а strlen + memcpy будут обходить её дважды».

Под этим аргументом скрывается допущение о том, что однократный обход строки выполняется быстрее. И, честно говоря, это вполне разумное допущение. Но справедливо ли оно? Об этом мы и поговорим в статье.

Читать далее
Всего голосов 49: ↑48 и ↓1+65
Комментарии55

Два потока, одно ядро: как устроена одновременная многопоточность

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров24K

Одновременная многопоточность (Simultaneous multithreading, SMT) — это функция, позволяющая процессору одновременно обрабатывать команды из двух разных потоков. Но задавались ли вы когда-нибудь вопросом, как это работает? Как процессор отслеживает два потока и распределяет ресурсы между ними?

В статье я объясню, как устроена эта функция. Понимание внутреннего устройства SMT поможет вам решить, подходит ли она для ваших продакшен-серверов. Иногда SMT способна резко повысить производительность системы, но в некоторых случаях она приводит к замедлению. Знание подробностей позволит вам сделать правильный выбор.

Примечание: основная часть изложенного в статье относится к реализации SMT компании Intel, также называемой гипертредингом (hyper-threading). Она основана на научной статье компании, опубликованной в 2002 году.
Читать дальше →
Всего голосов 50: ↑48 и ↓2+71
Комментарии47

Оптимизация производительности Flutter приложений

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.6K

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

У меня есть несколько советов по оптимизации производительности приложений на Flutter. Хотя фреймворк и имеет высокую производительность по умолчанию, неправильное написание кода может привести к проблемам с быстродействием. Давайте рассмотрим несколько важных моментов, которые помогут вам написать быстрый и эффективный код.

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии4

Истории

CPP — custom product page для мобильных приложений

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров653

CPP - custom product page для мобильных приложений.

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

Читать далее
Всего голосов 4: ↑1 и ↓30
Комментарии0

Зачем лабораториям кастомные решения и как мы их создаем

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров483

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

Читать далее
Всего голосов 4: ↑0 и ↓4-4
Комментарии0

Factorio: оптимизации 2.0

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров28K
Все мы любим строить всё больше и больше, поэтому когда сталкиваешься с ограничением UPS, это сильно расстраивает. Именно поэтому мы обязаны продолжать свой бесконечный процесс оптимизации игры.

▍ Оптимизация роботов (автор: Rseding)


За годы работы над Factorio я профилировал множество файлов сохранений и регулярно встречал сохранёнки, где большая часть времени обновления тратится на логистику и/или строительных дронов. В этом нет ничего нового, но наряду с дронами существуют и дронстанции (в больших количествах).

Типичная фабрика с кучей дронстанций (Roboport)

Дронстанции никогда не были «медленными», но они всегда присутствуют на карте, и у игроков есть мотивация строить их в больших количествах; к тому же, их будет ещё больше в грядущем Space Age, где нужно будет многое делать удалённо. Сохранение, полученное после последней сессии плейтестинга, снова показало, что они отнимают небольшое, но ненулевое количество времени, поэтому я снова задумался о них.
Читать дальше →
Всего голосов 55: ↑53 и ↓2+63
Комментарии28

Как мы помогли клиентам автоматически настраивать программы для работы с КЭП

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.5K

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

Я Андрей Чеканов, ведущий инженер-программист и разработчик в Контуре. В статье расскажу, как мы создавали это решение и почему не все получилось сразу.

Читать далее
Всего голосов 7: ↑5 и ↓2+7
Комментарии1

Насколько быстр Javascript? Симулируем 20 миллионов частиц

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров22K

Я бросил себе вызов: симулировать 1000000 (миллион) частиц на чистом Javascript на телефоне, используя только CPU и добившись 60 FPS.

Поехали.

Задача не особо сложна, если выполнять всю работу на GPU, но правило гласит, что нужно пользоваться только CPU, при этом работая на JS, так что никакого WASM.

Читать далее
Всего голосов 109: ↑108 и ↓1+133
Комментарии34

Профайлер памяти. Зачем он нужен и как использовать

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров5.5K


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

Профайлер можно использовать не только в разработке, но и в системном администрировании, чтобы отслеживать рабочие процессы конкретных приложений, скриптов и задач.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+31
Комментарии2

Юнит-экономика: база простыми словами с примерами

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров4.8K

🤬 ARPC = (AvP – COGS) × APC — 1s COGS

🤬 LTV = (AVp − VC × AVp) × RPR × Lifetime

🤬 ARPPU = (AVp − COGS) × APC − 1COGS

Так вот: эта статья не о формулах (👍), а об основных принципах и подходах в работе с юнит-экономикой, чтоб ты смог разобраться и начать применять на практике.

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

Читать далее
Всего голосов 6: ↑6 и ↓0+7
Комментарии5

Проблемы нормализации НСИ и их решения

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.4K

При эксплуатации учетных систем пользователи часто жалуются на «бардак» в справочниках: элементов слишком много, они задублированы, непонятно, какой элемент использовать, часть из них не используется вообще. При этом пользователи не могут ответить на вопрос, кем и для чего эти элементы были заведены. Если возникнет необходимость в отражении, например, нового факта хозяйственной деятельности, то пользователь часто «идет по пути наименьшего сопротивления» – заводит новый элемент справочника. Несмотря на то, что для этих целей уже был зарегистрирован элемент ранее, но о его наличии пользователь не знает или не хочет разбираться со старым «наследством» и проблема все более и более усугубляется.

Меня зовут Алексей Бырко, я консультант-эксперт в департаменте 1С «КОРУС Консалтинг» и в своей работе я часто сталкиваюсь с потребностью нормализации НСИ на проектах. Поделюсь своим опытом, почему это происходит и что с этим делать.

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии1

Ужасы работы с Интернетом в Антарктиде (и как это исправить), часть 2

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров8.2K

Часть 1

В этой части я приведу ещё несколько примеров того, как нам мешает скачивание обновлений внутри приложений.

Пример 1: обновления macOS

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

Размер патча минорного обновления macOS обычно имеет размер от 0,5 до 1,5 гигабайтов. Патчи с крупными обновлениями иногда занимают до шести с лишним гигабайтов. Дополнительные инструменты, например Xcode, часто весят несколько гигабайтов.

Читать далее
Всего голосов 26: ↑26 и ↓0+40
Комментарии34

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
24 сентября
Astra DevConf 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн

200 лет шрифту Брайля: как себя сегодня чувствуют ассистивные технологии в сети?

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров1.4K

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

Читать далее
Всего голосов 6: ↑6 и ↓0+8
Комментарии2

Если ты этого не видишь, взрослый бизнес не для тебя — новые ниши для предпринимателя

Время на прочтение6 мин
Количество просмотров21K

Случайно совпало, что статья выходит на фоне новостей о Мосбирже, забавно…

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

Если тренд уже можно отследить в Яндекс Метрике или Гугл Трендс, считай шанс упущен.

Читать далее
Всего голосов 40: ↑3 и ↓37-34
Комментарии27

Ужасы работы с Интернетом в Антарктиде (и как это исправить), часть 1

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров5.3K

Часть этого поста я написал, всё ещё находясь в Антарктиде, но уеду, ещё не закончив его.

Я просматривал свои старые черновики постов и понял, что этот почти завершён.

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

В течение 14 месяцев работы в Антарктиде доступ в Интернет у меня был только через крайне ограниченное число спутниковых каналов, предоставленных Антарктической программой США (United States Antarctic Program).

В начале поста нужно дать особое примечание:

Хотя я был ИТ-сотрудником United States Antarctic Program, всё, о чём я буду говорить в этом посте, основано или на публично доступной информации, или на моих личных наблюдениях как обычного участника программы, живущего во льдах.

При написании поста не использовалась информация с ограниченным доступом и непубличная информация.

При приёме на работу я подписал условия, ограничивающие публичное раскрытие непубличной информации о материалах, связанных с информационными технологиями. Я намерен полностью соблюдать эти ограничения. Такие ограничения типичны для сдельной работы на правительство США.

Маловероятно, что я смогу ответить на дополнительные вопросы по темам, обсуждаемым в этом посте. Я тщательно старался писать максимально подробно, не допуская при этом раскрытия непубличной информации о правительственных ИТ-системах.

Данная информация отражает мой личный опыт нахождения в Антарктиде с августа 2022 года по декабрь 2022 года в Мак-Мердо, а затем с декабря 2022 года по ноябрь 2023 года на Южном полюсе.

Читать далее
Всего голосов 16: ↑16 и ↓0+22
Комментарии15

Как мы наладили процессы онбординга в компании: с отзывами сотрудников Zetta

Время на прочтение10 мин
Количество просмотров540

Внедрение эффективной корпоративной культуры — ключевой фактор успеха современных организаций. Большая часть нагрузки в этом процессе приходится на онбординг — комплекс мероприятий по адаптации новых сотрудников. 

Мы решили рассмотреть принципы и эффективность внедрения онбординга на примере нашей компании, фабрики кухонь Zetta. Ведь грамотная корпоративная культура оказывает непосредственное влияние на мотивацию персонала, их удовлетворенность работой, а также на отношение к клиентам и партнерам.

Читать далее
Всего голосов 5: ↑0 и ↓5-5
Комментарии4

Как мы поддерживали сервис и клиентов, когда менялся закон об электронной подписи

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1K

В законе об электронной подписи изменения происходят уже несколько лет.  Бизнесу приходится все сильнее управлять растущим количеством сертификатов и затратами на них. А нам — поддерживать эти процессы: делать их удобными и качественными.

В статье, я — Сергей Бородулин, менеджер по развитию Корпоративного центра регистрации (КЦР) Контура, расскажу, как наша команда меняла сервис в эпоху законодательных перемен: на какие ценности ориентировалась и что делала, чтобы сохранить удобство для пользователя.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Разбираем 5 способов ускорить сайт: от простого к сложному

Время на прочтение7 мин
Количество просмотров4.5K

Низкая скорость загрузки — это критично. По данным исследования Unbounce, долгое ожидание негативно влияет на пользователей: 45,4% из них с меньшей вероятностью совершат целевое действие, а 11,9% — вообще покинут сайт. Давайте обсудим несколько способов, которые помогут ускорить сайт быстро и без особых усилий. 

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

Читать далее
Всего голосов 6: ↑6 и ↓0+7
Комментарии10

USM (Unified Service Management)_Шаблон

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.4K

User Story Mapping - это методика визуализации пользовательских историй, которая помогает командам разработки программного обеспечения лучше понять пользовательский опыт и определить приоритеты для разработки функциональности продукта.

USM строится на основе пользовательских историй, которые описывают функциональные требования к продукту. Эти истории организуются в виде карты, которая визуализирует поток работы пользователя через различные этапы взаимодействия с продуктом. Карты User Story Mapping могут быть использованы для итеративного планирования разработки продукта, а также для улучшения понимания пользовательских потребностей и предпочтений.

Читать далее
Всего голосов 4: ↑3 и ↓1+6
Комментарии0
1
23 ...

Вклад авторов