По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
WebAssembly – это формат двоичных команд и виртуальная машина, которые обеспечивают приложения веб-браузера почти собственной производительностью и позволяют разработчикам создавать высокоскоростные веб-приложения на любом языке.  На протяжении уже двух десятилетий у нас есть лишь один язык программирования, который можно использовать в веб-браузере в исходном формате – это JavaScript. Медленная деградация сторонних бинарных программных расширений сбросила со счетов основных игроков веб-разработки, среди них такие языки, как Java и Flash ActionScript. А другие языки, такие как CoffeeScript, просто компилируются в JavaScript.  Но теперь у нас есть кое-что новое: WebAssembly, или сокращенно Wasm. WebAssembly – это небольшой быстрый двоичный формат, который обеспечивает веб-приложения почти собственной производительностью. К тому же, WebAssembly может компилировать любой язык, а JavaScript – всего один из них.  С учетом того, что все основные браузеры поддерживают WebAssembly, пришло время серьезно задуматься о том, чтобы начать писать клиентские веб-приложения, которые можно было бы скомпилировать как WebAssembly.  Важно отметить, что приложения WebAssembly не направлены на то, чтобы  заменить приложения JavaScript – во всяком случае, не сейчас. Напротив, представьте, что WebAssembly – это  компаньон JavaScript. В то время как JavaScript является гибким, динамически типизированным и доставляется в виде удобного для восприятия исходного кода, WebAssembly является высокоскоростным, строго типизированным и доставляется в компактном двоичном формате. Разработчикам стоит рассмотреть WebAssembly в качестве отличного вариант для сценариев использования, которые требуют высокой производительности, например, игры, потоковая передача музыки, редактирование видео и CAD-приложения (системы автоматизированного проектирования). Многие веб-сервисы уже сделали этот шаг, например, Google Earth. Figma – приложение для совместных графических проектов, также приобщились к WebAssembly с целью сократить время загрузки и скорость выполнения, и это было еще даже тогда, когда WebAssembly был относительно новым.  Как работает WebAssembly WebAssembly был разработан W3C, и, выражаясь словами его создателя, является «целевой платформой для компиляции». Разработчики не пишут код непосредственно на WebAssembly; они пишут его на предпочтительном для них языке, который затем компилируется в байт-код WebAssembly. Далее байт-код запускается на клиентской платформе – как правило, в веб-браузере – где он преобразовывается в собственный машинный код и выполняется на высокой скорости.  Код WebAssembly должен загружаться, анализироваться и выполняться быстрее, чем JavaScript. Когда веб-браузер использует WebAssembly, на загрузку и настройку модуля Wasm все также необходимы дополнительные ресурсы. Для более крупных проектов Wasm эти модули могут достигать размеров в несколько мегабайт, соответственно, задержки могут быть существенными.  WebAssembly также предоставляет изолированную модель выполнения, в основе которой лежат те же модели безопасности и в JavaScript. Приложения Wasm не могут получить доступ к чему бы то ни было за пределами изолированной программной среды, в том числе и к объектной модели веб-страницы, на которой они работают. Для любого взаимодействия с остальной частью машины необходимо использовать ABI (Application Binary Interface – двоичный интерфейс прикладных программ), такие как WebAssembly System Interface, сокращенно WASI, – системный интерфейс WebAssembly. WASI обеспечивает контролируемый доступ к файлам, сети, системным часам и другим системных службам, которые часто используются в программах.  ейчас самым распространенным вариантом использования WebAssembly является его запуск в веб-браузерах, но WebAssembly был задуман как нечто большее, чем просто веб-решение. Проект Wasmer запускает приложения WebAssembly на стороне сервера, практически аналогично тому, как среда выполнения Node.js запускает JavaScript вне браузера.  Сценарии использования WebAssembly Самый примитивный вариант использования WebAssembly – это создание программного обеспечения для браузера. Компоненты, которые затем будут скомпилированы в WebAssembly, можно написать на любом из огромного числа языков; затем конечная полезная нагрузка WebAssembly доставляется клиенту через JavaScript.  WebAssembly был разработан с учетом ряда сценариев использования в браузере, которые требуют высокой производительности: игры, потоковая передача музыки, редактирование видео, CAD-приложения, шифрование и распознавание изображений, и здесь перечислены лишь некоторые из них.  В целом при определении индивидуального сценария использования WebAssembly будет полезно направить свое внимание на следующие три немаловажные составляющие: Высокопроизводительный код, который уже существует на каком-то языке. Например, если у вас есть высокоскоростная математическая функция, которая уже написана на С, и вы хотите добавить ее в веб-приложение, то вы можете развернуть ее как модуль WebAssembly. Части приложения, которые не так критичны с точки зрения производительности и ориентированные на пользователя, можно оставить в JavaScript.  Высокопроизводительный код, который необходимо писать с нуля, и JavaScript для него не самый лучший вариант. Раньше, чтобы написать такой код, можно было воспользоваться asm.js. Вы по-прежнему можете сделать именно так, но WebAssembly все же считается лучшим долгосрочным решением.  Перенос настольного приложения в веб-среду. Под эту категорию попадают многие технологические демонстрации для asm.js и WebAssenbly. WebAssembly может стать основой для приложений, которые являются более многообещающими, нежели обычный графический интерфейс, представленный через HTML.  Если у вас есть приложение JavaScript, которое не превышает предельную производительность, то лучше оставить его как есть на этом этапе разработки WebAssembly. Но, если вам необходимо ускорить это приложение, то WebAssembly – это то, что вам нужно.  Поддержка языка WebAssembly WebAssembly не предназначен конкретно для написания кода. Судя по названию, это что-то, что похоже на язык ассемблера, то есть то, что может воспринимать машина, в отличие от высокоуровневого и удобного для восприятия языка программирования. WebAssembly находится ближе к промежуточной форме представления (IR – Intermediate Representation), созданной инфраструктурой компилятора языка низкоуровневой виртуальной машины, чем к C или Java.  В связи с этим, большая часть рабочих сценариев для WebAssembly включают в себя написание кода на высокоуровневом языке и его преобразование в WebAssembly. Для этого можно воспользоваться любым из трех основных способов: Прямая компиляция . Исходный код преобразуется в WebAssembly с помощью собственного набора инструментов компилятора языка. У Rust, C/C++, Kotlin/Native и D на данный момент есть свои собственные способы порождения Wasm из компиляторов, которые поддерживают эти языки.  Сторонние инструменты . Язык не имеет встроенной поддержки Wasm в своем наборе инструментальных средств, но для того, чтобы преобразовать код в Wasm, можно воспользоваться сторонней программой. Такую поддержку имеют Java, Lua и семейство языков .Net. Интерпретатор на основе WebAssembly . Здесь не сам язык преобразуется в WebAssembly, а скорее интерпретатор языка, написанный на WebAssembly, запускает код, который был написан на этом языке. Это наиболее громоздкий подход, так как интерпретатор может состоять из нескольких мегабайт кода, но при этом с его помощью можно запустить уже существующий код, который был написан на каком-либо языке, по сути неизменным. У Python (например, через PyScript) и Ruby есть интерпретаторы, преобразованные в Wasm. Особенности WebAssembly WebAssembly все еще находится на начальных этапах своего развития. Набор инструментальных средств и реализация WebAssembly остаются ближе к внутреннему исследовательскому проекту, нежели к производственной технологии. Несмотря на это, разработчики WebAssembly имеют на примете ряд предложений для того, чтобы сделать WebAssembly более полезным: Элементарные процедуры сборки мусора WebAssembly напрямую не поддерживает языки, которые используют модели памяти с автоматическим сбором мусора. Такие языки, как Lua или Python, могут поддерживаться только посредством ограниченного набора функций или встраивания целой среды выполнения в качестве исполняемого файла WebAssembly. Впрочем, уже ведутся работы по организации поддержки моделей памяти с автоматической сборкой мусора без привязки к определенному языку или реализации.  Многопоточность Встроенная поддержка многопоточности характерна для таких языков, как Rust и C++. Так как  в WebAssembly отсутствует поддержка многопоточности, это означает, что мы не сможем написать целый ряд классов программного обеспечения, предназначенного для WebAssembly, на этих языках. В основе предложения добавить многопоточность в WebAssembly лежит прекрасный пример, а именно модель многопоточности C++. Операции с памятью большого объема и архитектура SIMD Операции с памятью большого объема и параллелизм SIMD (single instruction, multiple data – один поток команд-много потоков данных) являются обязательными для приложений, которые обрабатывают огромное количество данных и которым необходимо ускорить ЦП, чтобы избежать перегрузки, например, для программ машинного обучения или прикладных программ для научных исследований. Обсуждаются предложения по добавлению этих возможностей в WebAssembly с помощью новых операторов.  Высокоуровневые языковые конструкции  Большую часть других функций, рассматриваемых для WebAssembly, можно сопоставить с высокоуровневыми конструкциями на других языках.  Исключения можно эмулировать в WebAssembly, но при этом их нельзя исходно реализовать их с помощью набора команд WebAssembly. Предлагаемый проект включает в себя простейшие исключения, которые совместимы с моделью исключений C++, которые, соответственно, могут использоваться другими языками, скомпилированными в WebAssembly.  Ссылочные типы упрощают передачу объектов, которые используются в качестве ссылок на серверную среду. Это может упростить реализацию сборки мусора и целого ряда других высокоуровневых функций в WebAssembly.  Завершающие вызовы - это шаблон проектирования, которые используется во многих языках. Функции, которые возвращают несколько значений , например, через кортежи в Python или C#.  Операторы расширения знакового разряда – полезная низкоуровневая математическая операция. (Низкоуровневая виртуальная машина их также поддерживает.) Инструменты отладки и профилирования Одна из самых больших проблем транспилированного кода JavaScript заключалась в сложности отладки и профилирования из-за того, что нельзя было согласовать транспилированный код с исходным. У WebAssembly есть аналогичная проблема, и решается она точно также (поддержкой карты исходного кода). 
img
Эту статью нам прислал один из наших читателей – речь пойдет о настройке SIP – транка в от IP – АТС Asterisk к провайдеру Ростелеком. Инструкция подойдет для связки с в рамках услуги «Новая телефония». Настройка Подключаемся к консоли сервера по SSH и в файле /etc/asterisk/sip.conf указываем следующие параметры: register => (логин:пароль@имя домена/логин) [rtk] dtmfmode = rfc2833 type = friend trunkname = rtk disallow = all allow = alaw:20 allow = ulaw:20 host = имя домена nat = force_rport,comedia insecure = invite,port (данный параметр необходим для входящих вызовов) defaultuser =логин fromuser =логин username =логин secret =пароль fromdomain=имя домена canreinvite=no context = контекст в extensions.conf qualify = 300 registersip=yes В более старших версиях параметр nat нужно указывать следующим образом: nat=no или nat=yes
img
Введение В серверной стойке (серверном шкафу) хранится и размещается информационно-техническое оборудование, например, выделенные серверы и сетевые коммутаторы. Установка серверной стойки сопровождается рядом преимуществ. Она позволяет использовать пространство по максимуму, оказывает помощь в подключении проводов, упрощает процесс вентиляции и охлаждения оборудования, повышает уровень физической безопасности и прочее. Когда вы устанавливаете серверную стойку, лучше всего придерживаться общих указаний. Если серверные стойки будут установлены неправильно, то это может повысить вероятность повреждения сервера и поставить под угрозу безопасность сотрудников центра хранения и обработки данных. Из этой статьи вы узнаете, как установить сервер в стойку, а также получите несколько полезных советов. Примечание: в качестве альтернативы созданию собственной серверной комнаты, вы можете разместить сервер в центре хранения и обработки данных или арендовать сервер.  Варианты, которые следует рассмотреть перед тем, как устанавливать серверную стойку В том, что касается установки серверной стойки, у вас есть два варианта: Готовые серверные стойки. Готовые серверные стойки различных размеров и конструкций. Серверные стойки по индивидуальному заказу. Стойки индивидуального размера, выполненные по индивидуальному заказу клиента. Вы можете выбрать готовую стандартную серверную стойку, установка которой проста и не требует больших усилий. Как правило, ее размеры стандартны и подходят для большинства типов оборудования. И тем не менее, они могут быть не очень дешевыми; все зависит от марки, размера и используемых материалов.  Серверные стойки, изготавливаемые по индивидуальному заказу, имеют размеры, которые определяет сам клиент. Как правило, такие стойки нужны для каких-то специфических целей. Например, стойки, выполненные на заказ, могут иметь нестандартную высоту, ширину и глубину или специальное монтажное отверстие и тип направляющей. Кроме того, они могут быть водонепроницаемыми, пылезащищенными или ударопрочными.  Нестандартные стойки иногда бывают более доступными с точки зрения стоимости, нежели стандартные, хотя это зависит от того, насколько много требований у заказчика.  Как установить серверную стойку В этом разделе мы описали процесс установки серверной стойки. Для этого вам нужно выполнить следующее: Шаг 1: отрегулируйте глубину стойки У многих серверных стоек глубина регулируется для того, чтобы ее модно было использовать для самого разного оборудования. Глубину можно отрегулировать с помощью раздвижного механизма. Таким образом, пользователи могут подогнать стойку под оборудование. Найдите внешнюю направляющую и задний кронштейн. У внешней направляющей есть отверстия, а в заднем кронштейне прорезь, в которую можно вкрутить винты с потайной головкой. Для того, чтобы отрегулировать глубину стойки, сдвиньте задний кронштейн по кронштейну внешней направляющей или по полке так, чтобы он соответствовал глубине оборудования.  Шаг 2: установите направляющие для установки сервера в стойку После того, как вы отрегулируете глубину, установите направляющие для установки сервера в стойку и полки. Инструкции по установке направляющих зависят от типа стойки, которую вы используете, крепежного механизма и типа отверстия. Некоторые производители делают направляющие, которые нужно соединять со стойкой с помощью зажимов, некоторые делают отверстия на металлическом фланце, а в этом случае уже потребуются клетевые гайки.  Например, если в стойках сделаны квадратные отверстия, то для того, чтобы прикрутить направляющие, вам потребуются клетевые гайки. Распределите направляющие соразмерно высоте оборудования. Как правило, 1U (1 стойко-место) имеет три отверстия. Для того, чтобы направляющие наверняка выдержали вес оборудования, используйте все три.  Шаг 3: прикрепите внутренние направляющие к оборудованию Закрепите внутренние направляющие на серверах и прочем монтируемом оборудовании. Самый простой способ – положить оборудование на ровную поверхность и прикрутить внутренние направляющие к серверу с помощью винтов, которые входят в комплект. Позаботьтесь о том, чтобы закрепить каждую направляющую, и проверьте, крепко ли они держатся, поскольку именно они будут поддерживать вес оборудования. Внутренние направляющие вставляются в направляющие на стойке и, вдвигаясь внутрь, фиксируют оборудование.  Есть такие универсальные направляющие, которые не нужно устанавливать на корпусе сервера. Как правило, в комплекте с ними идут винты с накатанной головкой, которые позволяют зафиксировать оборудование через среднее отверстие стойко-места. Если вы не хотите использовать направляющие рельсы или если этого не позволяют размеры оборудования, то вы можете просто установить полки и разместить на них оборудование. Шаг 4: задвиньте сервер в стойку После того, как вы прикрепили направляющие к оборудованию, выдвиньте их полностью так, чтобы они зафиксировались. Совместите внутренние направляющие, которые вы установили на оборудовании, с внешними направляющими, которые вы установили на стойке, и задвиньте из обратно в оборудование. Убедитесь, что вы задвинули сервер полностью, но не нужно прикладывать для этого большие усилия. Также убедитесь в том, что стойка надежно закреплена и не опрокинется. Закрепите оборудование в стойке с помощью монтажных кронштейнов, которые расположены по бокам стойки.  Убедитесь в том, что все работает как надо, выдвинув сервер из стойки до упора. Убедитесь, что кабели нигде не пережимаются, и медленно задвиньте сервер обратно.  Рекомендации по установке серверной стойки Если вы намереваетесь устанавливать серверную стойку, то вам следует все тщательно спланировать. Вот какие факторы вам нужно учесть: тип оборудования, которое вы будете использовать, пространство, которое необходимо для размещения оборудования и надлежащая фиксация. Очень важно все изучить и найти самые лучшие стойки, которые максимально подойдут к вашему оборудованию. При установке серверной стойки следует руководствоваться советами и рекомендациями, приведенными в разделах ниже. Конструкция стойки Если речь идет о сооружении серверной стойки, то ее конструкция – это важный фактор. Для оборудования различного типа и размера нужны стойки различных конструкций. Вот некоторые варианты: Настенные стойки. Такие стойки предназначены для того, чтобы их крепили к стенам. Таким образом можно сэкономить площадь пола, и, кроме того, такой вариант стоек подходит для мест, в которых другие типы стоек просто не поместятся. Как правило, они меньше, чем напольные стойки, и не могут выдерживать такой же большой вес. Закрытые стойки. У них снимаются задние и передние двери и боковые панели. Кроме того, вертикальные направляющие можно регулировать. Это идеальный вариант для тяжелого и перегревающегося оборудования. Такой тип стоек обеспечивает большую безопасность, так как его можно закрывать. Бескорпусные стойки. Это открытый корпус с направляющими. У него нет дверей и боковых панелей. Такие стойки отлично подходят для тех случаев, когда вам не нужно контролировать воздушный поток и вам не нужен высокий уровень безопасности. Кроме того, за счет удобного доступа к оборудованию и большому пространству для прокладки кабелей, бескорпусные стойки подходят для сетевой проводки. Размер стойки Размер стойки должен соответствовать серверу/оборудованию. Проверьте размеры оборудования и стойки, которую вы планируете использовать. Убедитесь в том, что они не слишком плотно прилегают друг к другу и вокруг оборудования имеется пространство в один дюйм. Проверьте устанавливаемую ширину, глубину и высоту сервера. Чаще всего, серверные стойки состоят из стойко-мест. Стойко-место (1U) – это пространство высотой 1,75 дюйма (44,45 мм), у которого есть три отверстия для установки. Один из ключевых моментов, который нужно учитывать, когда вы покупаете стойку, - количество стойко-мест, которое вам необходимо для того, чтобы разместить оборудование. Как правило, стойка нормального размера имеет высоту 42U, то есть это значит, что в нее можно вместить оборудование высотой 19 дюймов. Но всегда стоит оставлять дополнительное пространство для горизонтальной прокладки кабелей или на случай, если вы захотите расшириться в будущем. Ширина стойки стандартная (EIA-310-E). Глубина оборудования – это параметр, который чаще всего разный для разного оборудования, поэтому глубину направляющих и полок, как правило, можно регулировать. Стандартная глубина стойки – примерно 42 дюйма. Рассчитывайте размер стойки в зависимости от типа оборудования. Например, размер сетевых коммутатором, как правило, - от 1U до 2U, серверов – от 1U до 4U, а блейд-серверов – от 5U до 10U и больше. В случае, если оборудование и стойка не подходят друг к другу, можно воспользоваться набором монтажно-подгоночных инструментов. Охлаждение Охлаждение – это важный фактор, который нужно учитывать, когда вы проектируете серверную комнату, поскольку оборудование может выделять довольно много тепла. Обязательно распланируйте то, как будут размещаться стойки в помещении, чтобы горячий воздух не рециркулировал и не смешивался с холодным, который подается в комнату. Если вы сможете обеспечить хороший воздушный поток, то сможете поспособствовать эффективности, охлаждению и сможете снизить риск возгорания. В общем, чем больше у вас будет свободного пространства, тем больше будет воздушный поток. Кроме того, охладить оборудование могут различные устройства переменного тока и вентиляторы. И стойку лучше не размещать рядом с окнами, дабы избежать воздействия солнечных лучей. Также стойки стоит размещать сплошными рядами с горячими (для стоек, расположенных вплотную друг к другу) и холодными проходами (для стоек, расположенных лицом к лицу), что снизит энергопотребление до 20%. Поставьте стойки вплотную друг к другу, чтобы уменьшить рециркуляцию воздуха. Таким образом охлаждение оборудования будет проходить более эффективно.  Кроме того, надлежащая прокладка кабелей может помочь обеспечить достойную вентиляцию и хороший воздушный поток. Расположение приборов в стойках Прежде чем устанавливать оборудование, распланируйте то, как оно будет располагаться. Проанализируйте, какое оборудование вы будете использовать, сколько вам нужно для этого места и в каком порядке оно будет располагаться в стойке. Самое тяжелое оборудование, например, PDU (power distribution unit – блок распределения электропитания) или UPS (uninterruptible power supply - источник бесперебойного электропитания), должно располагаться в самом низу стойки. Это позволяет сделать стойку более устойчивой. Ее верхняя часть не будет перегружена, а, значит, она не опрокинется. В средней части стойки, как правило, располагаются перекрестия и коммутационные панели. Для этого оборудования больше всего подходит именно середина, поскольку она находится на уровне глаз, что упрощает обслуживание и подключение витых пар. Серверы, коммутаторы и прочее активное оборудование, чаще всего, располагают под коммутационными панелями. Кроме того, стоит нарисовать чертеж общего расположения оборудования, на котором будет отображена информация, которая потом может помочь определить компоненты и конфигурации. Вы можете обновлять этот чертеж для того, чтобы отслеживать даты установки и облуживания оборудования. Помимо всего прочего, вы может использовать этот лист для того, чтобы систематически проводить техобслуживание оборудования. Обязательно маркируйте и снабжайте свои установки документами, в том числе и кабели. Это необходимо для того, чтобы избежать таких недоразумений, как непреднамеренное отключение или перезапуск критической системы. К тому же, это поможет новым сотрудникам быстро ознакомиться с различными компонентами установки.  Расположение Идеальная серверная комната должна быть максимально защищена, так как в стойках находится дорогостоящее оборудование, на котором хранятся критически важные коммерческие данные. Самый лучший вариант для размещения серверной комнаты – помещение без окон и с ограниченным доступом. Если сотрудники или посетители могут получить к ней доступ, важно, чтобы комнату можно было закрыть на ключ.  Есть еще одна причина, по которой серверную комнату лучше изолировать. Это позволит снизить вероятность возникновения несчастных случаев. Если неквалифицированный персонал будет иметь доступ к серверам, это может повлечь за собой некоторые риски, например, на оборудование могут пролить воду, его могут ударить или опрокинуть. Кроме того, серверы выделяют довольно много тепла и могут быть шумными, а, значит, могут стать проблемой для людей, которые работают рядом с ними. Электропитание Как правило, оборудование, установленное в серверной стойке, требует большого количества розеток. Это может оказаться проблемой, если провода нужно подключать к розетке, которая расположена далеко на стене. Эту проблему может решить блок распределения электропитания (PDU). Кроме того, это надежный источник электропитания, который нужен для работы настольных приложений высокой степени доступности. Помимо всего прочего, PDU предоставляет данные мониторинга, удаленное управление, автоматизированную систему оповещений и управление отдельными розетками. Есть еще одна вещь, о которой не стоит забывать, и это перегрузка цепей, которой следует избегать. В связи с этим, обязательно проверьте плотность размещения вашего оборудования в стойке. Также важно заземлить оборудование, чтобы защитить сервер и людей от электрических разрядов.  Заключение В этой статье мы рассказали о том, как установить сервер в стойку, а также привели общие указания и рекомендации, которые помогут вам безопасно установить серверную стойку. Несмотря на то, что для того, чтобы установить стойку, не нужны какие-то специальные навыки, к этому процессу стоит относиться ответственно, чтобы правильно и надежно установить оборудование. Сервер дает большое количество преимуществ, в том числе совместное использование файлов и контроль доступа. Впрочем, если вам нужна безопасность премиум-класса, то вам стоит задуматься о том, чтобы разместить сервер в защищенном центре хранения и обработки данных или взять его в аренду.
ЛЕТНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59