Pull to refresh
2K+
256
InlyIT@InlyIT

Пользователь

710
Subscribers
Send message

Конец эпохи компьютерных журналов в Америке

Level of difficultyEasy
Reading time7 min
Reach and readers7K


Апрельские выпуски Maximum PC и MacLife уже доступны в ближайших газетных киосках (если, конечно, поблизости от вас есть газетные киоски). У обоих почтенных изданий, появившихся еще в 1986 году (тогда они были известны как Boot и MacAddict), эти выпуски станут последними, которые вышли в печати. Начиная со следующего номера их публикации будут доступны только в цифровом виде.

Но я пишу эту статью не потому, что Maximum PC и MacLife перестают выходить в формате мертвых деревьев. Я пишу ее потому, что в США они были двумя последними уцелевшими компьютерными журналами на бумаге, которые как-то дотянули до сегодняшнего дня. Теперь, когда они уходят из печати, эпоха компьютерных журналов официально завершается.
Читать дальше →

Не пытайтесь приспособить свой код к будущему

Level of difficultyEasy
Reading time4 min
Reach and readers6.7K
Не имеет значения, что, по вашему мнению, может случиться потом.

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

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

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

Мобильная разработка за неделю #485 (17 — 23 апреля)

Reading time5 min
Reach and readers2.3K
В этом дайджесте сторонние загрузки в iOS и ускорение дебага на Android, схемы кампусов и неочевидные палки в колеса, свои “Герои”, артефакты пришельцев в вашем коде, руководство для начинающих по автономным агентам и многое другое.

В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!

Читать дальше →

Low-code инструменты для разработки ПО — сплошной обман

Level of difficultyEasy
Reading time4 min
Reach and readers17K
Я пишу ПО под заказ уже многие годы, и одна из ситуаций, которые раздражают меня больше всего – это когда клиент принимает позицию, что существует некая палочка-выручалочка, которая сократит, а то и вовсе устранит всю сложность, присущую той или иной задаче. Такое случается чаще, чем можно подумать, и знаете что? Такие клиенты почти всегда заблуждаются.

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

Мобильная разработка за неделю #484 (10 — 16 апреля)

Reading time4 min
Reach and readers2.4K
В этом выпуске потоковое вещание и старые смартфоны, маски ввода номера и исследования трафика, архитектура микросервисов, закрытое сообщество для открытых проектов, запуск аналогов ChatGPT, ИИ-помощник для программирования от Amazon и многое другое.

В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!

Читать дальше →

Мобильная разработка за неделю #483 (3 — 9 апреля)

Reading time4 min
Reach and readers2.1K
В нашем новом дайджесте async/await и кодогенерация для Kotlin, перспективы развития Flutter, решение темной темы, -10х инженеры, игровые механики, человечество после GPT-4 и многие другие материалы.

В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!

Читать дальше →

Как я неделю просидел над десятью строками кода

Reading time4 min
Reach and readers30K


Недавно я столкнулся с серьезным препятствием, когда работал над возможностью перетаскивать вкладки в приложении Warp: если попытаться передвинуть конкретную вкладку, она потянет за собой всё окно. Понадобилась целая неделя изысканий и экспериментов, чтобы установить, откуда берет начало этот баг. Но в конечном итоге я исправил это в pull request-е, который состоял менее чем из десяти строк кода! Это несоответствие усилий выхлопу также заставило меня проникнуться сознанием того, что создание ПО включает в себя гораздо больше, чем просто написание кода. В этой статье я расскажу, как всё происходило.

Немного контекста: Warp – это терминал для разработчиков на базе Rust. При его создании мы использовали собственный кастомный UI-фреймворк, так что всё, что касается вкладок и перетаскивания, пришлось разрабатывать с нуля.
Читать дальше →

Мобильная разработка за неделю #482 (27 марта — 2 апреля)

Reading time4 min
Reach and readers1.9K
В новой подборке материалы о подготовке к собеседованию и кнопочном Android, о создании дизайна с Midjourney, рекордах рынка приложений и многом другом.

В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!

Читать дальше →

Мобильная разработка за неделю #481 (20 — 26 марта)

Reading time4 min
Reach and readers2K
В нашем новом дайджесте легковесная миграция Core Daya и утечки памяти в iOS, реверсинжинеринг московского метро и конец любви к Flutter, бестолковый дизайн, тест на ручник для ChatGPT и многое другое.

В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!

Читать дальше →

Мобильная разработка за неделю #480 (13 — 19 марта)

Reading time4 min
Reach and readers1.7K
В нашей новой подборке ошибки начинающих разработчиков и отсутствие работы у тех, кто работает, вкатывание в геймдев и выкатывание GPT-4, мобильные игры 2022 и многое другое.

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

Читать дальше →

Нужно ли говорить на собеседовании, что предложенная задача вам уже встречалась?

Reading time4 min
Reach and readers16K
Если на техническом собеседовании вы понимаете, что уже решали эту задачу – что делать?

Недавно мое внимание привлек пост на Reddit. Автор поста спрашивал, как быть, если на собеседовании вам предлагают задание, которое вы разбирали до этого. Занятно, что данная тема и до того поднималась много раз, и обсуждения, которые неизбежно за этим следуют, на мой взгляд, представляют немалый интерес.
Читать дальше →

Мобильная разработка за неделю #479 (6 — 12 марта)

