качество source что значит
Параметр Source
Параметр Source определяет исполняемый файл, который загружается ThinApp, когда Вы используете ярлык этого файла. Параметр обеспечивает путь к исполняемому файлу в виртуальной или физической файловой системе.
ThinApp определяет источник для каждого исполняемого файла. Если у комплекта приложений есть три пользовательских точки входа, например Winword.exe, Powerpnt.exe и Excel.exe, в Package.ini файле перечисляются все три точки входа приложения. У каждой точки входа своя уникальная исходная точка.
Если ThinApp не может найти исходный исполняемый файл в виртуальной файловой системе, то он начинает поиск в физической файловой системе. Например, если Вы используете собственный Internet Explorer вне виртуальной среды, ThinApp загружает исходный исполняемый файл из физической файловой системы.
Источник и / каталог bin в проекте не связываются друг с другом. Каталог bin хранит сгенерированный исполняемый файл, и исходный путь указывает на установленный исполняемый файл, сохраненный в виртуальной файловой системе только для чтения.
ПРИМЕЧАНИЕ: Не изменяйте исходный путь. Процесс захвата определяет путь, основываясь на том, куда установщик приложения помещает исполняемый файл в физической файловой системе машины. ThinApp создает виртуальный путь файловой системы, основываясь на физическом пути файловой системы.
Пример: Указание на точку входа, используя исходный параметр
Исходный параметр может указать на точку входа в C:\Program Files \ \.exe
Значение терминов sink и source
2021-05-12 Промышленное
Один комментарий
Термины sink и source часто встречаются в технической документации, применительно к дискретным сигналам. Давайте разберемся, что же они означают и в чем их отличие.
Данная терминология применяется только к входным и выходным цепям постоянного тока и обозначает тип дискретных входов и выходов. От понимания данных терминов зависит правильный выбор дискретных модулей, схемы подключения и понимания того, какой уровень сигнала дает логический 0 или 1 в каждом конкретном случае.
Чтобы понять эту концепцию, давайте сначала рассмотрим, как протекает ток в электрических цепях постоянного тока.
Как известно из физики, постоянный ток протекает только в одном направлении от положительного к отрицательному полюсу через нагрузку.
Для управления нагрузкой (включение и выключение) мы можем разместить переключатель либо между положительным выводом источника и нагрузки, либо между отрицательным выводом источника и нагрузки.
При подключении переключателя к «+» выводу, а к «-», общему, непосредственно нагрузки, считается, что тип подключения данного устройства, в данном случае лампы — sink.
Для того, чтобы наше устройство заработало, необходимо подать логическую единицу, то есть замкнуть вход на плюсовой вывод внешнего источника питания, включив переключатель. Здесь можно провести аналогию с обычным выключателем освещения в квартире, где фазный провод идет через выключатель, а нулевой непосредственно на светильник.
В случае подключения типа source нагрузка подключается непосредственно к «+» клемме источника питания, а для подачи логической единицы, вход необходимо замкнуть на общий «-» вывод.
А теперь рассмотрим то же самое, но уже на примере промышленных контроллеров.
На рисунке выше показана так называемая положительная логика работы дискретных входов — на вход подается «+» источника питания, а «-» подключен на общую клемму 1М. Данная схема подключения будет типа sink. Также иногда она называется приемник сигнала.
В случае логики source, дискретный вход ПЛК активируется «-» источника, а все «+» клеммы объединяются. Такое подключение называется отрицательной логикой работы или источником.
На практике встречаются и тот и другой типы подключения, но чаще с положительной логикой работы.
Что касается транзисторных входов/выходов, то здесь ситуация следующая. В первую очередь надо смотреть, как подключен транзистор в схеме.
Например, в случае цифровых выходов, если нагрузка подключена между «+» источника питания и устройством, то такой тип выходов будет Sinking output. Обычно, при таком подключении, используются выходы на основе NPN транзисторов, или как их еще называют, транзисторы обратной проводимости.
А вот если нагрузка подключается между устройством и GND шиной, то такой тип подключения называется Sourcing output. И в данном случае применяются транзисторы PNP, или по другому транзисторы прямой проводимости.
В случае цифровых входов все будет аналогично.
Если говорить совсем просто, если ток выходит из устройства, не важно вход это или выход, то такое устройство является источником (source), если же ток входит в устройство, то оно является приемником (sink).
Также могут встречаться и другие схемы подключения. Например, в случае подключения транзистора по схеме с общим коллектором (эмиттерный повторитель), источником будет уже NPN, а приемником PNP.
Поэтому можно сказать, что тип транзистора не так уж и важен в данном случае, важно, как именно он используется в схеме.
На практике могут применяться устройства как одного, так и другого типа, но на мой взгляд, чаще применяются модули с типом Sinking input и Sourcing output.
В заключении хочу сказать, что понимание данных терминов важно в силу того, что они могут встречаться в технической документации, применимо к самому различному оборудованию, будь то контроллеры, модули входов/выходов, частотные преобразователи, датчики.
Open Source — это что за термин? Объясняем основы для чайников
Open Source — это такой вид разработки программ, при котором исходный код остается доступным для всех. Абсолютно каждый может сделать с исходным кодом все, что пожелает:
внешне изменять и модифицировать программу;
добавлять или убирать какой-либо функционал;
создать свою версию программного обеспечения и зарабатывать на ее продаже.
Примерно так же происходит и в программировании.
Open Source — что это?
Опенсорс — это в первую очередь свобода распространения, деньги стоят на втором или на третьем плане, поэтому Open Source-продукт в основном бесплатный, но также может быть и платным.
Open Source — это особый вид лицензирования продукта, где главным пунктом является свободное распространение, но обязательное сохранение информации об авторстве программы.
История возникновения Open Source
Вот и получается, что первые Open Source-продукты зародились вместе с первым и компьютерами и были бесплатными. Потом продукты оставались «опенсорс», но за них уже бралась оплата. А первое официальное лицензирование коммерческих программных продуктов началось только в 1974-м году. У истоков проприетарной модели программного обеспечения стояла компания Microsoft, а чуть позже подключилась и Apple Computer Inc.
Open Source: наше время
Итак, с начала 80-х проприетарные программы перехватили доминирование на р ы нке ПО у Open Source-программ. При этом многих разработчиков это совсем не устраивало. Одним из таких Open Source-инициаторов был разработчик Ричард Столлм а н, который в 1984-м году вместе со своей командой создал первую по-настоящему открытую операционную систему GNU, которая была очень похожа на коммерческий продукт UNIX и составляла ему реальную альтернативу, так как могла устанавливаться на компьютеры, где устанавливался UNIX.
Однако, чтобы каким-либо образом защитить свое «свободное» ПО, тоже нужно был о предпринять какие-то шаги. Для этого команда Ричарда «поработала» над юридической составляющей своего продукта, например:
был придуман термин «свободное программное обеспечение»;
данному термину было предложено точное определение, что с таким ПО можно делать;
был опубликован целый манифест по ОС GNU.
При этом т а же команда:
к 1989-му году добилась создания первой версии лицензии GPL, которая работает до сих пор.
Преимущества и недостатки Open Source
В сети можно найти много разных описаний преимуществ и недостатков Open Source-проектов. Но оценивать опенсорс-индустрию в целом по меньшей мере неправильно. Правильней будет сравнивать конкретные продукты, например : ОС с ОС, офис с офисом, редактор с редактором, но точно не Microsoft и Linux.
Реакция на уязвимости. Многие считают, что в Open Source быстрее устраняют уязвимости, чем в проприетарном ПО. В некоторых Open Source-проектах так и есть — любая проблема мгновенно «латается», но в то же время есть опенсорс-проекты, которые месяцами не устраняют проблемы. Так же и в коммерческом ПО: одни исправляют все очень быстро, а другие месяцами ничего не делают. Так что это преимущество также нужно рассматривать на конкретной программе.
Заключение
пользоваться проприетарным MS Office или опенсорсным LibreOffice;
использовать монополист ическую Windows или свободный дистрибутив Линукс;
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Django Rest Framework для начинающих: создаём API для чтения данных (часть 2)
В прошлой части мы в общих чертах рассмотрели, как устроен REST API на DRF при работе на чтение. Едва ли не самый сложный для понимания этап — сериализация. Вооружившись исходным кодом, полностью разберем этот этап — от приема набора записей из модели до их преобразования в список словарей.
Важный момент: мы говорим о работе сериалайзера только на чтение, то есть когда он отдаёт пользователю информацию из базы данных (БД) сайта. О работе на запись, когда данные поступают извне и их надо сохранить в БД, расскажем в следующей статье.
Код учебного проекта, который используется в этой статье, доступен в репозитории на Гитхабе.
Как создаётся сериалайзер, работающий на чтение
Создание экземпляра сериалайзера мы описывали следующим образом:
Подробнее о методе many_init :
Экземпляр сериалайзера | Описание | К какому классу относится |
---|---|---|
serializer_for_queryset | Обрабатывает набор табличных записей | ListSerializer — класс из модуля restframework.serializers |
serializer_for_queryset.child | Обрабатывает каждую отдельную запись в наборе | CapitalSerializer — наш собственный класс, наследует от класса Serializer модуля restframework.serializers |
Помимо many=True мы передали значение для атрибута instance (инстанс). В нём — набор записей из модели.
Важное замечание: чтобы не запутаться и понимать, когда речь идёт о сериалайзере в целом, а когда — о дочернем сериалайзере, далее по тексту мы будем говорить «основной сериалайзер» (в коде контроллера это serializer_for_queryset ) и «дочерний сериалайзер» (атрибут child основного сериалайзера).
После создания основного сериалайзера мы обращаемся к его атрибуту data :
Запускается целый набор операций, каждую из которых подробно рассмотрим далее.
Что под капотом атрибута data основного сериалайзера
Как работает метод to_represantation основного сериалайзера
Сделаем небольшую остановку:
Как работает метод to_representation дочернего сериалайзера
Как запись из модели обрабатывается методами полей сериалайзера
Метод get_attribute работает с инстансом (instance). Важно не путать этот инстанс с инстансом основного сериалайзера. Инстанс основного сериалайзера — это набор записей из модели. Инстанс дочернего сериалайзера — каждая конкретная запись.
Вспомним строку из кода to_representation основного сериалайзера:
Этот item (отдельная запись из набора) и есть инстанс, с которым работает метод get_attribute конкретного поля.
У нас есть такие поля:
Получается следующая картина:
Поле сериалайзера | Значение атрибута source поля | Значение source_attrs |
---|---|---|
capital_city | ‘capital_city’ | [‘capital_city’] |
capital_population | ‘capital_population’ | [‘capital_population’] |
author | ‘author.username’ | [‘author’, ‘username’] |
Как мы уже указывали, список source_attrs в качестве аргумента attrs передаётся в метод get_attribute rest_framework.fields :
С author.username ситуация интереснее. До значения атрибута username DRF будет добираться так:
Суммируем всё, что узнали
Преобразованный набор записей из Django-модели доступен в атрибуте data основного сериалайзера. При обращении к этому атрибуту задействуются следующие методы и атрибуты из-под капота DRF (разумеется, эти методы можно переопределить):
В словарь заносится пара «ключ-значение»:
Итог: список из OrderedDict в количестве, равном числу переданных и сериализованных записей из модели.
Надеюсь, статья оказалась полезной и позволила дать картину того, как под капотом DRF происходит сериализация данных из БД. Если у вас остались вопросы, задавайте их в комментариях — разберёмся вместе.
Source
Source Engine 22 (2010)
Дебютом Source можно считать 16 ноября 2004 года — дату выход первых игр на его основе: Half-Life 2, Counter-Strike: Source и Vampire: The Masquerade – Bloodlines.
Содержание
История названия
Эрик Джонсон объяснил рождение названия движка Source так:
Поддерживаемые платформы
История версий
Определённо версию движка можно назвать только у игр, выходивших до 2007 года включительно. Так как например в Source SDK при выборе игры выбирается и движок, где чётко написана версия, так же в консоли можно посмотреть версию протокола (англ. protocol version ).
Рабочая версия
Релизные версии
(Source Engine 7: Source Engine)
(Source Engine 7: Base Source Engine 2)
(Source Engine 14: Base Source 3)
Так же с сентября 2010 года:
Технологические возможности
Source обладает значительными преимуществами по нескольким ключевым аспектам разработки игр: анимация персонажей, продвинутый искусственный интеллект, реалистичная физика и шейдерный рендеринг.
Система анимации Source позволяет создавать выразительных персонажей с бесконечной гаммой эмоций на лице, что позволяет им донести до вас сообщение, не сказав ни слова. В дополнение к этому персонажи владеют одним из наиболее продвинутых искусственных интеллектов, что делает их крайне умелыми союзниками и врагами.
Source содержит в себе сложный сетевой код, обеспечивающий поддержку для 32 игроков по локальной вычислительной сети и интернет.
Движок Source сделан с расчётом на регулярное обновление, что выражается в его широких возможностях к модификации и улучшению без изменения каких-либо ключевых архитектурных особенностей движка. В комбинации с системой цифрового распространения Steam движок может обновляться сразу после выхода обновления. Например, если Source начнет поддерживать физические карты, то все игры, распространяемые через Steam и использующие собственно Source, начнут их поддерживать. Подобное можно было наблюдать после добавления разработчиками в движок High dynamic range rendering.
Впрочем, тотальная модификация всех Source-игр на практике невозможна, потому что создателям модификаций не доступна система обновлений, а значит, развивать движок могут только сами разработчики.
В Source используются шейдеры Direct3D версии 3.0
High Dynamic Range Rendering
Впервые этот эффект был представлен в Day of Defeat: Source, который вышел 26 сентября 2005 года. Поддержка High Dynamic Range Rendering стала одной из первых существенных модификаций движка. Эффект заключается в динамическом изменении яркости всего или отдельных участков изображения (например, симуляция адаптации глаз к дневному свету).
Лицевая анимация
Данная технология несколько раз совершенствовалась Valve. Лицевая анимация позволяет компьютерным персонажам максимально эффективно выражать эмоции, и отображать соответствующие произносимым звукам движения губ. Примечательно, что новая технология использует исключительно ресурсы видеокарты, снимая нагрузку с процессора. Технология доступна во всех играх, использующих движок Source, равно как и для всех модификаций для этих игр.
Динамическое освещение и затенение
К релизу The Orange Box была доработана система освещения. Помимо старого типа прорисовки теней была добавлена возможность просчета теней по технологии карт теней, позволяющей прорисовывать правильные динамические тени (с учетом самозатенения и прочего).
Геометрия мира освещена при помощи заранее просчитанных карт освещения. Статическое освещение может с высокой точностью просчитывать освещение, включая отражение света от зеркальных или матовых поверхностей, преломление света, частичное затенение (например, полупрозрачные объекты). Любые объекты в мире могут отражать свет уловленный с других объектов. Например: белый квадрат на чёрном фоне, поскольку квадрат светлее фона, то и небольшая область вокруг него будет светлее. Глубина резкости используется для того, чтобы выдвинуть некоторые объекты на первый план, а другие, те что позади, представить размытыми. Для придания нужной атмосферы может использоваться коррекция цвета. Например, можно стилизовать игру под чёрно-белый фильм. В Source используется динамическое изменение детализации моделей и геометрии мира, что значительно повышает производительность на слабых компьютерах.
Многоядерный рендеринг
С обновлением движка до 15 версии появилась функция многоядерного рендеринга, позволяющая получить прирост производительности на многоядерных процессорах.
Кинематографическая физика
Во время той же июльской пресс конференции Electronic Arts было объявлено, что бывший сотрудник Weta Digital Грей Хорсфилд занимается созданием системы кинематографической физики для Source. Примеры такой физики можно увидеть в последнем тизере Half-Life 2: Episode Two в сцене с разрушающимся мостом. Кинематографическая физика поддерживает систему ключевых кадров, детали к которым добавляет физическая система.
Данная система добавляет следующие возможности к физической подсистеме движка Source:
Система частиц
Наиболее продвинутая реализация эффектов окружающей среды — это система частиц. Частицы позволяют создать очень реалистичные взрывы, воду, снег. Для устранения резких границ частиц используется сглаживание. Обновление движка к релизу The Orange Box внесло новую систему частиц, с помощью которой теперь вырисовываются такие эффекты, как огонь, дым, брызги крови, и т. д.
Искусственный интеллект
Материалы
Source engine использует систему материалов для описания свойств объекта. Из чего сделан объект, тонет ли он, как влияет на другие объекты его поверхность. Для придания материалам объёма в Source Engine используются карты нормалей, которые определяют, как будут освещены отдельные точки на поверхности. В Source Engine поддерживается смешивание текстур, мягкие переходы от одной текстуры к другой.
Физика
Истоки
Модификации
Для движка Source было создано огромное количество любительских модификаций, самые качественные из которых доступны для загрузки через Steam и снабжены поддержкой Steamworks. На данный момент это следующие моды:
Создание игр и модов
Source SDK (англ. Software Development Kit — «набор разработчика приложений») — набор утилит для создания модификаций на движке Source, бесплатно распространяемый Valve через сеть Steam всем игрокам, купившим любую Source-игру от Valve. Данный набор позволяет редактировать карты на двух версиях движка — 15-ой и обновлённой 7-ой (старая версия движка, используемая в Half-Life 2, не используется из-за совместимости с новой версией). Также выпущена версия Source SDK для SiN Episodes: Emergence, Left 4 Dead (Left 4 Dead Authoring Tools) и Left 4 Dead 2 (Left 4 Dead 2 Authoring Tools).
В стандартный набор входят:
Помимо трёх основных утилит набор включает утилиту для распаковки базовых файлов при создании нового мода, а также файлы исходного кода библиотек части игр Valve, что позволяет вручную создавать игры с изменёнными характеристиками без декомпиляции движка. Однако для компиляции новых файлов необходимо наличие знания языка C++ и компилятора (например, Visual Studio).
Также для обеих новых версий движка существуют специальные дополнения — Source SDK Base. По структуре они выглядят как игры и представляют собой уровень-заставку из дополнения Half-Life 2: Lost Coast с эффектами High Dynamic Range Rendering, служащую для тестирования видеокарты. Также они служат базой для тестирования новых модов, причём у модов без качественных изменений становится возможной проверка эффектов High Dynamic Range Rendering на картах, поэтому при создании мода Source SDK базирует его на Source SDK Base. Некоторые авторы модов не изменяют базу мода на какую-нибудь Source-игру по завершении его создания, а оставляют за основу Source SDK Base. Данный подход позволяет владельцам Half-Life 2 на старой версии движка играть в моды на новой версии при отсутствии других Source-игр, но в то же время вынуждает остальных пользователей закачивать дополнительные игровые данные.
Игры на движке Source
Название игры | Разработчик | Дата выхода | Платформы | Версия движка |
---|---|---|---|---|
Alien Swarm | Valve | 19 июля 2010 год | ПК (Microsoft Windows) | Source Engine 2010 |
Black Mesa | Black Mesa Team | 14 сентября 2012 года | ПК (Microsoft Windows) | Source Engine 2007 |
Counter-Strike: Source | Valve | 7 октября 2004 года | ПК (Microsoft Windows), Mac OS X | Source Engine 2009 |
Counter-Strike: Global Offensive | Valve, Hidden Path Entertainment | 21 августа 2012 года [6] | ПК (Microsoft Windows), Mac OS X, Xbox 360, PlayStation 3 | Source Engine 2011 |
Dark Messiah of Might and Magic | Arkane Studios, Floodgate Entertainment, Kuju Entertainment | 27 октября 2006 года | ПК (Microsoft Windows) | Source Engine 2006 |
Day of Defeat: Source | Valve | 26 сентября 2005 года | ПК (Microsoft Windows), Mac OS X | Source Engine 2009 |
Dear Esther | TheChineseRoom | 14 февраля 2012 года | ПК (Microsoft Windows) | Source Engine 2011 |
Dota 2 | Valve | 13 октября 2010 | ПК (Microsoft Windows), Mac OS X | Source Engine 2011 |
E.Y.E.: Divine Cybermancy | Streum On Studio | 2 августа 2011 года | ПК (Microsoft Windows) | Source Engine 2011 |
Garry’s Mod | Team Garry | 29 ноября 2006 года | ПК (Microsoft Windows), Mac OS X | Source Engine 2009 |
Half-Life 2 | Valve | 16 ноября 2004 года | ПК (Microsoft Windows), Mac OS X, Xbox, Xbox 360, PlayStation 3 | Source Engine 2009 |
Half-Life 2: Deathmatch | Valve | 30 ноября 2004 года | ПК (Microsoft Windows), Mac OS X | Source Engine 2009 |
Half-Life 2: Episode One | Valve | 1 июня 2006 года | ПК (Microsoft Windows), Mac OS X, Xbox 360, PlayStation 3 | Source Engine 2009 |
Half-Life 2: Episode Two | Valve | 10 октября 2007 года | ПК (Microsoft Windows), Mac OS X, Xbox 360, PlayStation 3 | Source Engine 2009 |
Half-Life: Source | Valve | 1 июня 2004 года | ПК (Microsoft Windows) | Source Engine 2004 |
Half-Life Deathmatch: Source | Valve | 1 мая 2006 года | ПК (Microsoft Windows) | Source Engine 2006 |
Half-Life 2: Lost Coast | Valve | 27 октября 2005 года | ПК (Microsoft Windows) | Source Engine 2006 |
Portal | Valve | 10 октября 2007 года | ПК (Microsoft Windows), Mac OS X, Xbox 360, PlayStation 3 | Source Engine 2009 |
Portal 2 | Valve | 19 апреля 2011 года | ПК (Microsoft Windows), Mac OS X, Xbox 360, PlayStation 3 | Source Engine 2011 |
Postal III | Running with Scissors, Inc., Акелла, TrashMasters | 23 ноября 2011 года | ПК (Microsoft Windows), Xbox 360, PlayStation 3 | Source Engine 2007 |
Team Fortress 2 | Valve | 10 октября 2007 года | ПК (Microsoft Windows), Mac OS X, Xbox 360, PlayStation 3 | Source Engine 2009 |
Left 4 Dead | Valve и Certain Affinity | 18 ноября 2008 года | ПК (Microsoft Windows), Mac OS X, Xbox 360 | Source Engine 2008 |
Left 4 Dead 2 | Valve | 17 ноября 2009 года | ПК (Microsoft Windows), Mac OS X, Xbox 360 | Source Engine 2009 |
Nuclear Dawn | InterWave Studios | 27 сентября 2011 года | ПК (Microsoft Windows), Mac OS X, Xbox 360 | Source Engine 2011 |
Ship, the | Outerlight | 11 июля 2006 года | ПК (Microsoft Windows) | Source Engine 2006 |
SiN Episodes: Emergence | Ritual Entertainment | 10 мая 2006 года | ПК (Microsoft Windows) | Source Engine 2006 |
Tactical Intervention | FIX Korea | Выход запланирован на 2012 год | ПК (Microsoft Windows) | ? |
Vampire: The Masquerade — Bloodlines | Troika Games | 16 ноября 2004 года | ПК (Microsoft Windows) | Source Engine 2003 |
Zeno Clash | ACE Team | 9 октября 2009 года | ПК (Microsoft Windows), Xbox 360 | Source Engine 2009 |
Примечания
Ссылки
The DinoHunters • Dogfights: The Game • Shootout! The Game • The Kill Point: Game • Kuma\War 2