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


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

РКН clck.ru/3Ko9cz
Download Telegram
BootBoi – Android приложение для удаленного включения/выключения/перезагрузки вашего ПК!

Вы когда-нибудь хотели включить удаленную машину (ноутбук, Raspberry, NAS), но не хотели вставать с дивана? BootBoi избавит вас от такой утомительной задачи!

¡ Для включения удаленного устройства BootBoi использует Wake On Lan. Эту функцию надо включить в BIOS, читайте больше здесь.
¡ Для выключения и перезагрузки используется SSH. Выполняются такие команды как whoami, poweroff и reboot.

#GitHub | #TypeScript #Remote #Interesting


👉 @Githublib
👍10
Getting Started with Python: Understand key data structures and use Python in object-oriented programming
Авторы: Fabrizio Romano, Benjamin Baka, Dusty Phillips (2020)


Книга начинается с подробного и практического введения в Python. Вы научитесь писать программы, создавать простые веб-сайты и работать с данными, используя популярные библиотеки науки о данных Python. Авторы делают особый акцент на структурах данных и алгоритмах.

Во время чтения книги вы:
✔️Используете функции для объединения последовательности инструкций;
✔️Изучите создание, определение и манипулирование исключениями с помощью специальных объектов ошибок;
✔️Реализуете объекты в Python путем создания классов и определения методов;
✔️Изучите проектирование публичных интерфейсов с использованием абстракций и инкапсуляции;
✔️Изучите написание надежного программного обеспечения путем написания модульных тестов;
✔️Ознакомитесь с распространенными шаблонами и алгоритмами, используемыми в Python.

Скачать книгу
👍10
Fullstack React with TypeScript
Авторы: Maksim Ivanov, Alex Bespoyasov, Nate Murray (2020)

Это практическое руководство, которое поможет вам и вашей команде в кратчайшие сроки начать писать приложения React с TypeScript (и хуками). Кол-во проектов с TypeScript и React в прошлом году резко возросло - и не зря. Это мощная комбинация, которая может предотвратить ошибки и помочь вам быстрее выпускать продукты.

Скачать книгу
👍14👎2
Forwarded from Python академия
Проверка строки на палиндром

Простой вариант этого кода проверяет, является ли слово без пробелов и знаков препинания, написанное в одном регистре, палиндромом.

Более сложный вариант, который сможет проверить строку «А роза упала на лапу Азора», предлагаем написать самостоятельно. Общая идея: свести сложную строку к простой, хоть и длинной 'арозаупаланалапуазора'. Вам пригодятся функции строк .lower(), .join(), а также, возможно, преобразование строки в список.

Подписывайтесь на канал 👉@pythonofff
👍11👎2💩1
Artificial Intelligence: A Modern Approach
Авторы: Stuart Russell, Peter Norvig (2020)

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

Скачать книгу
👍8🤔21
Xplorer - это красивый файловый менеджер, созданный с нуля для полной настройки.

• Работает на Windows, GNU/Linux и MacOS.
• Поддерживает предварительный просмотр не только изображений или документов, но и видео

#GitHub | #TypeScript #File

👉 @Githublib
🔥15👍5
Media is too big
VIEW IN TELEGRAM
Сравнение размеров игровых миров в сравнении друг с другом | 2021 🗾

#gamedev

👉 @game_devv
👍10🔥2
Как настроить и запустить систему отслеживания измененных данных PostgreSQL

PostgreSQL предлагает метод логического декодирования и делает возможным сбор данных об изменениях на основе логирования. Вы сможете настроить и запустить CDC в несколько шагов.

Архитектура современных веб-приложений состоит из нескольких программных компонентов, таких как информационные панели (дашборды), аналитические системы, базы данных, озёра данных (Data Lakes), кэшевые хранилища, функции поиска и т.д.

Статья rus

Статья eng


#PostgreSQL

👉 @database_info
👍12🔥1👏1
Modern Python Cookbook: 133 recipes to develop flawless and expressive programs in Python 3.8
Автор: Steven F. Lott (2020)

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

