🤔 Кто-то из вас помнит Xenix?
Да, Microsoft пыталась сделать Unix в свое время. Билл Гейтс даже говорил об этом в журнале Unix World (~1985 год). Но потом они все такие:
Что имеем сейчас? Microsoft всё-таки сделала большой шаг в сторону открытого исходного кода. Посмотрим, что будет дальше…
Да, Microsoft пыталась сделать Unix в свое время. Билл Гейтс даже говорил об этом в журнале Unix World (~1985 год). Но потом они все такие:
Нет, забудьте Unix, мы сделаем Windows NT!
Что имеем сейчас? Microsoft всё-таки сделала большой шаг в сторону открытого исходного кода. Посмотрим, что будет дальше…
🤔16👍7🔥4❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁49😢9❤3👍1
🍊 Подборка лучших статей «Библиотеки программиста» за декабрь: сохраняй в заметки, чтобы не пропустить #самыйсок
➡️ Статьи:
💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях
📊 Построение DWH и разработка дашбордов в Power BI: 5 проблем и их решение
💾 CDC vs Outbox: как решить проблему двойной записи в распределенной системе
🌐 Как работает GraphQL и чем он лучше RESTful API
🐛🔍 Как найти баг в 2088 коммитах с помощью git bisect
➡️ Тесты:
🦑👨💻 Программист в «Игре в кальмара»: каковы шансы выжить?
🤔🔥🪦 Беспощадный Frontend-тест: уволься сам, если не наберёшь 7 из 10!
👑🧟 Король спама: насколько сильно ты бесишь коллег в рабочих чатах
🐍 Насколько ты продвинутый питонист?
➡️ Статьи:
💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях
📊 Построение DWH и разработка дашбордов в Power BI: 5 проблем и их решение
💾 CDC vs Outbox: как решить проблему двойной записи в распределенной системе
🌐 Как работает GraphQL и чем он лучше RESTful API
🐛🔍 Как найти баг в 2088 коммитах с помощью git bisect
➡️ Тесты:
🦑👨💻 Программист в «Игре в кальмара»: каковы шансы выжить?
🤔🔥🪦 Беспощадный Frontend-тест: уволься сам, если не наберёшь 7 из 10!
👑🧟 Король спама: насколько сильно ты бесишь коллег в рабочих чатах
🐍 Насколько ты продвинутый питонист?
❤3👍1
📈 Apache Superset — платформа визуализации и исследования данных
Она может заменить или дополнить инструменты бизнес-аналитики для многих команд, интегрируясь с различными источниками данных.
📦 Под капотом:
• No-code интерфейс для быстрого построения диаграмм.
• Мощный веб-редактор SQL для расширенных запросов.
• Легковесный семантический слой для быстрого определения кастомных измерений и показателей.
• Встроенная поддержка практически любой базы данных SQL или движка данных.
• Широкий спектр визуализаций для демонстрации данных: от простых столбчатых диаграмм до геопространственных визуализаций.
• Легковесный, настраиваемый уровень кэширования, помогающий снизить нагрузку на базу данных.
• Расширяемые роли безопасности и параметры аутентификации.
• API для программной настройки.
• Cloud-native архитектура.
👉 GitHub
#инструменты
Она может заменить или дополнить инструменты бизнес-аналитики для многих команд, интегрируясь с различными источниками данных.
📦 Под капотом:
• No-code интерфейс для быстрого построения диаграмм.
• Мощный веб-редактор SQL для расширенных запросов.
• Легковесный семантический слой для быстрого определения кастомных измерений и показателей.
• Встроенная поддержка практически любой базы данных SQL или движка данных.
• Широкий спектр визуализаций для демонстрации данных: от простых столбчатых диаграмм до геопространственных визуализаций.
• Легковесный, настраиваемый уровень кэширования, помогающий снизить нагрузку на базу данных.
• Расширяемые роли безопасности и параметры аутентификации.
• API для программной настройки.
• Cloud-native архитектура.
👉 GitHub
#инструменты
👍20❤8😁1🤔1
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
❤3👍3
Материал для разработчиков, интересующихся операционными системами.
— Внутри:
Автор показывает, как строить маленькую операционную систему шаг за шагом
🔗 Ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥10🎉2
😴 Писать код по ночам и в выходные — это нормально
Не все разделяют мнение о том, что кодить по ночам и выходным — это ок. Но для автора разработка — любимое хобби и работа.
🎯 Когда это становится проблемой?
1️⃣ Когда это превращается в культ.
2️⃣ Когда мы ожидаем того же от других.
3️⃣ Другие ожидают этого от нас.
🎯 Признаки, что пора остановиться:
• Ухудшение качества сна.
• Потеря социальных связей.
• Рост уровня стресса.
• Невозможность отвлечься от работы даже в личное время.
🎯 Как найти баланс?
• Разнообразие опыта. Поддерживайте богатство впечатлений и интересов, не зацикливайтесь на одном деле.
• Слушайте свои ритмы. Иногда разработка приносит радость, а иногда — усталость. Прислушивайтесь к себе.
• Правильно расставляйте приоритеты. Семья, друзья и отношения всегда важнее любой работы или хобби.
• Управляйте ожиданиями. Четко разграничивайте, что является работой, а что — личным увлечением.
👉 Читать статью полностью
Не все разделяют мнение о том, что кодить по ночам и выходным — это ок. Но для автора разработка — любимое хобби и работа.
🎯 Когда это становится проблемой?
1️⃣ Когда это превращается в культ.
2️⃣ Когда мы ожидаем того же от других.
3️⃣ Другие ожидают этого от нас.
🎯 Признаки, что пора остановиться:
• Ухудшение качества сна.
• Потеря социальных связей.
• Рост уровня стресса.
• Невозможность отвлечься от работы даже в личное время.
🎯 Как найти баланс?
• Разнообразие опыта. Поддерживайте богатство впечатлений и интересов, не зацикливайтесь на одном деле.
• Слушайте свои ритмы. Иногда разработка приносит радость, а иногда — усталость. Прислушивайтесь к себе.
• Правильно расставляйте приоритеты. Семья, друзья и отношения всегда важнее любой работы или хобби.
• Управляйте ожиданиями. Четко разграничивайте, что является работой, а что — личным увлечением.
👉 Читать статью полностью
❤24👍13🤔1💯1
Implicit surfaces — это такие математические модели, которые описывают объекты формулами вроде f(x,y,z) → d, где знак d определяет, внутри или снаружи находится точка. С помощью библиотеки Fidget можно быстро рендерить и оптимизировать такие модели.
Мешинг: создание 3D-моделей из математических представлений.
👉 Исходники на GitHub, поддержка WebAssembly, демо в браузере. Если интересуетесь CAD, графикой или просто любите математику, попробуйте Fidget
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤔2❤🔥1❤1😁1
Когда вы добавляете UNIQUE к столбцу в SQL, кажется логичным, что запись с одинаковыми значениями должна блокироваться. Но если в этой записи NULL, вас ждёт сюрприз: SQL позволяет вставлять несколько строк с одинаковыми NULL. Даже при UNIQUE-ограничении
В статье рассказано подробнее и приведены примеры с кодом. Но если кратко: NULL в SQL означает неизвестное значение. А поскольку неизвестные значения не равны друг другу, SQL трактует каждую строку с NULL как уникальную.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤5
🚀 Визуальный гайд по масштабируемости архитектуры
Масштабируемость представляет собой способность системы обрабатывать увеличенную нагрузку без потери производительности, однако ее можно рассматривать и с точки зрения стратегии масштабирования.
Масштабируемость — это способность системы справляться с увеличенной нагрузкой, применяя экономически эффективную стратегию. Это означает, что масштабирование системы может стать затруднительным после определенного момента, если выбранная стратегия масштабирования финансово невыгодна.
📌 Три основные проблемы масштабируемости:
1️⃣ Централизованные компоненты могут стать единой точкой отказа.
2️⃣ Компоненты с высокой задержкой — компоненты, которые выполняют трудоемкие операции.
3️⃣ Тесная связь компонентов усложняет масштабирование системы.
📌 Популярные методы повышения масштабируемости:
• Балансировка нагрузки: распределение запросов между несколькими серверами, чтобы избежать перегрузки одного сервера.
• Кэширование: хранение наиболее запрашиваемой информации в памяти.
• Обработка событий (Event-Driven Processing): асинхронная обработка для выполнения долгосрочных задач.
• Шардинг (Sharding): разделение большого набора данных на более мелкие части (шарды) для горизонтального масштабирования.
👉 Источник
#инфографика
Масштабируемость представляет собой способность системы обрабатывать увеличенную нагрузку без потери производительности, однако ее можно рассматривать и с точки зрения стратегии масштабирования.
Масштабируемость — это способность системы справляться с увеличенной нагрузкой, применяя экономически эффективную стратегию. Это означает, что масштабирование системы может стать затруднительным после определенного момента, если выбранная стратегия масштабирования финансово невыгодна.
📌 Три основные проблемы масштабируемости:
1️⃣ Централизованные компоненты могут стать единой точкой отказа.
2️⃣ Компоненты с высокой задержкой — компоненты, которые выполняют трудоемкие операции.
3️⃣ Тесная связь компонентов усложняет масштабирование системы.
📌 Популярные методы повышения масштабируемости:
• Балансировка нагрузки: распределение запросов между несколькими серверами, чтобы избежать перегрузки одного сервера.
• Кэширование: хранение наиболее запрашиваемой информации в памяти.
• Обработка событий (Event-Driven Processing): асинхронная обработка для выполнения долгосрочных задач.
• Шардинг (Sharding): разделение большого набора данных на более мелкие части (шарды) для горизонтального масштабирования.
👉 Источник
#инфографика
👍7❤4
🛠 Batch vs Stream Processing: ключевые различия
Batch Processing — обработка данных партиями с последующим выводом финального результата.
Stream Processing — обработка данных в режиме реального времени по мере их поступления.
Подробнее см. на изображении.⚡️
#инфографика
Batch Processing — обработка данных партиями с последующим выводом финального результата.
Stream Processing — обработка данных в режиме реального времени по мере их поступления.
Подробнее см. на изображении.
#инфографика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤🔥1❤1
📚👩💻 Напоминаем про наш полный курс «Самоучитель по 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
Мы написали и собрали для вас в одну подборку все 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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥23👍2
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤4👍1
🎹 Скрытая командная оболочка в синтезаторе Yamaha, позволившая выполнить код через MIDI
📱 Суд отказал россиянину в иске к РКН из-за замедления YouТube
📱 Цукерберг раскритиковал Apple: «Стив Джобс изобрёл iPhone, а теперь, спустя 20 лет, они просто почивают на лаврах»
Как вам прошлая неделя?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🎉3❤1
🤦♂️ Ошибки, которые разработчики допускают в больших устоявшихся кодовых базах
Работа с легаси — одна из самых сложных вещей, которым приходится учиться разработчику. Вы не можете попрактиковаться в этом заранее (нет, работа с открытым исходным кодом не даёт такого же опыта). Личные проекты никогда не научат вас этому, потому что они обязательно будут небольшими и создаваться с нуля.
Так что такое «большие устоявшиеся кодовые базы»? По мнению автора статьи, это:
— Десятки миллионов строк кода (скажем, ~5M).
— От 100 до 1000 инженеров работают над одной и той же кодовой базой.
— Первой рабочей версии кодовой базы не менее десяти лет.
Автор потратил десять лет на работу с этими кодовыми базами. Вот что он хотел бы знать с самого начала:
• Большие кодовые базы стоят того, чтобы с ними работать, поскольку они обычно платят вам зарплату.
• Самое важное — это согласованность.
• Никогда не начинайте работать над новой функциональностью, не изучив существующие подходы в кодовой базе.
• Если вы отклоняетесь от существующих шаблонов, у вас должна быть на это очень веская причина.
• Понимайте, как кодовая база работает в продакшене.
• Не рассчитывайте, что сможете протестировать все случаи — вместо этого полагайтесь на мониторинг.
• Удаляйте код при любой возможности, но делайте это очень осторожно.
• Сделайте всё, чтобы эксперты в своей области могли легко выявить ваши ошибки.
Работа с легаси — одна из самых сложных вещей, которым приходится учиться разработчику. Вы не можете попрактиковаться в этом заранее (нет, работа с открытым исходным кодом не даёт такого же опыта). Личные проекты никогда не научат вас этому, потому что они обязательно будут небольшими и создаваться с нуля.
Так что такое «большие устоявшиеся кодовые базы»? По мнению автора статьи, это:
— Десятки миллионов строк кода (скажем, ~5M).
— От 100 до 1000 инженеров работают над одной и той же кодовой базой.
— Первой рабочей версии кодовой базы не менее десяти лет.
Автор потратил десять лет на работу с этими кодовыми базами. Вот что он хотел бы знать с самого начала:
• Большие кодовые базы стоят того, чтобы с ними работать, поскольку они обычно платят вам зарплату.
• Самое важное — это согласованность.
• Никогда не начинайте работать над новой функциональностью, не изучив существующие подходы в кодовой базе.
• Если вы отклоняетесь от существующих шаблонов, у вас должна быть на это очень веская причина.
• Понимайте, как кодовая база работает в продакшене.
• Не рассчитывайте, что сможете протестировать все случаи — вместо этого полагайтесь на мониторинг.
• Удаляйте код при любой возможности, но делайте это очень осторожно.
• Сделайте всё, чтобы эксперты в своей области могли легко выявить ваши ошибки.
👍26😁2❤1
Если вы не обновляли навыки последние 5 лет, то… увы, вы уже неквалифицированный работник 😐. Так считает HR-эксперт Moscow Business School Ирина Лялина.
Самые востребованные навыки будущего, как считает она:
— Умение работать с ИИ, чат-ботами и Big Data.
Также пригодятся водительские права нескольких категорий и опыт работы со сложным оборудованием.
И не забудьте добавить правильные ключевые слова в резюме — иначе его просто не заметят системы автоматического анализа.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12❤7🌚2👍1
😳 В 2025 году Salesforce больше не будет нанимать инженеров-программистов
В декабре прошлого года во время интервью генеральный директор и основатель Salesforce рассказал, что облачный гигант находится в процессе разработки бизнес-плана на следующий год, а Agentforce — флагманский продукт компании в области ИИ — является «единственным, что действительно важно сегодня».
🎙️ Что интересного было в интервью:
• ИИ повысил производительность на 30%.
• В 2025 году компания планирует увеличить количество продажников и уменьшить количество инженеров техподдержки.
• В январе 2024 года Salesforce уволила 700 сотрудников, а в январе 2023 года — 7 тыс. человек.
💬 Как думаете, правильный фокус выбрал гендир Salesforce?
#назлобудня
В декабре прошлого года во время интервью генеральный директор и основатель Salesforce рассказал, что облачный гигант находится в процессе разработки бизнес-плана на следующий год, а Agentforce — флагманский продукт компании в области ИИ — является «единственным, что действительно важно сегодня».
🎙️ Что интересного было в интервью:
• ИИ повысил производительность на 30%.
• В 2025 году компания планирует увеличить количество продажников и уменьшить количество инженеров техподдержки.
• В январе 2024 года Salesforce уволила 700 сотрудников, а в январе 2023 года — 7 тыс. человек.
💬 Как думаете, правильный фокус выбрал гендир Salesforce?
#назлобудня
😁26🌚5👍4😢3❤1