en
Feedback
Dev House Jun Front

Dev House Jun Front

Open in Telegram
3 367
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
Привет, Мэн! Сегодня я хочу рассказать тебе о возможностях AJAX и о том, как мы можем использовать его для отправки и получения данных с сервера без необходимости перезагружать страницу. AJAX (Asynchronous JavaScript and XML) - это подход к взаимодействию с сервером, который позволяет обновлять содержимое веб-страницы без необходимости перезагрузки. С помощью AJAX мы можем отправлять данные на сервер и получать ответ асинхронно, без задержек, что позволяет сделать веб-приложения более быстрыми и удобными для пользователя. Одним из самых распространенных примеров использования AJAX является форма обратной связи на веб-странице. Вместо того, чтобы отправлять данные на сервер и перезагружать страницу, мы можем использовать AJAX для отправки данных асинхронно и обновить только необходимую часть страницы с помощью полученного ответа. Для работы с AJAX нам понадобится JavaScript. Мы можем использовать встроенный объект XMLHttpRequest для создания HTTP-запросов к серверу. Вот пример кода, который демонстрирует отправку данных на сервер без перезагрузки страницы: // Создаем экземпляр объекта XMLHttpRequest let xhr = new XMLHttpRequest(); // Устанавливаем метод и адрес запроса xhr.open('POST', '/submit-form', true); // Устанавливаем заголовок для отправки формы xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // Отправляем данные формы на сервер xhr.send('name=John&email=john@example.com'); // Обрабатываем ответ от сервера xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // Получаем ответ от сервера let response = xhr.responseText; // Обновляем содержимое страницы с помощью полученного ответа document.getElementById('feedback-message').innerHTML = response; } }; В этом примере мы создаем новый объект XMLHttpRequest и устанавливаем метод и адрес запроса с помощью метода open(). Затем мы устанавливаем заголовок для данных формы и отправляем их на сервер с помощью метода send(). В ответе от сервера мы обновляем содержимое страницы, используя полученные данные. Заметь, что метод send() может принимать данные в различных форматах, таких как строка JSON или объект FormData. Также, мы можем использовать метод GET вместо POST, если нам необходимо получить данные с сервера. Таким образом, благодаря AJAX мы можем создавать динамические и отзывчивые веб-приложения, которые обновляются без необходимости перезагрузки страницы. Будучи основой для множества функциональных возможностей веб-разработки, AJAX является одним из ключевых инструментов для работы с данными на сервере без прерывания пользовательского опыта. Надеюсь, эта информация была полезной для тебя, Мэн! Удачи в изучении AJAX и успешной разработке своих веб-приложений!

😎Йо, йо, йо гайс, мы тут начали вакансии собирать, вдруг полезно будет) Каждый будний день что то будем выкладывать из вакансий - вдруг вам что то подойдет) 🤗Так что залетайте - работа для фронта)