Во время чтения книги вы:
✔️Изучите сложные детали синтаксиса Python и способы его использования в ваших интересах;
✔️Научитесь эффективно управлять данными с помощью встроенных структур;
✔️Познакомитесь с передовыми методами программирования на Python;
✔️Интегрируете прикладное программное обеспечение с помощью Python;
✔️Напишите тесты, чтобы убедиться, что программа работает так, как планировалось.

Скачать книгу
👍8💩1
Forwarded from React
Как работает хук useInsertionEffect в React 18

CSS-in-JS библиотеки генерируют стили на лету и вставляют их в документ. Для этих библиотек важно знать, в какой момент можно вставлять теги <style> в документ, т.к. это может повлиять на производительность.

При добавлении или удалении CSS правил браузер пересчитывает стили у всех элементов. Для того чтобы избежать лишнего пересчета стилей для элементов на странице при изменении CSS правил, необходимо изменять их одновременно с другим изменением DOM, например, когда React мутирует DOM, перед чтением макета (например clientWidth) и до отрисовки в браузере.

Для того, чтобы добиться такого поведения, можно использовать хук useInsertionEffect. По сигнатуре он похож на useEffect, но он запускается синхронно перед изменениями DOM.

Внутри хука можно изменять глобальные DOM элементы, такие как <style> или <defs>. Он запускается перед хуком useLayoutEffect. Основное предназначение данного хука – изменение стилей в CSS библиотеках.

function useCSS(rule) {
useInsertionEffect(() => {
if (!isInserted.has(rule)) {
isInserted.add(rule);
document.head.appendChild(getStyleForRule(rule));
}
});
return rule;
}
function App() {
let className = useCSS(rule);
return <div className={className} />;
}


https://blog.saeloun.com/2022/06/02/react-18-useinsertioneffect

✍️ @React_lib
👍11
Everything You Need to Ace Computer Science and Coding in One Big Fat Notebook
Автор: Workman Publishing (2020)

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

Темы в книге:
✔️Вычислительные системы;
✔️Бинарный код;
✔️Алгоритмы;
✔️Циклы, события и процедуры;
✔️Программирование на Scratch и Python;
✔️Логические выражения;
✔️Веб-разработка;
✔️Безопасность;
✔️HTML, CSS;
✔️И другие.

Скачать книгу
👍12👎3
Forwarded from Node JS
Память в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации

Интро: почему я написал эту статью

Меня зовут Виктор, я разрабатываю страницу результатов поиска Яндекса. Несмотря на внешнюю простоту, поисковая выдача — сложная штука: на каждый запрос генерируется своя уникальная страница, на которой в зависимости от запроса может присутствовать блок Картинок, Карты, Переводчик, видеоплеер и многие другие компоненты. Все они должны запускаться и работать в памяти обычных бюджетных телефонов, которые использует большинство наших пользователей. Браузерам должно хватать ресурсов, чтобы пользователь не видел вот такого.

✍️ @nodejs_lib
👍10💩1
Forwarded from React
React Hooks: useState

Хук useState() предназначен для управления состоянием компонента. Данная функция возвращает пару геттер/сеттер - значение начального состояния и функцию для обновления этого значения. Функцию имеет следующую сигнатуру: const [value, setValue] = useState(defaultValue).

Обновление одного состояния

const UpdateState = () => {
const [age, setAge] = useState(19)

const handleClick = () => setAge(age + 1)

return (
<>
<p>Мне {age} лет.</p>
<button onClick={handleClick}>Стать старше!</button>
</>
)
}



Обновление нескольких состояний

const MultipleStates = () => {
const [age, setAge] = useState(19)
const [num, setNum] = useState(1)

const handleAge = () => setAge(age + 1)
const handleNum = () => setNum(num + 1)

return (
<>
<p>Мне {age} лет.</p>
<p>У меня {num} братьев и сестер.</p>
<button onClick={handleAge}>Стать старше!</button>
<button onClick={handleNum}>Больше братьев и сестер!</button>
</>
)
}



Обновление объекта состояния

