пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
Слишком длинный поисковый запрос.
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Если хочешь разобраться в сетях и IP-адресах, то без понимания маски подсети не обойтись. Она помогает определить, какие устройства находятся в одной сети, а какие – за её пределами. Это важно для правильной настройки интернета, локальных сетей и серверов. В этой статье разберём, что такое маска подсети, зачем она нужна и как её использовать. Что такое IP-адресация Каждое устройство в сети имеет свой IP-адрес. Это как почтовый адрес в интернете — он позволяет передавать данные именно туда, куда нужно.  IP — это межсетевой протокол, который содержит информацию о расположении компьютеров в сети. Благодаря этому данные находят нужного адресата и не теряются в пути. IP-адрес есть у каждого устройства, и он всегда уникален.  Как узнать свой IP-адрес  Для Windows: Открой меню «Пуск» и найди «Командная строка» (или нажми Win + R, введи cmd и нажми Enter). В открывшемся окне введи команду ipconfig и нажми Enter. Найди строку «IPv4-адрес» — это и есть локальный IP. Для macOS: Нажми ? + Пробел, введи «Терминал» и открой его. Введи команду ipconfig getifaddr en0 и нажми Enter. На экране отобразится локальный IP-адрес (если ты подключен через Wi-Fi). Для проводного соединения используй en1 вместо en0. Для Linux: Открой терминал (обычно это приложение «Терминал» в меню приложений). Введи команду ip a и нажми Enter. Найди строку, где указан inet, относящийся к вашему соединению (обычно это wlan0 для Wi-Fi или eth0 для кабельного подключения). IP-адреса бывают двух видов: IPv4 (например, 192.168.1.1) – используется чаще всего. IPv6 (например, 2001:db8::ff00:42:8329) – более новый стандарт с большим количеством доступных адресов. IP-адрес состоит из двух частей: Адрес сети – определяет группу устройств. Адрес узла – конкретное устройство в этой сети. Чтобы понять, где заканчивается сеть и начинаются другие устройства, нужна маска подсети. Как устроена маска подсети  Маска подсети – это специальный набор чисел, который помогает разделить IP-адрес на сеть и узел. Пример маски: 255.255.255.0. Она записывается так же, как IP-адрес, но служит не для идентификации устройства, а для указания границ сети. Существует ещё один формат записи – CIDR-нотация. Например, вместо 255.255.255.0 можно написать /24. Это означает, что 24 бита отвечают за сеть, а оставшиеся 8 – за узлы. Как работает маска подсети  Маска подсети помогает определить, какая часть IP-адреса относится к сети, а какая — к устройствам внутри неё. Она позволяет правильно направлять трафик и разделять сеть на сегменты. Представим IP-адрес 192.168.1.10 с маской 255.255.255.0. Если перевести в двоичную систему: IP-адрес: 11000000.10101000.00000001.00001010 Маска: 11111111.11111111.11111111.00000000 Часть, где стоят единицы (11111111), – это сеть. Оставшиеся нули – это узлы. Что это значит? Все IP-адреса от 192.168.1.1 до 192.168.1.254 находятся в одной сети. Если компьютер с адресом 192.168.1.10 отправит данные на 192.168.1.50, они останутся в этой же сети. А если он захочет передать данные на 192.168.2.10, то нужен маршрутизатор, потому что это уже другая сеть. Маски подсети в разных сетях 255.0.0.0 (/8) – крупные сети, например, в интернете 255.255.0.0 (/16) – средние сети, например, в университетах 255.255.255.0 (/24) – малые сети, например, в офисах или домашних Wi-Fi Зачем нужна маска подсети Маска подсети помогает: Оптимизировать использование IP-адресов. Например, если у вас 50 компьютеров, нет смысла выделять сеть на 500 устройств. Повысить безопасность. Разделение сети уменьшает риск распространения вирусов и атак. Управлять трафиком. Компьютеры в одной сети могут обмениваться данными быстрее. Таблица популярных масок Маска CIDR Количество узлов 255.255.255.0 /24 254 255.255.254.0 /23 510 255.255.252.0 /22 1022 Как выбрать маску подсети  Маска подсети определяет, сколько устройств можно подключить к сети и как они будут взаимодействовать. Выбор маски зависит от количества узлов (компьютеров, серверов, принтеров) и структуры сети. 1. Определи количество устройств. Чем больше устройств нужно подключить, тем больше IP-адресов понадобится.  2. Выбери подходящую маску. Примеры масок и их возможностей: Маска CIDR Доступные адреса Применение 255.0.0.0 /8 16 777 214 Крупные сети, интернет-провайдеры 255.255.0.0 /16 65 534 Средние сети (университеты, корпорации) 255.255.255.0 /24 254 Офисы, домашние сети 255.255.255.128 /25 126 Малые сети с несколькими десятками устройств 255.255.255.192 /26 62 Компактные локальные сети 3. Учитывай маршрутизацию и безопасность. Чем меньше сеть, тем меньше трафика будут передано на все устройства, что улучшает производительность. И наоборот: чем больше сеть, тем сложнее ею управлять и выше риск перегрузки. Вместо итогов Маска подсети помогает разделять сети, оптимизировать IP-адреса и повышать безопасность. Без неё сети были бы хаотичными и неуправляемыми. Надеюсь, теперь вам стало понятнее, как она работает. Если хочешь углубиться в тему, попробуй поэкспериментировать с IP-адресами и масками в настройках своей сети.
img
Построение модели API требует стратегического подхода, и он связан с CRUD. Направляя разработчиков целиком и полностью, CRUD прокладывает путь для разработчиков API, ведя их по пути разработки доработанных и высококлассных API. Что такое CRUD? CRUD – это сокращение от Create (создание), Read (чтение), Update (модификация) и Delete (удаление). Эти четыре функции являются ключевыми принципами, которым следуют разработчики и программисты API при создании надежных API. В соответствии с отраслевым стандартом каждая модель API должна следовать всем этим четырем (или как минимум трем) принципам в процессе выполнения. Некоторые языки программирования следуют CRUD в том виде, в котором он есть, в то время как лишь некоторые используют адаптированную версию CRUD. К языкам, использующим инфраструктуру CRUD, относятся: Python, PHP, Java и .Net. CRUD работает как напоминание для разработчиков о том, что необходимо для того, чтобы приложение чувствовало себя полноценным. Она возникла в начале 80-х годов. В то время его использовали для иллюстрирования жизнеспособности базы данных SQL. Со временем он расширил список областей применения и стал ключевым принципом проектирования для DDS и HTTP. Определение функций CRUD Однозначное понимание функций CRUD позволяет разработчикам максимально эффективно использовать их. Итак, ознакомьтесь с каждой из 4 функций и рассмотрите примеры для того, чтобы лучше понимать их принцип действия. Create Эта функция используется для оповещения о введении любых новых изменений в базу данных и обеспечения их реализации. В реляционной базе данных SQL, Create называется INSERT. Этот оператор разрешает конечному пользователю создавать новые строки данных и позволяет ранее сохраненным данным легко взаимодействовать с новой базой данных. Пример: Допустим, мы добавляем Фрукты в список http://www.example.com/fruits/. Для того, чтобы создать объект «Манго», мы должны оправить запрос POST на этот URL: { “fruit": { "name": “Mango”, "color": “Yellow” } } Этот код создаст еще один объект в списке фруктов с именем «манго», у которого есть свойство (цвет) со значением «желтый». При успешном создании вы получите HTTP-ответ 201. Read Что функция поиска делает в обычных случаях, вы можете узнать, почитав о реляционных базах данных. Конечным пользователям разрешено искать различимые значения или данные в таблице данных и находить значения. Можно использовать определённые ключевые слова или фильтровать данные, чтобы получить точную информацию. Пример: Теперь для того, чтобы прочитать список, в который вы добавили объект в предыдущем примере, воспользуемся GET-запросом. Используйте этот код: GET http://www.example.com/fruits/ Если для вашего запроса существует запись, то вы увидите HTTP-ответ 200. Также вы увидите список фруктов. { "fruits": [ { "id": 1, "name": “Apple”, "color": “Red” }, { "id": 2, "name": “Grapes”, "color": “Green” }, ... { "id": 3, "name": “Mango”, "color": “Yellow” } ] } Для того, чтобы увидеть детали, связанные с конкретным объектом Манго, который мы создали, используйте этот код: GET http://www.example.com/fruits/3/ Update Функция модификации полезна для изменения уже существующих записей без внесения каких-либо нарушений в существующую базу данных. Для полной модификации требуется некоторая модификация в нескольких областях. Эта функция известна как Update как в SQL, так и в Oracle HCM Cloud. Пример: Для того, чтобы изменить значение объекта, выполним PUT-запрос для URL-адреса конкретного объекта. Вот так: PUT http://www.example.com/fruits/3/ { "fruits": { "name": “Ripe Watermelon”, "color": “Blood Red” } } Если возвращается идентификатор состояния 200, то обновление прошло успешно. Для подтверждения вы можете прочитать этот объект повторно и просмотреть значения для него. Delete При помощи этой функции пользователи могут удалять определенные записи или данные из определенной базы данных. Вы можете удалять данные, которые больше не нужны или устарели. Удаление бывает двух типов: обратимое или необратимое удаление. Необратимое удаление удаляет данные один раз, а обратимое используется для обновления состояния строки данных без ее окончательного удаления. Пример: Это очень просто. Давайте удалим созданный нами объект. DELETE http://www.example.com/fruits/3/ Теперь при GET-запросе (чтение) вы получите код 404, который говорит о том, что данных по вашему запросу нет. Преимущества CRUD Есть что-то, что заставляет разработчиков и дизайнеров приложений предпочитать CRUD любому другому подходу. Это «что-то» - это непревзойденная производительность, интегрированная с некоторыми уникальными функциями. Основные преимущества, которыми можно воспользоваться после запуска CRUD, представлены ниже. Меньшая вероятность атак путем внедрения SQL-кода Использование SQL-языка имеет больше шансов столкнуться с SQL-атаками, поскольку все операторы SQL выполняются непосредственно на SQL-серверах. Сервер также хранит инструкции и процедуры SQL, доступ неавторизованных ресурсов к которым может оказаться фатальным. Использование CRUD позволяет контролировать возможные атаки путем внедрения SQL-кода, поскольку использует уже сохраненные действия и не требует создания динамических запросов с использованием данных конечного пользователя. Кроме того, такой подход использует однозначное цитирование параметров SQL-операторов. Лучшая защита от случайного просмотра Пользователи специальных SQL-операторов должны получить разрешение на доступ к таблицам базы данных. После успешного предоставления разрешения конечным пользователям разрешается читать и управлять данными, имеющимися в Excel, Word и любой другой программе. Также возможен обход бизнес-правил приложения. Однако делать это не всегда выгодно. Риски утечки данных есть всегда. CRUD в такой ситуации полезен, так как делает возможным использование ролей приложений. Используя роли приложений, можно обеспечить высоко интегрированную безопасность базы данных и контролировать права доступа. Полномочия могут защищаться паролем, а поскольку пароли также интегрированы в приложение, то изменить их сложно. Таким образом, можно покончить со случайным просмотром. CRUD vs REST – сравнение CRUD и REST очень часто используют для обозначения одного и того же подхода. Такая путаница очевидна, так как приложения REST следуют принципу, подобному CRUD, для взаимодействия с другими приложениями или компонентами. Тем не менее, эти два термина не идентичны и имеют ряд явных сходств и различий. Что общего? Приложения REST разрабатываются с сохранением определенного набора ресурсов в смысловом центре. Эти ресурсы, как и ресурсы CRUD, можно легко создавать, читать, модифицировать и удалять. Просто вместо Create, Read, Update и Delete в REST используются ресурсы PUT/POST, GET, PATCH/POST и DELETE. В чем разница? Абсолютно точно, то у этих двоих больше различий, чем сходств. Взгляните на ключевые различия между ними. В части определения REST упоминается как архитектурная система, а CRUD – как функция. REST «крутится» вокруг ресурсов, основанных на компонентах HTTP. CRUD «крутится» вокруг информации, хранящейся в настройках базы данных. CRUD может быть частью REST, но REST не может быть частью CRUD. REST – это независимый подход, который может правильно функционировать и без CRUD. Что такое CRUD-тестирование? CRUD-тестирование – это оригинальная методология тестирования методом «черного ящика», которая широко используется для подтверждения полезности данного программного обеспечения в режиме реального времени. Это понятие используется для SQL и других ресурсов СУБД, для которых гарантируется точное отображение данных, сквозное обслуживание ACID-свойств и несравнимая целостность данных. Обеспечение безопасности в REST и CRUD-операциях Аутентификация, авторизация и учет использования ресурсов (или ААА – Authentication, Authorization, Accounting) – это крайне эффективная практика безопасности, которая одинаково хорошо подходят для REST и CRUD. Она включает в себя аутентификацию конечных пользователей, выполнение авторизации перед каждым доступом и привлечение конечных пользователей к ответственности за свои действия или использование данных.
img
В нынешнее время почти во всем мире компьютеры и сети становятся все быстрее. И это в общем-то отлично сказывается как на веб-разработке, так и на взаимодействии с пользователями. Плюс ко всему, появилось огромное количество перспектив для людей.  И хотя во многом рост очевиден, все же есть те, кто остались позади в этой спринтерской гонке. Есть один большой вопрос: как мы можем уравнять возможности работы в сети с учетом такого цифрового неравенства и как мы можем сделать Интернет более доступным для людей, у которых не такие эффективные компьютеры и сети? Во многом ответ заключается в том, как мы отображаем веб-страницы в браузере. Термины, которые мы будем использовать в этой статье Пока мы не начали, я хочу убедиться, что вы хорошо знакомы с терминами, которые будут встречаться в этой статье. Для новичков в разработке некоторые термины могут показаться особенно сложными для понимания. Если вы уже знаете эти термины, смело переходите к следующему разделу. Сервер . Сервер – это удаленный компьютер, который чаще всего расположен в Интернете. К его работе относится обработка запросов от клиентов и ответы на эти запросы. Клиент . Клиент – это любое устройство, которое взаимодействует с сервером с целью получить доступ к ресурсам. Как правило, клиент – это любое устройство с выходом в Интернет. В этой статье роль клиента играет как раз веб-браузер.  CDN , сокращенно от Content Delivery Network (сеть доставки контента). CDN – это «сеть взаимосвязанных серверов, которая ускоряет загрузку веб-страниц в тяжелых приложениях» (от AWS). Время компоновки . В течение этого времени код вашего приложения подготавливается для использования в другой среде. Чаще всего эта среда находится на сервере в Интернете.  А теперь давайте поговорим о различных способах отображения веб-сайтов.  Что такое рендеринг на стороне клиента? Рендеринг на стороне клиента (CSR – Client-Side Rendering) создает веб-страницы в браузере, при этом полностью опираясь на ваш код JavaScript. Прежде чем пользователь увидит содержимое вашей страницы, браузер должен обработать ваш JS-код от и до.  Этот JS-код помогает динамически определять архитектуру сайта, как только он загрузится. В данном случае под архитектурой понимается извлечение данных из API, навигация по сайту и простейшая бизнес-логика на вашем сайте.  Рендеринг на стороне клиента и фреймворки JavaScript Рендеринг на стороне клиента стал набирать популярность после того, как были выпущены фреймворки и библиотеки JavaScript, в частности, React, Vue и Angular. Эти фреймворки будут работать только в том случае, если вы добавите CDN в самом начале HTML-страницы, а эти CDN, как правило, представляют собой огромный JS-код.  Ни для кого не секрет, что большие файлы увеличивают время загрузки, но здесь есть одно «но»: если большие файлы были загружены при начальной загрузке приложения, то время загрузки других страниц этого сайта будет существенно меньше.  В первую очередь веб-сайт извлекает данные из API. После чего эти данные используются для того, чтобы заполнить страницы, которые отображаются на клиенте.  Среди реальных приложений, которые используют CSR, есть большое количество прогрессивных веб-приложений, например, Spotify, Figma и Google Drive.  Что такое рендеринг на стороне сервера?   Рендеринг на стороне клиента – это событие, которое в корне изменило правила игры, и во многом это до сих пор так. Однако, если тщательнее присмотреться к качеству функционирования CSR, то можно заметить, что чем больше у веб-сайта функций, тем больше в нем JS-кода. А мы ведь помним, что чем больше JS-кода, тем больше время загрузки.  Тяжелая начальная загрузка в качестве средства для более быстрого доступа к остальным веб-страницам оказалась не тем компромиссом, на который готовы были пойти пользователи. И это поспособствовало возникновению рендеринга на стороне сервера (SSR – Server-Side Rendering). Конечно, SSR не решил все проблемы, связанные с рендерингом в Интернете, но решил большую часть проблем, с которыми сталкивался CSR. В частности, он уменьшил время начальной загрузки. Также мы отметили некоторые другие преимущества SSR (в сравнении с CSR) в разделе «Преимущества и недостатки».  Рендеринг на стороне сервера позволяет создавать страницу на сервере сразу после того, как от браузера поступил запрос. Если вы используете SSR, то ваш сервер отобразит весь код HTML, CSS и JavaScript, который необходим для запрошенного ресурса, и отправит его обратно в браузер.  При таком подходе вы всегда можете быть уверены в том, что ваш сайт содержит самую актуальную информацию с сервера. Вы можете рассматривать это как интеграцию REST API – содержимое с сервера всегда будет самым актуальным.  Как и у любого другого метода рендеринга в Интернете, у SSR есть свои недостатки. Начать хотя бы с того, что тот факт, что для загрузки веб-страницы нужно отправить сетевой запрос на сервер, может отразиться на пользователях, чья скорость Интернет-соединения меньше, чем у других. Кроме того, для работы SSR требуется довольно большой объем вычислительной мощности.  Что такое генерация статических сайтов? Генерация статических сайтов – довольно распространенный подход к рендерингу в Интернете. Это обусловлено тем, что до того, как появились фреймворки JavaScript, большая часть веб-сайтов (если не все) генерировались статически.  Статические сайты не потеряли своей популярности, но теперь есть более эффективные способы их создания. Это подтверждает тот факт, что они важны с точки зрения производительности в сети.  Но что же такое статический сайт? Статический сайт отображается в браузере ровно так, как он был сгенерирован. Пользователь, который просматривает сайт, никак не может повлиять на содержимое статического сайта, что не скажешь о веб-приложении, которое отображается с помощью CSR или SSR, где каждый пользователь может посматривать содержимое, пройдя процесс аутентификации или авторизации.  Статические сайты идеальны для отображения содержимого, которое никогда не будет меняться и которое не нужно периодически обновлять. Объясняем, что такое генерация статических сайтов Генерация статических сайтов (SSG – Static Site Generation) в большинстве случаев включает в себя автоматизацию процесса создания веб-страниц. У фреймворков JavaScript (например, Nuxt.js, Next.js и т.д.) есть шаблонизатор, с помощью которого вы можете создать несколько статических веб-страниц, используя лишь один шаблон. Конечно, это экономит ваше время. Отличие SSG от CSR и SSR состоит в том, что HTML-страницы вашего сайта отображаются и генерируются в процессе сборки, то есть еще до того, как пользователь попытается получить к ним доступ. Именно поэтому SSG нередко называют предварительным рендерингом. Всю трудоемкую работу он выполняет заблаговременно.  Несмотря на то, что SSG может показаться вам благодатью, у него все же есть некоторые минусы. Основной недостаток SSG-рендеринга состоит в том, что страница должна генерироваться для каждого доступного URL на вашем сайте. К тому же, этот процесс может усугубиться и стать еще более громоздким, если у вас есть динамические страницы.  Напомним, что статические сайты идеально подходят для демонстрации содержимого, которое требует довольно редких обновлений. Соответственно, такой метод рендеринга подходит далеко не для всех случаев.  Преимущества и недостатки различных методов рендеринга Теперь, когда мы выяснили, как работают все эти методы рендеринга, давайте объединим всю эту информацию и сравним их.  Мы проанализируем три основных показателя – производительность, SEO и стоимость. Производительность Для того, чтобы вы могли создавать веб-сайты, которые будут доступны для пользователей независимо от скорости их Интернет-соединения или мощности их компьютера, мы должны учитывать такой показатель, как производительность. В данном случае производительность можно связать с тем, как быстро веб-сайт загружает или извлекает данные из API. Далее продемонстрировано то, как CSR, SSR и SSG ведут себя с точки зрения производительности.  Производительность CSR Загрузка CSR-сайта может оказаться довольно медленной. Дело в том, что, прежде чем пользователи смогут увидеть содержимое веб-сайта, необходимо, чтобы JS-код загрузился и сгенерировал это самое содержимое. Зачастую загрузки JS-кода бывают тяжелыми, особенно если вы используете фреймворки JavaScript. Также может возникнуть ситуация, что CSR-странице нужно будет выполнить вызов API, чтобы извлечь данные с сервера. Это также может увеличить время загрузки.  Производительность SSR SSR-страницы могут оказаться довольно быстрыми. В основном это зависит от скорости сервера и пользователя. Если и там, и там все хорошо, то SSR может с легкостью победить с точки зрения производительности.  Производительность SSG SSG-страницы довольно быстрые, поскольку фактический рендеринг происходит вне браузера.  SSG подает браузеру содержимое, которое ему необходимо, не требуя от него никаких дополнительных действий. У SSG-страниц, как и у CSR-страниц, также может возникнуть необходимость выполнить вызов API для того, чтобы извлечь данные с сервера. Это, конечно, увеличивает время загрузки.  В принципе, производительность веб-страницы определяется количеством JavaScript в ней.  Поисковая оптимизация (SEO – Search Engine Optimization) Каждый веб-сайт, для которого важно, чтобы его видели пользователи, должен дорожить такой вещью, как поисковая оптимизация. SEO определяет то, насколько ваш сайт будет доступен в таких поисковых системах, как Google. К тому же, от поисковой оптимизации зависит то, насколько высоко будет находиться ваш сайт на страницах результатов поиска. Давайте посмотрим на то, как воплощаются в жизнь все эти три метода при индексации поисковыми системами.  Поисковая оптимизация CSR На CSR-страницах, как правило, нет какого-то содержательного контента, и, к тому же, для того, чтобы создать этот контент, они полностью полагаются на JS. Но здесь есть и подводные камни – не все поисковые роботы поддерживают JS, поэтому ваш веб-сайт может быть неверно проиндексирован в поисковых системах.  Поисковая оптимизация SSR SSR отображает полноценные веб-страницы с актуальным содержимым, полученным с сервера. Поисковые системы вполне могут просканировать и проиндексировать SSR-страницы. Поисковая оптимизация SSG Для поискового робота не составит труда просканировать SSG-страницы, поскольку для полного отображения они не полагаются на JS.  Стоимость Это важно, чтобы у пользователей оставались лишь хорошие впечатления от посещения веб-сайта, но счета сами себя не оплатят. Поэтому не менее важным моментом являются суммарные затраты на это взаимодействие, которые должны быть как можно меньше.  Расходы на каждый из методов рендеринга далеко не одинаковые. Ниже мы более подробно разберем, сколько стоит каждый из них.  Стоимость CSR CSR на 100% выполняется в браузере. А это значит, что вам не нужно будет влезать в какие-то дополнительные расходы. Стоимость SSR SSR генерирует полноценную веб-страницу удаленно на сервере. А это значит, что вас ожидают дополнительные расходы, как денежные, так и ресурсные. Стоимость SSG Это бесплатно! Статические веб-сайт генерируется в процессе сборки. А это значит, что сгенерированные веб-страницы размещаются на хосте, и никакого дополнительного рендеринга на сервере не требуется.  Заключение  Когда вы будете выбирать между различными методами рендеринга, учитывайте то, для чего вы будете его использовать и что в таком случае больше всего подходит. Для этого вы, как раз, можете использовать информацию, которую узнали из этой статьи. Для разных веб-сайтов нужны различные методы рендеринга.  Разработчик торговой онлайн-площадки может пойти путем SSR или почувствовать себя в большей безопасности с SSG. Но с другой стороны, разработчик веб-приложений может согласиться на долгую первоначальную загрузку в том случае, если в результате это повлечет за собой лучшее взаимодействие с пользователями. Неважно, какой метод рендеринга вы выберете, убедитесь, что ваш веб-сайт всегда доступен, за исключением ситуаций, с которыми вы вряд ли когда-то столкнетесь. И последнее, не забывайте соблюдать JS-диету. 
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59