iOS Makes Me Hate
Культурные коды экономики Находка года. Не люблю политику, экономику и историю, но эта книга выкрутила так, что ощущаешь всю мощь наук. Ее писал 10 лет профессор МГУ, где очень трезво описывается почему любовь к труду — лучшее экономическое развитие. Невероятно…
уже пару дней под впечатлением. Узнал допом, что автор был преподом Набиуллиной.
Многие личные вопросы находят ответы. Культура — один из важных пунктов в экономическом развитии каждого.
Например, я долго жил в ауле Казахстана и думал, что приеду в богатый город, заработаю и стану счастливее. Ресурсы я получил, но культуру многих городов не стал принимать и чувствовать близже. Ассимиляция не проходит полностью. Но и в село никогда не вернусь. Также и про страны. Пожив в других странах вроде и качество жизни лучше, и возможностей больше, но о своих борщах с салом или блинами со сгущенкой чаще вспоминаешь и скучаешь. Даже экзотические блюда не помогают. Или в работе, вот ты пришел в компанию. Кажется, что и задачи интереснее и денег больше, но культурно многое не принимаешь и понимаешь, что ресурсов то хватает, но больше времени тратишь на споры и борьбу с собой.
От культуры зависит векторы развития и кол-во необходимых ресурсов для достижения цели.
Многие личные вопросы находят ответы. Культура — один из важных пунктов в экономическом развитии каждого.
Например, я долго жил в ауле Казахстана и думал, что приеду в богатый город, заработаю и стану счастливее. Ресурсы я получил, но культуру многих городов не стал принимать и чувствовать близже. Ассимиляция не проходит полностью. Но и в село никогда не вернусь. Также и про страны. Пожив в других странах вроде и качество жизни лучше, и возможностей больше, но о своих борщах с салом или блинами со сгущенкой чаще вспоминаешь и скучаешь. Даже экзотические блюда не помогают. Или в работе, вот ты пришел в компанию. Кажется, что и задачи интереснее и денег больше, но культурно многое не принимаешь и понимаешь, что ресурсов то хватает, но больше времени тратишь на споры и борьбу с собой.
От культуры зависит векторы развития и кол-во необходимых ресурсов для достижения цели.
Обновление ноушена за неделю:
1. Добавил пару вопросов, ссылок и задач в блок памяти для джунов
2. Доработал блок вопросов с ответами для многопоточности
3. Добавил тесты для самопроверки для джунов по многопоточности
4. Добавил новые книги
5. Начал вести блок про качество коммуникации и нетворкинга
6. Добавил статью про этапы запуска приложения и какая роль памяти и многопоточности
Все материалы почти всегда обновляются, фиксятся, расширяются и не имеют конечную форму.
Также делитесь фидбэком в лс или чате. Впервую очередь моя цель сделать качественный материал и методичку без заблуждений и ошибок. Он должен помогать не только проходить и проводить собесы, но и решать задачи
1. Добавил пару вопросов, ссылок и задач в блок памяти для джунов
2. Доработал блок вопросов с ответами для многопоточности
3. Добавил тесты для самопроверки для джунов по многопоточности
4. Добавил новые книги
5. Начал вести блок про качество коммуникации и нетворкинга
6. Добавил статью про этапы запуска приложения и какая роль памяти и многопоточности
Все материалы почти всегда обновляются, фиксятся, расширяются и не имеют конечную форму.
Также делитесь фидбэком в лс или чате. Впервую очередь моя цель сделать качественный материал и методичку без заблуждений и ошибок. Он должен помогать не только проходить и проводить собесы, но и решать задачи
Многие игнорируют качество кода. Говорят это сложно посчитать. Непонятно станет ли лучше кнопка при правильной архитектуре или идеальном коде. Сколько она принесет денег бизнесу или сократит сроки спорами на код-ревью. А написав код разок не факт что к нему еще вернешься. Ресурсов на хороший код требуется много, а пользу сложно понять.
С этим можно согласиться. Действительно, нет единого стандарта "хорошего кода" и сложно оценить его прямое влияние на бизнес, а каждый новый программист обязательно оскорбит код прошлого или начнет холливар, который давно прошли не первый раз.
Я сам не верю ни в код ревью, ни в формальные договоренности. Верю только в метрики, стандарты и санкции за нарушения. А если для этого нет повода вводить санкции, то так ли это важно? Договоренности всегда нарушают, а метрики и санкции имеют ощутимые последствия.
Но даже так, чтобы сформировать локальные правила хорошего кода, нужно понять как он облегчает чтение, поддержку и уменьшает шансы на ошибку. Это часто бывает камнем преткновения у многих разработчиков, где споры на нем можно обойти либо улучшив свое качество, найти общие правила и принципы.
Попытался собрать подборку с хорошими статьями как сделать свой код лучше:
- Как написать чистый код на Swift
- 7 советов для чистого кода
- 10 лучших практик написания чистого и эффективного кода на Swift
- Чистый код на iOS
- Как написать чистый, удобный в сопровождении код Swift для мобильных приложений?
- 10 советов по написанию более чистого и читаемого кода на Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
Блок с алгоритмами в ноушене.
Добавил раздел с алгосами с примерами на языке Swift и дополнительными комментами.
Пока одна статья, но дальше планирую больше:
- статьи
- разбор задач
- советы и практики для интервью
- разбор техник решения задач
В этом году я собираюсь еще глубже погрузиться в этот вопрос, поэтому делаю с качеством как для себя.
Добавил раздел с алгосами с примерами на языке Swift и дополнительными комментами.
Пока одна статья, но дальше планирую больше:
- статьи
- разбор задач
- советы и практики для интервью
- разбор техник решения задач
В этом году я собираюсь еще глубже погрузиться в этот вопрос, поэтому делаю с качеством как для себя.
Как качество кода ухудшается
Еще позапрошлый пост назад я писал про качество кода и вот наткнулся на статью. Автор в ней говорит, что почти никогда не видел хороший код и он только ухудшается. Всему виной бизнес.
Я тоже часто считаю, что бизнесу вообще все равно какой код ты пишешь. Если придут 2 разраба из разных команд, то повышение получит тот, кто сделал 20 фич со средним кодом, а не тот, кто 10 фич с идеальным.
Если нет четких метрик качества и стандартов — это все субьективные оценки, которые непонятны бизнесу.
Идеальный код получается только с хорошими процессами техдолга и хорошими договоренностями. Здесь нет места интуиции. Пусть такие компании скорее исключение, но все же лучше не какать в кодовую базу
Еще позапрошлый пост назад я писал про качество кода и вот наткнулся на статью. Автор в ней говорит, что почти никогда не видел хороший код и он только ухудшается. Всему виной бизнес.
Я тоже часто считаю, что бизнесу вообще все равно какой код ты пишешь. Если придут 2 разраба из разных команд, то повышение получит тот, кто сделал 20 фич со средним кодом, а не тот, кто 10 фич с идеальным.
Если нет четких метрик качества и стандартов — это все субьективные оценки, которые непонятны бизнесу.
Идеальный код получается только с хорошими процессами техдолга и хорошими договоренностями. Здесь нет места интуиции. Пусть такие компании скорее исключение, но все же лучше не какать в кодовую базу
www.pcloadletter.dev
Somewhere along the way we forgot about software craftsmanship
What the **** does that mean?
В ноушене выпустил очередную статью про потоки, очереди и почему придумали GCD
- почему ручное управление потоками сложное
- что такое main тред
- Что такое синхронные и ассинхронные очереди
Найти ее можно все там же
- почему ручное управление потоками сложное
- что такое main тред
- Что такое синхронные и ассинхронные очереди
Найти ее можно все там же
Иногда нам требуется быстрый доступ к элементам своих коллекций. Например, как в стандартном массиве или словаре
array[0] = "Henk"
print(array[0]) // Prints: Henk
agesDictionary["Antoine"] = 30
print(agesDictionary["Antoine"]) // Prints: 30
Иначе бы мы использовали методы для чтения и записи в типе данных:
array.set("Henk", forIndex: 0)
agesDictionary.set(30, forKey: "Antoine")
На слайдах разберем как это нам поможет упростить использование нашими структурами данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Для многих очень маленькое число, но для меня большая цифра. Огромное спасибо каждому. За ваш фидбэк и конструктивно-креативную энергию.
С каждым новым подписчиком чувствую ответственность за качество контента и свободу для новых форматов. Хочу ответить пользой каждому и чаще задумываюсь улучшить текст. Апнуть процесс развития. Разнообразить дорогу, по которой мы все с вами идем.
Перо глубже вонзается в бумагу. Пальцы уверенней бьют по клавиатуре. Шаги к трибуне решительней, а голос смелее.
Я всегда считал, что художник должен быть голоден. Его судьба ебашить и не знать отдыха. А сейчас меня наконец покидает чувство бесконечно-изнурительного сражения, где протянутые дружеские руки накрывают небольшим облегчением и мотивацией. Этой поддержкой ты можешь закрыть фланги и довериться. Все переросло из пописулек и приобретает форму, цементируется связями.
Ты находишь новые силы продолжить приключение и узнать какой же конец у этого пути. У тебя появляются попутчики и даже друзья.
Заранее извиняюсь за возможно избыточно пафосные, сентиментальные слова, но хотел выразить детально точно каждую каплю в своей груди.
Впереди пара интересных анонсов с новым форматом контента. Оставайтесь, присоединяйтесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Некоторые алгоритмы лучше закрепляются, если мы их будем визуализировать и понимать наглядно как они работают. Наткнулся на интересные сайты с такими объяснениями:
Please open Telegram to view this post
VIEW IN TELEGRAM
Algorithm Visualizer
Algorithm Visualizer is an interactive online platform that visualizes algorithms from code.
Динамическая высота ячейки в коллекции: Frame Based
В ноушене начал серию статей про UIKit. Первая статья стала ответом на самый частый вопрос на менторстве — "Как сделать динамическую высоту в ячейках". Все статьи я буду писать с очень большим кол-вом кода, без сторонних либ и только с нативом.
В этой статья я сделал пример через ручной расчет размеров в UICollectionView. Почему его юзают в 2024?
- Высокая производительность
- лучший контроль
- Признак высшего мастерства
- крупные компании почти не используют auto layout
- написав в ручную лучше понимаешь как работает
Идите бегом смотрите. Вышел очень плотный материал с кучей кода
В ноушене начал серию статей про UIKit. Первая статья стала ответом на самый частый вопрос на менторстве — "Как сделать динамическую высоту в ячейках". Все статьи я буду писать с очень большим кол-вом кода, без сторонних либ и только с нативом.
В этой статья я сделал пример через ручной расчет размеров в UICollectionView. Почему его юзают в 2024?
- Высокая производительность
- лучший контроль
- Признак высшего мастерства
- крупные компании почти не используют auto layout
- написав в ручную лучше понимаешь как работает
Идите бегом смотрите. Вышел очень плотный материал с кучей кода
Вопрос правильных переменных, логичного и простого кода все чаще интересует меня. Когда ты работаешь в командах, где стандарты уже приняли давно до тебя или есть обкатанные решения, то не особо задумываешься про такие вещи. Все для всех понятно и никто не поспорит лишний раз как назвать переменную или должны ли быть в расширении приватные методы.
Но когда ты приходишь в еще неокрепший проект, в котором не пройден этап формирования стайлгайда, линтера и практик, то споры на ревью могут занять очень много времени. Иногда больше, чем делаешь фичу.
Попробовал собрать хорошие правила практик для эффективного код ревью:
Я до сих пор уверен, что хорошее кодревью не должно забирать много времени. Качество кода не должно быть идеальным и догматичным, а скорее стандартизированным и понятным. Код должен закрывать потребности разрабов и учитывать их хотелки. Он не должен слепо следовать внешним убеждениям из книг или локальными людьми, которые транслируют свои привычки вопреки стандартам большинства.
Прежде чем стандартизировать процесс производства кода, мне кажется, нужно выявить общий компромисс
Please open Telegram to view this post
VIEW IN TELEGRAM
Что ждёт мобильную разработку в 2024 году
Дал небольшое интервью Яндекс практикуму о трендах и прогнозах на 2024 год. Старался быть объективным, но без субъективщины не обошлось. Что-то приняли в финальный текст, а что-то нет. Но все равно почитайте.
Вкратце, все будет хорошо. Главное не останавливаться и не отчаиваться
Ну и кстати, кто не знал, я автор контента на Яндекс практикуме
Дал небольшое интервью Яндекс практикуму о трендах и прогнозах на 2024 год. Старался быть объективным, но без субъективщины не обошлось. Что-то приняли в финальный текст, а что-то нет. Но все равно почитайте.
Вкратце, все будет хорошо. Главное не останавливаться и не отчаиваться
Ну и кстати, кто не знал, я автор контента на Яндекс практикуме
Хабр
Что ждёт мобильную разработку в 2024 году
Привет! Меня зовут Таня Шашлова, я руковожу образовательными продуктами по мобильной разработке в Практикуме. Чтобы обучать людей профессии и помогать им найти работу, нам важно понимать, как...