Reading time4 min
Reach and readers2.1K
В нашем новом еженедельном выпуске переводы на арабский и решения судоку на Compose, быстрое создание бизнес приложений и быстрый завоз темных тем, ускорение ТТМ, ИИ-сервисы, ARCore, красивые цвета и многое другое!

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

Читать дальше →

Как я проводил обратную разработку таинственного UDP-трафика в гостиничном номере

Reading time3 min
Reach and readers36K
Всем привет! Я на какое-то время поселился в гостинице. Гостиница из современных, с умными телевизорами и всякими другими подключенными устройствами. Меня одолело любопытство, и я открыл Wireshark, как сделал бы на моем месте любой любитель покопаться в технике.

Я был очень удивлен, когда увидел большое количество UDP-трафика на порте 2046. Взглянул на него, но много толку это не дало – порт оказался не из стандартных, так что разбираться предстояло вручную.

Сначала я заподозрил, что эти данные нужны для стриминга телепередач на телевизоры, но размер пакета выглядел мелковатым, даже для единичного видеофрейма.
Читать дальше →

Мобильная разработка за неделю #478 (27 февраля — 5 марта)

Reading time4 min
Reach and readers2.1K
В нашем новом дайджесте SnapKit и Android Studio, App Quality Insights и асинхронности, доход от покупок социальных сетей, API для ChatGPT и многое другое.

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

Читать дальше →

У меня возникают сложности с продуктивной работой на Python

Level of difficultyEasy
Reading time4 min
Reach and readers12K
Примечание: всё, что говорится в этой статье, можно отнести и к любому другому языку с динамической типизацией (скажем, Ruby). Я делюсь своим опытом и мытарствами конкретно по Python только потому, что сам пользуюсь этим языком.

Изначально я осваивал программирование на Python, и этот язык до сих пор занимает особое место в моем сердце. Именно он научил меня, как нужно подходить к программированию, как моделировать проблему, которую должен решить код, и общаться с компьютером. Свою текущую работу (как и предшествующую) я получил благодаря знанию Python. Я был его фанатом и евангелистом, проводил много времени в сообществах по Python – помогал другим и учился сам. Когда я стал выступать в роли наставника для новичков, то из языков выбрал для себя Python.
Хорошо помню, как у нас с другом состоялся такой разговор.

Друг: C# сильно упрощает жизнь за счет типов.
Я: Как-то не ощущал потребности. А какая от них польза?
Друг: А как ты управляешься с функциями, которые могут принимать любой тип аргумента?
Я: На то у меня юнит-тесты плюс высокая степень покрытия кода. Достаточно небольшого изменения, чтобы охватить остальные. К тому же к функциям прилагается документация, там сказано, для чего они нужны и какие аргументы принимают. Плёвое дело.

Как же я ошибался. На тот момент я доводил код до продакшна на Python, но пользователей у нас было немного. Опыта работы с другими языками у меня не имелось вообще.
Читать дальше →

Мобильная разработка за неделю #477 (20 — 26 февраля)

Reading time3 min
Reach and readers2K
В нашем новом дайджесте Live Text API в iOS 16 и игры в тесты, будущее Flutter и формулы для оптических настроек, свой Firebase за 7$, пародии на синие галочки и многое другое!

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

Читать дальше →

Мобильная разработка за неделю #476 (13 — 19 февраля)

Reading time3 min
Reach and readers1.8K
В новом дайджесте эволюция архитектуры приложения FBiOS и лабиринт, в который попал Google, превратности диспетчеризации и MDM, KMM, темный режим, Репка Pi 3 и многое другое.

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

Читать дальше →

20 уроков, которые я вынес из 20 лет работы программистом

Level of difficultyEasy
Reading time9 min
Reach and readers119K
Вы приступаете к чтению статьи с высокой концентрацией советов. Учиться у предшественников – хороший способ добиться успеха, но здесь мы часто забываем о важной оговорке. Практически любой совет работает только в определенном контексте, но дается обычно без каких-либо указаний на него.

«Да просто повысьте цены!» — говорит компания, которая уже двадцать лет на рынке и первые годы продавала продукт за копейки, чтобы привлечь клиентов и прийти к успеху. «Нужно всё реализовать в микросервисах», — говорит компания, которая по-быстрому сколотила монолит, набрала несколько тысяч пользователей и метнулась к микросервисам, когда начались проблемы с масштабированием.

Без понимания контекста советы теряют смысл или, хуже того, приносят вред. Если бы люди из примеров выше последовали своим собственным советам в начале пути, то, вероятно, пожалели бы этом. Этой ловушки сложно избежать. Мы представляем собой кульминацию своего опыта, но при этом смотрим на него через призму настоящего.
Читать дальше →

Мобильная разработка за неделю #475 (6 — 12 февраля)

Reading time3 min
Reach and readers3.3K
В этом выпуске ускорение Swift и первый релиз Android 14, собеседование и тестирование, спрос на мобильных разработчиков, приложения для здоровья и фитнеса, прелести legacy-кода и многое другое.

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

Читать дальше →

Мобильная разработка за неделю #474 (30 января — 5 февраля)

Reading time4 min
Reach and readers2.5K
В новом дайджесте много интересного — масштабирование изображений, сокращение времени запуска, проблемы в виджетах и их решения, проблемы бережливых стартапов и многое другое!

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

Читать дальше →

Information

Rating
Does not participate
Registered
Activity