Forwarded from Типичный Сисадмин
Серверная стойка своими руками. Следует добавить, что стойка установлена под лестницей.
Подписывайтесь на канал 👉@tipsysdmin
Подписывайтесь на канал 👉@tipsysdmin
👍28👎13
Clean Code in JavaScript
Автор: James Padolsey (2020)
Создание надежных приложений начинается с создания чистого кода. В этой книге вы исследуете приемы профессионального JavaScript-разработчика, изучая все от основ JavaScript до практик написания чистого кода. Вы научитесь писать функциональный, интуитивно понятный и удобный в сопровождении код, а также поймете, как ваш код может влиять на конечного пользователя и других людей, которым придется с ним работать.
Во время чтения книги вы:
✔️Откроете для себя принципы написания чистого кода, учитывающие синтаксические соглашения;
✔️Используете современный синтаксис JavaScript и шаблоны проектирования для создания интуитивно понятных абстракций;
✔️Изучите современную экосистему JavaScript и ее проблемы, такие как согласование DOM и управление состоянием;
✔️Поддержите качество кода в своей команде за счет разумного использования инструментов и передовых практик.
Скачать книгу
Автор: James Padolsey (2020)
Создание надежных приложений начинается с создания чистого кода. В этой книге вы исследуете приемы профессионального JavaScript-разработчика, изучая все от основ JavaScript до практик написания чистого кода. Вы научитесь писать функциональный, интуитивно понятный и удобный в сопровождении код, а также поймете, как ваш код может влиять на конечного пользователя и других людей, которым придется с ним работать.
Во время чтения книги вы:
✔️Откроете для себя принципы написания чистого кода, учитывающие синтаксические соглашения;
✔️Используете современный синтаксис JavaScript и шаблоны проектирования для создания интуитивно понятных абстракций;
✔️Изучите современную экосистему JavaScript и ее проблемы, такие как согласование DOM и управление состоянием;
✔️Поддержите качество кода в своей команде за счет разумного использования инструментов и передовых практик.
Скачать книгу
👍2
Forwarded from GitHub Сообщество
BootBoi – Android приложение для удаленного включения/выключения/перезагрузки вашего ПК!
Вы когда-нибудь хотели включить удаленную машину (ноутбук, Raspberry, NAS), но не хотели вставать с дивана? BootBoi избавит вас от такой утомительной задачи!
¡ Для включения удаленного устройства BootBoi использует Wake On Lan. Эту функцию надо включить в BIOS, читайте больше здесь.
¡ Для выключения и перезагрузки используется SSH. Выполняются такие команды как whoami, poweroff и reboot.
#GitHub | #TypeScript #Remote #Interesting
👉 @Githublib
Вы когда-нибудь хотели включить удаленную машину (ноутбук, 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.
Скачать книгу
Авторы: 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 в прошлом году резко возросло - и не зря. Это мощная комбинация, которая может предотвратить ошибки и помочь вам быстрее выпускать продукты.
Скачать книгу
Авторы: Maksim Ivanov, Alex Bespoyasov, Nate Murray (2020)
Это практическое руководство, которое поможет вам и вашей команде в кратчайшие сроки начать писать приложения React с TypeScript (и хуками). Кол-во проектов с TypeScript и React в прошлом году резко возросло - и не зря. Это мощная комбинация, которая может предотвратить ошибки и помочь вам быстрее выпускать продукты.
Скачать книгу
👍14👎2
Forwarded from Python академия
Проверка строки на палиндром
Простой вариант этого кода проверяет, является ли слово без пробелов и знаков препинания, написанное в одном регистре, палиндромом.
Более сложный вариант, который сможет проверить строку «А роза упала на лапу Азора», предлагаем написать самостоятельно. Общая идея: свести сложную строку к простой, хоть и длинной 'арозаупаланалапуазора'. Вам пригодятся функции строк .lower(), .join(), а также, возможно, преобразование строки в список.
Подписывайтесь на канал 👉@pythonofff
Простой вариант этого кода проверяет, является ли слово без пробелов и знаков препинания, написанное в одном регистре, палиндромом.
Более сложный вариант, который сможет проверить строку «А роза упала на лапу Азора», предлагаем написать самостоятельно. Общая идея: свести сложную строку к простой, хоть и длинной 'арозаупаланалапуазора'. Вам пригодятся функции строк .lower(), .join(), а также, возможно, преобразование строки в список.
Подписывайтесь на канал 👉@pythonofff
👍11👎2💩1
Artificial Intelligence: A Modern Approach
Авторы: Stuart Russell, Peter Norvig (2020)
Авторы в своей книге исследуют всю широту и глубину области искусственного интеллекта. 4-е издание знакомит читателей с новейшими технологиями, представляет концепции в более унифицированной форме и предоставляет расширенный охват машинного обучения, глубокого обучения, трансферного обучения, многоагентных систем, робототехники, обработки естественного языка, вероятностного программирования, конфиденциальности и безопасного ИИ.
Скачать книгу
Авторы: Stuart Russell, Peter Norvig (2020)
Авторы в своей книге исследуют всю широту и глубину области искусственного интеллекта. 4-е издание знакомит читателей с новейшими технологиями, представляет концепции в более унифицированной форме и предоставляет расширенный охват машинного обучения, глубокого обучения, трансферного обучения, многоагентных систем, робототехники, обработки естественного языка, вероятностного программирования, конфиденциальности и безопасного ИИ.
Скачать книгу
👍8🤔2❤1
Forwarded from GitHub Сообщество
Xplorer - это красивый файловый менеджер, созданный с нуля для полной настройки.
• Работает на Windows, GNU/Linux и MacOS.
• Поддерживает предварительный просмотр не только изображений или документов, но и видео
#GitHub | #TypeScript #File
👉 @Githublib
• Работает на Windows, GNU/Linux и MacOS.
• Поддерживает предварительный просмотр не только изображений или документов, но и видео
#GitHub | #TypeScript #File
👉 @Githublib
🔥15👍5
Forwarded from Базы данных (Data Base)
Как настроить и запустить систему отслеживания измененных данных PostgreSQL
PostgreSQL предлагает метод логического декодирования и делает возможным сбор данных об изменениях на основе логирования. Вы сможете настроить и запустить CDC в несколько шагов.
Архитектура современных веб-приложений состоит из нескольких программных компонентов, таких как информационные панели (дашборды), аналитические системы, базы данных, озёра данных (Data Lakes), кэшевые хранилища, функции поиска и т.д.
Статья rus
Статья eng
#PostgreSQL
👉 @database_info
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;
✔️Напишите тесты, чтобы убедиться, что программа работает так, как планировалось.
Скачать книгу
Автор: 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) и до отрисовки в браузере.
Для того, чтобы добиться такого поведения, можно использовать хук
Внутри хука можно изменять глобальные DOM элементы, такие как <style> или <defs>. Он запускается перед хуком
https://blog.saeloun.com/2022/06/02/react-18-useinsertioneffect
✍️ @React_lib
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
Saeloun Blog
Know about the useInsertionEffect hook in React 18
The useInsertionEffect hook in React 18 is mostly for CSS-in-JS libraries for inserting global DOM nodes like 'style' or SVG 'defs' in the document.
👍11
Everything You Need to Ace Computer Science and Coding in One Big Fat Notebook
Автор: Workman Publishing (2020)
В этой книге вы найдете все ключевые понятия, приемы, определения, диаграммы и рисунки, которые помогут вам понять информатику. Подходит для абсолютных новичков и детей.
Темы в книге:
✔️Вычислительные системы;
✔️Бинарный код;
✔️Алгоритмы;
✔️Циклы, события и процедуры;
✔️Программирование на Scratch и Python;
✔️Логические выражения;
✔️Веб-разработка;
✔️Безопасность;
✔️HTML, CSS;
✔️И другие.
Скачать книгу
Автор: Workman Publishing (2020)
В этой книге вы найдете все ключевые понятия, приемы, определения, диаграммы и рисунки, которые помогут вам понять информатику. Подходит для абсолютных новичков и детей.
Темы в книге:
✔️Вычислительные системы;
✔️Бинарный код;
✔️Алгоритмы;
✔️Циклы, события и процедуры;
✔️Программирование на Scratch и Python;
✔️Логические выражения;
✔️Веб-разработка;
✔️Безопасность;
✔️HTML, CSS;
✔️И другие.
Скачать книгу
👍12👎3
Forwarded from Библиотека C/C++ разработчика
Парсинг Protobuf со скоростью 2+GB/s
https://blog.reverberate.org/2021/04/21/musttail-efficient-interpreters.html
#cpp #programming
👉 @cpp_lib
https://blog.reverberate.org/2021/04/21/musttail-efficient-interpreters.html
#cpp #programming
👉 @cpp_lib
👍5👎1
Forwarded from Node JS
Память в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации
Интро: почему я написал эту статью
Меня зовут Виктор, я разрабатываю страницу результатов поиска Яндекса. Несмотря на внешнюю простоту, поисковая выдача — сложная штука: на каждый запрос генерируется своя уникальная страница, на которой в зависимости от запроса может присутствовать блок Картинок, Карты, Переводчик, видеоплеер и многие другие компоненты. Все они должны запускаться и работать в памяти обычных бюджетных телефонов, которые использует большинство наших пользователей. Браузерам должно хватать ресурсов, чтобы пользователь не видел вот такого.
✍️ @nodejs_lib
Интро: почему я написал эту статью
Меня зовут Виктор, я разрабатываю страницу результатов поиска Яндекса. Несмотря на внешнюю простоту, поисковая выдача — сложная штука: на каждый запрос генерируется своя уникальная страница, на которой в зависимости от запроса может присутствовать блок Картинок, Карты, Переводчик, видеоплеер и многие другие компоненты. Все они должны запускаться и работать в памяти обычных бюджетных телефонов, которые использует большинство наших пользователей. Браузерам должно хватать ресурсов, чтобы пользователь не видел вот такого.
✍️ @nodejs_lib
👍10💩1
Forwarded from Библиотека C/C++ разработчика
В этой статье рассказывается, как настроить проводную последовательную связь между двумя платами Arduino.
https://dev.to/yongchanghe/set-up-a-wired-serial-communication-between-arduino-boards-h9e
#cpp #programming #arduino
👉 @cpp_lib
https://dev.to/yongchanghe/set-up-a-wired-serial-communication-between-arduino-boards-h9e
#cpp #programming #arduino
👉 @cpp_lib
DEV Community
Set up a wired serial communication between Arduino boards
This blog explains how to set up wired serial communication between two Arduino...
👍6👎3
Forwarded from React
React Hooks: useState
Хук useState() предназначен для управления состоянием компонента. Данная функция возвращает пару геттер/сеттер - значение начального состояния и функцию для обновления этого значения. Функцию имеет следующую сигнатуру: const [value, setValue] = useState(defaultValue).
Обновление одного состояния
Обновление нескольких состояний
Обновление объекта состояния
Счетчик
Более сложный пример
✍️ @React_lib
Хук 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