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


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

РКН clck.ru/3Ko9cz
Download Telegram
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
Forwarded from Node JS
Как мы преобразовали нашу библиотеку Node.js в Deno (с помощью Deno)

https://www.edgedb.com/blog/how-we-converted-our-node-js-library-to-deno-using-deno

✍️ @nodejs_lib
💩3👎2👍1
Forwarded from Node JS
Создание многопользовательской игры с использованием Socket. io при помощи NodeJS и React

Это руководство детально объясняет, как ПРАВИЛЬНО создать пошаговую многопользовательскую игру при помощи Socket. io и React. Здесь будет рассмотрено как создание серверной части проекта при помощи ExpressJS, так и клиентской с помощью ReactJS.

✍️ @nodejs_lib
👍6
Структурированное логирование JSON в приложениях на Golang

Что такое «структурированное логирование»?

Ведение журнала, или логирование — очень важная часть программного обеспечения. Логи нужны для отслеживания того, что происходит в системах, и по мере роста последних важность логов только увеличивается.

Есть много отличных инструментов для парсинга логов. Мне, например, очень нравится ElasticSearch. Но большинство из них рассчитано на структурированные логи, а не на двоичные большие объекты с обычным текстом (и не факт, что эти объекты записаны в нужном формате). Далее

👉 @golang_lib
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
​Pyxel - это игровой движок для Python в стиле ретро.


Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт.

#GitHub | #Cpp #engine

👉 @Githublib
👍24👎2🔥2
Forwarded from Node JS
События в Node.js

Подавляющее большинство функционала Node.js применяет асинхронную событийную архитектуру, которая использует специальные объекты - эмиттеры для генерации различных событий, которые обрабатываются специальными функциями - обработчиками или слушателями событий. Все объекты, которые генерируют события, представляют экземпляры класса EventEmitter. Далее

✍️ @nodejs_lib
👍8
Introduction to Algorithms
Авторы: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (2016)

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

В книге рассматриваются такие темы, как:
✔️Деревья ванн Эмде Боаса;
✔️Многопоточные алгоритмы;
✔️Динамическое программирование;
✔️Жадные алгоритмы.
Также в последнем издании было добавлено множество новых упражнений и задач.

Скачать книгу
👍13🤯2
How Computers Really Work: A Hands-On Guide to the Inner Workings of the Machine
Автор: Matthew Justice (2020)

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

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

Скачать книгу
👍162
This media is not supported in your browser
VIEW IN TELEGRAM
Eurorack-cpu – Процессор, реализованный в модульном синтезаторе.

Сам процессор работает в симуляторе VCV Rack eurorack - это виртуальная модульная синтезаторная платформа для Windows/Mac/Linux, которая имитирует модули Eurorack в дополнение к оригинальным модулям, выходящим за рамки аппаратного обеспечения

#GitHub | #Interesting #Processor

👉 @Githublib
🔥7👍4
Python for Marketing Research and Analytics
Авторы: Jason S. Schwarz, Chris Chapman, Elea McDonnell Feit (2020)

В книге представлен практический подход к использованию Python для решения реальных маркетинговых задач, структурированный по ключевым тематическим областям. Авторы предоставили все аналитические материалы в записных книжках Colab, которые включают код, рисунки, таблицы и аннотации в одном файле. Блокноты с кодами для каждой главы можно копировать, адаптировать и повторно использовать в собственном анализе. В книге также рассказывается о работе с моделями машинного обучения с использованием пакета sklearn в контексте маркетинговых исследований.

Скачать книгу
👍9👎3🤩2