Node.JS [ru] | Серверный JavaScript
11.4K subscribers
88 photos
5 videos
25 files
3.19K links
Все о разработке backend части на JavaScript (Node JS).
А так же: Express JS, Next JS, Nest, Socket.IO

Канал на бирже - https://telega.in/c/we_use_js

По вопросам рекламы или разработки: @g_abashkin

РКН: https://vk.cc/cJPGOP
Download Telegram
Коды ответа HTTP 

Всем привет! 

Какое то время назад я выкладывал похожий пост, но этот дополнен и содержит в себе больше нужной инфы. А еще я узнал что в спецификации существует код 418 - I'm a teapot, без приколов. Подробнее о нем тут.

Основные категории:
1xx. Информационные 100 - 199
2xx. Успешные 200 - 299
3xx. Перенаправления 300 - 399
4xx. Клиентские ошибки 400 - 499
5xx. Серверные ошибки 500 - 599

Чуть подробнее о самых часто встречающихся:
👉 200 - ОК. Cервер успешно обработал запрос.
👉 201 - Created. Сервер обработал запрос и создал новый ресурс
👉 204 - No Content. Сервер обработал запрос, но никакого содержимого нет.
👉 301 - Moved Permanently. Данные, которые запрашиваются, были перемещены по другому адресу навсегда. 
👉 304 - Not Modified. Означает, что запрашиваемый ресурс не изменялся, а значит может использовать кэшированную версию.
👉 400 - Bad Request. Был отправлен запрос, который сервер не может обработать (например в запросе передан не верный формат данных)
👉 401 - Unauthorized. В доступе отказано по причине отсутствия авторизации.
👉 404 - Not Found. Связь с сервером установлена но данных по запросу нет.
👉 500 - Internal Server Error. Внутренняя ошибка сервера, причин ошибки может быть множество.

Если вам нужны совсем-совсем все коды то вот ссылочка

В общем как то так, думаю вам это пригодится.
👍172🔥1
​​🚯Сборка мусора в JavaScript

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

Читать...
👍71
​​🤠Тестируем приложение как сын маминой подруги или взгляд на Trace Based Testing

В этой статье я расскажу о концепциях, которые чаще всего используются сейчас в тестировании, кратко опишу, что такое distributed tracing, и поделюсь опытом работы с TBT.

Читать...
​​👍Разработка одностраничных приложений с помощью HappyX

В этой статье я подробнее расскажу о разработке одностраничных приложений с помощью HappyX с использованием императивного подхода к разработке.

Читать...
Что нового в TypeScript 4.9 - оператор satisfies

Алоха товарищи фронты! Я знаю что TS 4.9 это не самая новая версия так как недавно анонсировали TS 5.0. Но я думаю что далеко не все знают о том что нового было в версии 4.9 и уверен что многим будет это полезно.

И так что делает новый оператор:

Позволяет нам проверить соответствие выражения некоторому типу, не меняя сам тип. Это помогает при работе с объектами со смешанными типами данных.

Рассмотрим на примере:

type FormFields = "name" | "surname" | "age";
const data: Record<FormFields, number | string> = {
name: "name",
surname: "surname",
age: 21,
}

const newAge = data.age * 2;
const nameUpperCase = data.name.toUpperCase();

Объект data имеет как числовые, так и строковые значения, поэтому при работе с этим объектом мы получаем следующие ошибки:

The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
Property 'toUpperCase' does not exist on type 'string | number'.
Property 'toUpperCase' does not exist on type 'number'.

Вот тут-то нам и поможет оператор satisfies.

type FormFields = "name" | "surname" | "age";

const data = {
name: "name",
surname: "surname",
age: 21,
} satisfies Record<FormFields, string | number>

const newAge = data.age * 2;
const nameUpperCase = data.name.toUpperCase();

Также оператор satisfies можно использовать для отлова некоторых ошибок. Например, для проверки объектов на наличие ключей, соответствующих заданному типу:

type FormFields = "name" | "surname" | "age";
const data = {
name: "name",
surname: "surname",
age: 21,
passport: {}
} satisfies Record<FormFields, string | number>

Надеюсь что было полезно. В общем удачи в экспериментах!
👍9👎82
​​👹Shadow Dom в fullstack

В этой статье автор расскажет как с помощью Shadow Dom создавать более чистый и поддерживаемый код, а также повысить эффективность веб-компонентов.

Читать...
👍2
​​🤔Проблемы согласованности данных в микросервисах и их решение

В этой статье вы узнаете, как избежать потери данных и обеспечить их актуальность в реальном времени.

Читать...
🔥3
​​🚀Как мы сократили время тестирования на 70% благодаря переходу с Cypress на Playwright

В этой статье мы расскажем, почему и как мы перешли с Cypress на Playwright, а также вы узнаете о ключевых преимуществах Playwright и о том, как мы справились с переходом.

Читать...
🔥1
​​😎Гексагональная архитектура со Spring Boot

В этой статье мы рассмотрим, как реализовать гексагональную архитектуру в Spring Boot приложении.

Читать...
🔥1
​​🚀Как быстро и безболезненно закрыть регресс в API из связки PyTest + JSON Schema

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

Читать...
2
​​🗣Mobile Web, навигация и при чем тут Nginx

В этой статье я хотел бы поделиться опытом внедрения мобильной версии web приложения в нашу архитектуру.

Читать...
🔥4
​​👱‍♂️Использование node-cron для запуска запланированных заданий в Node.js

В этой статье вы узнаете, как использовать cron в Node.js через модуль node-cron для автоматизации задач.

Читать...
🔥5👍21
​​🎃Возможности JS, о которых вы возможно не знали

В этой статье автор поделится с вами лайфхаками JavaScript, которые, возможно, помогут вам понять тонкости языка и улучшить ваш код.

Читать...
8👎1
​​🐢Замедляем разработку. Вредные советы по тестированию в проектах

В этой статье хочу рассказать о проблемах, с которыми мы столкнулись, но двигаясь в обратном направлении — от того, к чему пришли, к тому, что было.

Читать...
2👍2👎1
​​👣Первый шаг в автоматизации тестирования веб-приложений

В этой статье я хочу поделиться с вами пятью шагами от ручного тестирования к автоматизации, которые, по моему мнению, могут быть полезны другим QA.

Читать...
🔥1
​​👨‍💻С чего начать разработку мобильного центра принятия решений

В этой статье мы рассмотрим ключевые шаги начала разработки мобильного ЦПР, которые позволят успешно создать инструмент для оперативного и обоснованного принятия решений.

Читать...
👍2👎1🔥1
​​🧐Обзор фреймворка для сбора данных OWASP Nettacker

В этой статье мы рассказываем об установке фреймворка и его основных функциях.

Читать...
🔥3
​​⭐️Как внедрить гайд по стилю кода в проект

В этой статье я расскажу, от каких проблем вас сможет защитить такой гайд, и приведу подробную инструкцию, как его внедрить.

Читать...
6
​​👥Используем JS Self-Profiling API для профилирования фронтенда на клиентах

В этой статье хочу рассказать про профилирование фронтденда в продакшене с использованием JS Self-Profiling API.

Читать...
2
​​👥Сделали библиотеку компонентов, но пришлось переделывать. Почему так вышло и чем дело кончилось

В этой статье хочу рассказать о том, как у нас в возникла необходимость в создании библиотеки компонентов, почему первое решение не сработало, какие выводы мы сделали и чем закончился наш проект библиотеки.

Читать...
🔥5