Книги для программистов
55.2K subscribers
1.35K photos
283 videos
24 files
1.23K links
Книги по программированию, библиотека электронных книг для разработчиков.


По всем вопросам @evgenycarter

РКН clck.ru/3Ko9cz
Download Telegram
🚀 Стартуйте карьеру в Machine Learning с OTUS

Присоединяйтесь к курсу «Специализация Machine Learning» и начните свой путь в одной из самых востребованных областей IT!
На обучении вы освоите:

- Python с нуля до профессионального уровня.
- Работу с ML-библиотеками: pandas, numpy, sklearn.
- Глубоко поймете теорию вероятностей и математическую статистику, на основе которой построен Machine Learning

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

Начните карьеру в Machine Learning с OTUS! Оставьте заявку на обучение: https://vk.cc/cPBfkL

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍41
Книги для программистов pinned «Друзья, наш канал в max https://max.ru/bfbook Подписывайтесь!»
📚 Pragmatic Thinking and Learning: Refactor Your Wetware
Автор: Andy Hunt (2008)

Знаешь, как ты постоянно рефакторишь код, улучшая его? Так вот, пришло время для самого важного рефакторинга — твоего мозга.

С помощью книги от Эндрю Ханта ты научишься делать свой мозг лучшим инструментом для освоения технологий (и не только). Оказывается, мозг можно обучать с таким же подходом, как и программирование 🎯

Что тебя ждет:

-Как стать мастером в освоении новых навыков, а не застревать на уровне «сделал бы X, но не могу найти мотивацию»

-Откроешь секреты нейробиологии, которые помогут не забывать пароли через 5 минут

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

Мы в MAX

👉 @bfbook
👍91🤡1
💎Приглашаем вас на курс Data Engineer💎
Получите актуальные навыки от преподавателей-практиков на реальном проекте.


Что вы узнаете на курсе?

▪️Разворачивать, настраивать и оптимизировать инструменты обработки данных:
- Разрабатывать и оптимизировать пайплайны обработки данных
- Использовать Apache Airflow для оркестрации задач
- Обрабатывать большие данные с помощью Apache Spark

▪️Работать с базами данных и хранилищами данных:
- Строить ETL/ELT-процессы для загрузки и обработки данных
- Работать с распределёнными хранилищами (HDFS, S3) и DWH (ClickHouse)

▪️Адаптировать датасеты для дальнейшей работы и аналитики
▪️Создадите сервисы, которые используют результаты обработки больших объемов данных
▪️Применять облачные технологии
▪️Решать реальные бизнес-задачи: cтроить отчётность и дашборды, обеспечивать Data Governance
▪️Научитесь использовать на реальном проекте актуальные технологии и инструменты 2025 года для дата инженера.

Чего не будет на курсе?

- Утомительных монологов — вы сможете вживую задавать свои вопросы преподавателю.
- Непосильной нагрузки и долгих изнуряющих часов занятий — курс продуман для вашего комфортного обучения.
- Неактуальной информации — курс переработан и актуален на 2025 год, убедитесь в программе курса на сайте.
- "Учёба ради учёбы" — курс разработан при поддержке крупных компаний, которые заинтересованы в новых дата инженерах!

Записывайтесь на бесплатный вебинар 23 сентября в 18:00 мск.
🎁 Участники вебинара смогут активировать скидку 5% на курс Data Engineer по промо-коду DE_9 до 10.10.2025г.

📚На вебинаре:

• Разберём один из принципов развертывания Spark кластера в облачных провайдерах.
• Покажем Terraform конфигурации для автоматизированного развертывания кластера.
• Продемонстрируем подключение к кластеру для работы из IDE.

Оставьте заявку на сайте и наш менеджер свяжется с вами.
➡️ OTUS.RU

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👋 Всем админам доброго вечера!

Продолжаю тему теневых копий в Windows - на этот раз чисто PowerShell-практика. Теневые копии (VSS) не раз спасали меня, когда нужно быстро вернуть удалённый файл без полноценного восстановления из бэкапа. Ниже - мой минималистичный «набор выживальщика»: создать снапшот, смонтировать, вытащить файл, почистить и настроить расписание.


