Топ-10 малоизвестных языков программирования, которые могут выстрелить в будущем
Сегодня большинство продуктов создается на Python, C и C++, Java, JavaScript, PHP, но специалисты постоянно развивают другие инструменты. Мы решили собрать несколько малоизвестных и относительно новых языков, которые могут стать популярными в скором будущем.
Ознакомиться со всем списком можно в статье.
Писали на каком-нибудь из них?
Сегодня большинство продуктов создается на Python, C и C++, Java, JavaScript, PHP, но специалисты постоянно развивают другие инструменты. Мы решили собрать несколько малоизвестных и относительно новых языков, которые могут стать популярными в скором будущем.
Ознакомиться со всем списком можно в статье.
Писали на каком-нибудь из них?
Представьте дом, окруженный забором, на двери которого висит умный домофон. Забор не дает посторонним людям попасть на территорию, а вот домофон проверяет уже вошедших с помощью видео и может отказать в доступе.
Забор — это Firewall, а домофон это WAF (Web Application Firewall). «Забор» фильтрует трафик между устройствами в сети и Интернетом, а вот «домофон» уже анализирует HTTP/HTTPS-запросы детальнее.
Firewall чаще устанавливается на отдельный сервер или маршрутизатор. WAF же может быть облачным и установленным на сервера веб-приложения.
Теперь вы знаете в чём разница.
@prog_point
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2👌2
С чего начать начинающему гейм-девелоперу
У всех новичков в геймдеве возникает миллион вопросов: на какой платформе делать игру, какие инструменты юзать, какие механики лучше применить и так далее.
Вот чтобы у вас таких вопросов не возникало, мы подготовили статью, в которой рассказали об основных этапах разработки, платформах и необходимых базовых навыках. А ещё дали полезные рекомендации.
Так что переходите по ссылке и читайте.
#gamedev
У всех новичков в геймдеве возникает миллион вопросов: на какой платформе делать игру, какие инструменты юзать, какие механики лучше применить и так далее.
Вот чтобы у вас таких вопросов не возникало, мы подготовили статью, в которой рассказали об основных этапах разработки, платформах и необходимых базовых навыках. А ещё дали полезные рекомендации.
Так что переходите по ссылке и читайте.
#gamedev
Forwarded from Веб-страница
Как правильно работать с DOM в JavaScript в 2025 году?
Работа с DOM (Document Object Model) — это основа веб-разработки. С каждым годом появляются новые, более эффективные способы манипуляции элементами страницы. Давайте разберём, как сегодня правильно работать с DOM в JavaScript, чтобы код был быстрым, удобным и безопасным.
1. Получение элементов
Вместо старых
2. Изменение текста и HTML
Всё зависит от того, что именно нужно поменять.
Не используйте
3. Изменение классов
Правильный способ через
4. Изменение стилей
Не стоит вручную писать
Если нужно много стилей — лучше добавьте или измените класс. Так проще, централизованно и удобнее управлять дизайном.
5. Создание и добавление новых элементов
Лучший способ — использовать
Если нужно добавлять элементы в разные места:
6. Удаление элементов
Самый актуальный способ —
Раньше приходилось делать так (и это было неудобно):
7. Обработчики событий (современный подход)
Раньше часто использовали`onclick`, но перезаписывает предыдущие обработчики и плохо управляется. Лучше используйте
Мы рассказали только часть советов. Если знаете что-то ещё важное, о чем мы не рассказали тут, поделитесь в комментариях.
#простымисловами #фронтенд
Работа с DOM (Document Object Model) — это основа веб-разработки. С каждым годом появляются новые, более эффективные способы манипуляции элементами страницы. Давайте разберём, как сегодня правильно работать с DOM в JavaScript, чтобы код был быстрым, удобным и безопасным.
1. Получение элементов
Вместо старых
getElementById
и getElementsByClassName
сегодня лучше использовать querySelector
и querySelectorAll
. Они более универсальные и понятные.const title = document.querySelector("#title"); // Получает 1 элемент (по id)
const buttons = document.querySelectorAll(".btn"); // Получает список всех кнопок с классом .btn
querySelector
и querySelectorAll
позволяют находить элементы так же, как в CSS (.класс
, #id
, input[type="text"]
и т. д.). А также querySelectorAll
возвращает не «живую» коллекцию, а обычный статичный список (NodeList
), что логичнее при итерации.2. Изменение текста и HTML
Всё зависит от того, что именно нужно поменять.
textContent
— если надо изменить только текст (без HTML).title.textContent = "Привет, мир!";
Не используйте
innerHTML
, если вставляете данные от пользователя — это дыра в безопасности (XSS-атаки). Если всё же используется innerHTML
, убедитесь, что данные проверены.title.innerHTML = "<strong>Важное сообщение!</strong>";
insertAdjacentHTML
— отличная альтернатива innerHTML
, если нужно добавить HTML в определённое место, не перезаписывая весь элемент.title.insertAdjacentHTML("beforeend", "<span> 👋</span>");
3. Изменение классов
Правильный способ через
classList
, потому что `className`заменяет все классы сразу, из-за чего можно случайно удалить важные стили.title.classList.add("highlight"); // Добавит класс
title.classList.remove("hidden"); // Удалит класс
title.classList.toggle("active"); // Переключит класс (если был — уберёт, если не было — добавит)
4. Изменение стилей
Не стоит вручную писать
style.cssText
, потому что он затирает всё, что было до этого. Используйте style
для отдельных свойств.title.style.color = "red";
title.style.fontSize = "24px";
Если нужно много стилей — лучше добавьте или измените класс. Так проще, централизованно и удобнее управлять дизайном.
title.classList.add("error"); // В CSS заранее определите .error { color: red; }
5. Создание и добавление новых элементов
Лучший способ — использовать
createElement
, а не innerHTML
.const newDiv = document.createElement("div"); // Создаём элемент <div>
newDiv.textContent = "Новый блок!";
newDiv.classList.add("box");
document.body.appendChild(newDiv); // Добавляем в конец <body>
Если нужно добавлять элементы в разные места:
appendChild()
— добавляет в конец родителя.prepend()
— добавляет в начало.before()
и after()
— добавляют перед или после элемента.title.after(newDiv); // Вставит newDiv сразу после title
// С помощью append() можно сразу добавлять текст и несколько элементов
const container = document.querySelector(".container");
container.append("Просто текст", document.createElement("span"));
6. Удаление элементов
Самый актуальный способ —
remove()
.newDiv.remove(); // Удалит элемент из DOM
Раньше приходилось делать так (и это было неудобно):
newDiv.parentNode.removeChild(newDiv); // Старый подход
7. Обработчики событий (современный подход)
Раньше часто использовали`onclick`, но перезаписывает предыдущие обработчики и плохо управляется. Лучше используйте
addEventListener
.const button = document.querySelector("#myButton");
button.addEventListener("click", () => {
alert("Кнопка нажата!");
});
Мы рассказали только часть советов. Если знаете что-то ещё важное, о чем мы не рассказали тут, поделитесь в комментариях.
#простымисловами #фронтенд
🤓2✍1
This media is not supported in your browser
VIEW IN TELEGRAM
Программирование SDF-анимаций Рика и Морти
Для начала, что такое SDF-анимация. Простыми словами это математическое описание формы, которое можно изменять на лету. Вместо хранения кадров объект рисуется с нуля каждый раз, используя формулы. Такой подход применяется в шейдерах, процедурной анимации и так далее.
В этой статье вы увидите и сможет сами попробовать реализовать такую анимацию на примере Рика из «Рик и Морти».
#sdf
Для начала, что такое SDF-анимация. Простыми словами это математическое описание формы, которое можно изменять на лету. Вместо хранения кадров объект рисуется с нуля каждый раз, используя формулы. Такой подход применяется в шейдерах, процедурной анимации и так далее.
В этой статье вы увидите и сможет сами попробовать реализовать такую анимацию на примере Рика из «Рик и Морти».
#sdf
❤1
Media is too big
VIEW IN TELEGRAM
Своя игра после 15 лет в программировании
Автор этого видео пришёл в программирование, потому что хотел делать игры (чтобы «грабить корованы»), но в итоге стал разработчиком в другом направлении. И вот по прошествии 15 лет всё-таки дошёл до геймдева и создал свою первую игру.
Здесь не будет технических разборов или скриншотов из игры. Только личный опыт и ощущения от достигнутой цели. Ролик полезен всем, кто по какой-то причине шёл в IT за одним, а в итоге делает что-то другое. Он отлично демонстрирует, что мечту можно исполнить в любое время, было бы желание.
Посмотрите и, возможно, это вдохновит вас на конкретные действия.
#видео #gamedev
Автор этого видео пришёл в программирование, потому что хотел делать игры (чтобы «грабить корованы»), но в итоге стал разработчиком в другом направлении. И вот по прошествии 15 лет всё-таки дошёл до геймдева и создал свою первую игру.
Здесь не будет технических разборов или скриншотов из игры. Только личный опыт и ощущения от достигнутой цели. Ролик полезен всем, кто по какой-то причине шёл в IT за одним, а в итоге делает что-то другое. Он отлично демонстрирует, что мечту можно исполнить в любое время, было бы желание.
Посмотрите и, возможно, это вдохновит вас на конкретные действия.
#видео #gamedev
Forwarded from IT Юмор
Разработчики и разработчицы, с Днём Святого Валентина! 🎧
Отправьте своей половинке одну из этих милых открыток❤️
Отправьте своей половинке одну из этих милых открыток❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15
А ваши родители случайно не Android Studio? Тогда откуда у них такой горячий проект?
К 14 февраля мы с командой сделали бота, который будет отправлять вашим вторым половинкам или просто хорошим людям айтишные и не только комплименты.
Если давно хотели написать такого сами и добавить свои комплименты, чекайте код и пошаговый гайд в нашей статье. А если нет, то отправляйте нашего бота поздравляйте своих булочек!
К 14 февраля мы с командой сделали бота, который будет отправлять вашим вторым половинкам или просто хорошим людям айтишные и не только комплименты.
Если давно хотели написать такого сами и добавить свои комплименты, чекайте код и пошаговый гайд в нашей статье. А если нет, то отправляйте нашего бота поздравляйте своих булочек!
Как и куда расти специалисту по информационной безопасности?
Начинающие безопасники, эта статья специально для вас. В ней мы разберёмся, что происходит сегодня в сфере кибербезопасности, какие навыки наиболее востребованы сейчас и куда расти.
Если вы всегда мечтали ловить хакеров, то скорее переходите по ссылке.
#иб
Начинающие безопасники, эта статья специально для вас. В ней мы разберёмся, что происходит сегодня в сфере кибербезопасности, какие навыки наиболее востребованы сейчас и куда расти.
Если вы всегда мечтали ловить хакеров, то скорее переходите по ссылке.
#иб
Флексим и создаём GUI на Python с веб-технологиями рендеренига
В этом нам поможет Flexx — набор инструментов, сделанных на чистом Python. Он позволяет писать код графических интерфейсов прямо на питоне и на ходу генерировать JavaScript с помощью транслятора PScript.
Узнать подробности о возможностях и изучить инструкцию можно на странице проекта.
#инструменты #python #javascript #gui
В этом нам поможет Flexx — набор инструментов, сделанных на чистом Python. Он позволяет писать код графических интерфейсов прямо на питоне и на ходу генерировать JavaScript с помощью транслятора PScript.
Узнать подробности о возможностях и изучить инструкцию можно на странице проекта.
#инструменты #python #javascript #gui
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Ловите крутой ресурс для изучения устройства нейронных сетей
Здесь вы найдёте простое и понятное объяснение работы современных нейронок, их ключевых компонентов и механизмов обучения. А также мельком познакомитесь с различными видами по типу RNN, CNN, GAN и не только.
На сайте есть и другие разборы, которые также сопровождаются приятной анимацией. Так что не стесняемся, переходим и обучаемся!
#ml
Здесь вы найдёте простое и понятное объяснение работы современных нейронок, их ключевых компонентов и механизмов обучения. А также мельком познакомитесь с различными видами по типу RNN, CNN, GAN и не только.
На сайте есть и другие разборы, которые также сопровождаются приятной анимацией. Так что не стесняемся, переходим и обучаемся!
#ml
👍5❤1