Управление структурой DOM на веб-странице с помощью JavaScript #javascript
👍6
Refactoring databases. Expand_Contract Pattern.jpeg
369.5 KB
Рефакторинг базы данных и "Expand/Contract ". Паттерн "Expand/Contract" обеспечивает плавную миграцию БД, позволяя адаптироваться, ничего не ломая
Процесс из 2 этапов:
• Расширение: внедрение новой структуры с сохранением старой
• Контракт: Удаление старой структуры, когда все системы начнут использовать новую
При переходе одновременно существуют как старая и новая версии.
Например, надо разделить столбец FullName на FirstName и LastName. При переходе:
• Добавляются новые столбцы FirstName и LastName, а существующий FullName сохраняется
• Перенос существующих данных с разделением значения FullName на FirstName и LastName для всех строк
Затем применяется триггер для гарантии совместимости:
• Если старая система вставляет/обновляет FullName, триггер обновляет FirstName и LastName
• Если новая система вставляет/обновляет FirstName и LastName, триггер обновляет FullName
Когда все системы начнут использовать столбцы FirstName и LastName:
• Удалите триггер
• Удалите старый столбец FullName
Процесс из 2 этапов:
• Расширение: внедрение новой структуры с сохранением старой
• Контракт: Удаление старой структуры, когда все системы начнут использовать новую
При переходе одновременно существуют как старая и новая версии.
Например, надо разделить столбец FullName на FirstName и LastName. При переходе:
• Добавляются новые столбцы FirstName и LastName, а существующий FullName сохраняется
• Перенос существующих данных с разделением значения FullName на FirstName и LastName для всех строк
Затем применяется триггер для гарантии совместимости:
• Если старая система вставляет/обновляет FullName, триггер обновляет FirstName и LastName
• Если новая система вставляет/обновляет FirstName и LastName, триггер обновляет FullName
Когда все системы начнут использовать столбцы FirstName и LastName:
• Удалите триггер
• Удалите старый столбец FullName
👍6
Генеральный директор Nvidia Дженсен Хуанг считает, что в будущем IT-индустрия станет «отделом кадров для ИИ-агентов». Об этом он рассказал во время презентации, которая прошла в рамках выставки CES 2025 в Лас-Вегасе.
Хуанг считает, что компании будут «нанимать» на работу ИИ-агентов, которые будут трудиться вместе с людьми. При этом нейросетям будут доверять всю работу от написания кода до решения проблем с клиентами. При этом на разработчиков ляжет задача управления и планирования задач: люди будут ставить задачи, следить за ходом выполнения и вносить правки.
При этом Хуанг уверен, что для этого сотрудникам IT-компаний надо будет освоить специальные навыки. Например, научиться формировать запросы и понимать, как нейросети «думают». Более успешными будут компании, которые первые эффективно внедрят нейросети в рабочий процесс.
https://fortune.com/2025/01/09/nvidia-ceo-jensen-huangt-take-over-hr-ai-agents/
Хуанг считает, что компании будут «нанимать» на работу ИИ-агентов, которые будут трудиться вместе с людьми. При этом нейросетям будут доверять всю работу от написания кода до решения проблем с клиентами. При этом на разработчиков ляжет задача управления и планирования задач: люди будут ставить задачи, следить за ходом выполнения и вносить правки.
При этом Хуанг уверен, что для этого сотрудникам IT-компаний надо будет освоить специальные навыки. Например, научиться формировать запросы и понимать, как нейросети «думают». Более успешными будут компании, которые первые эффективно внедрят нейросети в рабочий процесс.
https://fortune.com/2025/01/09/nvidia-ceo-jensen-huangt-take-over-hr-ai-agents/
Fortune
NVIDIA's Jensen Huang says that IT is about to take over HR as AI agents rise to power | Fortune
Digital assistants need managers too.
🤡25🫡3👏2🤔2
Бывший сотрудник Microsoft под ником Barnacules Nerdgasm сообщил, что пиратство Windows 11 американскую компанию особо не волнует, так как сами пользователи и есть продукт.
«Microsoft просто не волнует, используете ли вы Windows 11 без надлежащей лицензии, потому что „вы и есть продукт“», — пояснил Barnacules Nerdgasm.
«Знаете ли вы, что можно активировать Windows 11 с помощью стороннего сервера активации в Интернете, описанного в десятках проектов GitHub, которые Microsoft намеренно не пытается остановить, потому что в конечном итоге в компании хотят, чтобы вы использовали Windows 11», — добавил Barnacules Nerdgasm.
«В Microsoft даже опубликовали ключи для многократной установки, которые можно использовать для активации через KMS. Черт, вы даже можете развернуть свой собственный сервер KMS и активировать свои собственные установки. Microsoft действительно хочет, чтобы вы использовали Windows 10/11, независимо от того, как вы это делаете!», — считает Barnacules Nerdgasm.
«Я также сообщал о десятках таких проектов GitHub в Microsoft и GitHub, и они не отвечают и не удаляют их, хотя я уже успешно удалял другие проекты в прошлом. Вот почему Microsoft в основном игнорирует продавцов ключей на сером рынке, даже когда пользователи сообщают о них», — заявил Barnacules Nerdgasm.
https://www.neowin.net/news/former-microsoft-employee-pedals-windows-11-piracy-says-microsoft-does-not-care/
«Microsoft просто не волнует, используете ли вы Windows 11 без надлежащей лицензии, потому что „вы и есть продукт“», — пояснил Barnacules Nerdgasm.
«Знаете ли вы, что можно активировать Windows 11 с помощью стороннего сервера активации в Интернете, описанного в десятках проектов GitHub, которые Microsoft намеренно не пытается остановить, потому что в конечном итоге в компании хотят, чтобы вы использовали Windows 11», — добавил Barnacules Nerdgasm.
«В Microsoft даже опубликовали ключи для многократной установки, которые можно использовать для активации через KMS. Черт, вы даже можете развернуть свой собственный сервер KMS и активировать свои собственные установки. Microsoft действительно хочет, чтобы вы использовали Windows 10/11, независимо от того, как вы это делаете!», — считает Barnacules Nerdgasm.
«Я также сообщал о десятках таких проектов GitHub в Microsoft и GitHub, и они не отвечают и не удаляют их, хотя я уже успешно удалял другие проекты в прошлом. Вот почему Microsoft в основном игнорирует продавцов ключей на сером рынке, даже когда пользователи сообщают о них», — заявил Barnacules Nerdgasm.
https://www.neowin.net/news/former-microsoft-employee-pedals-windows-11-piracy-says-microsoft-does-not-care/
Neowin
Former Microsoft employee pedals Windows 11 piracy, says Microsoft does not care
Microsoft does not care if you pirate Windows 11. At least, that is what a former employee pedaling Windows piracy on X says.
😁21😐3👏2👍1
Тетрис в PDF в браузере
Разработчик Томас Ринсма представил проект pdftris — тетрис в PDF в браузере. Код написан на Python и опубликован на GitHub.
Как пояснил разработчик: «Я понял, что движки PDF современных настольных браузеров (PDFium и PDF.js) поддерживают JavaScript с достаточным количеством примитивов ввода‑вывода для создания простой игры вроде Tetris. Было немного сложно найти объединение функций, которые работают в обоих движках, но в итоге оказалось, что отображение/скрытие „полей“ аннотаций хорошо работает для создания монохромных пикселей, а ввод с клавиатуры можно осуществить, набрав текст в поле ввода. В целом это довольно криво, но это хорошее напоминание о том, насколько универсальным может быть скриптование PDF. Связанный PDF полностью в ASCII, поэтому вы можете просто открыть его в текстовом редакторе или посмотреть исходный код здесь: https://github.com/ThomasRinsma/pdftris/blob/main/gengrid.py».
Код: https://github.com/ThomasRinsma/pdftris
Демо: https://th0mas.nl/downloads/pdftris.pdf
Разработчик Томас Ринсма представил проект pdftris — тетрис в PDF в браузере. Код написан на Python и опубликован на GitHub.
Как пояснил разработчик: «Я понял, что движки PDF современных настольных браузеров (PDFium и PDF.js) поддерживают JavaScript с достаточным количеством примитивов ввода‑вывода для создания простой игры вроде Tetris. Было немного сложно найти объединение функций, которые работают в обоих движках, но в итоге оказалось, что отображение/скрытие „полей“ аннотаций хорошо работает для создания монохромных пикселей, а ввод с клавиатуры можно осуществить, набрав текст в поле ввода. В целом это довольно криво, но это хорошее напоминание о том, насколько универсальным может быть скриптование PDF. Связанный PDF полностью в ASCII, поэтому вы можете просто открыть его в текстовом редакторе или посмотреть исходный код здесь: https://github.com/ThomasRinsma/pdftris/blob/main/gengrid.py».
Код: https://github.com/ThomasRinsma/pdftris
Демо: https://th0mas.nl/downloads/pdftris.pdf
👍13😁5🤯5❤1👎1🥴1
Масштабируемость архитектуры — это способность системы справляться с возросшей рабочей нагрузкой, многократно применяя экономически эффективную стратегию.
Основные препятствия для масштабируемости:
1) Централизованные компоненты: могут стать единой точкой отказа в работе
2) Компоненты с высокой задержкой: они выполняют длительные по времени операции
3) Сильная связанность: затрудняет масштабирование компонентов
Поэтому для построения масштабируемой системы лучше следовать принципам отсутствия состояния, слабой связанности и асинхронной обработки.
Распространенные методы улучшения масштабируемости:
- Балансировка нагрузки: распределяйте запросы по нескольким серверам, чтобы не допустить превращения одного сервера в узкое место
- Кэширование: сохранение в памяти наиболее часто запрашиваемой информации
- Обработка на основе событий: применяйте асинхронность для обработки длительных задач
- Шардинг: разделение большого набора данных на более мелкие подмножества - шарды, для горизонтальной масштабируемости
Основные препятствия для масштабируемости:
1) Централизованные компоненты: могут стать единой точкой отказа в работе
2) Компоненты с высокой задержкой: они выполняют длительные по времени операции
3) Сильная связанность: затрудняет масштабирование компонентов
Поэтому для построения масштабируемой системы лучше следовать принципам отсутствия состояния, слабой связанности и асинхронной обработки.
Распространенные методы улучшения масштабируемости:
- Балансировка нагрузки: распределяйте запросы по нескольким серверам, чтобы не допустить превращения одного сервера в узкое место
- Кэширование: сохранение в памяти наиболее часто запрашиваемой информации
- Обработка на основе событий: применяйте асинхронность для обработки длительных задач
- Шардинг: разделение большого набора данных на более мелкие подмножества - шарды, для горизонтальной масштабируемости
❤1
Системные журналы Linux из каталога /var/log вкратце:
syslog: основной файл журнала, в который поступают многие другие журналы, содержит сообщения от различных системных служб и приложений
auth.log: содержит сообщения аутентификации (успешные и неудачные попытки входа в систему, изменения паролей, события аутентификации пользователей)
kern.log: содержит сообщения, связанные с ядром (ошибки оборудования, загрузка модулей и другие действия ядра)
messages: содержит системные сообщения, как запуск системы, завершения работы и общие системные события
dmesg: содержит сообщения кольцевого буфера ядра, обеспечивая просмотр в реальном времени событий, связанных с ядром, и обнаружение оборудования во время загрузки системы
cron: содержит сообщения, связанные с заданиями cron и запланированными задачами (время их выполнения и любые ошибки, возникшие во время выполнения)
secure: содержит сообщения, связанные с безопасностью (попытки аутентификации, повышение привилегий и другие события, связанные с безопасностью)
syslog: основной файл журнала, в который поступают многие другие журналы, содержит сообщения от различных системных служб и приложений
auth.log: содержит сообщения аутентификации (успешные и неудачные попытки входа в систему, изменения паролей, события аутентификации пользователей)
kern.log: содержит сообщения, связанные с ядром (ошибки оборудования, загрузка модулей и другие действия ядра)
messages: содержит системные сообщения, как запуск системы, завершения работы и общие системные события
dmesg: содержит сообщения кольцевого буфера ядра, обеспечивая просмотр в реальном времени событий, связанных с ядром, и обнаружение оборудования во время загрузки системы
cron: содержит сообщения, связанные с заданиями cron и запланированными задачами (время их выполнения и любые ошибки, возникшие во время выполнения)
secure: содержит сообщения, связанные с безопасностью (попытки аутентификации, повышение привилегий и другие события, связанные с безопасностью)
🔥10🥰1👏1
Скобки (круглые, квадратные, фигурные) в Bash. Что и когда использовать #linux
Media is too big
VIEW IN TELEGRAM
Вслед за тетрисом в PDF представлен новый проект Doom в PDF в браузере или DoomPDF. Код написан на C и опубликован на GitHub. Игровой PDF-файл открывается только в браузерах на базе Chromium, использующих движок PDFium. Это возможно, так как формат файла PDF поддерживает Javascript с собственной отдельной стандартной библиотекой. Современные браузеры (Chromium, Firefox) реализуют это как часть своих движков PDF
код - https://github.com/ading2210/doompdf
демо - https://doompdf.pages.dev/doom.pdf
код - https://github.com/ading2210/doompdf
демо - https://doompdf.pages.dev/doom.pdf
🤯4👍2
Балансировщик нагрузки vs API-шлюза vs Backend-For Frontend
✅ Балансировщик нагрузки (Load Balancer)
Балансировщик нагрузки распределяет входящие запросы по нескольким серверам. Также балансировщики нагрузки поддерживают доступность системы. Если один сервер выходит из строя, он направляет запрос на другой сервер
✅ API-шлюз (API Gateway)
API-шлюз служит в роли координатора в системе, перераспределяя запросы. API-шлюзы также могут выполнять различные функции, такие как аутентификация, ограничение скорости, ведение журнала и кэширование
✅ Backend-For Frontend (Бэкэнд для Фронтенда)
Backends for Frontend — это компонент, который обрабатывает запросы в соответствии с различными требования устройства/фронтэнда
✅ Балансировщик нагрузки (Load Balancer)
Балансировщик нагрузки распределяет входящие запросы по нескольким серверам. Также балансировщики нагрузки поддерживают доступность системы. Если один сервер выходит из строя, он направляет запрос на другой сервер
✅ API-шлюз (API Gateway)
API-шлюз служит в роли координатора в системе, перераспределяя запросы. API-шлюзы также могут выполнять различные функции, такие как аутентификация, ограничение скорости, ведение журнала и кэширование
✅ Backend-For Frontend (Бэкэнд для Фронтенда)
Backends for Frontend — это компонент, который обрабатывает запросы в соответствии с различными требования устройства/фронтэнда
👍3🥰1👏1