Обработка событий в JavaScript: клики, наведение, отправка формы и другие. Привет, мэн! В этой статье мы поговорим о важном аспекте разработки веб-приложений - обработке событий в JavaScript. Когда пользователь взаимодействует с веб-страницей, происходят различные события, такие как клики, наведение курсора мыши, отправка формы и многие другие. Именно обработка этих событий позволяет создавать интерактивные и отзывчивые веб-приложения. Один из наиболее распространенных типов событий - это событие клика. Когда пользователь нажимает левую кнопку мыши на элементе веб-страницы, происходит событие "click". Для обработки такого события мы можем использовать метод addEventListener, который позволяет назначать функции-обработчики на определенные события. Например, чтобы вызвать определенную функцию при клике на кнопку, можно написать следующий код: let button = document.getElementById("myButton"); button.addEventListener("click", function() { // Ваш код обработки события }); Также JavaScript предоставляет возможность обрабатывать события наведения курсора мыши на элементы страницы. Событие "mouseover" срабатывает, когда курсор мыши заходит на элемент, а событие "mouseout" возникает, когда курсор покидает элемент. Причем события "mouseover" и "mouseout" срабатывают и для потомков элемента, что позволяет реализовать различные интерактивные эффекты. Например, чтобы изменить цвет фона элемента при наведении на него, можно использовать следующий код: let element = document.getElementById("myElement"); element.addEventListener("mouseover", function() { element.style.backgroundColor = "red"; }); element.addEventListener("mouseout", function() { element.style.backgroundColor = "white"; }); Еще одним важным типом событий является событие отправки формы. Когда пользователь нажимает на кнопку "Отправить" в форме, происходит событие "submit". Чтобы выполнить определенные действия при отправке формы, например, отправить данные на сервер, можно использовать следующий код: let form = document.getElementById("myForm"); form.addEventListener("submit", function(event) { event.preventDefault(); // Отменяем стандартное действие отправки формы // Ваш код для отправки данных на сервер }); В приведенном примере мы используем метод preventDefault() для отмены стандартного действия браузера - отправки данных на сервер и обновления страницы. Это позволяет нам обработать данные формы асинхронно, например, с помощью AJAX-запроса. Конечно, это лишь некоторые примеры обработки событий в JavaScript. Существует множество других типов событий, таких как изменение значения input, загрузка изображений и другие. JavaScript предоставляет различные методы и свойства для работы с событиями, и использование их в сочетании позволяет создавать более сложные и функциональные веб-приложения. Таким образом, обработка событий в JavaScript - это неотъемлемая часть разработки веб-приложений. Понимание работы событий и умение правильно обрабатывать их позволят тебе создавать интерактивные и отзывчивые пользовательские интерфейсы. Надеюсь, что эта статья была полезной для тебя, и ты сможешь применить полученные знания в своих проектах. Удачи в разработке!

Основы ООП в JS Привет, Мэн! Сегодня мы поговорим о основах объектно-ориентированного программирования (ООП) в JavaScript. ООП — это подход к разработке программного обеспечения, который позволяет организовать код в виде объектов, имеющих свойства и методы. Объекты и классы В JavaScript объекты — это «контейнеры» для свойств и методов. Каждый объект имеет свои уникальные свойства и методы, а также может быть основой для создания других объектов. Объекты создаются с помощью конструкторов, которые являются функциями, вызываемыми с оператором new. // Создание объекта с помощью конструктора const person = new Object(); person.name = "John"; person.age = 25; person.sayHello = function() { console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`); }; person.sayHello(); // Hello, my name is John and I'm 25 years old. Классы в JS представляют собой шаблоны для создания объектов определенного типа. Они определяют свойства и методы, которые будут унаследованы всеми объектами, созданными на основе этого класса. // Создание класса class Person { constructor(name, age) { this.name = name; this.age = age; } sayHello() { console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`); } } // Создание объекта на основе класса const person = new Person("John", 25); person.sayHello(); // Hello, my name is John and I'm 25 years old. Наследование Наследование — это механизм ООП, который позволяет создавать новые классы на основе существующих классов. Новый класс, называемый дочерним, наследует свойства и методы от родительского класса, но также может иметь свои собственные свойства и методы. Давайте рассмотрим пример наследования в JavaScript: // Родительский класс class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a sound.`); } } // Дочерний класс, наследуется от Animal class Dog extends Animal { constructor(name) { super(name); } speak() { console.log(`${this.name} barks.`); } } // Создание объектов const animal = new Animal("Animal"); const dog = new Dog("Buddy"); animal.speak(); // Animal makes a sound. dog.speak(); // Buddy barks. Инкапсуляция и полиморфизм Инкапсуляция и полиморфизм — это еще два важных принципа ООП. Инкапсуляция позволяет скрыть детали реализации объекта и предоставляет доступ только к необходимым свойствам и методам. Полиморфизм позволяет объектам одного класса использовать методы, определенные в родительском классе, но по-разному реализованные для каждого объекта. class Shape { constructor(name) { this.name = name; } getArea() { throw new Error("Method not implemented."); } } class Rectangle extends Shape { constructor(name, width, height) { super(name); this.width = width; this.height = height; } getArea() { return this.width * this.height; } } class Circle extends Shape { constructor(name, radius) { super(name); this.radius = radius; } getArea() { return Math.PI * this.radius * this.radius; } } const rectangle = new Rectangle("Rectangle", 5, 3); const circle = new Circle("Circle", 4); console.log(rectangle.getArea()); // 15 console.log(circle.getArea()); // 50.26548245743669 В JavaScript объектно-ориентированное программирование предоставляет мощные инструменты для структурирования и организации кода. Надеюсь, эта статья помогла тебе понять основы ООП в JS, Мэн. Успехов в твоих программистских начинаниях!

Совет фронтендерам: уважайте свое время В Html Gram собраны готовые и уникальные codepen решения на каждый день. От эффектов при наведении до 3D анимации. Учитесь, практикуйтесь и прокачивайте свое портфолио вместе с @HtmlGram

Модули и пакеты в JavaScript: использование сторонних библиотек и фреймворков Привет, Мэн! Если ты хочешь узнать, как использовать сторонние библиотеки и фреймворки в JavaScript, то ты попал по адресу. В JavaScript модули и пакеты являются важным инструментом для организации кода и повышения его переиспользуемости. Давай рассмотрим, как мы можем использовать сторонние библиотеки и фреймворки в своем проекте. 1. Установка пакетов с помощью npm JavaScript разработчики пользуются инструментом npm (Node Package Manager) для установки сторонних библиотек и фреймворков. Чтобы установить новый пакет, открой консоль и выполните следующую команду:
npm install package-name

Здесь package-name - это название пакета, который ты хочешь установить. Например, чтобы установить пакет lodash, выполните следующую команду:
npm install lodash

2. Импорт модулей в свой код После установки пакета, ты можешь использовать его функционал в своем проекте. Для этого нужно импортировать модуль в свой код. Вот пример импорта модуля lodash:
const _ = require('lodash');

Теперь мы можем использовать функции и переменные из модуля lodash, например:
const numbers = [1, 2, 3, 4, 5];
const sum = _.sum(numbers);
console.log(sum); // выводит 15

В этом примере мы используем функцию sum из модуля lodash для вычисления суммы чисел в массиве numbers. 3. Использование фреймворков Фреймворки – это набор инструментов и функций, предназначенных для упрощения разработки. Они предлагают собственную архитектуру и принципы работы. Примеры популярных фреймворков в JavaScript включают React, Angular и Vue. Для использования фреймворков, вам сначала нужно установить соответствующий пакет с помощью npm. Затем, вам нужно будет задействовать фреймворк в своем коде. Например, вот как вы можете использовать фреймворк React:
import React from 'react';

function App() {
  return (
    <div>
      <h1>Привет, Мэн!</h1>
    </div>
  );
}

export default App;

В этом примере мы импортируем фреймворк React и используем его для создания компонента App, который отображает приветствие на странице.

Привет, Мэн! Сегодня я хотел бы рассказать тебе о важности и основах тестирования JavaScript-кода. Когда дело доходит до разработки веб-приложений, конечно, ты хочешь быть уверенным в том, что твой код работает так, как задумано. Именно здесь на помощь приходят модульные и функциональные тесты. Модульное тестирование является одним из наиболее распространенных методов тестирования в JavaScript. Оно позволяет проверить отдельные модули или функции в изоляции, чтобы убедиться, что они возвращают ожидаемые результаты. Для этого используются инструменты, такие как Mocha, Jest или Jasmine. Модульное тестирование помогает выявить ошибки и проблемы на ранних стадиях разработки, что позволяет улучшить качество кода и упростить его поддержку в дальнейшем. Основная идея модульного тестирования заключается в том, чтобы создать набор тестовых случаев, или "тестов", которые проверяют функциональность каждого модуля отдельно. Тесты обычно проверяют входные данные и ожидаемый результат, и сравнивают их с реальным результатом работы функции или модуля. Если результаты не совпадают, это указывает на наличие ошибки или неправильную реализацию. Функциональное тестирование, в отличие от модульного, проверяет уже существующие компоненты вместе, чтобы удостовериться, что они работают как задумано. Оно проверяет взаимодействие между различными модулями и компонентами, чтобы убедиться, что они работают вместе без ошибок. Для функционального тестирования используются инструменты, такие как Selenium или Cypress. Функциональное тестирование помогает обнаружить проблемы, которые могут возникнуть на уровне взаимодействия различных компонентов. При разработке веб-приложений тестирование является незаменимым шагом в процессе разработки. Тестирование помогает выявить и исправить ошибки до их попадания к пользователю, что улучшает качество кода и предотвращает возможные проблемы в будущем. Поэтому, Мэн, я рекомендую тебе уделить время на написание модульных и функциональных тестов для твоего JavaScript-кода.

Фрилансеры тихо плачут. Все заказы забрали ИИ Нейросети уже рисуют круче любых художников, думают быстрее умнейших людей. Кан
Фрилансеры тихо плачут. Все заказы забрали ИИ Нейросети уже рисуют круче любых художников, думают быстрее умнейших людей. Канал «Let IT be» – это кладезь полезного контента. 🟡Как пользоваться ChatGPT без VPN? [Инструкция] 🟡Как правильно строить запросы для Midnourney? [Читать мануал] 🟡Что будет с ИИ через 5 лет? [Слова Илона Маска] Подпишись: @letbetech

Здаров! Меня зовут Иосиф и я фулстак.🤓) Веду несколько каналов по разработке в свободное время, веду с душой, так что зацени
Здаров! Меня зовут Иосиф и я фулстак.🤓) Веду несколько каналов по разработке в свободное время, веду с душой, так что зацени - JS Minion - Короткие обучающие статьи с примерами по фронту🫡. Удобно читать, есть примеры. Статьи выходят каждый день и последовательно - от 0 до нормального разработчика. Полезно - PHP Minion - Та же самая тема, только по PHP🤖. Я фулстак все таки, так что еще и back-у учу. Полезно, если не хочешь оставаться чисто фронтом, а то так и умрешь на анимировании очередной кнопки) - Макеты для верстки - браза, тут из названия понятно - надо что то заверстать для портфолио - бери оттуда👀 - Задачник - тут я подкидываю задачи для HTML CSS и JS. Мозги размять можешь🧠 - Записки - тут я пишу просто первую попавшуюся мысль, могу и матом👮‍♂️. Иногда ржачно. Каждый день с утра перед работой или в обед за чашкой кофе сажусь и как пишу вам посты) Так что подписывайся на такое) 😁