🚀 Базовые операции VSS через PowerShell

Создать теневую копию тома C:


# PS 5.1/7+ (через CIM)
Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName Create `
-Arguments @{ Volume = 'C:\'; Context = 'ClientAccessible' } | Out-Null


Список доступных теневых копий:


Get-CimInstance Win32_ShadowCopy |
Sort-Object InstallDate -Descending |
Format-Table ID, VolumeName, InstallDate, ClientAccessible, DeviceObject -Auto


Смонтировать самую свежую копию в папку (удобно лазить по снапшоту проводником):


$sh = Get-CimInstance Win32_ShadowCopy | Sort-Object InstallDate -Desc | Select-Object -First 1
$mount = 'C:\ShadowMounts\C_latest'
New-Item -ItemType Directory -Path $mount -Force | Out-Null
$dev = ($sh.DeviceObject.TrimEnd('\')) + '\'
cmd /c "mklink /d `"$mount`" `"$dev`""
# Готово: открывайте C:\ShadowMounts\C_latest


Вытянуть конкретный файл из последней копии (без монтирования):


$path = 'C:\Data\report.xlsx' # что хотим вернуть
$sh = Get-CimInstance Win32_ShadowCopy | Sort-Object InstallDate -Desc | Select-Object -First 1
$rel = $path -replace '^[A-Za-z]:\\','' # убрать "C:\"
$src = Join-Path ( ($sh.DeviceObject.TrimEnd('\')) + '\' ) $rel
Copy-Item $src $path -Force


Удалить конкретную теневую копию:


$sh | Remove-CimInstance


🧠 Управление хранилищем теневых копий

Проверить и ограничить размер:


vssadmin list shadowstorage
vssadmin resize shadowstorage /For=C: /On=C: /MaxSize=20%


👉 Если места мало - VSS начнёт сносить самые старые копии. Планируйте «MaxSize».


Планирование ежедневного снапшота (02:00)


$cmd = 'powershell.exe'
$arg = '-NoProfile -WindowStyle Hidden -Command "Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName Create -Arguments @{Volume=''C:\'';Context=''ClientAccessible''} | Out-Null"'
$action = New-ScheduledTaskAction -Execute $cmd -Argument $arg
$trigger = New-ScheduledTaskTrigger -Daily -At 02:00
Register-ScheduledTask -TaskName 'Daily-VSS-C' -Action $action -Trigger $trigger -RunLevel Highest


На серверах с PowerShell 7 можно заменить powershell.exe на pwsh.exe.



🔒 Безопасность и мониторинг

- Рансомварь любит грохать VSS: ищите команды вроде vssadmin delete shadows /all /quiet, wmic shadowcopy delete, diskshadow.exe.
Логи: включите аудит создания процессов (Sysmon Event ID 1) и подпишите правила под эти утилиты и ключевые слова в командной строке.
- Ограничьте утилиты: на рабочих станциях, где VSS админам не нужен — AppLocker/WDAC для vssadmin.exe, wmic.exe, diskshadow.exe.
- Журналы VSS: заглядывайте в Application и Microsoft-Windows-Volume Shadow Copy/Operational при сбоях провайдера.


🧩 Типичные затыки и лайфхаки

- Доступа нет к путям снапшота — добавляйте \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\ в исключения антивируса на время операций.
- Недостаточно места — расширьте shadowstorage или поменяйте диск-хранилище: /For=C: /On=D:.
- Нужны «предыдущие версии» для пользователей - ставьте Context='ClientAccessible' (или ClientAccessibleWriters для VSS-aware приложений).

👉 @win_sysadmin
👍52👎1
📚The Object-Oriented Thought Process, Fourth Edition
Автор: Matt Weisfeild (2013)

Устал писать процедуры, которые ведут себя как токсичные отношения — всё завязано на всём, а конец всегда один? Пора перейти на ООП — там хотя бы наследуется не травма, а поведение.

В этой книге:

- Почему «начни с Java» — плохой совет, если ты не знаешь, что такое инкапсуляция
- Чем интерфейс отличается от реализации
- И почему композиция — это как LEGO, а не как склеивание суперклеем,
- И как всё это внезапно работает даже в мобильных приложениях и JSON

Автор объясняет ООП без UML-ударов по голове и с упором на здравый смысл. Подойдёт тем, кто хочет понять, зачем всё это, прежде чем выбрать себе язык по душе (и зарплате).

Мы в MAX

👉 @bfbook
👍42👎1
⚡️Хотите разбираться в языке, который пугает новичков, но ценится за безопасность и скорость? Станьте Rust-разработчиком на наших вебинарах от курса Rust Developer. Basic!:

Параллельность в Rust: async/.await и не только
📅 25 сентября, 20:00

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

Страшный на вид, надёжный внутри: читаем синтаксис Rust
📅 8 октября, 20:00

- Научитесь распознавать «синтаксический сахар» и упрощать его в голове
- Поймёте, как синтаксис Rust отражает свойства программы
- Перестанете бояться |…|, .., @, ::<T>, !, .await, ref

Знакомство с unsafe Rust: что скрывается за дверью
📅 23 октября, 20:00

- Зачем нужен unsafe и что можно делать только внутри unsafe-блок
- Unsafe - это осознанная ответственность
- Как писать безопасные unsafe-обёртки
- Пример, который показывает «unsafe изнутри»

Регистрируйтесь на вебинары: https://vk.cc/cPKEAO
3
Media is too big
VIEW IN TELEGRAM
Заполнение реквизитов контрагента по ИНН в 1С

Из этого видео вы узнаете Как заполнить реквизиты контрагента по ИНН в 1С.

При работе в 1С пользователи регулярно создают новых контрагентов. Процесс заполнения реквизитов контрагента вручную может занимать много времени. Сегодня мы покажем вам как можно ускорить заполнение контрагента в 1С, используя только ИНН и данные ЕГРЮЛ (Единого Государственного Реестра Юридических Лиц).


// <Описание функции>
//
// Параметры:
// ИНН - Тип.Строка - Строка с ИНН
// <продолжение описания параметра>
//
// Возвращаемое значение:
// <Тип.Структура> - Структура сожержит
// *ВидКонтрагента
// *КПП
// *РегистрационныйНомер
// *Наименование
// *НаименованиеПолное
// Если организация не является ИП *ЮредическийАдрес
//
// Сайт API
// https://egrul.itsoft.ru/
&НаСервереБезКонтекста
Функция ЗК_ПолучитьДанныеКонтрагентаПоИНН(ИНН)

ДанныеКонтрагента = Новый Структура;
ДанныеКонтрагента.Вставить("ИНН", ИНН);

АдресСервера = "egrul.itsoft.ru";
АдресРесурса = "/short_data/?" + ИНН;

Соеденения = Новый HTTPСоединение(АдресСервера,,,,, 30, Новый ЗащищенноеСоединениеOpenSSL);

Запрос = Новый HTTPЗапрос(АдресРесурса);

Попытка
Ответ = Соеденения.Получить(Запрос);
Исключение
Сообщить("Не удалось получить данные по ИНН по причине: " + ОписаниеОшибки());
Возврат ДанныеКонтрагента;
КонецПопытки;

ДанныеЕГРБЛ = Неопределено;

Если Ответ.КодСостояния = 200 Тогда

СтрокаJSON = Ответ.ПолучитьТелоКакСтроку();
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтрокаJSON);

ДанныеЕГРБЛ = ПрочитатьJSON(ЧтениеJSON, Истина);

Иначе

Текст = СтрШаблон("Не удалось получать данные по ИНН...
|Код состояния: %1
|Ответ сервера: %2", Ответ.КодСостояния, СтрокаJSON);

Сообщить(Текст);
Возврат ДанныеКонтрагента;

КонецЕсли;

Если ДанныеЕГРБЛ["short_form"] <> Неопределено И ДанныеЕГРБЛ["short_form"] = "ИП" Тогда
ВидКонтрагента = Перечисления.ВидыКонтрагентовСПАРКРиски.ИндивидуальныйПредприниматель;
Иначе
ВидКонтрагента = Перечисления.ВидыКонтрагентовСПАРКРиски.ЮридическоеЛицо;
КонецЕсли;

ДанныеКонтрагента.Вставить("ВидКонтрагента" , ВидКонтрагента);
ДанныеКонтрагента.Вставить("КПП" , ДанныеЕГРБЛ["kpp"]);
ДанныеКонтрагента.Вставить("РегистрационныйНомер", ДанныеЕГРБЛ["ogrn"]);
ДанныеКонтрагента.Вставить("Наименование" , ДанныеЕГРБЛ["short_name"]);
ДанныеКонтрагента.Вставить("НаименованиеПолное" , ДанныеЕГРБЛ["full_name"]);

Если ДанныеЕГРБЛ["address"] <> Неопределено Тогда
ДанныеКонтрагента.Вставить("ЮредическийАдрес", ДанныеЕГРБЛ["address"]);
КонецЕсли;

Возврат ДанныеКонтрагента;

КонецФункции // ЗК_ПолучитьДанныеКонтрагентаПоИНН()



источник

Мы в MAX

✍️ @odin1C_rus
💩175👍5😁3🤡1🤨1
📌6 книг по MySQL для старта работы и погружения в технологию

MySQL — реляционная СУБД, использующая декларативный язык программирования SQL. Она предлагает все необходимые возможности для создания баз данных и написания серверных приложений.

В нашей подборке — 6 книг по MySQL, которые будут полезны как на старте, так и для развития навыков. Рекомендуйте свои книги в комментариях!



🔹«PHP и MySQL. 25 уроков для начинающих» — В. Дронов

Для кого: Наглядное визуальное оформление и поэтапное руководство подойдет для старта в MySQL. После изучения книги «PHP и MySQL. 25 уроков для начинающих» вы сможете создать веб-сайт с «привязанной» к нему базой данных.

🔹«MySQL. Сборник рецептов» — Поль Дюбуа

Для кого: Первое и второе издание подойдут начинающим разработчикам, поскольку написаны для старой версии 4.0. После прочтения вы поймете основные принципы работы MySQL. Для программистов, свободно владеющих английским языком, можно посоветовать третью редакцию книги, в которой разбирается MySQL 5.6.

🔹«MySQL 8 для больших данных» — Ш. Чаллавала, Д. Лакхатария, Ч. Мехта, К. Патель

Для кого: Книга будет полезна для администраторов баз данных MySQL и специалистов Big Data, работающих с MySQL и Hadoop. Перед прочтением нужен хотя бы небольшой опыт работы с данной СУБД. После вы будете знать, как эффективно использовать MySQL 8 для управления Big Data.

🔹«MySQL по максимуму» — Б. Шварц, В. Ткаченко, П. Зайцев

Для кого: «MySQL по максимуму» рекомендуется новичкам и опытным разработчикам, которые хотели бы увеличить производительность своих приложений на базе MySQL.

🔹«Murach’s MySQL 3rd Edition» — Джоэл Мурах

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

🔹«Murach’s PHP and MySQL 4th Edition» — Джоэл Мурах и Рэй Харрис

Для кого: Книга полезна не только разработчикам приложений и администраторам баз данных, но и веб-разработчикам. Единственное необходимое условие для изучения книги — наличие элементарных навыков работы с HTML и CSS.

Мы в MAX

👉 @bfbook
7💩5👍3
Как создавать простые смарт-контракты на трех популярных блокчейнах: Ethereum, TON и Solana?

Вебинар ориентирован на практическое знакомство с основами программирования смарт-контрактов, обзор инструментов для разработки и первые шаги в создании DApp.

После вебинара участники смогут:
- Понять, что такое DApp и смарт-контракты, и как они применяются в блокчейне.
- Различать особенности Ethereum, TON и Solana и выбирать подходящий блокчейн для своих задач.
- Написать и протестировать простой смарт-контракт в тестовой сети (на базовом уровне).
- Ознакомиться с ключевыми инструментами разработки (Remix, TON Dev Tools, Solana Playground).
- Получить план действий для старта в разработке DApp и список ресурсов для дальнейшего обучения.
- Сформировать идеи для собственных проектов на основе смарт-контрактов.

👉 Регистрация и подробности о курсе: https://vk.cc/cPMg5l

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
1
📚 The DevOps Handbook: How to Create World-Class Agility, Reliability, & Security in Technology Organizations, 2nd Edition
Авторы: Gene Kim, Jez Humble, Patrick Debois, John Willis, Nicole Forsgren (2021)

Готов поднять знания в DevOps на новый уровень? Тогда хватай обновленную версию The DevOps Handbook, где помимо классики, вас ждут 15 новых кейсов от гигантов вроде Adidas, Target и даже US Air Force.

Вот что ждет внутри:

- 100+ страниц свежего контента и материалов
- Обновления от Nicole Forsgren, исследовательницы, которая делает DevOps еще более умным и эффективным
- Рекомендации по внедрению DevOps в каждую часть бизнеса, а не только в IT

Если ты думал, что DevOps только для кодеров — забудь! Это теперь про весь бизнес. От IT до HR — все могут использовать эти принципы для создания устойчивых и быстрых процессов.

Мы в MAX

👉 @bfbook
👍31
This media is not supported in your browser
VIEW IN TELEGRAM
QML и Widgets в одном проекте: решение без костылей

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

https://www.kdab.com/display-widget-windows-in-qt-quick-applications/

Мы в MAX

#cpp #programming

👉 @cpp_lib
2👍2
DevOps Unleashed with Git and GitHub: Automate, collaborate, and innovate to enhance your DevOps workflow and development experience
Автор: Yuki Hakatori (2024)

Книга начинается с изучения основ Git и углубления в DevOps и опыт разработчиков. По мере продвижения вы поймете, как использовать возможности GitHub для совместной работы и автоматизации, и даже сможете воспользоваться GitHub Copilot для повышения производительности. Вы также узнаете, как преодолеть разрыв в DevOps, поддерживать качество кода и применять надежные меры безопасности. Кроме того, практические занятия позволят вам повысить качество работы разработчиков, укрепить командную работу и внедрять инновации со скоростью DevOps.

👉 @bfbook
👍81
Базы данных классифицируются в первую очередь по методу организации данных, способу их поиска и хранения, производительности при доступе к данным и способности распределять данные по нескольким узлам для повышения доступности и устойчивости

Мы в MAX

#db

👉 @database_info
👍8
📚 The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win, 5th Anniversary Edition
Авторы: Gene Kim, Kevin Behr, George Spafford (2018)

Представь: ты — Билл, типичный айтишный менеджер в вымышленной компании Parts Unlimited, и твой проект «Феникс» — это не мифическая птица, которая возрождается из пепла, а натуральная свалка багов, просроченных дедлайнов и бюджета, который улетел в стратосферу.

Шеф дает тебе 90 дней, чтобы все починить, иначе твой отдел отправят на аутсорс. Звучит как типичный понедельник, да? Но тут появляется загадочный гуру с философией Трех Путей.

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

The Phoenix Project учит нас, что DevOps — это не просто модное слово, а способ не сойти с ума, когда разработчики и операционщики перестают играть в «кто виноват» и начинают работать вместе.

Мы в MAX

👉 @bfbook
👍52🤡1
Современные базы данных: от векторных СУБД до моделей работы с данными в PostgreSQL.

Базы данных меняются так же быстро, как и задачи, которые они решают. Сегодня нужны не только надёжные стратегии хранения, но и новые инструменты для работы с AI.

OTUS приглашает на два открытых вебинара курса «Базы данных», где мы разберём ключевые технологии и практики:

📌 29 сентября, 20:00
«Векторные СУБД: Milvus, Weaviate, Qdrant и Chroma в реальной практике»
— сравним сильные и слабые стороны решений и разберём, как встроить их в проекты с LLM и AI-сервисами.

📌 13 октября, 20:00
«Модель работы с данными в PostgreSQL»
— разберём ключевые аспекты модели данных в PostgreSQL, включая структуру таблиц, индексов, транзакций и связи между данными.

Оба вебинара бесплатные и будут полезны разработчикам, инженерам данных, администраторам и архитекторам, которые работают с современными системами хранения и защиты данных.

👉 Регистрируйтесь: https://vk.cc/cPRBYV

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
1