IT Insights
661 subscribers
767 photos
4 videos
3 files
1.07K links
Новости разработки, технологий, немножко науки и техники
Download Telegram
Вы за это заплатите! Цена Чистой Архитектуры

Меня зовут Артемий, я работаю старшим Android-разработчиком в core-команде RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы на проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.

Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры.

Статья: https://habr.com/ru/companies/vk/articles/801393/
🥱2👎1
Теория «разбитых окон» в разработке ПО

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

Статья: https://apptractor.ru/info/articles/teoriya-razbityh-okon-v-razrabotke-po.html
AutoDev - помощник для программирования на базе искусственного интеллекта с многоязыковой поддержкой, автоматической генерацией кода и помощником по устранению ошибок. Поддерживает Java, Kotlin, JavaScript/TypeScript, Rust, Python, Golang, C/C++, Rust, SQL и прочие языки, создание юнит-тестов и конфигов CI/CD, генерацию документации и т.д.

AutoDev на GitHub: https://github.com/unit-mesh/auto-dev
Как я сделал свой стартап в качестве соло-разработчика

У меня возникла идея создать приложение для кроссфит-тренировок для спортзалов и спортсменов. Я назвал его Dreamwod и запустил в App Store и Google Play. Я сделал два приложения, одно для iOS и одно для Android, внутренний API и веб-страницу компании.

В этой статье будет рассказано о стеке технологий, способах работы, чему я научился и какие ошибки допустил.

Статья: https://apptractor.ru/info/articles/kak-ya-sdelal-svoy-startap-v-kachestve-solo-razrabotchika.html
Как руководить командой Senior-инженеров

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

А что, если эти люди умнее меня? Как я смогу управлять ими?


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

Статья: https://apptractor.ru/info/articles/kak-rukovodit-komandoy-senior-inzhenerov.html
"Временное решение" просуществовало в Windows уже 30 лет

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

Мы переносили миллиард строк кода из пользовательского интерфейса Windows 95 на NT, и Format был одной из тех областей, где WindowsNT настолько отличалась от Windows95, что нам пришлось придумывать собственный пользовательский интерфейс. Я достал лист бумаги и записал все опции и варианты, которые можно было выбрать при форматировании диска: файловая система, метка, размер кластера, сжатие, шифрование и так далее. Затем я открыл VC++2.0 и с помощью редактора ресурсов создал простую вертикальную стопку всех вариантов, которые вам нужно было выбрать, в примерном порядке. Это не было элегантно, но до появления элегантного пользовательского интерфейса сойдет.


Однако улучшения интерфейса так и не произошло, и спустя почти 30 лет временное решение Пламмера по-прежнему используется в Windows 11.

Это было около 30 лет назад, и этот диалог до сих пор воплощает мое временное решение того утра четверга. Так что будьте осторожны с проверкой «временных» решений!
😁4🔥2
Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»?

Моддинг-сцена с разработкой и портированием кастомных прошивок для Android-устройств существует вот уже более 10 лет. В основном, энтузиасты пытаются проапгрейдить свои устройства путем портирования более свежих версий Android, чем предлагает производитель девайса. Чего уж говорить, если Galaxy S III, которому уже 12 лет стукнуло, получил неофициальный апгрейд до Android 14. Порой мне в голову приходят различные, весьма странные моддерские мысли: например, почему бы не портировать на старенький смартфон… ещё более старую версию Android, дабы посмотреть «что будет». Казалось бы «портировал и портировал», но в процессе работы я столкнулся с множеством интересных нюансов и особенностей работы Android, о которых хотел бы рассказать и вам.

Статья: https://habr.com/ru/companies/timeweb/articles/802591/
Как Photoshop решил работу с файлами, размер которых превышает объем памяти

Узнайте, как Adobe удалось позволить пользователям редактировать даже самые большие файлы в веб-версии своего культового приложения Photoshop.

Статья: https://developer.chrome.com/blog/how-photoshop-solved-working-with-files-larger-than-can-fit-into-memory
Бэкдор в xz нашли из-за замедления работы sshd в полсекунд

Уязвимость в xz Utils была построена по схеме supply chain attack, атака на цепочку поставок. Для её реализации злоумышленнику (или их группе) пришлось два года втираться в доверие сообществу открытого программного обеспечения, чтобы получить права мейнтейнера и внедрить нужный код. Бэкдор обнаружила не лаборатория безопасности в результате тщательного анализа, а разработчик, который заметил замедление работы компьютера.

Статья: https://habr.com/ru/news/804163/
Как основатель Stability AI провалил свой стартап стоимостью в миллиард долларов

У компании Stability AI уже несколько месяцев не хватало денег, и ее основатель Эмад Мостак не смог привлечь достаточное количество дополнительного финансирования. Когда две недели назад Мостак выступал на сцене Terranea Resort, компания уже не платила Amazon, а несколько ключевых сотрудников уволились или угрожали уволиться. Сам Мостак ушел в отставку четыре дня спустя, после долгой борьбы за сохранение своего положения и контроля, несмотря на растущее внутреннее и внешнее давление с требованием покинуть пост. В этой статье подробно рассказывается о том, как начиналась история Stability AI, какие проблемы она испытывает в настоящее время и что ждет компанию дальше.

