Pull to refresh
12
0
Дмитрий Поскребышев @caduser

Аналитик

Send message

Ультрафиолет: эффективная дезинфекция и безопасность

Reading time17 min
Views108K
Свойства ультрафиолета зависят от длины волны, а ультрафиолет разных источников отличается спектром. Обсудим, какие источники ультрафиолета и как применять, чтобы максимизировать бактерицидное действие, минимизировав риски нежелательных биологических эффектов.


Рис. 1. На фотографии не дезинфекция излучением UVC, как можно подумать, а тренировка использования защитного костюма с выявлением в лучах UVA люминесцирующих пятен учебных телесных жидкостей. UVA – мягкий ультрафиолет и не оказывает бактерицидного действия. Закрытые глаза – оправданная мера безопасности, так как широкий спектр используемой люминесцентной лампы UVA пересекается с UVB, который опасен для зрения (источник Simon Davis/DFID).
Разбираемся в подробностях и нюансах...
Total votes 35: ↑35 and ↓0+35
Comments54

Рендеринг в 3D-играх: введение

Reading time14 min
Views19K

Вы играете в свежую Call of Mario: Deathduty Battleyard на своём совершенном игровом ПК. Смотрите на прекрасный сверширокий 4K-монитор, любуясь великолепными пейзажами и замысловатыми деталями. Вас когда-нибудь интересовало, как графика попадает на экран? Задумывались, как игра заставляет компьютер всё это показать вам?

Добро пожаловать в наш тур по рендерингу в 3D-играх: путешествие для начинающих, из которого вы узнаете, как создаётся один базовый кадр на экране.
Читать дальше →
Total votes 28: ↑22 and ↓6+27
Comments9

Chrome Remote Desktop. Удаленная поддержка

Reading time2 min
Views61K
Великолепное бесплатное ПО Chrome Remote Desktop, которым пользуюсь более 3 лет, вырос в моих глазах! (полноценный отдельный инструмент для удаленной поддержки).
Всем, кому интересен аналог «Великому ПО» прошу под кат.

«Вот так, ко времени и к месту» Большой Лебовски.


Читать дальше →
Total votes 21: ↑16 and ↓5+13
Comments35

Как работает реляционная БД

Reading time51 min
Views544K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →
Total votes 232: ↑229 and ↓3+226
Comments134

RICE: Простая приоритезация для Product-менеджеров

Reading time6 min
Views50K
Перевод статьи подготовлен специально для студентов курса «Product Manager IT-проектов»





Проблемой, которая возникает постоянно при построении дорожной карты продукта, является распределение приоритетов. Как вы решаете над чем нужно работать в первую очередь?

Если вы вложили достаточно усилий в мозговой штурм, поиск возможностей для улучшения и получения обратной связи, вы сможете создать хорошую дорожную карту продукта. Однако порядок, в котором вы будете заниматься воплощением новых идей, тоже заслуживает внимания. Вам необходимо найти время, чтобы правильно расставить приоритеты.
Читать дальше →
Total votes 7: ↑5 and ↓2+7
Comments1

XML практически всегда применяется не по назначению

Reading time6 min
Views53K

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

Не будет преувеличением сказать, что подавляющее большинство схем XML, которые мне доводилось видеть, представляли собой нецелесообразное или неправильное использование XML. Более того, такое применение XML свидетельствовало о фундаментальном непонимании того, чем прежде всего является XML.

XML — это язык разметки. Это не формат данных. В большинстве схем XML это разграничение явно не учитывали, путая XML с форматом данных, что в итоге означало ошибку в самом выборе XML, поскольку на самом деле нужен был именно формат данных.
Читать дальше →
Total votes 126: ↑98 and ↓28+70
Comments95

Вымирание компьютерных файлов

Reading time9 min
Views71K

Новомодные технологические сервисы меняют наши интернет-привычки.




Я люблю файлы. Мне нравится переименовывать их, перемещать, сортировать, изменять способ отображения в папке, создавать резервные копии, выгружать их в интернет, восстанавливать, копировать и даже дефрагментировать их. Как метафора способа хранения информационного блока, я думаю, они великолепны. Мне нравится файл как единое целое. Если мне нужно написать статью, она окажется в файле. Если мне нужно выдать в свет изображение, оно будет в файле.
Читать дальше →
Total votes 177: ↑157 and ↓20+137
Comments400

Диаграмма Ганта vs Канбан доска

Reading time8 min
Views28K
Если коротко – диаграммы Ганта полезны, когда зависимости являются основным фактором формирования расписания, тогда как Канбан доски можно использовать для работ, которые не имеют зависимостей между собой.

Кроме того, диаграммы Ганта подходят, когда существует предварительный план для всего содержания проекта (хотя бы высокоуровневый), в то время как Канбан доски больше подходят для случаев, когда весь план возникает и дорабатывается по мере развития проекта.

