Привет, друзья! 👋
Мы готовим статью о будущем AI и его влиянии на разработку. Нам важно ваше мнение! 🤖✨
1️⃣ Как вы думаете, AI действительно изменит мир разработки?
2️⃣ Какие плюсы и минусы использования AI в разработке вы видите? 💡
3️⃣ Есть ли у вас примеры успешного применения AI в ваших проектах? 🛠️
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
Мы готовим статью о будущем AI и его влиянии на разработку. Нам важно ваше мнение! 🤖✨
1️⃣ Как вы думаете, AI действительно изменит мир разработки?
2️⃣ Какие плюсы и минусы использования AI в разработке вы видите? 💡
3️⃣ Есть ли у вас примеры успешного применения AI в ваших проектах? 🛠️
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
🎉3
В предверии дня программиста проводим конкурс: решите нашу задачу на тему программирования — рандомно выберем победителя
Подробные условия:
Курсы на выбор:
Таймлайн:
11-12 сентября — принимаем ответы
⬇️
13 сентября — подводим итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
👏2👍1💯1
Условие:
Даны две строки s и f (начальная и конечная) и словарь D (набор слов).
Нужно определить, можно ли преобразовать s в f, используя только слова из словаря D. При этом каждое преобразование должно менять только один символ, а длина слова должна оставаться неизменной. Если преобразование возможно, нужно найти кратчайшую последовательность таких преобразований и вернуть ее длину. Если преобразование невозможно, вернуть "Преобразование невозможно".
Пример ввода 1:
D = ["cat", "cot", "dot", "dog", "bat", "dag"]
s = "cat"
t = "dog"
Вывод:
Минимальное количество шагов для преобразования 'cat' в 'dog': 3
Пример ввода 2:
D = ["cat", "cot", "bat"]
s = "cat"
t = "dog"
Вывод:
Минимальное количество шагов для преобразования 'cat' в 'dog': Преобразование невозможно
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3🌚2👍1
Какие вы знаете функции для работы с массивами?
array() — Создает массив.
array_diff() — Сравнивает массивы и возвращает различия в значениях.
array_keys() — Возвращает все ключи массива.
array_reverse() — Разворачивает массив.
array_search() — Ищет значение и возвращает соответствующий ключ.
array_slice() — Возвращает определенные части массива.
array_sum() — Суммирует все значения массива.
count() — Количество элементов массива.
sort() — Для сортировки индексированных массивов в порядке возрастания
Продолжите список в комментариях👇👇👇
#вопросы_с_собеседований
array() — Создает массив.
array_diff() — Сравнивает массивы и возвращает различия в значениях.
array_keys() — Возвращает все ключи массива.
array_reverse() — Разворачивает массив.
array_search() — Ищет значение и возвращает соответствующий ключ.
array_slice() — Возвращает определенные части массива.
array_sum() — Суммирует все значения массива.
count() — Количество элементов массива.
sort() — Для сортировки индексированных массивов в порядке возрастания
Продолжите список в комментариях👇👇👇
#вопросы_с_собеседований
👍2
PHP — лучший выбор для долгосрочного бизнеса
Здесь обсуждаются преимущества использования PHP для долгосрочной разработки бизнеса на основе вдохновляющего разговора с Питером Левелсом на подкасте Лекса Фридмана. Автор подчеркивает важность стабильности и устойчивости технологий в противовес «хайповым» технологиям, таким как новые JavaScript-фреймворки (например, Angular, React, Vue), которые часто требуют переписывания кода. Это создает проблемы для бизнеса, так как постоянные изменения приводят к большим затратам на обновление.
На примере PHP автор отмечает, что эта технология демонстрирует долгосрочную стабильность и поддержку. Фреймворки Symfony и Laravel, которые появились много лет назад, продолжают развиваться и использоваться в бизнесе. В то время как в JavaScript постоянно появляются новые фреймворки с минимальными различиями, PHP предлагает надежную экосистему, которая работает десятилетиями и при этом продолжает улучшаться.
Здесь обсуждаются преимущества использования PHP для долгосрочной разработки бизнеса на основе вдохновляющего разговора с Питером Левелсом на подкасте Лекса Фридмана. Автор подчеркивает важность стабильности и устойчивости технологий в противовес «хайповым» технологиям, таким как новые JavaScript-фреймворки (например, Angular, React, Vue), которые часто требуют переписывания кода. Это создает проблемы для бизнеса, так как постоянные изменения приводят к большим затратам на обновление.
На примере PHP автор отмечает, что эта технология демонстрирует долгосрочную стабильность и поддержку. Фреймворки Symfony и Laravel, которые появились много лет назад, продолжают развиваться и использоваться в бизнесе. В то время как в JavaScript постоянно появляются новые фреймворки с минимальными различиями, PHP предлагает надежную экосистему, которая работает десятилетиями и при этом продолжает улучшаться.
Tomasvotruba
PHP is the Best Choice for Long‑Term Business
Recently, I listened to Lex Friedman's [podcast with Pieter Levels](https://open.spotify.com/episode/6KBpL2XfR9VdojbKNpE7cX). Pieter talked about his technology stack for building startups: vanilla PHP, jQuery, and SQLite.
Hype is exciting, but there is…
Hype is exciting, but there is…
💯12🔥1
Основные моменты выступления Laracon в США 2024 года по Laravel 11
Основные анонсы из ключевой речи на Laracon US 2024
Ключевая речь Тейлора Отвелла на конференции Laracon US 2024 принесла в мир Laravel целый ряд волнующих обновлений. Вот основные моменты:
✔️Расширение Laravel для VS Code
✔️Facade Concurrency и помощник defer()
✔️Inertia v2.0
✔️Laravel Cloud
✔️Обновления Laravel Echo и WebSockets
Основные анонсы из ключевой речи на Laracon US 2024
Ключевая речь Тейлора Отвелла на конференции Laracon US 2024 принесла в мир Laravel целый ряд волнующих обновлений. Вот основные моменты:
✔️Расширение Laravel для VS Code
✔️Facade Concurrency и помощник defer()
✔️Inertia v2.0
✔️Laravel Cloud
✔️Обновления Laravel Echo и WebSockets
Хабр
Основные моменты выступления Laracon в США 2024 года по Laravel 11
Основные анонсы из ключевой речи на Laracon US 2024 Ключевая речь Тейлора Отвелла на конференции Laracon US 2024 принесла в мир Laravel целый ряд волнующих обновлений. Вот основные моменты: Расширение...
👍5🥱1
Какой бюджет, по-вашему, оптимален для покупки ноутбука программисту в 2024 году? 💰
Anonymous Poll
5%
До 50 000 ₽
29%
50 000 — 100 000 ₽
36%
100 000 — 150 000 ₽
29%
Более 150 000 ₽
Поделитесь опытом: на каком ноутбуке вы сейчас работаете и почему он вам нравится (или не нравится)? 🌟
Ждем ваши ответы в комментариях! Самые полезные советы войдут в нашу статью. 📝💡
Спасибо за участие! 🙌
Ждем ваши ответы в комментариях! Самые полезные советы войдут в нашу статью. 📝💡
Спасибо за участие! 🙌
🥱3
Привет, друзья! 👋
Готовим статью «Лучший ноутбук для программирования в 2024 году» и хотим узнать ваше мнение! 💻✨
Готовим статью «Лучший ноутбук для программирования в 2024 году» и хотим узнать ваше мнение! 💻✨
👍1
Какие 3 характеристики ноутбука вы считаете критически важными для программирования? 🤔
Anonymous Poll
77%
Процессор
86%
Оперативная память
35%
NVME-накопитель
42%
Качество экрана
30%
Автономность
19%
Клавиатура
16%
Система охлаждения
1%
Другое (напишите в комментариях)
📶 Паттерны коммуникации в распределенных системах
Распределенные системы состоят из многих отдельных частей/узлов, работающих вместе, но физически расположенных в разных местах. Эти части системы должны общаться друг с другом через сеть, чтобы система могла функционировать как единое целое.
Хотя коммуникация критически важна, правильно ее организовать бывает непросто: разработчики иногда пытаются использовать один и тот же подход ко всем задачам коммуникации, что может быть неэффективно. Важно понимать, что существуют разные способы организации коммуникации, и выбор правильного метода зависит от конкретной задачи. Рассмотрим основные паттерны коммуникации, которые можно использовать для решения разных задач.
☑️ Запрос-ответ с HTTP
Этот синхронный паттерн коммуникации предполагает, что один сервис отправляет запрос другому сервису и ожидает ответа или ошибки, блокируя свою работу до получения результата. REST, наиболее популярный архитектурный стиль для этой модели коммуникации, использует методы протокола HTTP — GET, POST, PUT и DELETE.
Однако использование этого паттерна может привести к проблемам, если сервисы образуют цепочку взаимодействий: в таком случае сбой одного из сервисов может привести к отказу всей операции, а также к расточительному использованию ресурсов и каскадным сбоям.
☑️ Общие данные
Этот паттерн часто остается незамеченным, поскольку разработчики не всегда воспринимают его как модель коммуникации. В рамках этого подхода один компонент записывает данные в определенное место, а другой компонент считывает и обрабатывает эти данные. Например, один сервис может загрузить файл в облачное объектное хранилище (например, в корзину Amazon S3), а другой сервис затем извлекает этот файл для дальнейших действий.
Главное преимущество этого паттерна — простота реализации и возможность обеспечения взаимодействия между устаревшими и современными системами без проблем совместимости. Однако он не подходит для сценариев, требующих низкой задержки.
☑️ Асинхронный запрос-ответ
В отличие от синхронного подхода, запрос-ответ может быть реализован асинхронно и без блокировки. В этом случае получающий сервис должен явно знать место назначения для отправки ответа. Для реализации этого паттерна идеально подходят очереди сообщений, которые позволяют буферизовать несколько запросов.
Основная сложность здесь — корреляция между запросом и ответом: экземпляр сервиса, отправивший запрос, может отличаться от экземпляра, получающего ответ, поэтому требуется способ отслеживания запросов.
☑️ Коммуникация на основе событий
В этом подходе сервисы не общаются напрямую друг с другом, а генерируют события, которые могут быть использованы другими сервисами. Это требует наличия места для отправки данных о событиях и механизма, позволяющего получающим сервисам обнаруживать эти события. Брокеры сообщений, такие как RabbitMQ, могут обрабатывать оба этих аспекта. Издатели используют API для отправки событий в брокер, который управляет подписками и уведомляет подписчиков при поступлении события.
Этот паттерн идеально подходит для создания слабосвязанных взаимодействий между сервисами. Однако брокер сообщений должен обеспечивать надежную доставку событий, их упорядочивание и согласованность. Кроме того, добавляется дополнительный компонент в систему.
👨💻 Подробнее читайте в статье.
Распределенные системы состоят из многих отдельных частей/узлов, работающих вместе, но физически расположенных в разных местах. Эти части системы должны общаться друг с другом через сеть, чтобы система могла функционировать как единое целое.
Хотя коммуникация критически важна, правильно ее организовать бывает непросто: разработчики иногда пытаются использовать один и тот же подход ко всем задачам коммуникации, что может быть неэффективно. Важно понимать, что существуют разные способы организации коммуникации, и выбор правильного метода зависит от конкретной задачи. Рассмотрим основные паттерны коммуникации, которые можно использовать для решения разных задач.
☑️ Запрос-ответ с HTTP
Этот синхронный паттерн коммуникации предполагает, что один сервис отправляет запрос другому сервису и ожидает ответа или ошибки, блокируя свою работу до получения результата. REST, наиболее популярный архитектурный стиль для этой модели коммуникации, использует методы протокола HTTP — GET, POST, PUT и DELETE.
Однако использование этого паттерна может привести к проблемам, если сервисы образуют цепочку взаимодействий: в таком случае сбой одного из сервисов может привести к отказу всей операции, а также к расточительному использованию ресурсов и каскадным сбоям.
☑️ Общие данные
Этот паттерн часто остается незамеченным, поскольку разработчики не всегда воспринимают его как модель коммуникации. В рамках этого подхода один компонент записывает данные в определенное место, а другой компонент считывает и обрабатывает эти данные. Например, один сервис может загрузить файл в облачное объектное хранилище (например, в корзину Amazon S3), а другой сервис затем извлекает этот файл для дальнейших действий.
Главное преимущество этого паттерна — простота реализации и возможность обеспечения взаимодействия между устаревшими и современными системами без проблем совместимости. Однако он не подходит для сценариев, требующих низкой задержки.
☑️ Асинхронный запрос-ответ
В отличие от синхронного подхода, запрос-ответ может быть реализован асинхронно и без блокировки. В этом случае получающий сервис должен явно знать место назначения для отправки ответа. Для реализации этого паттерна идеально подходят очереди сообщений, которые позволяют буферизовать несколько запросов.
Основная сложность здесь — корреляция между запросом и ответом: экземпляр сервиса, отправивший запрос, может отличаться от экземпляра, получающего ответ, поэтому требуется способ отслеживания запросов.
☑️ Коммуникация на основе событий
В этом подходе сервисы не общаются напрямую друг с другом, а генерируют события, которые могут быть использованы другими сервисами. Это требует наличия места для отправки данных о событиях и механизма, позволяющего получающим сервисам обнаруживать эти события. Брокеры сообщений, такие как RabbitMQ, могут обрабатывать оба этих аспекта. Издатели используют API для отправки событий в брокер, который управляет подписками и уведомляет подписчиков при поступлении события.
Этот паттерн идеально подходит для создания слабосвязанных взаимодействий между сервисами. Однако брокер сообщений должен обеспечивать надежную доставку событий, их упорядочивание и согласованность. Кроме того, добавляется дополнительный компонент в систему.
👨💻 Подробнее читайте в статье.
👍7❤1🥰1😁1
🛠️ 7 инструментов для повышения производительности веб-приложений
Скорость загрузки веб-приложений критична для пользовательского опыта. В этой статье мы расскажем о семи инструментах, которые помогут сделать ваши приложения более быстрыми и отзывчивыми.
👉 Читать статью
👉 Зеркало
Скорость загрузки веб-приложений критична для пользовательского опыта. В этой статье мы расскажем о семи инструментах, которые помогут сделать ваши приложения более быстрыми и отзывчивыми.
👉 Читать статью
👉 Зеркало
😁10👍1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🍉 Подборка лучших статей «Библиотеки программиста» за август: сохраняй в заметки, чтобы не пропустить #самыйсок
🎮🚀 Saturated Outer Space: как инди-разработчики перезапускают игру и бросают вызов жанровым стереотипам
🤖🛠 Секреты эффективного промптинга: 4 способа улучшить качество ответов чат-бота
🎮 Как зарабатывать на играх или зачем изучать игровую аналитику в 2024 году
🏄 6+ главных алгоритмов балансировки нагрузки
🖼 5 стратегий рендеринга веб-страниц: как выжать максимум из вашего сайта
🚀 Ускорьте свою базу данных: 7 проверенных методов масштабирования и оптимизации
🐘🧠 Оптимизация использования памяти в PostgreSQL: секреты профессионалов
🏃 Самоучитель по Go для начинающих. Часть 15. Конкурентность. Горутины. Каналы
🆕📜 Что нового в TypeScript 5.5: 4 ключевых улучшения
🎮📖 Библиотека геймдизайнера: 10 must-read книг 2024 года
🤖 6 основных алгоритмов машинного обучения: руководство для начинающих
🏗 Структуры данных для разработчиков: 10 самых важных
🎮🚀 Saturated Outer Space: как инди-разработчики перезапускают игру и бросают вызов жанровым стереотипам
🤖🛠 Секреты эффективного промптинга: 4 способа улучшить качество ответов чат-бота
🎮 Как зарабатывать на играх или зачем изучать игровую аналитику в 2024 году
🏄 6+ главных алгоритмов балансировки нагрузки
🖼 5 стратегий рендеринга веб-страниц: как выжать максимум из вашего сайта
🚀 Ускорьте свою базу данных: 7 проверенных методов масштабирования и оптимизации
🐘🧠 Оптимизация использования памяти в PostgreSQL: секреты профессионалов
🏃 Самоучитель по Go для начинающих. Часть 15. Конкурентность. Горутины. Каналы
🆕📜 Что нового в TypeScript 5.5: 4 ключевых улучшения
🎮📖 Библиотека геймдизайнера: 10 must-read книг 2024 года
🤖 6 основных алгоритмов машинного обучения: руководство для начинающих
🏗 Структуры данных для разработчиков: 10 самых важных
👍2❤1🔥1
Как программно перевести контент
В этой статье показано, как программно переводить содержимое с помощью PHP, используя библиотеку TransformersPHP.
В этой статье показано, как программно переводить содержимое с помощью PHP, используя библиотеку TransformersPHP.
DEV Community
How to translate content programmatically using AI and TransformersPHP
In this article, I'll show you how to translate content programmatically with PHP using the...
❤4👍1