Статья: https://www.reddit.com/r/MachineLearning/comments/1br9vxr/n_how_stability_ais_founder_tanked_his/
Сканер отпечатков кошачьих носиков

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

Статья: https://habr.com/ru/companies/timeweb/articles/804151/
Почему я никогда не стану Senior-разработчиком в Amazon

Сегодня я собираюсь обсудить тему, которая может удивить некоторых из вас — почему я откажусь от любого повышения на должность Senior инженера в Amazon, даже если папа Безос сам придет ко мне и предложит повышение до выдающегося инженера (при общей зарплате на этой должности около $750 тыс. в год, я думаю).

Статья: https://apptractor.ru/info/articles/pochemu-ya-nikogda-ne-stanu-senior-razrabotchikom-v-amazon.html
Чистый или быстрый код?

Как и ожидалось, полиморфный код работает хуже, чем основанный на перечислениях, примерно на 30%. Почему?

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

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

Статья: https://apptractor.ru/info/articles/chisty-ili-bystryy-kod.html
Какой у цвет у вашей монетизации?

Призывы к действию обычно делятся на 2 основные категории:

1. Сделать: Эти кнопки подталкивают вас к выполнению основного действия в продукте: создание, обновление, следующий, добавление и т.д.
2. Оплатить: Эти кнопки пытаются убедить вас заплатить: обновление, просмотр планов и цен, обновление способа оплаты и т. д.

Если вы окрашиваете все эти кнопки в один цвет, вы, по сути, выбрасываете деньги на ветер. Да, буквально.

Статья: https://elenaverna.substack.com/p/whats-your-monetization-color
👍1
Как я делал сеть на 10 гигабит с минимальным бюджетом

Решил я ускорить тривиальную задачу в виде передачи файлов с одного компьютера на маленький домашний NAS. Раньше 10 гигабит были для меня чем-то заоблачным (с учётом цены на свичи, а также сетевые карты). Но благодаря апгрейду дата-центров, а также свежим чипам для свичей от Realtek, апгрейд оказался недорогим и безболезненным.

Статья: https://habr.com/ru/companies/ruvds/articles/798813/
Headline driven разработка

Заголовок (Headline) - это очень короткое предложение, которое содержит только самый важный бит, а все остальные биты отсеиваются.

Статья: https://apptractor.ru/info/articles/headline-driven-development.html
Зачем нужны иконки в пользовательских интерфейсах?

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

Статья: https://blog.streamlinehq.com/evolution-of-icons
Лень, дезорганизация или плохие процессы — фразы, которые убивают хорошие проекты

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

• Мы можем сделать A/B-тестирование
• Добавим это в меню настроек
• Apple/Google сделали так
• У нас нет для этого аналитики
• Возможно, мы можем создать эту функцию позже
• Мои друзья жаловались на наше приложение, и они посоветовали сделать X, Y и Z
• Что если нам сделать оповещение, чтобы побудить пользователей сделать X
• Мы не хотим ограничивать себя. Мы создаем этот продукт для всех.
• Я думаю, нашим пользователям это понравится

Какая ваша любимая?

Статья: https://apptractor.ru/develop/len-dezorganizatsiya-ili-plohie-protsessyi-frazyi-kotoryie-ubivayut-horoshie-proektyi.html
👍1
Может ли мобильный-разработчик стать CTO?

Да, может. На этом статью можно было бы закончить. Спасибо, что дочитали до конца, приходите поделиться своим опытом в комментариях.

Если серьёзно, карьера мобильного разработчика, который хочет вырасти в большого руководителя, может складываться по-разному. Например, мой путь начался в 2013 году, и за это время я успел поработать и в маленьких стартапах, и в больших корпорациях. Сейчас я Director of Engineering в Яндекс Go. Последние шесть лет я управляю разными командами разного размера: от 5 до 200+ человек.

Статья: https://habr.com/ru/companies/yandex/articles/806693/
5 продуктовых уроков о том, как вводить новые функции

1. Не используйте темные шаблоны, чтобы ввести пользователей в заблуждение. Это может дать краткосрочную выгоду, но через некоторое время пользователи перестанут доверять продукту.
2. Не используйте принудительные подталкивания без крайней необходимости. Они мешают потоку пользователей и приводят к тому, что пользователи перестают пользоваться продуктом или удаляют его.
3. Ищите тонкие способы представить новые функции или поделиться с пользователями какими-либо подробностями. Не мешайте основному опыту.
4. Вместо прохождений используйте рассказывание историй, чтобы передать УТП и новые фичи.
5. Вместо того чтобы оставлять страницу пустой или просто показывать список, создавайте циклы, чтобы заставить пользователей совершать соответствующие действия на таких страницах. Это может помочь захватить некоторый процент пользователей, которые готовы уйти.

Статья: https://apptractor.ru/info/articles/airbnb-5-produktovyh-urokov-o-tom-kak-vvodit-novye-funktsii.html