Канбан доски лучше подходят для повторяющейся работы (работы со схожими этапами), а диаграммы Ганта – для комбинации различных видов работ.

Наконец, эти инструменты подразумевают разные взгляды на работу, которые должны соответствовать вашему подходу к работе и вашему подходу к разработке (Agile или предиктивный).

Теперь давайте потратим ещё несколько минут, чтобы разобраться в деталях.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments19

Как освещение влияет на геймдизайн и игровой опыт

Reading time15 min
Views21K


В ожидании PS5 и Project Scarlett, которые будут поддерживать трассировку лучей, задумался об освещении в играх. Нашел материал, где автор объясняет, что такое свет, как он влияет на дизайн, меняет геймплей, эстетику и экспириенс. Все с примерами и скриншотами. Во время игры на такое не сразу обращаешь внимание.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments7

Загрузка музыки ВКонтакте

Reading time6 min
Views26K

Доброго времени суток всем.


Захотелось мне скачать всю мою музыку со ВКонтакте на флешку, как в старые добрые времена. Немного погуглив и не найдя практически ничего более менее приемлемого, я решил действовать своими силами. Спустя пол часа получился вполне себе рабочий скрипт. Итак, начнём.


Для работы нужно скачать модули vk_api и request!


Для начала подключим необходимые модули и объявим некоторые переменные:


import os
import pickle
import vk_api
import requests

from vk_api import audio

from time import time

vk_file = "vk_config.v2.json"
REQUEST_STATUS_CODE = 200 
path = 'vk_music/'
Читать дальше →
Total votes 45: ↑36 and ↓9+27
Comments50

VDS с лицензионным Windows Server за 100 рублей: миф или реальность?

Reading time8 min
Views52K
Под недорогим VPS чаще всего понимают виртуальную машину, работающую на GNU/Linux. Сегодня мы проверим, есть ли жизнь на Марсе Windows: в список тестирования попали бюджетные предложения отечественных и зарубежных провайдеров.



Виртуальные серверы на коммерческой ОС Windows обычно стоят дороже машин на Linux из-за необходимости лицензионных отчислений и несколько более высоких требований к вычислительной мощности компьютера. Для проектов с небольшой нагрузкой нам требовалось дешевое Windows-решение: разработчикам часто приходится создавать инфраструктуру для тестирования приложений, а брать для этих целей мощные виртуальные или выделенные серверы довольно накладно. В среднем VPS в минимальной конфигурации стоит около 500 рублей в месяц и выше, но мы обнаружили на рынке варианты менее чем за 200 рублей. От таких дешевых серверов сложно ожидать чудес производительности, но протестировать их возможности было любопытно. Как оказалось, кандидатов для тестирования найти не так просто.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments39

Использование Identity Server 4 в Net Core 3.0

Reading time26 min
Views80K

Введение


На одном из моих поддерживаемых проектов недавно встала задача проанализировать возможность миграции с .NET фреймворка 4.5 на .Net Core по случаю необходимости рефакторинга и разгребания большого количества накопившегося технического долга. Выбор пал на целевую платформу .NET Core 3.0, так как, судя по утверждению разработчиков от Microsoft, с появлением релиза версии 3.0, необходимые шаги при миграции legacy кода уменьшатся в несколько раз. Особенно нас в нем привлекли планы выхода EntityFramework 6.3 для .Net Core т.е. большую часть кода, основанную на EF 6.2, можно будет оставить «как есть» в мигрированном проекте на net core.


С уровнем данных, вроде, стало понятно, однако, еще одной большой частью по переносу кода остался уровень безопасности, который, к сожалению, после беглых выводов аудита придется почти полностью выкинуть и переписать с нуля. Благо, на проекте уже использовалась часть ASP NET Identity, в виде хранения пользователей и других приделанных сбоку «велосипедов».


Тут возникает логичный вопрос: если в security часть придется вносить много изменений, почему бы сразу же не внедрить подходы, рекомендуемые в виде промышленных стандартов, а именно: подвести приложение под использование Open Id connect и OAuth посредством фреймворка IdentityServer4.

Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments5

Industry Foundation Classes. Краткое введение

Reading time18 min
Views32K

Введение


В связи с политикой Партии и Правительства, происходит активное изменение законодательства в целях внедрения технологии BIM — Информационное моделирование Зданий. В продолжении линии Партии рассмотрим открытый формат представления BIM — IFC (Industry Foundation Classes).

Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments5

Балансировка записи и чтения в базе данных

Reading time14 min
Views8.3K
image

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

В этой статье я покажу, каким образом такая концепция позволяет быстро и удобно балансировать запись и чтение в базу данных без какого-либо изменения логики работы. Похожий функционал попытались реализовать в современных коммерческих СУБД (в частности, Oracle и Microsoft SQL Server). В конце статьи я покажу, что получилось у них, мягко говоря, не очень.
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments96