Регулярные выражения в JavaScript: поиск и замена текста с помощью шаблонов Привет, Мэн! Сегодня мы поговорим о регулярных вы
Регулярные выражения в JavaScript: поиск и замена текста с помощью шаблонов Привет, Мэн! Сегодня мы поговорим о регулярных выражениях в JavaScript и о том, как они могут быть полезны при поиске и замене текста с использованием шаблонов. Что такое регулярные выражения? Регулярные выражения — это мощный инструмент, который позволяет искать и манипулировать текстом на основе заданных шаблонов. Они используются во многих языках программирования, включая JavaScript, для обработки строковых данных. Поиск текста с помощью регулярных выражений Когда тебе нужно найти определенные шаблоны текста в строке, регулярные выражения позволяют тебе задать правила поиска. Например, если ты хочешь найти все вхождения слова «JavaScript» в строке, ты можешь использовать следующий шаблон: /JavaScript/g. Здесь / — это начало и конец регулярного выражения, g означает, что мы хотим найти все вхождения (global). Давай по ссылке ниже и читай до конца) И не забудь поставить лайк - для тебя же стараюсь)

https://github.com/iosif-tihonenkov/menGenerate - запилил на коленке генератор случайных чуваков. что то подобное видел давным давно в одной онлайн школе, только с волшебниками.)

