Поздравляем всех наших поклонников и слушаетелей с праздниками Новогодними и Рождеством!
Удачи и счасть Вам! Это был нелегкий год для нашей группы и надеемся, что вот вот в 2014 году увидит свет наш новый альбом. Мы все этого действительно ждем и прикладываем все необходимые усилия для этого!
Некоторые частные переводчики и бюро предлагают услугу «экспресс-перевода» технического текста. Насколько это реально? Прежде чем ответить на поставленный вопрос постараемся рассмотреть общие принципы, которые помогут найти надежного специалиста для перевода технических документов.
Общеизвестно, что технический перевод с английского на русский язык разительно отличается от работы с литературными произведениями. Основными принципами в этом случае выступает адекватность и точность результата, предназначенного для целевой аудитории. Насколько успешно будет выполнен технический перевод, определяется еще до момента, когда специалист получит материалы. Сам заказчик закладывает основание для получения качественного результата!
Необходимо понимать, что технический перевод наполовину качественным не бывает. В любом случае он должен быть безукоризненным, а не просто хорошим на 50, 75 или 99%. Чтобы получить именно такой результат агентство переводов должно получить исходный текст в соответствующем состоянии. Ответственный за вручение документации в бюро переводов должен полностью проверить его на ошибки.
Наличие в материале, подлежащему техническому переводу даже кусочка постороннего текста либо отсутствие даже одной страницы, может сыграть решающую роль. Может быть, это уже не первое ваше обращение к переводчику и в вашем распоряжении имеется определенный глоссарий или список часто употребляемых терминов? Предоставьте его в переводческое агентство, тогда перевод технических текстов будет выполнен в том же стиле, что и предыдущие материалы.
Если вы подыскиваете подходящего индивидуального переводчика, тогда универсальные специалисты, которые работают «с любыми текстами любой тематики», должны вас насторожить. Для одного человека высшим достижением станет освоение даже двух-трех детально изученных направлений технического перевода. А вот агентство переводов, которое завоевало безупречную репутацию, сможет справиться с более широким перечнем услуг.
Если вы решили сотрудничать с агентством по переводу технических текстов, то не пожалейте нескольких минут своего времени и узнайте из интернета о его репутации. Работать следует лишь с теми компаниями, которые продемонстрируют качество своих трудов. Для этого бюро может предоставить тестовый образец переведенного технического документа или его части.
На пути к идеальному переводу
Могут ли ваши специалисты сотрудничать с работниками агентства переводов? Их помощь может оказаться незаменимой: она позволит адаптировать технические аспекты и детали. Как показывает практика, такой производственный тандем позволяет получить наилучшие результаты.
Одна из распространенных ошибок – стремление к чрезмерной экономии. Случай из нашей практики наглядно это демонстрирует. Однажды мы получили заказ по переводу инструкции к устройству, которая была представлена на корявом английском языке. Как выяснилось позже, прибор оказался китайским. Перевод с этого языка стоит на порядок дороже, поэтому клиент решил сэкономить. «Пекинские специалисты» выполнили перевод не самым лучшим образом. Чрезмерная экономия может привести к существенным переплатам!
И последний момент: чтобы техническую документацию перевести качественно, необходимо время. Лозунги о «скоростном переводе» только рекламный ход. Каким бы профессионалом не был переводчик, после его работы текст подлежит редактуре и корректировке. Так можно ли получить за сутки технический перевод высочайшего качества? Ответ очевиден.
Формат MP3 появился более 20 лет назад. Вспомните, что это было за время — домашние компьютеры «ZX-Spectrum», дискеты 5 дюймов, первые Пентиумы. Проблема сжатия музыкальных данных стояла очень остро, а формат MP3 решал все вопросы, уменьшая длину файлов в 5-10 раз (см. РА-11/ 2002, с.14). Очень пригодились MP3-файлы на начальном этапе развития Интернета, когда скорость трафика была мизерной и каждый сэкономленный байт информации считался на вес золота.
Сейчас основное достоинство формата MP3 -малый объем файлов — нивелировалось, во-первых, дешевыми картами памяти (фирма «Kingston» в 2013 году начала продавать флешки объемом 1 ТБайт!), во-вторых, безлимитным высокоскоростным Интернетом 5-100 Мбит/с, т.е. принимать и пересылать большие по объему файлы затруднений не вызывает.
К сожалению, при кодировании MP3 теряется часть информации, в связи с чем музыкальные произведения звучат чуть-чуть не так, как в оригинале. В этом отношении лучше применение несжатых WAV-файлов. Кроме того, для формата MP3 по-прежнему требуется лицензирование <http://www.mpeg.org/>. Например, программу MP3-кодека можно встроить в широко распространенные 32-разрядные МК STM32F103. Только сначала надо подписать лицензионное соглашение с местным дилером, затем получить от него диск с аудиодвижком и документацией. Но даже наличие диска все равно не освобождает разработчика от денежных отчислений за использование формата MP3 в коммерческих целях.
Алгоритм кодирования и декодирования MP3 описан в стандарте ISO/IEC 11172-3 <http://ecee.colorado.edu/fmeyer/class/ecen4532/mpeg1-layerIII. pdf>. Правда, ознакомившись с ним, понимаешь, что сложные математические выкладки и двухэтажные формулы не вписываются в тематику статей журнала РА. Разбираться в структуре алгоритмов, дизассемблируя встроенные в музыкальные проигрыватели кодеки, — себе дороже, поскольку время уже ушло, программы декодирования уже написаны, аппаратные конверторы уже созданы. Опытный разработчик сразу применит микросхему VS1005 <http://www.vlsi.fi/en/products/vs1005.html> и получит готовый плеер разных форматов под девизом «all-in-one».
Что делать рядовому пользователю? Если хочется внести свою лепту в развитие систем кодирования, то можно приобщиться к свободному проекту FLAC <http://xiph.org/flac/>. Кодек FLAC сжимает файлы в среднем в 2 раза, но абсолютно без потери качества музыки. Интересно было бы внедрение такого кодека в разные МК по примеру проекта Microchip PIC32 <http://www.k9spud. com/traxmod/>. Тот, кто имеет за плечами университетское математическое образование, может попытаться придумать свой собственный алгоритм, который был бы лучше существующих. Насколько это реально, время покажет.
Кстати, купить джинсы монтана вы можете как в интернет магазине так и в обычном магазине который торгует джинсами. Вопрос только где дешевле и удобнее. По удобству конено выигрывает интернет магазин в котором удобно просмотреть весь каталог джинсов за минуты.
Радиолюбители сегодня широко используют в своих конструкциях микроконтроллеры. Наиболее удобный и распространённый программатор для внутрисхемного (без демонтажа из целевого устройства) программирования микроконтроллеров семейства PIC — PICkit 2 и его модификации. Однако многие радиолюбители предпочитают загружать программу в микроконтроллер ещё до установки его в свою конструкцию. Для этого к PICkit 2 приходится делать приставки с панелью под программируемый микроконтроллер или с несколькими панелями, если нужно программировать микроконтроллеры разных типов с различным числом выводов. В некоторых случаях используют панель ZIF-40, в которую микрокон. Это очень неудобно и часто приводит к ошибкам, в результате которых неправильно вставленный микроконтроллер зачастую выходит из строя.
Но если панель ZIF-40 снабдить коммутатором, подключающим цепи программатора к различным её гнёздам в зависимости от типа микроконтроллера, вставленного в панель, то можно исключить путаницу, унифицировав порядок установки. Так, например, как сделано в предлагаемом устройстве, — первый вывод любого микроконтроллера семейства PIC в корпусе DIP всегда вставляют в первое гнездо панели. Число выводов корпуса микроконтроллера задают перемещением в соответствующее положение всего одной съёмной перемычки (джампера).
При разработке коммутатора было проанализировано расположение используемых для программирования выводов всей доступной номенклатуры микроконтроллеров PIC. Как видим, достаточно реализовать всего три варианта подключения панели к программатору. Первый подходит для микроконтроллеров в корпусах DIP-8, DIP-14 и DIP-20, второй — для DIP-28 и DIP-40, третий — для DIP-18.
Схема коммутатора показана на рис. 1. «Цифровые» транзисторы структуры p-n-p VT1, VT4, VT5 коммутируют напряжение питания микроконтроллеров, а такие же транзисторы VT2, VT3 — напряжение программирования. Два «цифровых» транзистора структуры п-р-п микросборки DT1 управляют транзисторами VT2 и VT3, ещё три подключают общий провод к соответствующим гнёздам панели ХЗ (остальные два имеющихся в микросборке транзистора не используются).
Три двунаправленных ключа микросхемы DD3 подают сигнал DATA на необходимые гнёзда панели ХЗ. Управляют коммутацией шинные формирователи DD1.1, DD1.2 и DD2.1. Кроме того, они подают на нужные гнёзда панели ХЗ сигнал CLK, а также формируют сигналы управления ключами DD3.1—DD3.3 в соответствии с логикой управления.
Выбор нужного варианта подключения гнёзд панели ХЗ происходит при замыкании перемычкой соответствующей пары контактов на разъёме Х2. Например, при программировании восьмивыводного микроконтроллера PIC16F675 перемычка должна стоять в указанном на схеме положении, а чтобы запрограммировать 40-выводный PIC18F4550, её нужно перенести на контакты 11 и 12 разъёма Х2.
Все выходы тех двух из трёх шинных формирователей DD1.1, DD1.2, DD2.3, входы Е1 (Е2) которых не соединены перемычкой с общим проводом, находятся в высокоимпедансном состоянии, так как благодаря резисторам R1— R3 на их входах Е1 (Е2) поддерживается высокий логический уровень. На соединённых с такими выходами управляющих входах ключей DD3.1 — DD3.3 резисторы R4—R6 поддерживают низкий уровень, поэтому ключи разомкнуты.
Существует возможность расширения номенклатуры программируемых микро-контролл еров путём использования незадействованных элементов микросборки DT1 и микросхем DD2, DD3.
Микросборка DT1 может быть заменена дискретными «цифровыми» транзисторами структуры n-p-п. В крайнем случае все «цифровые» транзисторы заменяются практически любыми обычными биполярными кремниевыми малой мощности соответствующей структуры, в базовую цепь которых нужно ввести резистивные делители. В транзисторе KRA102M номинальное сопротивление обоих резисторов — 10 кОм, а в транзисторах микросборки TD62503P резисторы, включённые в базовые цепи последовательно, меньшего номинала (2,7 кОм).
Вместо микросхемы CD74HC4066 подойдёт К561КТЗ, а вместо CD74HC244 — КР1564АП5. Разъём Х1 должен быть совместим с разъёмом ICSP программатора, к которому он подключается, Х2 — двухрядная штыревая колодка PLD-12, перемычка на нём — стандартный джампер.
Печатная плата для коммутатора не разрабатывалась. Он был собран на макетной плате, помещённой вместе с платой программатора PICkit 2 в подходящий пластмассовый корпус. На передней панели корпуса установлена панель ZIF-40 (ХЗ), а также разъём Х2 с переставной перемычкой. На панели размещены также светодиоды состояния программатора и кнопка «Программирование». Разъёмы программатора выведены на боковые панели корпуса.
Кстати, если вы грамотно умеете чинить электронные вещи то смело можете открывать бизнес по ремонту электроприборов, в том числе сотовых телефонов, для начала вам нужно заказать небольшое место в аренду в торговом комплексе. В торговых комплексах большая проходимость людей и вы быстро найдете себе постоянных клиентов.
Частотное вибрато представляет собой периодическое изменение частоты звукового колебания. Девиация частоты при этом не должна превышать несколько центов (цент — музыкальный интервал, равный 1/1200 октавы), иначе звучание становится неприятным на слух. Получить этот эффект в электронных органах, синтезаторах и других электромузыкальных инструментах, где все выходные сигналы формируются из сигнала общего тактового генератора, довольно просто. Достаточно периодически вручную или автоматически изменять частоту колебаний этого генератора. Однако искусственно добавить эффект вибрато в музыкальное произведение, исполняемое без него, значительно сложнее.
Многие из тех, кто использовал в своей музыкальной практике эффект эхо, наверное, замечали, что во время регулировки времени задержки эхо-сигнала наблюдается некоторое изменение тональности звучания музыкальных инструментов или голоса певца. Степень и знак этого изменения напрямую зависят от скорости и направления регулировки задержки. В процессе экспериментов выяснилось, что автоматически по определённому закону изменяя длительность задержки и смешивая прямой и задержанный сигналы, удаётся реализовать разнообразные звуковые эффекты.
На рис. 1 изображена схема предлагаемого устройства, вносящего звуковые эффекты в музыкальный сигнал, поступающий на его вход (гнездо XS1). При подключении к этому гнезду штекера от источника сигнала минусовый вывод батареи GB1 соединяется с общим проводом и устройство включается.
Входной сигнал по цепи R11C12 поступает на вход узла задержки на микросхеме DA3 (вывод 16). Задержанный сигнал, снимаемый через цепь R19C20 с вывода 14 микросхемы DA3, поступает на выход устройства — гнездо XS2.
Частотное вибрато осуществляется за счёт непрерывного изменения задержки. Закон её изменения — треугольный. Он задаётся формой и амплитудой напряжения, поступающего с выхода генератора на ОУ DA2.1 в подключённую к выводу 6 микросхемы DA3 цепь управления задержкой, состоящую из транзистора VT1 (сопротивление его участка коллектор—эмиттер изменяется сигналом генератора), переменного резистора R9 и постоянного R10. Этим переменным резистором устанавливают начальную задержку (около 30 мс). В порядке эксперимента можно увеличить сопротивление переменного резистора R9 до 10 кОм, что увеличит задержку до 250 мс. Создаваемые при этом звуковые эффекты могут оказаться интересными. Переменным резистором R6 регулируют частоту треугольного сигнала генератора на ОУ DA2.1, подбирая её оптимальное значение.
Унисонный эффект, подобный звучанию одной и той же ноты на двух струнах гитары одновременно, получается в рассматриваемом устройстве при добавлении с помощью переменного резистора R22 к задержанному и промодулированному по частоте сигналу, который поступает по цепи R19C20, исходного, не подвергавшегося преобразованиям сигнала, поступающего по цепи R18C19.
Если полученный унисонный сигнал подать обратно на вход устройства задержки, т. е. реализовать его рециркуляцию, получается звучание, подобное эффекту chorus, имитирующему хоровое исполнение музыкального произведения. Степень рециркуляции регулируют переменным резистором R23.
Чувствительность устройства достаточна для работы от звукоснимателя электрогитары. Можно подать сигнал и от микрофона, но если его уровень окажется недостаточным, потребуется дополнительный микрофонный усилитель на отдельной микросхеме. Второй ОУ микросхемы DA2, остающийся в рассматриваемом варианте устройства свободным, в качестве такого усилителя использовать нельзя. Дело в том, что находящийся с ним в одном корпусе ОУ DA2.1 работает в импульсном режиме. Поэтому на выходе собранного на втором ОУ микрофонного усилителя прослушиваются щелчки.
Кнопочным переключателем SB1 все созданные эффекты можно временно отключить, не выключая устройство в целом. Когда он нажат, сигнал с входного гнезда XS1 поступает непосредственно на выходное гнездо XS2.
Устройство собрано на односторонней печатной плате, чертёж которой изображён на рис. 2. Все постоянные резисторы установлены перпендикулярно поверхности платы и могут быть любого типа. Для крепления переменных резисторов на плате предусмотрены отверстия. Переключатель SB1 — ПКн61-Н-2-1-5 или П2К — установлен параллельно поверхности платы. В том же направлении должна воздействовать на толкатель переключателя педаль включения и выключения эффектов.
Если устройство собрано правильно и номиналы его элементов соответствуют указанным на схеме, оно начинает работать сразу после подачи питания. Но обязательно нужно проверить осциллографом форму напряжения на выводе 6 микросхемы DA3. Оно должно увеличиваться и уменьшаться с одной и той же скоростью без каких-либо остановок на достигнутом уровне в моменты смены направления изменения. Его форма должна быть треугольной, а не пилообразной или, ещё хуже, синусоидальной. Плоские участки в верхней или нижней части кривой ликвидируют подборкой резистора R7. Асимметрию формы треугольника устраняют подборкой сопротивления резистора R1.
Если ёмкость конденсатора С4 увеличить до 220 мкФ, соответственно возрастёт период колебаний генератора на ОУ DA2.1 и появится возможность реализации ещё нескольких эффектов.
Если вы предпочитаете пакеты NuGet в своей среде развертывания, можете найти копию сборки (DLL) на веб-сайте NuGet. Помните, что пакет NuGet не включает версию инструмента для командной строки. Загрузив Microsoft Ajax Minifier и установив файл MSI, скопируйте файл AjaxMinifier.exe и добавьте его к новой папке, названной Minify, в хостируемом SharePoint проекте VS приложения (см. экран 1). Затем переименуйте файлы JavaScript и CSS, которые идут с шаблоном проекта приложения на SharePoint, чей размер вы хотите уменьшить.
В моем примере я уменьшу в размере файлы app.cssHapp.js, для чего переименую их в app.debug.cssnapp. debug.js. Эти переименованные файлы представляют неуменьшенные версии файлов, которые я буду разворачивать.
После переименования файлов создайте файлы JavaScript и CSS, в которые Ajax Minifier будет загружать уменьшенные версии арр. debug. cssHapp. debug.js. Поместите эти файлы в те же самые папки, где располагаются файлы .debug.
Эти файлы имеют те же файловые имена, что и файлы, которые вы только что переименовали. Не нужно помещать в них какой-либо контент: AjaxMinifier.exe сам наполнит эти файлы.
Затем создайте два XML-файла и добавьте их в папку Minify. В моем примере эти файлы названы cssFiles. xml и jsFiles.xml. Эти файлы содержат данные, которые указывают утилите командной строки AjaxMinifier.exe, какие файлы необходимо уменьшить в размере, и имена уменьшенных файлов, которые следует сгенерировать.
Потом можно немного передохнуть и сходить в торговый центр неподалеку.
На экране 2 показано, как в Visual Studio выглядит приложение SharePoint, после того как выполнены все задачи. Приложение использует цветовое выделение, чтобы было понятно, какие файлы JavaScript и CSS были сопоставлены.
Вот так выглядит код в файле cssFiles. xml. Элемент <output> определяет уменьшенный файл CSS, который нужно создать, <input> определяет файл-источник, который необходимо уменьшить.
Вы можете включить множественные элементы <input> внутрь элемента <output>, если хотите сложить несколько файлов в один уменьшенный файл. Использование этого подхода в дальнейшем оптимизирует ваше приложение так, что будет требоваться только один запрос, чтобы загрузить все файлы JavaScript, которые ассоциируются с вашим приложением.
Кроме того, вы можете включить несколько элементов <output>, если хотите уменьшить размер нескольких файлов.
Затем обновите файлы elements.xml, которые ассоциируются с модулями, разворачивающими файлы JavaScript и CSS. Удалите элементы, которые соответствуют версиям .debug файлов JavaScript и CSS так, чтобы они не были включены в пакеты приложения и развертывания.
Visual Studio автоматически добавил элементы <File>, когда вы переименовали файлы. Вот файл elements, xml, который разворачивает файл app.css: version=»1.0″ encoding=,,utf-8″?> xmlns=»http://schemas.microsoft.com/ sharepointT>
Name=»Content»>
Path=»Content\app.css» Url= «Content/app.css» />
>
>
А это файл elements.xml, который разворачивает файл app.js: version=»1.0″ encoding=,,utf-8″?> xmlns=»http://schemas.microsoft.com/ sharepoint/“>
Щелкните правой кнопкой мыши по проекту, расположенному на SharePoint, в Solution Explorer, выберите Properties и вкладку Build Events. Добавьте показанный ниже код в поле Pre-buildeventcommandline: M$(ProjectDir)Minify\AjaxMinifier.exe»
Этот код вызывает утилиту командной строки AjaxMinifier.exe, уменьшающую размер файлов JavaScript и CSS, перечисленных в xml-файл ах, которые вы создали. Чтобы получить больше информации о различных аргументах, которые вы можете использовать с утилитой AjaxMinifier. ехе, обратитесь к документации по сайту Microsoft Ajax Minifier CodePlex.
Итак, попробуем. Щелкните правой кнопкой мыши по проекту, хостируемому SharePoint, в Solution Explorer и выберите Rebuild.
Внутри Visual Studio в окне Output Window убедитесь, что AjaxMinifier. ехе выводит отчет о статусе процесса уменьшения размера. Вот как это выглядит:
— Rebuild All started: Project: AutoMinifySPApp, Configuration:
Debug Any CPU —
Microsoft Ajax Minifier (version 5.2.5021.16390)
JavaScript and CSS minification and verification command-line utility Copyright 2013 Microsoft Corporation Minifying ‘C:\Demos\0365\ AutoMinifySPApp\AutoMinifySPApp\ Minify\..\Content\app.debug.css’
Microsoft Ajax Minifier (version 5.2.5021.16390)
JavaScript and CSS minification and verification command-line utility Copyright 2013 Microsoft Corporation Minifying ‘C:\Demos\0365\ AutoMinifySPApp\AutoMinifySPApp\ Minify\..\scripts\app.debug.js’
Original Size: 975 bytes; reduced size:
428 bytes (56.1% minification)
Gzip of source input approx. 474 bytes (51.4% compression)
Gzip of minified output approx. 256 bytes (73.7% compression)
===== Rebuild All: 1 succeeded,
0 failed, 0 skipped =====
Вы увидите, что CSS-файл арр. debug.css не был уменьшен. Это произошло потому, что в Visual Studio не указан CSS в файле арр. debug, css стандартного шаблона приложения, хостируемого SharePoint. Однако вы заметите, что Java Script-файл арр.debug.js был уменьшен до 428 байт.
В данном примере количество байтов, которые вы сохраняете, минимально, но, когда вы создаете приложение, хостируемое SharePoint, ваши файлы арр. debug.cssnapp.debug.js будут включать гораздо больше кода CSS nJavaScript, чем первоначальные стандартные файлы. Преимущества уменьшения размера файлов будут очевидны.
Если вы откроете файл арр.debug.js, то увидите, что его содержимое остается прежним и вы можете начинать работать с ним (см. экран 3). Открыв файл app.js, вы увидите уменьшенную версию файла (см. экран 4). Обратите внимание, что весь код располагается в одной строке, а комментарии и пробелы были удалены.
Ну и сразу вопрос на миллион: что за штука — Rust?
Rust (www.rust-lang.org) — это открытый язык программирования, разработкой которого занимается Mozilla Foundation.
Язык программирования? Тогда для начала объясните, пожалуйста, почему ‘Rust’ [англ. ржавчина]? По-моему, название дикое.
Официальных комментариев нет, по Сети ходят лишь версии. Самая популярная в том, что Rust предназначен не для хромирования — блестящих внешних компонентов приложений Mozilla — а для внутренней структуры сетевого ПО.
Другое вероятное объяснение — что в Rust намеренно используются принципы и теории программирования, по меньшей мере, 10-летней давности. Другими словами, Rust стремится решить актуальные проблемы, опираясь на наиболее подходящие для этого идеи и методы, пусть даже появившиеся лет 30 назад, но не снискавшие популярности из-за недостатка внимания к ним, это как детские магазины в Санкт Петербурге — будут существовать всегда.
Что ж, похоже, что по такой логике, Rust — неплохой вариант. Но, уходя в сторону от имени, зачем вообще нужен новый язык?
Потому что при текущих нагрузках современным Интернет-серверам и клиентам требуются качества, не являющиеся высокоприоритетными в языках системного программирования, таких как С или С++. Если говорить конкретнее, Rust предназначен для крупных клиент-серверных приложений, работающих в сети Интернет, в условиях длительной нагрузки, и свободен от рисков безопасности и сбоев производительности, которые можно встретить в других языках.
Звучит, по меньшей мере, амбициозно. Как воплотились эти требования и заявки на практике?
Rust пытается быть ближе к тем, кто программирует на С и С++. Отчасти потому, что он призван, за большинством случаев, вытеснить последние. Так что обеим сторонам имеет смысл взаимно уподобить функции, облегчив разработчикам этот переход. Параллельно, Rust с удовольствием возвращается к использованию методов из многих других языков, таких как Erlang и Go (еще один язык Google, подробнее смотрите на http://qolanq.org), совмещая их и создавая новые.
Erlang — это же тот язык, на котором создается ПО для крупных АТС, так?
Да, все верно. Параллелизм и подобные функции (в различных формах) есть и в Rust, и в Erlang. Однако Erlang — все же другой биологический вид, его в АТС, в обозримом будущем, Rust (как и что-либо еще) не сменит. Потому что, помимо всего прочего, «высокая доступность» в сфере связи и в сфере Интернет понимается по-разному.
А как насчет Go? Это более прямой I конкурент Rust?
Не совсем. Хотя Go и предназначался для на-I писания параллельных интернет-приложений, он решает другие задачи, и иначе, чем Rust. По мнению некоторых программистов, хотя Rust может заменить С и С++ в крупных проектах, Go является наиболее простым и подходящим вариантом для серверного ПО, а также других программ и утилит, которые сегодня пишутся на Python или Java.
Каковы, по вашему, основные функциональные возможности Rust?
По большому счету, не углубляясь в детали, понятные только разработчикам, я бы выделил высокую безопасность и производительность, а также параллелизм.
Хорошо, давайте тогда с параллелизма и начнем.
Иногда параллельное ПО определяют как способное «плодиться» и одновременно запускать множество независимых копий собственных частей, способных взаимодействовать друг с другом. Отметим, что здесь действует совершенно иной принцип, чем когда, допустим, web-сервер одновременно взаимодействует со множеством независимых пользователей! В Rust могут параллельно выполняться тысячи или миллионы легких задач [lightweight tasks], без риска, что крах или зависание одной из них обрушит все приложение, или что единичное вредоносное проникновение поставит под угрозу взлома все личные данные.
Каким образом будут обеспечиваться высокая безопасность и производительность?
Rust затрудняет создание вредоносного кода одним простым способом: чтобы получить тот же уровень «свободы действий», что и в С, вам нужно запросить разрешение, и далее еще поработать, чтобы это стало возможным. Таким образом, Rust должен стать гораздо более безопасным и надежным эквивалентом С, при тех же функциональных возможностях.
То есть в Rust функций намного меньше, чем в других языках?
Нет. В Rust есть и структуры, и указатели, и все прочее, к чему привыкли современные программисты. Просто в нем, по умолчанию, гораздо больше ограничений. Примером может послужить так называемый «контроль изменчивости [mutability control]».
Да уж, звучит как коварная программа генной инженерии; но я полагаю, что это нечто другое…
Да, действительно, похоже на какой-нибудь замысел Umbrella Corporation, но расслабьтесь. Имеется в виду, что в отличие от многих других языков, переменные Rust — вовсе не переменные. Чтобы изменить одну из них, в процессе работы программы, нужно объявить это, используя ключевое слово mut: let mut my_initial_salary = 1000 Другие характеристики, делающие Rust более безопасным, чем, скажем, С или С++ — это параметризация типов и отсутствие null-указателей.
Погодите! Вы сказали, что не будете бросаться терминами, понятными только программистам!
Ну, соврал; но не переживайте. Невозможно представить язык программирования, не вдаваясь в некоторые детали, но все гораздо проще, чем кажется.
Параметризация типов, например, означает, что Rust позволяет, или скорее заставляет вас очень точно определять (то есть параметризовать) ваши основные типы и функции, избегая необходимости постоянно приспосабливать (то есть назначать) несколько стандартных типов переменных.
А как насчет упомянутого отсутствия null-указателей?
Rust запрещает использование указателей (переменных, содержащих адреса других переменных) со значением NULL (если только вы не упросите Rust это сделать). Одно такое ограничение в коде избавляет от целого класса ошибок, прежде омрачавших жизнь программистов на С и С++.
Похоже, что управление памятью в Rust -невероятно сложное занятие…
Да уж, друг мой, не простое, так что я вам объясню буквально в двух словах. Для начала, заботу о том, когда распределенная память не востребована, Rust не доверит вам, а оставит себе. В нем есть механизмы, разрешающие доступ к ячейке только в рамках только одной задачи и автоматически освобождающие всю занимаемую память после ее завершения. В другом случае, вы можете «зарезервировать» ячейки для нескольких задач, предотвратив при этом параллельный доступ, например, в случае состояния гонки или повреждения данных.
Правда? У меня сложилось впечатление, что разделение данных между разными задачами в Rust вообще невозможно.
Если только вы не пометите все наиболее разгульные части кода как «небезопасные». Таковые смогут использоваться в памяти в более произвольных (то есть опасных) формах.
Но если программисты по-прежнему смогут писать ненадежный код, какой смысл использовать Rust?
Смысл как минимум в том, что как исходный разработчик, так и все остальные, кто будет впоследствии поддерживать этот код, немедленно узнают, какие части огромного приложения могут оказаться проблематичными.
А как, на практике, Rust может помочь начинающему программисту сделать свой код безопасным?
Самым суровым, но эффективным способом: за счет архитектуры и встроенных ограничений, о которых я только что рассказал, компилятор Rust может выявить гораздо больше ошибок и уязвимостей, чем С или С++, и будет клевать вас до тех пор, пока вы их не исправите, иначе вам будет нельзя даже запустить свое приложение.
Остался один вопрос: когда мы сможем увидеть приложения Rust в Интернете?
Текущая версия Rust, 0.7, выпущена 3 июля 2013 года. Но независимо от номера версии, Rust — еще очень молодой язык и гораздо менее сложившийся и протестированный на практике, чем тот же Erlang. Так что могу сказать одно: будем надеяться, это будет где-нибудь в 2014. Чтобы быть в курсе последних новостей, обратитесь на официальный сайт: www.rust-lang.ru.
Принтер модели HL-5440D является черно-белым лазерным принтером со встроенной функцией двусторонней автоматической печати. Этот принтер обеспечит высокий уровень качества каждого отпечатанного документа. С ним эксплуатационные расходы снизятся в несколько раз, тем самым уменьшив негативное влияние, оказываемое на окружающую среду. Это происходи благодаря встроенной функции двусторонней автоматической печати. С ее помощью документы можно печатать на обеих сторонах каждого листа. Значит для каждого распечатанного документа понадобится в два раза меньше бумаги, конечно, если его не надо специально печатать в одностороннем виде.
Технические характеристики принтера также смогут порадовать разбирающихся пользователей. Принтер имеет встроенную память размером в 64 мегабайта. Также в модели HL-5440D разработчиками предусмотрена возможность увеличения общей емкости лотков до 750-ти бумажных листов, а тонер-картридж, поставляющийся в комплекте, обладает повышенной емкостью — т.е. с ним одним можно отпечатать около восьми тысяч страниц.
Принтер HL-5440D совместим со многими операционными системами. Например, Mac OS; Linux; Windows 2003, 2008; Windows XP, Vista; Windows 7, 8
Кстати, прочитать о первых признаках порчи можно на сайте astrologmagic.ru, так что если заподозрите что либо странное с собой то заходите и читайте о порче, тут важно вовремя узнать, чтобы сразу снять проклятую порчу.
Известная компания, производитель электромеханических инструментов, выпустила аккумуляторную отвертку со встроенным трехосевым гироскопом — датчиком измерения и отображения параметров углового движения объекта. Подобные системы стабилизации, называемые пространственными сенсорами, сегодня получили довольно широкое распространение. Например, гироскопическая система определения пространственного положения игрового контроллера, интегрированная в игровую приставку седьмого поколения Nintendo Wii, позволяет геймерам управлять происходящим на мониторе, наклоняя или поворачивая пульт. Та же технология используется в таком нестандартном виде персонального транспорта, как электроскутеры Segway, обеспечивая им удержание равновесия и контроль за скоростью и направлением движения. Современные планшеты и смартфоны тоже оснащаются трехосевым гироскопом.
В аккумуляторной отвертке гироскопический прибор вместе с управляющим микропроцессором позволяет регулировать направление и скорость вращения электромотора, а значит, и приводимого им в движение рабочего органа с магнитной битой, просто поворотом рукой с инструментом. В данной модели отсутствуют традиционный ползунковый переключатель-« собачка», меняющий режимы прямого и реверсивного хода, и привычная кнопка включения-выключения. Устройство запускается автоматически, стоит ему оказаться в руке, причем одновременно активируется контактная поверхность на эргономичной рукоятке.
При повороте руки вправо или влево происходит мягкий старт электродвигателя, и тут же включается светодиодная подсветка рабочей зоны. Кстати, тот же светодиод служит индикатором заряда аккумуляторной батареи: при необходимости подзарядки он начинает мигать.
Скорость вращения варьируется от 0 до 180 об/мин, при этом угол управляющего наклона руки составляет соответственно от 0° до 30е, величина крутящего момента достигает 3 Нм. Электропитание напряжением 3,6 В инструменту обеспечивает легкий, компактный литий-ионный аккумулятор емкостью 1,3 А-ч. К числу его достоинств относится также отсутствие так называемого эффекта памяти, благодаря чему его можно подзаряжать в любое время при любом уровне заряда. В комплект поставки входят зарядное устройство и десять сменных шестигранных насадок-бит.
Краткая характеристика и принцип действия
Сенсорная технология контроля и управления делает ненужным традиционный выключатель. Как только ладонь обхватывает рукоятку, включается сигнальный светодиод — инструмент готов к работе.
За положением шуруповерта в пространстве следит интегрированный гироскоп. Когда инструмент поворачивают по оси, прибор замеряет угол и сторону наклона, а микропроцессор на основе оценки полученных данных задает скорость и направление вращения.
От величины угла наклона инструмента зависит скорость вращения (число оборотов) его рабочей части. Максимальная скорость достигается при наибольшем значении угла наклона (30°), а минимальная соответствует мягкому старту при включении электродвигателя.
Кстати, если не хватает денег на меховую шубу, то можно купить искусственные шубы каталог которых расположен на сайте only-me.ru. Искусственная шуба, она почти как натуральная, и выглядит также, поэтому если вы та которая не любит переплачивать то такие шубы для вас.
Мощная бензокоса наиболее популярной в России компоновки — с прямой штангой и широко расставленными рукоятками велосипедного типа Подобные косы эффективны против любой травянистой растительности ф и даже против молодой кустарниковой поросли.
Кованый приводной вал отличается высокой надёжностью и эффективно передаёт крутящий момент от двигателя к режущей системе. Коса может стричь траву как толстой леской, так и трёхлопастным стальным ножом, который идет вместе с инструментом.
Бензокоса поставляется в комплекте с ранцевой подвеской, состоящей из ремней на оба плеча, поясного ремня и защёлки для косы, расположенной у правого бедра Подобная подвеска полностью снимает нагрузку с рук кокильщика, распределяя вес агрегата равномерно на плечи и спину. Поэтому даже длительная работа не будет утомительной. Кроме того, коса оснащена системой Easy Start, которая упрощает запуск двигателя. Разборная штанга позволяет возить косу в багажнике любого автомобиля.
RedVerg RD-GC 52
Бензопила
Бензопила классической конструкции, подходящая для решения широкого круга задач в частном хозяйстве, от заготовки дров до валки деревьев. Мощный двухтактный двигатель и эффективный пильный аппарат на основе длинной 40-сантиметровой шины обеспечивают высокую производительность пиления. Предусмотрел автоматическая смазка цепи во время работы. Масло подаётся специальным насосом из отдельного бачка.
Безопасность рабочего обеспечивают эффективный автоматический тормоз цепи и цепеуловитель. Первый мгновенно останавливает цепь в случае отскока пил>, который принято называть «обратным ударом». Второй защищает руку от удара цепью при её случайном обрыве.
Компактная, лёгкая и удобная бензопила оборудована режущей гарнитурой оптимальной мины — 40 см. Сочетает в себе передовые технологии и эргономичность, способна без труда распиливать пиломатериал и небольшие бревна диаметром до 30 см. Отличается хорошей производительностью, лёгкостью запуска и управления, а также безопасностью при работе.
RedVerg RD651QE
Двухступенчатый снегоотбрасыватель
Рабочая система снегоотбрасывателя состоит из шнеков, сгребающих снег в центр ковша, и высоко оборотистого ротора, выбрасывающего снег через выпускной жёлоб. Зубчатая форма кромки шнеков позволяет им эффективно «разгрызать» слежавшийся снег. Поэтому машина подходит для эксплуатации в режиме «от случая к случаю», она не относится к той технике, что эффективна только против свежевыпавшего снега
Трансмиссия механическая, включает в себя шесть передач переднего хода и две — заднего. Основные рабочие передачи — третья и четвёртая, более низкие используются для работы в сложных условиях (глубокие сугробы, плотный снег), более высокие применяют для транспортировки. Двигатель заводят электростартёром от бортового аккумулятора.
RedVerg RDMMA-200
Инверторный сварочный аппарат для сварки штучными электродами
Инверторный сварочный аппарат, предназначенный для сварки методом ММА штучными плавящимися электродами. Характеризуется широким диапазоном сварочного тока — до 2(Х) А, что даёт возможность уверенно варить электродами диаметром до 5 мм, то есть сваривать достаточно массивные заготовки. Плавная регулировка сварочного тока позволяет подбирать оптимальные значения для разных условий и сваривать детали разной толщины с высоким качеством шва. Аппарат оснащён всеми распространёнными функциями, повышающими эффективность и удобство работы. Так, функция Hot Start упрощает поджиг дуги, Anti-Stick предотвращает залипание электрода, a Arc Force повышает стабильность дуги при изменении условий работы (в первую очередь при изменении расстояния между электродом и заготовкой).
Как и все инверторы, RDMMA-200 очень легкий и компактный. В комплект входит всё необходимое для начала работы сразу же после покупки — сам аппарат, комплект силовых кабелей, щиток сварщика и щетка-молоток, с помощью которой зачищают швы.
RedVerg RD3600B
Бензиновая мини-электростанция
Недорогой генератор средней категории мощности, именно такие пользуются наиболее массовым спросом. Запаса мощности вполне достаточно для того, чтобы агрегат можно было использовать в качестве резервного источника энергоснабжения на даче или в небольшом загородном доме. Также он вполне применим для питания не слишком мощных инструментов на стройплощадке или для энергоснабжения торговых точек.
Мини-электростанция оборудована двумя стандартными 16-амперными розетками на 220 В, есть также клеммы 12-вольтового выхода, используемого для зарядки аккумуляторов. Двигатель заводят вручную с помощью пускового шнура. Усиленная рама придаёт конструкции высокую прочность, а глушитель большого объёма эффективно снижает шум от работающей станции до комфортного уровня.
RedVerg RD-29142H
Виброплита
Виброплиты весьма активно применяют в ходе дорожных работ на участках, где большой дорожной технике не развернуться. Чаще всего ими пользуются малочисленные бригады при асфальтировании пешеходных дорожек или небольших подъездных путей. Виброплиты применяют также для трамбовки канав, при земляных и ландшафтных работах. Машина оборудована надёжным «верхнеклапанным» двигателем Honda GX160. Оптимальное соотношение мощности двигателя, вынуждающей центробежной силы и размеров опорной плиты гарантирует удачный баланс характеристик: виброплита довольно компактная, но при этом весьма эффективная. Ока способна уплотнять почву на глубину до 30 см. Для удобства транспортировки к месту работы она оборудована колёсами.
Очень удобно косить и читать любимую книгу на планшете galaxy tab 3, но чтобы на ваш планшет не попала грязь, то нужно купить чехол на samsung galaxy tab 3 и тогда планшет будет защищен не только от грязи ну и от воздействия внешних сил.