Инженерный подход к разработке ПО

Reading time25 min
Views38K

Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Требования и спецификации — пережиток прошлого?


Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндексе, до этого работал в Intel, ещё раньше разрабатывал RTL-код (register transfer level) на Verilog/VHDL для ASIC/FPGA. Давно увлекаюсь темой надёжности софта и аппаратуры, математикой, инструментами и методами, применяемыми для разработки ПО и логики с гарантированными, заранее определёнными свойствами.


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


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


Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments135

Текстурирование, или что нужно знать, чтобы стать Художником по поверхностям. Часть 4. Модели, нормали и развертка

Reading time19 min
Views65K

Модели, нормали и развертка


По моему скромному мнению, художник по текстурам должен отвечать за развертку. Не за саму развертку (ее стоит делать 3D-художникам или вообще отдельным UV-специалистам), а ее укладку. Он должен определять, как острова должны располагаться, как должны быть повернуты и насколько сильно их можно потянуть в той или иной ситуации в зависимости от требований.

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

В этой части мы рассмотрим модели, развертку и нормали. Создадим текстуры для первой полноценной модели (хоть и простой) и настроим ее в Unreal Engine 4.

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

Часть 1. Пиксель здесь.
Часть 2. Маски и текстуры здесь.
Часть 3. PBR и Материалы здесь.
Часть 4. Модели, нормали и развертка — вы ее читаете.
Часть 5. Система материалов здесь.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments14

TJBOT как иллюстрация IBM Watson services

Reading time6 min
Views3K
Привет, Хабр! Весной 2019 года прошел очередной Think Developers Workshop, на котором все желающие могли собрать картонного робота TJBota под управлением IBM Watson Services. Под катом находится подробная инструкция, из чего и как собрать такого робота, полезные ссылки и простейшие рецепты, демонстрирующие некоторые когнитивные возможности сервисов Watson, а также небольшой анонс двух июльских семинаров о Watson Services в московском офисе IBM.

image

Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments5

Самонадеянный NAS

Reading time3 min
Views28K
Быстро сказка сказывалась, да долго дело делалось.

Более полутора лет назад, захотелось собрать собственный NAS, а началом, для сбора NASа, послужило наведение порядка в серверной комнате. При разборе кабелей, корпусов, а также, переселении лампового 24 дюймового монитора от HP на свалку и прочего, прочего, был найден кулер от Noctua. Из которого, путём неимоверных усилий, изъял два вентилятора – 120 и 140 мм. 120 мм вентилятор почти сразу же, уехал в домашний сервер, так как, тихий и мощный. А вот, что делать со 140 мм вентилятором, мыслей пока не было. Поэтому, отправился он прямиком на полку – в запас.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments81

Хоррор Devotion удалили из Steam — причиной снова Винни-Пух, Си Цзиньпин и гнев Китая на политический подтекст

Reading time3 min
Views25K


19 февраля в Steam вышел Тайваньский хоррор Devotion — семейная драма с примесью местной мифологии и религиозного культизма. Это игра в духе «симуляторов ходьбы», где главная механика — медленное и внимательное исследование мира от первого лица и без особого экшена. В Devotion мир — это пустой многоквартирный дом на Тайване, в 80-х годах, где главный герой блуждает сквозь временные петли, наблюдая за постоянным изменением окружения.

Сразу после релиза Devotion стала хитом на Twitch, попала в топ продаж, мигом набрала 95% положительных отзывов в Steam и собрала очень хорошую прессу.

Через неделю игру удалили из магазина, все ее обсуждения забанили на китайских игровых форумах, а авторы убрали с Youtube-канала все ролики о ней. Не смотря на это, вокруг игры до сих пор шумит скандал, который начинался с нелепых мемов, ушел в национальные и политические конфликты и теперь может угрожать планам Valve в Китае.
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments58

Использование UTF-8 в HTTP заголовках

Reading time6 min
Views30K


Как известно, HTTP 1.1 — это текстовой протокол передачи данных. HTTP сообщения закодированы, используя ISO-8859-1 (которую условно можно считать расширенной версией ASCII, содержащей умляуты, диакритику и другие символы, используемые в западноевропейских языках). При этом в теле сообщений можно использовать другую кодировку, которая должна быть обозначена в заголовке «Content-Type». Но что делать, если нам необходимо задать non-ASCII символы не в теле сообщения, а в самих заголовках? Наверное, самый распространенный кейс — это проставление имени файла в «Content-Disposition» заголовке. Это, казалось бы, довольно распространенная задача, но ее реализация не так очевидна.

TL;DR: Используйте кодировку, описанную в RFC 6266, для «Content-Disposition» и преобразуйте текст в латиницу (транслит) в остальных случаях.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments6

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Registered
Activity