Перейти к содержанию
  • HTML, CSS, JavaScript, React, Vue, Angular, Svelte, UI фреймворки! Адаптивная верстка, оптимизация, Webpack/Vite, SSR. Помощь новичкам, экспертные кейсы, тренды (PWA, JAMstack).

    15 Темы
    36 Сообщения
    kirilljsK
    Each child in a list should have a unique "key" prop Пример: {items.map(item => <div>{item.name}</div>)} Решение: Добавить уникальный key: {items.map(item => <div key={item.id}>{item.name}</div>)}
  • Cоветы по работе с Node.js, Express, Nest.js, Fastify, Rust, Go, Spring. RESTful и GraphQL API, реализации микросервисной архитектуры, оптимизации с помощью кэширования, очередей и асинхронной обработки. Вопросы безопасности, аутентификация, авторизация, CI/CD, контейнеризация с Docker, облачные технологии AWS, Azure, GCP.

    9 Темы
    19 Сообщения
    D
    Ссылка не работает
  • WordPress, Joomla, MODX, Headelss CMS, Payload CMS, NodeBB! Создание сайтов, темы, плагины, SEO-оптимизация, безопасность, интеграция с API. Решайте ошибки, делитесь лайфхаками, изучайте обновления. Помощь новичкам и экспертные кейсы.

    1 Темы
    1 Сообщения
    kirilljsK
    Чтобы создать хлебные крошки в MODX, вам нужно создать отдельный чанк breadcrumbs и использовать pdoCrumbs из плагина pdoTools. Подробнее о параметрах pdoCrumbs можно почитать в документации - ссылка. Вот пример кода для ваших хлебных крошек: <div class="container breadcrumbContainer"> <nav aria-label="breadcrumb"> [[!pdoCrumbs? &showHome=`1` &tplWrapper=`@INLINE <ol itemscope itemtype="http://schema.org/BreadcrumbList" class="breadcrumb listStyleNone pt15 pb15">[[+output]]</ol>` &tpl=`@INLINE <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" class="breadcrumbItem breadcrumbItemHome"><a itemprop="item" href="[[+link]]"><span itemprop="name">[[+menutitle]]</span></a><meta itemprop="position" content="[[+idx]]"></li>` &tplCurrent=`@INLINE <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" class="breadcrumbItem breadcrumbItemActive br-new active"><span itemprop="name">[[+menutitle]]</span><meta itemprop="position" content="[[+idx]]"></li>` &tplHome=`@INLINE <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" class="breadcrumbItem"><a itemprop="item" href="[[+link]]"><span itemprop="name">[[+menutitle]]</span></a><meta itemprop="position" content="[[+idx]]"></li>` ]] </nav> </div> В этом примере применяются schema.org для улучшения SEO. Вы можете использовать мои наработки и адаптировать их под свои сайты. [image: 1736855428315-%D1%81%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-2025-01-14-%D0%B2-14.49.43-resized.png] Теперь вставьте созданный чанк в нужный шаблон, и вы готовы к работе. Я использовал эти хлебные крошки для шаблона страниц статей. Посмотреть, как выглядит готовый вариант, можно здесь. [image: 1736855452356-%D1%81%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-2025-01-14-%D0%B2-14.49.56-resized.png]
  • iOS (Swift, Objective C), Android (Kotlin), Flutter, React Native! Создание UI/UX, тестирование, интеграция API, публикация в магазины. Решайте ошибки, делитесь лайфхаками, изучайте тренды (AR, IoT). Помощь новичкам и экспертные кейсы.

    0 Темы
    0 Сообщения
    Нет новых сообщений
  • 2D/3D, движки (Unity, Unreal, Godot), геймдизайн, анимация! Создавайте проекты под PC, мобильные, консоли. Решайте ошибки, делитесь лайфхаками, изучайте тренды (VR, мультиплеер). Помощь новичкам и экспертные кейсы

    0 Темы
    0 Сообщения
    Нет новых сообщений
  • Синтаксис, библиотеки, фреймворки, алгоритмы, ООП, функциональное, асинхронное, многопоточное программирование. Помощь новичкам, советы экспертов, тренды и кейсы. Решайте задачи, делитесь кодом.

    18 Темы
    38 Сообщения
    kirilljsK
    [image: 1739519680072-c460d5cb-8ee3-4383-ac9d-f08be111326c-image.png] Привет, друзья! Сегодня рассмотрим Rust — одном из самых интересных и быстрорастущих языков последних лет. Если вы еще не слышали о нем или только начинаете знакомство, то эта статья для вас. Мы разберем ключевые особенности Rust, его преимущества, недостатки и области применения. И так поехали! Что такое Rust? Rust — это системный язык программирования, разработанный Mozilla в 2010 году. Он был создан с целью предоставить разработчикам инструмент, который сочетает в себе высокую производительность (как у C/C++) и безопасность (особенно при работе с памятью). Rust стремится предотвратить распространенные ошибки, такие как утечки памяти, гонки данных и использование освобожденной памяти. Ключевые особенности Rust 1. Безопасность памяти Одна из главных фишек Rust — это гарантия безопасности памяти без использования сборщика мусора (Garbage Collector). Это достигается благодаря уникальной системе владения (Ownership) и заимствования (Borrowing). Владение (Ownership): В Rust каждая переменная “владеет” своим значением, и только один владелец может существовать в любой момент времени. Когда владелец выходит из области видимости, память автоматически освобождается. { let s = String::from("hello"); // Создаем строку // `s` владеет строкой } // Здесь `s` выходит из области видимости, и память освобождается Заимствование (Borrowing): Вы можете временно “заимствовать” значение через ссылки, но Rust строго контролирует, чтобы не было одновременного изменения и чтения данных. fn main() { let mut x = 5; let y = &mut x; // Заимствуем `x` как изменяемую ссылку *y += 1; // Изменяем значение через ссылку println!("{}", x); // Выведет 6 } Эта система позволяет избежать утечек памяти, гонок данных и других проблем, которые часто встречаются в C/C++. 2. Высокая производительность Rust компилируется в машинный код, что делает его невероятно быстрым. Благодаря отсутствию сборщика мусора и оптимизациям компилятора, Rust по производительности сравним с C и C++. При этом он предлагает гораздо более безопасную среду разработки. 3. Строгая типизация Rust — это статически типизированный язык. Компилятор проверяет все типы на этапе компиляции, что помогает избежать ошибок, связанных с несоответствием типов. fn add(a: i32, b: i32) -> i32 { a + b } Здесь мы явно указываем типы аргументов (i32) и возвращаемого значения. Это делает код более предсказуемым и надежным. 4. Параллельность и многопоточность Rust предоставляет мощные инструменты для работы с параллельностью и многопоточностью. Благодаря системе владения, Rust гарантирует отсутствие гонок данных (data races) даже в многопоточных приложениях. use std::thread; fn main() { let handle = thread::spawn(|| { println!("Hello from a thread!"); }); handle.join().unwrap(); } Здесь создается новый поток, который выполняет код внутри замыкания. Rust гарантирует, что данные, используемые в разных потоках, будут обрабатываться безопасно. 5. Обширная стандартная библиотека Rust имеет богатую стандартную библиотеку, которая покрывает множество задач: работа с файлами, сетью, коллекциями, многопоточностью и т.д. Например: Работа с файлами: use std::fs; fn main() { let contents = fs::read_to_string("file.txt").expect("Failed to read file"); println!("{}", contents); } Обработка HTTP-запросов: use reqwest::blocking::get; fn main() { let response = get("https://example.com").unwrap(); println!("{}", response.text().unwrap()); } 6. Кроссплатформенность Rust поддерживает множество платформ, включая Windows, macOS, Linux, а также различные архитектуры (ARM, x86 и др.). Это делает его отличным выбором для создания кроссплатформенных приложений. 7. Система макросов Rust предоставляет мощную систему макросов, которая позволяет автоматизировать повторяющиеся задачи и расширять функциональность языка. Например, макрос println! используется для вывода текста: fn main() { let name = "Rust"; println!("Hello, {}!", name); // Выведет "Hello, Rust!" } Макросы в Rust работают на уровне абстрактного синтаксического дерева (AST), что делает их более гибкими и безопасными, чем макросы в C/C++. Преимущества Rust Безопасность: Система владения и заимствования гарантирует отсутствие утечек памяти и гонок данных. Производительность: Rust компилируется в машинный код и работает так же быстро, как C/C++. Надежность: Строгая типизация и проверки на этапе компиляции минимизируют количество ошибок в рантайме. Кроссплатформенность: Поддержка множества платформ и архитектур. Активное сообщество: Rust активно развивается, и вокруг него существует большое сообщество разработчиков. Недостатки Rust Крутая кривая обучения: Система владения и заимствования может быть сложной для новичков. Особенно если вы привыкли к языкам с автоматическим управлением памятью (например, JavaScript или Python). Длинное время компиляции: Rust компилятор очень строгий и выполняет множество проверок, что увеличивает время компиляции. Меньше библиотек, чем в экосистемах Python/JavaScript: Хотя Rust имеет много полезных библиотек, его экосистема пока не так развита, как у более старых языков. Области применения Rust Rust становится все популярнее в различных областях разработки. Вот основные направления, где он особенно востребован: 1. Системное программирование Rust идеально подходит для написания операционных систем, драйверов устройств, встраиваемых систем и других низкоуровневых приложений. Его безопасность и производительность делают его отличной альтернативой C/C++. Примеры: Операционная система Redox , написанная полностью на Rust. Проект Theseus , исследовательская ОС. 2. Веб-разработка Хотя Rust не является классическим языком для веб-разработки, он активно используется для создания серверных приложений и микросервисов. Фреймворки вроде Actix и Rocket позволяют создавать высокопроизводительные веб-серверы. Пример: use actix_web::{web, App, HttpServer, Responder}; async fn index() -> impl Responder { "Hello, Rust web development!" } #[actix_web::main] async fn main() -> std::io::Result<()> { HttpServer::new(|| { App::new().route("/", web::get().to(index)) }) .bind("127.0.0.1:8080")? .run() .await } 3. Игровая индустрия Rust начинает набирать популярность в игровой индустрии благодаря своей производительности и безопасности. Он используется для создания движков, инструментов и игр. Примеры: Игровой движок Bevy , написанный на Rust. Игра Veloren , voxel-based RPG. 4. Blockchain и криптовалюты Rust активно используется в разработке блокчейн-проектов и криптовалют благодаря своей производительности и безопасности. Примеры: Криптовалюта Solana , написанная на Rust. Блокчейн-платформа Polkadot. 5. Инструменты разработки Rust часто используется для создания инструментов разработки, таких как компиляторы, линтеры и анализаторы кода. Пример: Инструмент Cargo , менеджер пакетов и сборщик проектов для Rust. Итоги Rust — это мощный и современный язык программирования, который предлагает уникальное сочетание производительности, безопасности и удобства разработки. Хотя он требует времени для освоения, его преимущества делают его отличным выбором для системного программирования, веб-разработки, игровой индустрии и других областей. Если вы хотите попробовать что-то новое и готовы потратить время на изучение, Rust определенно стоит вашего внимания. А если вы уже пишете на Rust, делитесь своими впечатлениями в комментариях! P.S. Не забудьте заглянуть в официальную документацию Rust — она одна из лучших в мире программирования. Ссылки для дальнейшего изучения: Официальный сайт Rust The Rust Programming Language (книга) Rust by Example
  • обсуждение CI/CD, автоматизации, облаков (AWS, Azure), Docker, Kubernetes, мониторинга и IaC. Обмен опытом, решение задач, лучшие практики. Советы по инструментам (Ansible, Terraform), кейсы, оптимизация workflows

    0 Темы
    0 Сообщения
    Нет новых сообщений
  • обсуждение SQL, NoSQL (MySQL, PostgreSQL, MongoDB), Redis, проектирования БД, оптимизации запросов, администрирования. Решение проблем, бэкапы, репликация, безопасность данных. Советы по настройке, кейсы, обмен опытом.

    2 Темы
    3 Сообщения
    kirilljsK
    @Jspi а как связать две таблицы? К примеру таблицу городов к пользователю ?
  • Операционные системы, кроссплатформенные программы, системы. Unix, Linux, Windows, MacOS и т д.

    1 Темы
    2 Сообщения
    ManulM
    @Jspi На данный момент плохо работает в wsl2, вылетает ошибки при переименовании запросов, игнорирования папок не работает, в итоге он в коллекциях показывает и git папку и node_modules. Поэтому советую вот что: если вы пользуетесь wsl, то лучше разворачивать проект не в wsl а в родительской ОС (windows)
  • Актуальные IT-новости: обзоры технологий, релизы ПО, события индустрии (искусственный интеллект, кибербезопасность, стартапы). Аналитика рынка, тренды, кейсы компаний. Экспертные мнения, прогнозы, дискуссии о будущем IT. Следите за обновлениями Apple, Google, Microsoft и других гигантов.

    9 Темы
    19 Сообщения
    kirilljsK
    @Jspi [image: 1738577528029-4b65737c-5697-4274-88b2-8c848fb37ce9-image.png]
  • IT-приколы, мемы про разработчиков, программистские баги и гифки. Обсуждаем смешные кейсы, шутки про искусственный интеллект, криптовалюты, GitHub и Reddit. Делитесь своими мемами, находите единомышленников, отдыхайте с пользой

    5 Темы
    24 Сообщения
    kirilljsK
    [image: 1739264122241-p4mkeytpric.jpg]