Привет, Мэн! Сегодня мы поговорим о том, как использовать JavaScript для манипулирования элементами на странице, а точнее - о работе с DOM. DOM - это аббревиатура от Document Object Model, то есть модель объектов документа. Если говорить упрощенно, то DOM - это древовидная структура, которая представляет элементы HTML-страницы в виде объектов, и позволяет изменять их свойства и содержимое с помощью JavaScript. Давай рассмотрим несколько примеров того, как это можно сделать. Для начала, давай посмотрим, как поменять текст внутри элемента. Для этого необходимо сначала выбрать нужный элемент с помощью метода getElementById() или querySelector(), а затем изменить его свойство innerHTML: <p id="myParagraph">Это текст!</p> document.getElementById("myParagraph").innerHTML = "Новый текст!"; В этом примере мы выбираем элемент с id "myParagraph", а затем изменяем его innerHTML на "Новый текст!". В результате, текст на странице изменится. Еще один распространенный случай - изменение стиля элемента. Для этого мы можем использовать свойство style объекта, который представляет наш элемент: <div id="myDiv">Это div!</div> let myDiv = document.getElementById("myDiv"); myDiv.style.backgroundColor = "red"; myDiv.style.color = "white"; В этом примере мы выбираем элемент с id "myDiv", а затем устанавливаем его фоновый цвет и цвет текста. Также, мы можем добавлять, удалять и изменять элементы на странице с помощью методов createElement(), appendChild() и removeChild(): <ul id="myList"> <li>Элемент 1</li> <li>Элемент 2</li> </ul> let myList = document.getElementById("myList"); let newListItem = document.createElement("li"); newListItem.innerHTML = "Элемент 3"; myList.appendChild(newListItem); let oldListItem = myList.childNodes[1]; myList.removeChild(oldListItem); В этом примере мы сначала создаем новый элемент li, устанавливаем его текст и добавляем его к концу списка, а затем удаляем второй элемент. Итак, Мэн, работа с DOM в JavaScript - это неочевидный, но необходимый инструмент, если ты хочешь изменять свою HTML-страницу динамически. Мэн, будь мэном, поставь лайкос) 😁

