Тут главное не упороться и не пойти в over-инжиниринг :-)
Насколько я знаю, CALayer умеют кешироваться. Т.е. и на уровне UIKit и на уровне GPU в каком-то виде.
Обычно проседают либо расчёт размеров, либо «тяжёлые» allocations (например, UIImage, NSAttributedString, NSCalendar и др.).
Привет! Можешь чуть подробнее раскрыть мысль?
Это просто добавить свои типы ячеек для карусельки и одиночной картинки, либо какой-то «кеш» отдельный UIView / CALayer?
Имхо для плавной анимации раскрытия ячейки можно просто поменять соответствующий state в модели на «раскрыть» и вызвать метод tableView.reloadRowsAtIndexPathWithAnimation(название метода по памяти пишу). Вроде должно прокатить и намного меньше кода.
Не пользовался, но выглядит подходящим. Попробую, спасибо за совет.
И если для таблицы важна скорость работы, то лучше значения модели в ячейку сетить в willDisplayCell, а не cellForRow.
И да, и нет. Можете попробовать – в моём случае прироста производительности заметного не наступит. Я пытался сконцентрировать 20% усилий на решение 80% проблем производительности. Но вы верно заметили, что правильнее сеттить данные в willDisplayCell.
Еще интересно было ли ограничение на использование сторонних библиотек?
Нельзя было использовать сторонние библиотеки кроме VKSDK исключительно для авторизации.
А вы показ видео не реализовывали? Интересно как разномастные источники (ютуб, рутуб, вк) лучше всего обрабатывать.
Неа, по заданию нужно было только текст, раскрытие текста, изображение и карусельки изображений.
Проблема номер раз раздутый ИТ штат, я этого насмотрелся в разных крутых компаниях.
Чем крупнее компания, тем бессмысленней эта раздутость.
Именно поэтому так важно выстраивать производственные процессы. С помощью них как раз минимизируются задержки на коммуникации, а как следствие – время принятия решения.
Раздутость ведет к размытию обязанностей, и появляются огромные задержки на коммуникации.
Обычно человек, который способен и хочет выполнять больше берёт на себя дополнительные обязанности. Когда это делается насильно сверху – осознанный человек сделает правильный выбор и покинет подобное место.
В статье показана практика только одной команды.
Как и в любой другой системе управления человек адаптирует под себя внешние ограничения и настраивает процессы так как ему комфортно и удобно.
Уйти пораньше можно – в другой день просто немного задержишься. Стандартная практика.
MotC от этого освобождают.
Договориться и взять задачу на планировании
У нас свободное распределение задач после планирования – именно поэтому, если кто-то очень хочет определённую задачу он может её «забронировать». Просто дополнительный способ решить конфликты интересов.
К пункту один, вы трекаете рабочее время?
Одно время трекали – хотели посчитать «чистое время написания кода» (которое обычно 2-4 ч в день). Но опять же это инициатива в рамках нашей команды.
Всё верно, делим на 3600 (В 1 часе 60 минут или 3600 секунд).
Т.е. одна пройденная секунда – это 0,00027 часа. Экран обновляется с частотой 1 раз в 0.5 секунды, и в начале можно увидеть как время быстро бежит по 0,00013, далее постепенно переключения становятся реже.
Спасибо за комментарий – первый раз писали для хаба «Я пиарюсь». Решили с напарником, наоборот, разбить статьи и сделать простое промо, а далее написать уже про разработку и возможно динамику роста / показатели.
Можете объяснить в чём ошибка с подсчётом времени?
А во-вторых, почему бы не сделать нормально и писать часы и минуты, а не 0.189h?
В такой форме часто отчитываются о проделанной работе фрилансеры – в статье как раз пометка о том, что в первую очередь будет им удобно. В следующих обновлениях будет возможность менять способ отображения времени – мы решили запускаться с MVP.
Насколько я знаю, CALayer умеют кешироваться. Т.е. и на уровне UIKit и на уровне GPU в каком-то виде.
Обычно проседают либо расчёт размеров, либо «тяжёлые» allocations (например, UIImage, NSAttributedString, NSCalendar и др.).
Это просто добавить свои типы ячеек для карусельки и одиночной картинки, либо какой-то «кеш» отдельный UIView / CALayer?
Не пользовался, но выглядит подходящим. Попробую, спасибо за совет.
И да, и нет. Можете попробовать – в моём случае прироста производительности заметного не наступит. Я пытался сконцентрировать 20% усилий на решение 80% проблем производительности. Но вы верно заметили, что правильнее сеттить данные в willDisplayCell.
Нельзя было использовать сторонние библиотеки кроме VKSDK исключительно для авторизации.
Неа, по заданию нужно было только текст, раскрытие текста, изображение и карусельки изображений.
Единственное знаю, что работ по iOS было сдано больше чем по Android.
Спасибо
Обычно человек, который способен и хочет выполнять больше берёт на себя дополнительные обязанности. Когда это делается насильно сверху – осознанный человек сделает правильный выбор и покинет подобное место.
Как и в любой другой системе управления человек адаптирует под себя внешние ограничения и настраивает процессы так как ему комфортно и удобно.
Немного не так. Уйти пораньше можно – в другой день просто немного задержишься. Стандартная практика.
MotC от этого освобождают.
У нас свободное распределение задач после планирования – именно поэтому, если кто-то очень хочет определённую задачу он может её «забронировать». Просто дополнительный способ решить конфликты интересов. Одно время трекали – хотели посчитать «чистое время написания кода» (которое обычно 2-4 ч в день). Но опять же это инициатива в рамках нашей команды.
Т.е. одна пройденная секунда – это 0,00027 часа. Экран обновляется с частотой 1 раз в 0.5 секунды, и в начале можно увидеть как время быстро бежит по 0,00013, далее постепенно переключения становятся реже. Спасибо