Prog books
12.9K subscribers
198 photos
5 videos
217 files
215 links
IT library. Библиотека программиста

По всем вопросам- @notxxx1

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml

№ 5032852440
Download Telegram
SQL Basics.pdf
102.8 KB
💻 Подборка шпаргалок по SQL

Собрали для вас короткие и понятные шпаргалки по основным темам:
Основы языка SQL;
JOIN’ы с наглядными примерами;
Оконные функции;
SQL для анализа данных.


Отличный комплект, чтобы освежить знания перед собесом или быстро вспомнить синтаксис.

#полезное

📲Max
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Большинство изучают Go ради синтаксиса.

Ты научишься писать сервисы, которые работают в продакшене.

Это не про «Hello, World» и горутины ради галочки.
Это про бэкенд на Go, который:

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

Ты начнёшь видеть Go не как язык, а как инструмент для построения систем.

В итоге ты сможешь:

* писать высоконагруженные API
* создавать микросервисы
* работать с базами данных и очередями
* разбираться в конкурентности и производительности
* брать коммерческие backend-проекты

Это навык, который ценится на рынке.
Не «знаю Go», а умею делать быстрые и надёжные сервисы.

🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/274119/
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Rust Books
👣 Книга по производительности Rust.

Она короткая и легко читается и показывает, как оптимизировать код.

В книге разбираются темы:

- benchmarking
- build configuration
- linting
- profiling
- inlining
- hashing
- heap allocations
- и многое другое

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

Книга:
https://nnethercote.github.io/perf-book/introduction.html

@books_englishhh
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Rust
👣 Comprehensive Rust - один из самых подробных бесплатных курсов по языку Rust.

Это полноценный учебник на 300+ страниц, который используется внутри Google для обучения разработчиков Rust. Материал построен так, чтобы пройти путь от базового синтаксиса до продвинутых возможностей языка.

Внутри курса разбираются ключевые темы Rust:

- владение памятью и borrowing
- lifetimes
- структуры и enum
- pattern matching
- generics и traits
- error handling
- concurrency
- async Rust
- работа с unsafe кодом

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

Если вы хотите разобраться, почему Rust считается одним из самых безопасных и быстрых системных языков - это один из лучших материалов для старта.

google.github.io/comprehensive-rust/comprehensive-rust.pdf
Please open Telegram to view this post
VIEW IN TELEGRAM
⚠️ В России всё чаще блокируют Telegram и другие зарубежные сервисы.

Это значит, что многие IT-ресурсы, каналы и источники новостей могут стать недоступны в любой момент.

Если вы хотите оставаться в курсе технологий, AI и новых фреймворков, лучше заранее иметь альтернативную площадку.

Мы собрали лучшие IT-каналы в MAX, где публикуются:

новости развития AI
новые фреймворки и инструменты
полезные ресурсы для разработчиков
разборы технологий и трендов

ИИ: https://max.ru/ai_machinelearning_big_data
Max Ml: https://max.ru/vistehno
Max Python: https://max.ru/pythonl
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Max Java: https://max.ru/javatg
Max Sql: https://max.ru/sqlhub
Max Devops: https://max.ru/DevOPSitsec
Анализ данных: https://max.ru/data_analysis_ml
C++ : https://max.ru/cpluspluc
C#: https://max.ru/csharp_ci

https://uproger.com/luchshie-kanaly-v-max-po-it-i-ii-podborka-2026-goda/
Forwarded from 📚Python Books
Natural Language Processing with Python

📚 Read

@pythonlbooks
Claude_Code.pdf
3.9 MB
Claude Code. Полное руководство по AI-ассистенту для разработчиков
Anthropic опубликовали свежий мини-курс по промтингу- в нём описаны лучшие практики по написанию подсказок

Внутри советы по форматированию, описанию задач и агентских сценариях - всё это с примерами и детальным описанием.

https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices
Forwarded from Data Science
CLAWSAFETY: ”Safe” LLMs, Unsafe Agents

📗 Read

