😳 В 2025 году Salesforce больше не будет нанимать инженеров-программистов
В декабре прошлого года во время интервью генеральный директор и основатель Salesforce рассказал, что облачный гигант находится в процессе разработки бизнес-плана на следующий год, а Agentforce — флагманский продукт компании в области ИИ — является «единственным, что действительно важно сегодня».
🎙️ Что интересного было в интервью:
• ИИ повысил производительность на 30%.
• В 2025 году компания планирует увеличить количество продажников и уменьшить количество инженеров техподдержки.
• В январе 2024 года Salesforce уволила 700 сотрудников, а в январе 2023 года — 7 тыс. человек.
💬 Как думаете, правильный фокус выбрал гендир Salesforce?
#назлобудня
🤦♂️ Ошибки, которые разработчики допускают в больших устоявшихся кодовых базах
Работа с легаси — одна из самых сложных вещей, которым приходится учиться разработчику. Вы не можете попрактиковаться в этом заранее (нет, работа с открытым исходным кодом не даёт такого же опыта). Личные проекты никогда не научат вас этому, потому что они обязательно будут небольшими и создаваться с нуля.
Так что такое «большие устоявшиеся кодовые базы»? По мнению автора статьи, это:
— Десятки миллионов строк кода (скажем, ~5M).
— От 100 до 1000 инженеров работают над одной и той же кодовой базой.
— Первой рабочей версии кодовой базы не менее десяти лет.
Автор потратил десять лет на работу с этими кодовыми базами. Вот что он хотел бы знать с самого начала:
• Большие кодовые базы стоят того, чтобы с ними работать, поскольку они обычно платят вам зарплату.
• Самое важное — это согласованность.
• Никогда не начинайте работать над новой функциональностью, не изучив существующие подходы в кодовой базе.
• Если вы отклоняетесь от существующих шаблонов, у вас должна быть на это очень веская причина.
• Понимайте, как кодовая база работает в продакшене.
• Не рассчитывайте, что сможете протестировать все случаи — вместо этого полагайтесь на мониторинг.
• Удаляйте код при любой возможности, но делайте это очень осторожно.
• Сделайте всё, чтобы эксперты в своей области могли легко выявить ваши ошибки.
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📚👩💻 Напоминаем про наш полный курс «Самоучитель по Go для начинающих»
Мы написали и собрали для вас в одну подборку все 18 частей, подкрепленных практикой.
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
12. Обобщенное программирование. Дженерики
13. Работа с датой и временем. Пакет time
14. Интерфейсы ввода-вывода. Буферизация. Работа с файлами. Пакеты io, bufio, os
15. Конкурентность. Горутины. Каналы
16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
17. Основы сетевого программирования. Стек TCP/IP. Сокеты. Пакет net
18. Протокол HTTP. Создание HTTP-сервера и клиента. Пакет net/http
🚀 Визуальный гайд по масштабируемости архитектуры
Масштабируемость представляет собой способность системы обрабатывать увеличенную нагрузку без потери производительности, однако ее можно рассматривать и с точки зрения стратегии масштабирования.
Масштабируемость — это способность системы справляться с увеличенной нагрузкой, применяя экономически эффективную стратегию. Это означает, что масштабирование системы может стать затруднительным после определенного момента, если выбранная стратегия масштабирования финансово невыгодна.
📌 Три основные проблемы масштабируемости:
1️⃣ Централизованные компоненты могут стать единой точкой отказа.
2️⃣ Компоненты с высокой задержкой — компоненты, которые выполняют трудоемкие операции.
3️⃣ Тесная связь компонентов усложняет масштабирование системы.
📌 Популярные методы повышения масштабируемости:
• Балансировка нагрузки: распределение запросов между несколькими серверами, чтобы избежать перегрузки одного сервера.
• Кэширование: хранение наиболее запрашиваемой информации в памяти.
• Обработка событий (Event-Driven Processing): асинхронная обработка для выполнения долгосрочных задач.
• Шардинг (Sharding): разделение большого набора данных на более мелкие части (шарды) для горизонтального масштабирования.
👉 Источник
#инфографика
ℹ️ Fidget: Библиотека для визуализации математики
Implicit surfaces — это такие математические модели, которые описывают объекты формулами вроде f(x,y,z) → d, где знак d определяет, внутри или снаружи находится точка. С помощью библиотеки Fidget можно быстро рендерить и оптимизировать такие модели.
➡️ Что делает Fidget?
Мешинг: создание 3D-моделей из математических представлений.
👉 Исходники на GitHub, поддержка WebAssembly, демо в браузере. Если интересуетесь CAD, графикой или просто любите математику, попробуйте Fidget
🪟 Операционная система в 1000 строк
Материал для разработчиков, интересующихся операционными системами.
📈 Apache Superset — платформа визуализации и исследования данных
Она может заменить или дополнить инструменты бизнес-аналитики для многих команд, интегрируясь с различными источниками данных.
📦 Под капотом:
• No-code интерфейс для быстрого построения диаграмм.
• Мощный веб-редактор SQL для расширенных запросов.
• Легковесный семантический слой для быстрого определения кастомных измерений и показателей.
• Встроенная поддержка практически любой базы данных SQL или движка данных.
• Широкий спектр визуализаций для демонстрации данных: от простых столбчатых диаграмм до геопространственных визуализаций.
• Легковесный, настраиваемый уровень кэширования, помогающий снизить нагрузку на базу данных.
• Расширяемые роли безопасности и параметры аутентификации.
• API для программной настройки.
• Cloud-native архитектура.
👉 GitHub
#инструменты
😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных
Долгое время SQL использовали лишь для запросов и изменения записей в базах данных — для полноценного программирования в привычном смысле слова он не подходил. Однако добавление рекурсивных общих табличных выражений (CTE) сделало SQL полным по Тьюрингу.
Благодаря CTE на SQL можно при желании реализовать любой алгоритм. Несколько месяцев назад коллекция SQL-проектов пополнилась еще одной интересной разработкой — версией «Тетриса».
Эта реализация демонстрирует несколько нестандартных SQL-техник, о которых стоит знать, даже если вы используете SQL только по прямому назначению:
— игровой цикл;
— вывод игры;
— пользовательский ввод;
— решение проблемы изоляции данных;
— предотвращение кэширования.
Для управления состоянием игры и обработки игровых событий используются подзапросы и агрегатные функции.
🔗 Подробнее читайте в статье
🔗 Зеркало
👋 Привет, друзья!
Мы хотели бы поближе с вами познакомиться! Будем очень признательны за ваши ответы на следующие вопросы!
🔥 Бесплатный курс по фулстек-разработке — реальность
Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственные курсы! Сергей Дмитриев, который занимается коммерческой разработкой уже 15 лет, поделился с нами курсом по созданию веб-сервиса с нуля. В курс входит 141 урок, 28 часов видео, исходный код и чат поддержки для участников.
👉 Подробнее о курсе читайте на Хабре или в телеграм-канале Сергея
🧑💻 Подборка курсов на выходные, чтобы прокачать навыки
🔹 Pytest Курс
Видеокурс, который состоит из уроков по unit-тестированию кода.
🔹 «Подготовка к алгоритмическому собеседованию»
Это бесплатный курс от Яндекс Практикум, который сфокусирован на прохождении собеседований, без подробной теории про алгоритмы.
🔹 Основы Nginx
Ещё один видеокурс, который расскажет, как работает Nginx и как с ним работать.
🔹 Курс Django
А это курс для тех, кто наконец хочет изучить основной фреймворк для разработки веб-приложений на Python.
👋 Попрощайтесь с сообщениями о коммитах, в которых вы думаете над тем, что написать
Copilot может предложить вам сообщение о коммите на основе внесенных вами изменений. Доступно всем сегодня с GitHub Copilot Free.
#новости
🎄 Начни 2025-й с апгрейдом навыков,
которые откроют двери в мир IT!
Ты можешь собрать свой персональный план обучения с помощью нашего новогоднего конструктора. Это шанс не просто начать год с полезных знаний, но и сделать инвестицию в своё будущее, которая окупится многократно.
🔗 Собери свой план и начни путь в IT
Почему это выгодно?
📚 Несколько программ по цене одной — максимальная эффективность: учишься сразу тому, что действительно нужно.
💾 Бессрочный доступ — все материалы всегда под рукой, чтобы учиться в своём темпе.
💸 Знания, которые окупятся — навыки, востребованные в любой точке мира.
Какие навыки ты можешь прокачать?
💡 Математика для Data Science + Алгоритмы и структуры данных
— Подготовка к собеседованиям в FAANG и поступлению в ШАД. Решай сложные задачи, работай с данными и моделями на профессиональном уровне.
💡 Алгоритмы и структуры данных + ML
— Улучшай своё алгоритмическое мышление и изучай базовые методы машинного обучения, чтобы создавать интеллектуальные приложения.
💡 Frontend Basic + Базовые модели ML
— Построй свою первую веб-страницу и погрузись в мир ML: от нейросетей до ML-бустинга.
💡 Архитектуры и шаблоны проектирования + Математика для Data Science
— Развивай аналитическое мышление и учись проектировать устойчивые системы.
💡 Алгоритмы и структуры данных + Frontend Basic
— Получи полный набор навыков: от оптимизации алгоритмов до создания современных веб-приложений.
Не упусти шанс сделать шаг в будущее! Новый год — это время обновлений, и твоя карьера может стать одним из них.
🔗 Составь свой IT-маршрут сейчас или выбери курс по новогодней скидке
👀 HR-эксперт: в 2025 году без ИИ-компетенций — никуда
Если вы не обновляли навыки последние 5 лет, то… увы, вы уже неквалифицированный работник 😐. Так считает HR-эксперт Moscow Business School Ирина Лялина.
Самые востребованные навыки будущего, как считает она:
— Умение работать с ИИ, чат-ботами и Big Data.Читать полностью…
Также пригодятся водительские права нескольких категорий и опыт работы со сложным оборудованием.
И не забудьте добавить правильные ключевые слова в резюме — иначе его просто не заметят системы автоматического анализа.
❗️ Что происходит: новости за неделю
🪟 «Вы и есть продукт»: Microsoft не заботит пиратство Windows 11
🎹 Скрытая командная оболочка в синтезаторе Yamaha, позволившая выполнить код через MIDI
📱 Суд отказал россиянину в иске к РКН из-за замедления YouТube
📱 Цукерберг раскритиковал Apple: «Стив Джобс изобрёл iPhone, а теперь, спустя 20 лет, они просто почивают на лаврах»
🤫 Имплант Neuralink вживили третьему в мире человеку
Как вам прошлая неделя?
Хочешь зарабатывать в евро, но не знаешь, как получить оффер на международке 👣
Поиск работы за границей — это как квест на «хардкоре». Непонятно, с чего начать: где искать вакансии, как на них откликаться и как правильно упаковать свое резюме, чтобы его заметили.
Тут на помощь придут ребята из AgileFluent — эксперты с двумя полезными каналами:
AFsolutely — для тех, кто хочет прокачивать английский для работы. Прямо сейчас там проходит бесплатный марафон по бизнес-английскому, успей попасть на него.
AgileFluent – про все этапы поиска работы, от поиска вакансий до оффера. Всё в формате советов, лайфхаков, чек-листов и пошаговых гайдов. А в этом посте ребята собрали полезные материалы: 50+ джоб-бордов, шаблон для учёта откликов и примеры писем для напоминания HR.
Подписывайся, чтобы узнать свои слабые места и быстрее дойти до международного оффера! 🚀
🛠 Batch vs Stream Processing: ключевые различия
Batch Processing — обработка данных партиями с последующим выводом финального результата.
Stream Processing — обработка данных в режиме реального времени по мере их поступления.
Подробнее см. на изображении. ⚡️
#инфографика
🖥 SQL NULLs — странно себя ведут
Когда вы добавляете UNIQUE к столбцу в SQL, кажется логичным, что запись с одинаковыми значениями должна блокироваться. Но если в этой записи NULL, вас ждёт сюрприз: SQL позволяет вставлять несколько строк с одинаковыми NULL. Даже при UNIQUE-ограничении
➡️ Почему так?
В статье рассказано подробнее и приведены примеры с кодом. Но если кратко: NULL в SQL означает неизвестное значение. А поскольку неизвестные значения не равны друг другу, SQL трактует каждую строку с NULL как уникальную.
😴 Писать код по ночам и в выходные — это нормально
Не все разделяют мнение о том, что кодить по ночам и выходным — это ок. Но для автора разработка — любимое хобби и работа.
🎯 Когда это становится проблемой?
1️⃣ Когда это превращается в культ.
2️⃣ Когда мы ожидаем того же от других.
3️⃣ Другие ожидают этого от нас.
🎯 Признаки, что пора остановиться:
• Ухудшение качества сна.
• Потеря социальных связей.
• Рост уровня стресса.
• Невозможность отвлечься от работы даже в личное время.
🎯 Как найти баланс?
• Разнообразие опыта. Поддерживайте богатство впечатлений и интересов, не зацикливайтесь на одном деле.
• Слушайте свои ритмы. Иногда разработка приносит радость, а иногда — усталость. Прислушивайтесь к себе.
• Правильно расставляйте приоритеты. Семья, друзья и отношения всегда важнее любой работы или хобби.
• Управляйте ожиданиями. Четко разграничивайте, что является работой, а что — личным увлечением.
👉 Читать статью полностью
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
🍊 Подборка лучших статей «Библиотеки программиста» за декабрь: сохраняй в заметки, чтобы не пропустить #самыйсок
➡️ Статьи:
💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях
📊 Построение DWH и разработка дашбордов в Power BI: 5 проблем и их решение
💾 CDC vs Outbox: как решить проблему двойной записи в распределенной системе
🌐 Как работает GraphQL и чем он лучше RESTful API
🐛🔍 Как найти баг в 2088 коммитах с помощью git bisect
➡️ Тесты:
🦑👨💻 Программист в «Игре в кальмара»: каковы шансы выжить?
🤔🔥🪦 Беспощадный Frontend-тест: уволься сам, если не наберёшь 7 из 10!
👑🧟 Король спама: насколько сильно ты бесишь коллег в рабочих чатах
🐍 Насколько ты продвинутый питонист?
🤔 Кто-то из вас помнит Xenix?
Да, Microsoft пыталась сделать Unix в свое время. Билл Гейтс даже говорил об этом в журнале Unix World (~1985 год). Но потом они все такие:
Нет, забудьте Unix, мы сделаем Windows NT!
⚒️ Cache-optimized matrix multiplication
Серия коротких видео, демонстрирующих методы повышения эффективности умножения матриц за счет оптимального использования кэш-памяти процессора.
Такие техники важны в высокопроизводительных вычислениях и приложениях, где операции с матрицами являются ключевыми.
👉 Источник
📚 Многие знают Таненбаума по бестселлерам про компьютерные сети или операционные системы, но не все знают про книгу «Распределенные системы: принципы и парадигмы» в соавторстве с Maarten van Steen.
Выпущенное недавно 4-е издание книги полностью переработано и доступно на сайте бесплатно вместе с дополнительными материалами.
👉 Скачать
🔄 Как данные перемещаются по сети: шпаргалка по инкапсуляции и деинкапсуляции
👉 Источник
#шпаргалки
🐍📈 Python в 2024 году: что происходит с самым популярным языком
В 2023-2024 компания JetBrains провела масштабное исследование «внутренних» трендов в экосистеме Python и недавно поделилась результатами. Оказалось, что:
▪️Разработчики выбирают uv вместо Poetry;
▪️Контейнеры становятся самым популярным способом развертывания Python-приложений;
▪️41% питонистов имеют опыт работы с Python менее 2 лет.
Более подробно об этих и других трендах читайте в нашей статье 👈