const StateObject = () => {
const [state, setState] = useState({ age: 19, num: 1 })

const handleClick = (val) =>
setState({
...state,
[val]: state[val] + 1
})

const { age, num } = state
return (
<>
<p>Мне {age} лет.</p>
<p>У меня {num} братьев и сестер.</p>
<button onClick={() => handleClick('age')}>Стать старше!</button>
<button onClick={() => handleClick('num')}>
Больше братьев и сестер!
</button>
</>
)
}



Счетчик

const CounterState = () => {
const [count, setCount] = useState(0)

return (
<>
<p>Значение счетчика: {count}.</p>
<button onClick={() => setCount(0)}>Сбросить</button>
<button onClick={() => setCount((prevVal) => prevVal + 1)}>
Увеличить (+)
</button>
<button onClick={() => setCount((prevVal) => prevVal - 1)}>
Уменьшить (-)
</button>
</>
)
}



Более сложный пример

const Profile = () => {
const [profile, setProfile] = useState({
firstName: 'Иван',
lastName: 'Петров'
})

const handleChange = ({ target: { value, name } }) => {
setProfile({ ...profile, [name]: value })
}

const { firstName, lastName } = profile
return (
<>
<h1>Профиль</h1>
<form>
<input
type='text'
value={firstName}
onChange={handleChange}
name='firstName'
/> <br />
<input
type='text'
value={lastName}
onChange={handleChange}
name='lastName'
/>
</form>
<p>
Имя: {firstName} <br />
Фамилия: {lastName}
</p>
</>
)
}

✍️ @React_lib
👍14👎1🤯1
Как в С++ обрабатывать ошибки в конструкторах без исключений?

Преимущества использования исключений сомнительны, но мои претензии к ним не в этом. Исключения — экстраординарный инструмент, которые делает код более непонятным и запутанным. А прямую локальную обработку — слишком пространной. Исключения стали для меня худшим средством обработки ошибок. Печально, что создание объектов в С++ основано на их применении. Далее

#cpp #programming

👉 @cpp_lib
👎11👍8
Веб-приложение на Golang для чтения и записи данных в JSON файл

Golang предлагает мощные инструменты для создания веб-серверов.В Golang вы можете создавать веб-серверы, с разными адресами, разными типами запросов и разными типами контента. Для веб-разработки основными пакетами стандартной библиотеки являются net/http и html/template. Используя эти два пакета, вы можете создавать полнофункциональные веб-приложения.

👉 @golang_lib
👍5
Web Security for Developers
Автор: Malcolm McDonald (2020)

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

Во время чтения книги вы:
✔️Изучите защиту от атак с использованием SQL-инъекций, вредоносного кода JavaScript и подделки межсайтовых запросов;
✔️Добавите аутентификацию и контроль доступа к форме для защиты учетных записей;
✔️Сможете блокировать учетные записи пользователей, чтобы предотвратить атаки, основанные на угадывании паролей, краже сеансов и т.д.;
✔️Внедрите шифрование;
✔️Научитесь управлению уязвимостями в устаревшем коде.

Скачать книгу
👍11
Forwarded from React
Пример использования useDeferredValue

Дэн Абрамов поделился примером использования хука useDeferredValue из React 18:

function Form() {
const [state, setState] = useState({ value: "hello" })
const deferredState = useDeferredValue(state)
// ...


Используйте deferredState в компонентах, рендер которых не срочный: например, вычисление сложной логики. Это поведение напоминает debounce. Использовать state напрямую можно в элементах пользовательского ввода, например, input.

✍️ @React_lib
👍7💩3🔥1
Deep Learning Interviews
Автор: Shlomo Kashani, Amir Ivry (2020)

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

✔️Сотни полностью решенных задач;
✔️Проблемы из многих областей глубокого обучения;
✔️Понятные схемы и иллюстрации;
✔️Исчерпывающий указатель;
✔️Пошаговые решения задач;
✔️Не только ответы, но и показанные работы и доказательства, если необходимо.

Скачать книгу
👍61
Forwarded from BigData
This media is not supported in your browser
VIEW IN TELEGRAM
EigenGAN

TensorFlow implementation of EigenGAN: Layer-Wise Eigen-Learning for GANs

Github: https://github.com/LynnHo/EigenGAN-Tensorflow

Paper: https://arxiv.org/abs/2104.12476v1

👉 @bigdata_1
👍7👎2