@datascienceiot
👣 На Stepik обновили курс «Rust: полный курс разработчика. С нуля до профи»

Представьте: через три месяца вы открываете чужой Rust-код и читаете его как книгу.

Arc<Mutex<T>> не вызывает панику. impl Future не пугает. Вы точно знаете, почему компилятор ругается и как это починить за 10 секунд.

Это не фантазия. Это результат 50 уроков, в которых каждая концепция объясняется через код и закрепляется практикой.

Ownership, traits, generics, async, unsafe - всё, что казалось магией, станет рабочим инструментом.

А бонусом - портфолио проектов: от CLI-утилит до REST API и WebAssembly.

Вы и так знаете, что Rust - ваш следующий язык. Этот курс просто сделает это реальностью.

Сегодня - 55% процентов от цены, торопись: https://stepik.org/a/269250/
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Science
Introduction to Algorithms and Machine Learning

📗 Read

@datascienceiot
Rust-эксперимент, который красиво объясняет, почему `Vec` почти всегда лучший варинт

Автор взял идею из Linux filesystem: inode хранит метаданные и указывает на блоки данных. Потом задал очень опасный, но полезный вопрос: а что если такую же схему перенести в Rust-контейнер?

Так появился PagedSmallVec: сначала маленький inline-буфер, потом данные раскладываются по фиксированным чанкам, а не лежат одним непрерывным куском памяти.

Звучит умно. На практике CPU быстро объясняет, кто здесь главный.

Обычный Vec почти всегда быстрее, потому что он делает ровно то, что любит процессор: данные лежат подряд, доступ предсказуемый, меньше переходов по указателям, меньше ветвлений, меньше cache misses. У PagedSmallVec каждый доступ после inline-части превращается в математику по чанкам: вычислить индекс чанка, offset, найти нужный блок, достать значение. Для u32 это особенно больно: там сама операция дешёвая, поэтому накладные расходы контейнера видны сразу.

Бенчмарки получились ожидаемые, но от этого не менее полезные: в обычных vector-like сценариях Vec чаще первый, SmallVec обычно второй, а paged-структура чаще третья. На push, pop, random indexing и ordered remove магии не случилось.

Когда обход сделали не через get(i) на каждый элемент, а чанками через for_each_chunk, структура стала выглядеть гораздо разумнее. Потому что её естественная единица работы - не отдельный элемент, а блок. И вот тут появляется главный урок: плохой API может убить даже неплохую идею, если заставляет структуру данных работать против своей природы.

Где такая схема может иметь смысл?

В append-heavy системах, где буфер часто растёт, но редко индексируется посередине. Например, логи, event buffers, tracing pipelines, ingestion queues. Там иногда важнее не копировать огромный непрерывный буфер при росте, чем выиграть каждый отдельный доступ.

Ещё один сценарий - chunk-native processing: стриминговая аналитика, batch transforms, сериализация, компрессия, обработка данных кусками. Если ваша логика работает чанками, а не элементами, paged layout уже не выглядит странным.

Если ваша цель - «сделать Vec, только быстрее», inode-style vector в Rust плохая идея.

Если цель - понять, где именно pointer-heavy layout проигрывает contiguous memory, как легко сломать инварианты через MaybeUninit, почему unsafe-контейнеры требуют железной дисциплины и почему API должен совпадать с layout, то эксперимент отличный.

Иногда лучший результат плохой идеи - не победа в бенчмарках, а момент, когда машина наконец показывает, где именно вы ошибались.

https://sot.dev/inode-style-vector-in-rust.html
Недавно на GitHub наткнулся на отличную открытую книгу: The Accidental CTO.

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

Она через истории раскрывает ключевые концепции распределенных систем, а заодно выкладывает на стол компромиссы за техническими решениями: почему выбрали именно так, какой ценой, как развивать дальше.

GitHub: http://github.com/subhashchy/The-Accidental-CTO
👣 Как Rust обманывает процессор: тайная жизнь niche-оптимизации, drop flags и MIR