На css и js можно делать крутые отзывчивые интерфейсы Если знать, как 💥 Приручить вёрстку поможет Нестыдный код. Создавай классные эффекты в своих работах, даже если с фантазией все плохо Несколько сотен готовых решений для вдохновения и использования  Личный помощник фронтендеру прямо в мессенджере!

🔥Сделали более 2,5 млн посещений на сайте ежемесячно. Как? Кейс уже в канале Rotgar | SEO. (27.04.2023) Ребята продвигают са
🔥Сделали более 2,5 млн посещений на сайте ежемесячно. Как? Кейс уже в канале Rotgar | SEO. (27.04.2023) Ребята продвигают сайты более 10 лет. В канале вы найдете только актуальные статьи и кейсы по SEO-продвижению. ➡️В канале нет рекламы. ➡️Вся информация бесплатна. ➡️Без воды и копипаста. Присоединяйся — @rotgarseo

Привет Мэн! Давай сегодня поговорим о том, как можно делать асинхронную обработку данных в JavaScript, используя промисы, async/await и обратные вызовы. Возможно, ты уже слышал об этих методах, но не знаешь, как их правильно применять. Именно об этом мы и поговорим сегодня. Для начала, давай разберемся, что такое асинхронное программирование. Если говорить простыми словами, это когда программа может выполнять несколько задач одновременно, не забивая движок JavaScript. Например, если мы загружаем картинку на страницу, то мы не хотим, чтобы весь сайт зависал пока картинка загружается. Вот здесь-то и пригодится асинхронное программирование. Итак, первый метод - обратный вызов (callback). Это функция, которая вызывается по завершении выполнения другой функции. Обычно его используют, когда нужно получить данные из внешнего источника. Однако, проблема в том, что при использовании много callback'ов программу становится трудно читать и поддерживать. Теперь рассмотрим промисы. Они используются для работы с асинхронными операциями и предназначены для работы с асинхронными запросами. Промис - это объект, который помогает обрабатывать значение, которое может быть доступно только в будущем. Преимущества промисов заключаются в том, что они устраняют проблемы обратного вызова и делают код более понятным. И, наконец, async/await. Это набор ключевых слов, который позволяет писать асинхронный код, как будто он синхронный. Этот метод является более новым и удобным, чем использование промисов, но требует минимальных знаний. Таким образом, Мэн, асинхронное программирование - это важная техника, которая помогает улучшить производительность приложения. Однако, оно может быть сложным и запутанным, если использовать его не правильно. Поэтому выбери метод, который лучше всего подходит тебе и пиши код правильно! Да и поставь лайк, емое) 😁

