А вот и вторая часть про конвейер DevOps
В первой части мы разбирались, как развернуть собственное облако с помощью KVM и libvirt.
Теперь Олег Филон расскажет, как выбрать ВМ и настроить облака с помощью Fedora Core и инструмента mise. В статье вы узнаете об особенностях FreeBSD, Fedora Core и о том, как же правильно настроить Fedora Core сервер для команды разработчиков.
https://tprg.ru/4HER
#devops #linux #fedora
В первой части мы разбирались, как развернуть собственное облако с помощью KVM и libvirt.
Теперь Олег Филон расскажет, как выбрать ВМ и настроить облака с помощью Fedora Core и инструмента mise. В статье вы узнаете об особенностях FreeBSD, Fedora Core и о том, как же правильно настроить Fedora Core сервер для команды разработчиков.
https://tprg.ru/4HER
#devops #linux #fedora
Forwarded from Веб-страница
Что такое прототипные методы в JavaScript
Давайте сегодня разберем одну из ключевых концепций в JavaScript — прототипные методы. Что это такое и какую роль они играют в нашем коде?
В JavaScript каждое значение имеет прототип — объект, от которого оно «унаследует» свойства и методы. Это позволяет создавать структуры, которые могут делиться функциональностью. Прототипы помогают избежать дублирования кода и облегчить его поддержку.
Как работают прототипные методы?
Когда мы создаем объект, он может использовать методы, определенные в его прототипе. Например, у всех объектов, созданных на основе
Давайте рассмотрим простой пример. Мы создадим конструктор для объекта
В этом примере метод
Использование прототипов полезно по нескольким причинам:
1. Экономия памяти. Методы хранятся в одном месте, а не копируются в каждый объект.
2. Упрощение кода. Легче добавлять, изменять и удалять методы.
3. Наследование. Можно создавать иерархии объектов, где один объект наследует свойства и методы другого.
Если у вас есть вопросы или хотите обсудить тему подробнее, пишите в комментариях!
#простымисловами
Давайте сегодня разберем одну из ключевых концепций в JavaScript — прототипные методы. Что это такое и какую роль они играют в нашем коде?
В JavaScript каждое значение имеет прототип — объект, от которого оно «унаследует» свойства и методы. Это позволяет создавать структуры, которые могут делиться функциональностью. Прототипы помогают избежать дублирования кода и облегчить его поддержку.
Как работают прототипные методы?
Когда мы создаем объект, он может использовать методы, определенные в его прототипе. Например, у всех объектов, созданных на основе
Array
, есть общие методы, такие как .push()
и .pop()
. Эти методы определены в Array.prototype
. Если вы не знаете, что такое prototype
, подумайте о нем как о шаблоне для создания объектов.Давайте рассмотрим простой пример. Мы создадим конструктор для объекта
Person
и добавим метод greet
в его прототип:function Person(name) {
this.name = name;
}
// Добавляем метод greet в прототип Person
Person.prototype.greet = function() {
console.log(`Привет, меня зовут ${this.name}!`);
};
// Создаем нового человека
const alice = new Person('Алиса');
const bob = new Person('Боб');
// Вызываем метод greet
alice.greet(); // Привет, меня зовут Алиса!
bob.greet(); // Привет, меня зовут Боб!
В этом примере метод
greet
не дублируется для каждого отдельного объекта, а хранится в прототипе. Это экономит память и делает код более организованным.Использование прототипов полезно по нескольким причинам:
1. Экономия памяти. Методы хранятся в одном месте, а не копируются в каждый объект.
2. Упрощение кода. Легче добавлять, изменять и удалять методы.
3. Наследование. Можно создавать иерархии объектов, где один объект наследует свойства и методы другого.
Если у вас есть вопросы или хотите обсудить тему подробнее, пишите в комментариях!
#простымисловами
Бэкенд — это тоже красиво: как метрики и мониторинг делают вашу работу заметной
Новички, начиная погружение в бэкенд, сталкиваются с тем, что результаты их работы, как будто, не очень и заметны. Фронтендеры могут показать красивую кнопку, анимацию или целый интерфейс. А вот бэкендерами особо и показать нечего, кроме консоли. Особенно знакомым, которые далеки от разработки и не поймут всю крутость ваших достижений.
Но давайте это исправим? Вадим Ваганов из Газпромбанка рассказал, как визуализировать работу бэкенд-разработчиков, чтобы и похвастаться можно было, и лучше понять как работает ваш код. В статье не только советы, но и разбор ключевых метрик и инструкции по их получению.
#бэкенд
Новички, начиная погружение в бэкенд, сталкиваются с тем, что результаты их работы, как будто, не очень и заметны. Фронтендеры могут показать красивую кнопку, анимацию или целый интерфейс. А вот бэкендерами особо и показать нечего, кроме консоли. Особенно знакомым, которые далеки от разработки и не поймут всю крутость ваших достижений.
Но давайте это исправим? Вадим Ваганов из Газпромбанка рассказал, как визуализировать работу бэкенд-разработчиков, чтобы и похвастаться можно было, и лучше понять как работает ваш код. В статье не только советы, но и разбор ключевых метрик и инструкции по их получению.
#бэкенд
Создаем собственного оператора OpenAI с помощью open source-инструментов
Чтобы сделать своего ИИ-агента, который будет иметь доступ к браузеру, можно воспользоваться Browser Use. Этот фреймворк позволяет сделать это всего в несколько строк Python-кода. При этом он работает с Claude, gpt-4o и Llama 3, а также интегрируется с Gradio для веб-интерфейса.
При этом он исполняется с участием человека для безопасной работы. Вам достаточно сказать ему, что делать и Browser Use выполнит задачу.
#инструменты
Чтобы сделать своего ИИ-агента, который будет иметь доступ к браузеру, можно воспользоваться Browser Use. Этот фреймворк позволяет сделать это всего в несколько строк Python-кода. При этом он работает с Claude, gpt-4o и Llama 3, а также интегрируется с Gradio для веб-интерфейса.
При этом он исполняется с участием человека для безопасной работы. Вам достаточно сказать ему, что делать и Browser Use выполнит задачу.
#инструменты
10 лучших платформ для создания приложений без единой строчки кода
Если у вас есть крутая идея для проекта, но нет достаточных навыков, то можно воспользоваться и no-code платформой. Так вы сможете реализовать что-то интересное, не откладывая в долгий ящик.
В этой статье мы разобрали 10 таких платформ и рассмотрели их плюсы и минусы:
https://tprg.ru/Bkev
#nocode
Если у вас есть крутая идея для проекта, но нет достаточных навыков, то можно воспользоваться и no-code платформой. Так вы сможете реализовать что-то интересное, не откладывая в долгий ящик.
В этой статье мы разобрали 10 таких платформ и рассмотрели их плюсы и минусы:
https://tprg.ru/Bkev
#nocode
Правильно составляем ТЗ для разработчика и заказчика
Вместе с Юлией Ходаковой, начальником управления анализа и развития банковских технологий, разобрались, как создать правильное ТЗ. В статье вы узнаете, как подготовить ТЗ, которое не сведет с ума исполнителя и поможет выполнить задачу правильно:
https://tprg.ru/mMIF
#it #советы
Вместе с Юлией Ходаковой, начальником управления анализа и развития банковских технологий, разобрались, как создать правильное ТЗ. В статье вы узнаете, как подготовить ТЗ, которое не сведет с ума исполнителя и поможет выполнить задачу правильно:
https://tprg.ru/mMIF
#it #советы
Партиционирование данных: что это такое и зачем нужно
Простыми словами, партиционирование — это разбиение больших таблиц на более мелкие части. Такой подход полезен не только аналитикам, но и всем, кто работает с базами данных — он ускоряет работу отчетов и позволяет быстрее получать ответы на запросы.
У нас на сайте появилась статья, в которой вы сможете узнать больше подробностей о партиционировании, способах его реализации и отличиях от шардирования. Вы также увидите, как это работает в разных СУБД. Прочитайте, потому что это та база, которая пригодится каждому: https://tprg.ru/xHb6
#бд #datascience
Простыми словами, партиционирование — это разбиение больших таблиц на более мелкие части. Такой подход полезен не только аналитикам, но и всем, кто работает с базами данных — он ускоряет работу отчетов и позволяет быстрее получать ответы на запросы.
У нас на сайте появилась статья, в которой вы сможете узнать больше подробностей о партиционировании, способах его реализации и отличиях от шардирования. Вы также увидите, как это работает в разных СУБД. Прочитайте, потому что это та база, которая пригодится каждому: https://tprg.ru/xHb6
#бд #datascience
Forwarded from Метод утёнка
Сегодня отмечаем День Рунета!
7 апреля 1994 года был зарегистрирован национальный домен
Сегодня домен
А с какого сайта началось ваше знакомство с Рунетом? Поделитесь в комментариях!
7 апреля 1994 года был зарегистрирован национальный домен
.ru
, что ознаменовало рождение уникального пространства для всех пользователей русскоязычного интернета.Сегодня домен
.ru
занимает 7-е место в мире по количеству зарегистрированных сайтов. Самые популярные домены — универсальный .com
(156,3 млн сайтов), китайский .cn
(19,7 млн) и немецкий .de
(17,7 млн).А с какого сайта началось ваше знакомство с Рунетом? Поделитесь в комментариях!
Пишем стек TCP/IP с нуля: Ethernet, ARP, IPv4 и ICMPv4
Написание собственного стека TCP/IP поначалу может показаться пугающей задачей. И в самом деле, за свой тридцатилетний срок жизни TCP впитал в себя множество спецификаций.
В этой серии статей мы научимся реализовывать минимальный стек TCP/IP пользовательского пространства для Linux. Так мы сможем глубже изучить сетевое и системное программирование.
#сети
Написание собственного стека TCP/IP поначалу может показаться пугающей задачей. И в самом деле, за свой тридцатилетний срок жизни TCP впитал в себя множество спецификаций.
В этой серии статей мы научимся реализовывать минимальный стек TCP/IP пользовательского пространства для Linux. Так мы сможем глубже изучить сетевое и системное программирование.
#сети
Media is too big
VIEW IN TELEGRAM
Как устроены хэш-таблицы
HashSet — это самая популярная структура данных, используемая в программировании. Она позволяет проверять в ней наличие любого элемента за
В этом видео вы разберетесь, как она устроена и что позволяет ей быстро перебирать массив данных. Вы также узнаете, как модифицировать ее так, чтобы получить хэш-таблицу — структуру данных, хранящую пары ключ-значение. Обе эти структуры данных очень популярны и используются в любом проекте.
А еще на их знание очень часто задают вопросы на собеседовании, поэтому три самых популярных из них также разбираются в этом видео.
#видео #основы #структурыданных
HashSet — это самая популярная структура данных, используемая в программировании. Она позволяет проверять в ней наличие любого элемента за
О(1)
времени. В этом видео вы разберетесь, как она устроена и что позволяет ей быстро перебирать массив данных. Вы также узнаете, как модифицировать ее так, чтобы получить хэш-таблицу — структуру данных, хранящую пары ключ-значение. Обе эти структуры данных очень популярны и используются в любом проекте.
А еще на их знание очень часто задают вопросы на собеседовании, поэтому три самых популярных из них также разбираются в этом видео.
#видео #основы #структурыданных
Как внимательность разработчика спасла Linux от масштабной атаки
Представьте: вы замечаете задержку в 500 мс при подключении по SSH. Мелочь? Но для Андреса Фройнда это стало сигналом тревоги. Он обнаружил, что в библиотеку XZ Utils был внедрён бэкдор, позволяющий злоумышленникам получать удалённый доступ к серверам. Этот код мог скомпрометировать миллионы Linux-систем.
К счастью, благодаря внимательности Фройнда атаку удалось предотвратить. Подробнее о расследовании этой захватывающей истории читайте в статье.
Представьте: вы замечаете задержку в 500 мс при подключении по SSH. Мелочь? Но для Андреса Фройнда это стало сигналом тревоги. Он обнаружил, что в библиотеку XZ Utils был внедрён бэкдор, позволяющий злоумышленникам получать удалённый доступ к серверам. Этот код мог скомпрометировать миллионы Linux-систем.
К счастью, благодаря внимательности Фройнда атаку удалось предотвратить. Подробнее о расследовании этой захватывающей истории читайте в статье.
Forwarded from Веб-страница
Что делает код трудным для чтения? Визуальные паттерны сложности
Сегодня мы погрузимся в исследование визуальных паттернов кода, которые заставляют мозг плавиться при попытке прочитать его. Вы узнаете о 8 визуально различимых свойствах, которые помогут программистам любого языка улучшить читаемость кода.
Подробнее: https://habr.com/ru/articles/893820/
#советы
Сегодня мы погрузимся в исследование визуальных паттернов кода, которые заставляют мозг плавиться при попытке прочитать его. Вы узнаете о 8 визуально различимых свойствах, которые помогут программистам любого языка улучшить читаемость кода.
Подробнее: https://habr.com/ru/articles/893820/
#советы
Функции без стека: возможно ли это?
Многие разработчики считают, что вызов функции всегда связан с использованием стека. Однако это не всегда так. В некоторых архитектурах, например, мейнфреймах IBM, функции вызываются без стека: адрес возврата сохраняется в регистре, параметры передаются через регистры, а локальные переменные размещаются в статически выделенной памяти.
Хотите узнать, как это работает и какие существуют альтернативы стеку? Читайте первую часть статьи о вызовах функций, стеке, куче и продолжениях.
Многие разработчики считают, что вызов функции всегда связан с использованием стека. Однако это не всегда так. В некоторых архитектурах, например, мейнфреймах IBM, функции вызываются без стека: адрес возврата сохраняется в регистре, параметры передаются через регистры, а локальные переменные размещаются в статически выделенной памяти.
Хотите узнать, как это работает и какие существуют альтернативы стеку? Читайте первую часть статьи о вызовах функций, стеке, куче и продолжениях.