Пару месяцев назад я упоминал codeium — бесплатную альтернативу копайлоту. На новогодних праздниках наконец-то попробовал его на своём пет-проекте, и довольно часто он действительно ускоряет разработку.
В текущих реалиях нужно включать VPN, чтобы работать с ChatGPT из России, здесь же есть встроенный чат, который работает без VPN ?.
Записал видео по настройке REST API в Moodle и установке и настройке библиотеки WT JMoodle для интеграции Joomla 5 и Moodle 4.3. Пока ещё сохраняется флёр новогодних каникул и есть немного времени на подобное баловство...
Возможно, вы уже читали мою статью про ИТ шансон и проект Витя Айтишник! Если нет, то оч советую)
В данном посте же речь пойдет об ощущении нового года... О том что дает нам ощущение праздника. Мандарины... Запах елки... И голубой огорек!
И так как все таки мой эксперемент "Витя Айтишник" показывает мало мальски прикольные результаты, я выпустил специальный новогодний альбом с ИТ песнями!
Пусть ваши карпораты наполнятся ИТшными напевами и дурацким юмором)
В любом случае) Для меня уже успех если кого то он просто улыбнет)
22 декабря проведем митап сообщества A? Frontend для всех, кто хочет развиваться во фронтенд-разработке. В программе четыре доклада.
Зачем ты сюда пришел?
Работает ли «нетворкинг»? Почему он должен работать? Как именно в вашей карьере он может помочь? Нужно ли выталкивать себя из зоны комфорта и идти знакомиться с людьми? Что такое сильные и слабые связи? Выжил ли Гослинг в конце драйва?
Спикер: Максим Булавчиков, Frontend-разработчик в Сбере.
Программирование без стресса: ключевые принципы
Пропустил пробел? Ошибка. Неверно индексировали массив? Ошибка. Не разобрались в нюансах работы исходного кода? Ошибка. И причина многих из этих ошибок — когнитивные проблемы.
Спикер: Алексей Табула, Frontend-разработчик в BetaRobotics
Зачем становиться T-shape?
Особенности T-shape специалистов, их важность для команды, польза для самого специалиста, как развить в себе T-shape навыки.
Спикер:Александра Моисеева, Frontend-разработчик в Тинькофф
Какое отношение эти слова имеют к Frontend'у? Как мы дошли до жизни такой? Чтобы разобраться, изучим историю развития архитектуры web-приложений от простых HTML-страниц до современных web-сервисов.
Спикер: Александр Курилкин, Frontend-разработчик в Альфа-Банке
Митап пройдет в г. Санкт-Петербург, Малый просп. Петроградской стороны, 87, офис Альфа-Банка
С Артемом Шовкиным — senior frontend-разработчиком СБОЛ.про обсудили, с чего начать знакомство с WebAssembly, что закидывать в Def Dependencies, может ли ChatGPT заменить разработчика и как правильно готовиться к собеседованиям.
С руководителем группы в Яндекс Маркет Семеном Левенсоном поговорили про то, как поддерживать хороший код на проекте, действительно ли вечный рефакторинг — это плохо, как не надо писать storybook и нужны ли микрофронты.
Владислав Кибенко — веб-разработчик Yandex Search, рассказал про опыт перехода с backend на frontend, что больше всего бесит в open source, почему курсы — плохой способ попасть в IT, и как бороться со страхом публичных выступлений.
Подписывайтесь на YouTube-канал Cloud.ru Tech, чтобы быть в курсе IT-трендов.
Сложности работы с GraphQL, или Почему не стоит его использовать повсеместно
1. Внедрение GraphQL — это сложно. Поэтому перед практическим использованием выделите достаточно времени и ресурсов для изучения концепции и структуры.
2. Когда вы реализуете REST API, можете закэшировать ответ по каждому эндпоинту. В GraphQL запросы динамические, содержат разный набор полей и связей:
query {
user(id: 1) {
id
name
posts {
id
title
comments {
id
text
}
}
}
}
В этом запросе вы получаете данные из разных источников: пользователи, посты, комменты. Для оптимальной работы придётся продумывать более точечное кэширование.
3. А теперь представьте, что в запросе выше ещё больше вложенных запросов. По умолчанию GraphQL не ограничивает вас в глубине вложенности, что может вызвать шквал базовых запросов. Это сказывается на производительности сервера.
4. GraphQL не гарантирует атомарность выполнения нескольких мутаций:
mutation {
createPost(title: "New Post", body: "Content") {
id
title
}
updateAuthor(id: 1, name: "New Name") {
id
name
}
}
С одной стороны, это гибко и удобно, а с другой, — а что произойдет, если одна мутация пройдёт, а другая отвалится?
Поэтому не стоит жечь напалмом REST API и переписывать всё на новую технологию. GraphQL — удобный инструмент, но перед использованием важно понять, на каких проектах эта гибкость пригодится, а где будет лишней.
Про формат Talks на YouTube-канале Cloud.ru Tech 🎙️
Недавно мы рассказали про YouTube-канал Cloud.ru Tech, а сегодня хотим анонсировать один из форматов видео на канале — Talks.
🎓Talks — это короткие обучающие доклады, которые помогают разобраться в конкретной теме, найти решение проблемы или понять, как оптимизировать рабочие задачи и процессы. На канале уже можно посмотреть выпуски Frontend Talks и QA Talks, а совсем скоро мы запустим и DevOps Talks.
Подписывайтесь на Cloud.ru Tech, чтобы быть в курсе best practice в IT.
Недавно к нам обратился клиент, у которого потенциально 2 млн пользователей и ему нужно разработать стриминговый сервис, где 10К-20К пользователей могут смотреть медиа-контент в разрешении 4К онлайн.
Фильм 4К весит 5 гб, если 10К пользователей одновременно его смотрят, то это большая нагрузка на хранилище данных. Сложность в том, чтобы сбалансировать трафик на сервис, чтобы система не перегружалась, а пользователи не испытывали дискомфорта.
Чтобы этого добиться, нужно написать ПО таким образом, чтобы плеер или серверная часть отдала контент порционным пользователям. Так мы распределим нагрузку.
Для хранения контента на 2 млн человек, потребуется от 300-400 ТБ устойчивого хранилища. Нужно построить системы хранения данных.
Нужна защита хранилища, если какой-то жесткий диск выйдет из строя, чтобы не потерять лицензионный контент.
Когда 10 тыс. человек запрашивают одно видео или хотя бы два-три видео, это легко решается кешированием. А если эти 10 тыс. смотрит разный контент, то стандартная СХД не справится. Скорость не позволит находить это на жестких дисках.
В реализации нужно:
— Построить архитектуру хранения и обслуживания клиентов СХД с высоким уровнем IOPS — количество запросов, которые приходят к системе хранения данных за секунду. Чем ровнее запросы из разных секторов жестких дисков, тем сложнее и дольше приходится обрабатывать их сервера.
— Построить балансировщики, которые обрабатывают большое количество разного контента на обычных HDD дисках и отказоустойчивых хранилищах.
Is Joomla 5 the WordPress 6 KILLER of 2024? CMS Comparison: Who Reigns Supreme?
На YouTube канале WebTech with Brett (Брет Ренсли) вышло любопытное видео, где сравнивается разработка шаблона на Joomla 5 и Wordpress 6.
Для чистоты эксперимента автор выбрал одну несложную страницу и воссоздал её на обеих CMS. Для воссоздания дизайна использовались стандартные шаблоны в обеих системах.
Показатели для сравнения
Время установки.
Время на создание страницы:
Создание шаблона на Joomla заняло 53 минуты 38 секунд.
Создание того же самого дизайна на базе дефлотной темы Wordpress заняло 57 минут 47 секунд. Хотя в целом порядок временных затрат - одинаковый.
Лёгкость использования. Брет (автор видео) сказал, что "It really sucks", несмотря на то, что он любит WordPress, использует его для своих сайтов.
Показатели Lighthouse. По сумме показателей Joomla вышла вперёд с небольшим отрывом. По времени загрузки страницы Joomla 5 показала результат в 1.1 секунды против 1.67 у Wordpress.
Такие "соревнования" вызывают чисто спортивный интерес, может даже азарт, но для объективных оценок скорее всего мало применимы. Мы понимаем, что за 53 минуты можно просто не успеть сделать некоторые мелочи, которые дали бы прирост показателей, если главное - именно они. Но похоливарить можно ))
Пакет плагинов галереи изображений и видео для вставки в материалы и модули Joomla, а так же везде, где работают плагины группы content. Плагин работает по шорткодам {gallery}...{/gallery} и {gallery tmpl=tmplName}...{/gallery}, где tmpl - макет tmplName.php в plugins/content/wtcontentimagegallery/tmpl.
Что нового? ➕ Атрибуты alt и title из файла labels.txt.
Если Вы вставляете путь к директории с изображениями, то Вы можете указать для каждого изображения атрибуты alt и title в файле labels.txt, который следует положить в директорию рядом с изображениями. В конце строки символ | помещать не нужно.
Содержимое файла должно содержать информацию в следующем виде: имя_файла.webp | атрибут alt | атрибут title. Для каждого файла информация содержится в отдельной строке. Title для изображений можно не указывать, тогда строка будет вида image_2.webp|alt for image_2.
?? Joomla 5 ready Успешно проверена работа расширения на Joomla 5.
Вероятная ошибка при обновлении Joomla 4.4.0 через Joomla updater.
На днях вышла новая ветка Joomla 5.0.0, а также версия Joomla 4.4.0.
Некоторые пользователи Joomla столкнулись с проблемами, приводящими к неработающей странице Joomla 4.4.0 и невозможности входа в систему.
После релиза разработчики забыли обновить данные на сервере обновлений и при попытке обновить Joomla ветки 4.3.x на 4.4.0, происходило копирование файлов от Joomla 5 при сохранении базы 4.0. Это приводило к сбою установки без возможности входа в систему. Позже данные на сервере обновлений были обновлены.
В России ограничен доступ к серверу обновлений Joomla (облако Amazon S3), поэтому обычно пакеты обновлений выкачиваются с Github или иными способами.