Большинство статей про Rust заканчиваются на borrow checker и lifetimes, как будто внутри компилятора живёт только проверяльщик заимствований и злой шрифтовый дизайнер для сообщений об ошибках. На деле там целый зоопарк механизмов, о которых редко пишут даже на конференциях. Я собрал несколько по настоящему любопытных вещей, которые меняют представление о том, как устроен язык изнутри, и подкрепил каждый сюжет кодом, который можно скопировать и проверить самому.

Начнём с того, чего никто не ждёт. Знакомая всем конструкция Option ссылки занимает ровно столько же байт, сколько и обычная ссылка. Это кажется магией: ведь у Option должен быть тег, отличающий Some от None. Никакого тега нет. Компилятор знает, что ссылка в Rust никогда не может быть нулевой, и использует нулевой адрес как представление варианта None. Этот трюк называется niche optimization, и он работает гораздо шире, чем принято думать.

Проверим руками: https://uproger.com/kak-rust-obmanyvaet-proczessor-tajnaya-zhizn-niche-optimizaczii-drop-flags-i-mir/
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 На Stepik обновили курс «C# с нуля до профи»

Представьте: через четыре месяца вы открываете чужой .NET-проект и читаете его как книгу.

IServiceCollection не вызывает ступора. async Task<IActionResult> пишется на автомате. Вы точно знаете, почему EF Core сгенерировал именно такой SQL - и как переписать запрос, чтобы он летал.

Это не фантазия. Это результат после 16 модулей, в которых каждая концепция объясняется через код и закрепляется практикой.

ООП, SOLID, LINQ, async/await, DI, EF Core, ASP.NET Core, Docker, Kubernetes - всё, что казалось магией, станет рабочим инструментом.

А бонусом - портфолио проектов: от CLI-утилит и REST API до собственного SaaS с multi-tenancy, JWT и деплоем в Kubernetes под TLS.

Скидка - 58% доступна 48 часов: https://stepik.org/a/282984/
Please open Telegram to view this post
VIEW IN TELEGRAM
Супер шпаргалка по SQL JOIN'ам

Сохраняйте чтобы не потерять.
🦀 Полный roadmap по изучению Rust на русском + большой список ресурсов.

https://github.com/Develp10/rust-roadmap-ru/tree/main
📓 Пять PDF по оптимизации, которые реально стоит сохранить.

Жёсткая база по тому, как код превращается в инструкции, как эти инструкции исполняются процессором и почему иногда «очевидно быстрый» вариант внезапно медленнее.

Что внутри:

1. Optimizing software in C++
179 страниц про оптимизацию C++ под Windows, Linux и macOS. Память, ветвления, компиляторы, SIMD, профилирование и типичные ошибки.

2. Optimizing subroutines in assembly language
156 страниц про x86 assembly. Полезно даже если вы не пишете на ассемблере, потому что после этого проще понимать, что делает компилятор.

3. The microarchitecture of Intel, AMD and VIA CPUs
277 страниц про устройство процессоров: pipeline, кеши, предсказание ветвлений, execution units и прочие вещи, которые напрямую влияют на скорость кода.

4. Instruction tables
485 страниц таблиц с latency, throughput и micro-ops для инструкций Intel, AMD и VIA. Это уже не чтение перед сном, а справочник для тех случаев, когда надо понять, где именно теряется производительность.

5. Calling conventions
60 страниц про calling conventions в разных C++ компиляторах и ОС. Пригодится для ABI, FFI, отладки, reverse engineering и низкоуровневого кода.

Ссылки:

https://agner.org/optimize/optimizing_cpp.pdf

https://agner.org/optimize/optimizing_assembly.pdf

https://agner.org/optimize/microarchitecture.pdf

https://agner.org/optimize/instruction_tables.pdf

https://agner.org/optimize/calling_conventions.pdf

Все пять одним архивом:

https://agner.org/optimize/optimization_manuals.zip

Главная страница:

https://agner.org/optimize/

Если хотите понимать performance не на уровне «ну там компилятор сам всё оптимизирует», а по-настоящему - это хороший старт.