Фрилансеры тихо плачут. Все заказы забрали ИИ Нейросети уже рисуют круче любых художников, думают быстрее умнейших людей. Кан
Фрилансеры тихо плачут. Все заказы забрали ИИ Нейросети уже рисуют круче любых художников, думают быстрее умнейших людей. Канал «Let IT be» – это кладезь полезного контента. 🟡Как пользоваться ChatGPT без VPN? [Инструкция] 🟡Как правильно строить запросы для Midnourney? [Читать мануал] 🟡Что будет с ИИ через 5 лет? [Слова Илона Маска] Подпишись: @letbetech

Привет, мейн! Сегодня я хочу развлечь тебя и показать, как можно использовать регулярные выражения в JavaScript для работы с текстом. Допустим, тебя зовут Денис, и ты хочешь найти все слова в тексте, которые начинаются на "д". const text = 'Денис делает домашку по дискретной математике'; const pattern = new RegExp('\\bд[а-я]*', 'gi'); const matches = [...text.matchAll(pattern)]; console.log(`Слова на "д": ${matches.map(match => match[0]).join(', ')}`); Так что же здесь происходит? Мы задаем переменную text, которая содержит текст, в котором мы ищем слова на "д". Затем мы создаем переменную pattern, которая содержит регулярное выражение, которое мы будем использовать для поиска слов. Регулярное выражение начинается с \\b, которое говорит, что мы ищем слово, а не часть слова (например, "д" в "кадре"). Затем мы ищем букву "д" и ноль или более букв после нее. Наконец, мы передаем наше регулярное выражение в метод matchAll(), который возвращает массив всех совпадений. Используя метод map(), мы выводим все найденные слова на "д". Мейн, еще один пример! Допустим, у тебя есть строка со множеством имен, разделенных запятыми, и ты хочешь получить только имена, которые начинаются на "д". const names = 'Данил, Артём, Дмитрий, Сергей, Михаил'; const pattern = new RegExp('^д[а-я]*', 'gi'); const filteredNames = names.split(',').filter(name => pattern.test(name)).map(name => name.trim()); console.log(`Имена на "д": ${filteredNames.join(', ')}`); Здесь мы создаем переменную names, которая содержит строку с множеством имен. Мы создаем переменную pattern, которая ищет имена, начинающиеся на "д". Затем мы используем метод split() для разделения всех имен по запятым. Внутри метода filter() мы проверяем каждое имя на соответствие нашему регулярному выражению. Мы используем метод map() для удаления пробелов вокруг имен. Наконец, мы выводим все найденные имена на "д" с помощью метода join(). О, мейн, а что если мы хотим проверить имя Дениса на корректность написания? Для этого мы можем использовать регулярное выражение, чтобы проверить, что имя Денис начинается с заглавной буквы и состоит только из букв a-z, A-Z. const name = 'Денис'; const pattern = new RegExp('^[А-Я][а-я]*$', 'g'); console.log(`Имя Денис корректно: ${pattern.test(name)}`); В этом примере мы создаем переменную name, которая содержит имя Денис. Затем мы создаем переменную pattern, которая ищет имена, начинающиеся с заглавной буквы и состоящие только из букв a-z, A-Z. Мы используем метод test(), чтобы проверить, соответствует ли имя Денис нашему регулярному выражению. Мейн, используй все это в своих проектах и придумывай свои забавные способы использования регулярных выражений в JavaScript. Будь ты гуру регулярных выражений, мейн! И поставь лайк) 😁

"У вас мало опыта"   Неприятно услышать такое после собеседования. "Как же мне решить эту проблему?"  Наполни свое портфолио качественными работами! Мы собрали для тебя коммерческие макеты работающих сайтов. Здесь ты сможешь найти вдохновение для своего портфолио.  Выбор за тобой: Подписаться и не тратить силы на поиски — или пропустить и продолжить тратить свое время в пустую. Подписывайся: Figma | Макеты и Дизайн

Ааааа, лол лольский. Зацените что нашел)) Читайте внимательно.) Журнал хакер 99 года (решил тут себе архивчик скачать и почит
Ааааа, лол лольский. Зацените что нашел)) Читайте внимательно.) Журнал хакер 99 года (решил тут себе архивчик скачать и почитывать на флексе). JS рулит!!!!!!!!!!

Замутил тут канал про PHP в формате заметок. Заглядывайте если че)) Ссылка - https://t.me/php_minion