А зачем так заморачиваться с хешами?
Не проще ли сделать последовательное переименование классов с добавлением новой буквы, когда алфавит кончается? a, b, c, ... , y, z, aa, ab, ac, ... , ay, az, ba, bb, bc, ...
Экономия букв налицо.
Посмотрите модуль sharp.
Его позиционируют как очень быстрый. Есть результаты бенчмарков где сравнивают скорость с другими инструментами. Правда там тестируют только JPEG формат. Не знаю на сколько он быстр по сравнению с другими в плане WebP. Но, на сколько я понял, его архитектура построена так, что он быстрый с любым форматом.
Я сам им пользуюсь (именно для работы с WebP) и вижу что он использует сразу все ядра процессора, что само по себе уже хорошо:
Только-что попробовал конвертировать 50 JPG фотографий размером 2880 × 1920 px на макбуке с процессором 2,4 GHz Quad-Core Intel Core i5. У меня это заняло 8.5 сек.
В среднем 170 мс на фотографию.
Значит конвертирование пол-миллиона таких же фоток на моём ноуте займёт примерно 24 часа.
Не согласен с автором статьи — допускает стандартную когнитивную ошибку: если термин более новый и сложный, то это ещё не значит, что за ним скрывается более сложное понятие.
Короче, веб-приложение и сайт — это одно и то же. И не сбивайте с толку новичков.
Достаточно углубиться в этимологию слова «приложение». Оно же application (app). Приложение — это софт созданный для выполнения специфических задач и рассчитанный на взаимодействие с пользователем. А веб-приложение — это то же самое, только в интернете. В общем, любой сайт попадает под это определение и является веб-приложением. Так как основная функция даже самого простого сайта-визитки — это показать определённую информацию по запросу пользователя (например при клике по пункту меню) или отправить то же сообщение с сайта через форму обратной связи.
Любой сайт — это веб-приложение. Только простые статичные сайты — это приложения с очень простой архитектурой. И пусть вас не смущает новый трендовый термин «веб-приложение».
Есть довольно простой способ отделить тачскрины от устройств с обычным курсором, не запариваясь с размерами окна или типом браузера:
let regular = window.matchMedia('(pointer:fine)');
let touch = window.matchMedia('(pointer:coarse)');
if (regular.matches) {
// обычный курсор
} else if (touch.matches) {
// тач-скрин
} else {
// устройство без курсора, оно же pointer:none
}
Да, и правда, не подумал о таком :)
Хорошо, что на том сайте который я делал форма генерируется JS-ом. Боты вообще голову сломают пока продерутся через мой JS до кнопки отправки :) Наверное по этому у нас еще не было ни одного спам-сообщения.
А если заморочиться, то можно ещё и обфусцировать текст кнопки так как это делают с имейлами.
… мы в какой-то момент просто уперлись в производительность. Изначально все было написано на нативном JavaScript, но с выходом очередной фичи мы поняли, что дальше развивать продукт на этом ядре мы не можем.
Как такое возможно? Может быть есть конкретные примеры? Просто инетересно. Я всегда думал, что «голый» JS всегда будет производительнее и гибче, чем любой фреймворк.
Мне кажется, такая схема будет работать до тех пор, пока спамер не заинтересуется конкретно моим сайтом и подумает как можно обойти мою «защиту». Но для этого ему нужно лично зайти на сайт, посмотреть как сделана страница и написать парсер под мой конкретный случай.
Но если он уж до такой степени заинтересовался именно моим сайтом, то ему проще будет отправить форму вручную.
То есть, на сколько я понимаю, описанный мной способ работает н 100% случаев. Кроме тех случаев, когда хакер/спамер захотел насолить именно вам. Но мы знаем, что взломать можно всё и тут уже ничего не спасёт.
P.S. Разве-что я чего-то не знаю про приёмы работы спам-ботов. Сам я не хакер и даже программист с натяжкой.
«UX/UI дизайн» отличается от «веб-дизайна» так же как «транспорт» отличается от «автомобиля». Веб-дизайн — это более узкое, специализированное направление которое является частью UX/UI дизайна, которое направлено исключительно на дизайн веб-сайтов. А UX/UI дизайн в целом может включать не только веб-дизайн, но и дизайн интерфейса банкомата, дизайн панели управления лифтом или даже дизайн точильного камня…
Нужно ли разделять отдельно по профессиям ux от ui?
Если хотите, то можете разделять. В таком случае (если мы говорим про веб) UX-дизайнер будет разрабатывать навигацию по сайту, а UI-дизайнер будет тупо рисовать кнопочки не думая что делает каждая из них.
Но на практике это встречается не часто. Чаще это можно встретить в очень больших студиях, где много народу и каждый делает свою маленькую часть работы.
Спасибо за ответ!
Да верно, больший приоритет на проекторе будет отдаваться всё-таки стереоэффектам и цветокоррекции. Но иногда смотришь на нечеткую грань, например, и думаешь ты ли это сделал или это из-за сжатия? В общем, чтобы минимизировать количество таких вопросов к себе и перепроверок хотелось бы и хорошей четкости, на сколько это возможно.
А как насчет разрешения? В проекторах, как я заметил, фигурируют значения Half HD, Full HD и UHD. Все они кратны 16:9. А для кино (до финального монтажа) используется 4K Full Container — комбинированный формат из 4K Scope и 4K Flat: 4096×1716 и 3996×2160 соответственно. По самому большому значению из обоих форматов: получается 4096×2160 (пропорция примерно 1.90:1). Проекторы такое разрешение поддерживают? Потому что даже не все кинотеатры поддерживают разрешение Full Container. Но все фильмы делаются именно в нем, чтобы потом обрезать до Flat или Scope.
epsonic, спасибо за обзор. У меня вопрос:
Я иногда делаю метт-пейнты и спецэффекты для кино. И входе работы над кадром (и после окончания) хотелось бы проверять качество собственной работы на большом экране. Чтобы изображение было близким к тому, что люди увидят в кинотеатрах. Целевое изображение, под которое делаются кадры: 4096x2160. Я понимаю что сравнивать домашний проектор и кинопроектор нельзя, но хочу хотя бы приблизиться.
Но проблема вот в чем. В отличие от обычной аудитории, я буду нажимать паузу и всматриваться в каждый пиксель. После того как много часов потрачено на вырисовывание самых мелких деталей, то каждый пиксель становится мне «как родной» — я точно знаю как каждый из них должен выглядеть.
Вопрос: достаточно ли мне будет технологии 4KE в таком случае?
P.S. Ваш демо-зал посетить не могу. Надеюсь на ответ. Заранее спасибо.
Зависит от персонажа.
Если у вас есть необходимость в запекании карт с большим количеством мелких деталей, тогда желательно сделать высокополигональную модель как описано в статье. Но если вы делаете персонажей такого плана, более абстрактных, то не обязательно — там другой процесс. В этом случае начинают с лоу-поли моделирования и во время работы время от времени переключают сглаживание, чтобы посмотреть как геометрия будет смотреться с бОльшим количеством полигонов:
В таком случае не придется делать двойную работу. Сделав один раз лоу-поли, можно автоматически увеличивать количество полигонов до бесконечности.
Если всё-таки нужно использовать таких персонажей в игровых движках с запеченными картами, то обычно дело ограничивается картой Ambient Oclusion и картой отражений.
Так как у таких персонажей изначально гладкие поверхности и отсутствуют мелкие делали в текстурах, то и хай-поли скульптинг тут не нужен.
Статью ещё не прочитал, но уже по картинкам вижу, что хорошая и полезная. Так многие начинающие дизайнеры (в вслед за ними и верстальщики) выравнивают всё автоматически, а не на глаз. И из-за этого обычно все кнопки и иконки на сайтах кривые.
Если вопрос о том, почему я использую это слово в статье, то я просто объясняю термин. Если бы я написал: «Что такое UX/UI проектирование на самом деле», то его наверное не пришлось бы объяснять. Но при этом обязательно нашлись бы те, кто спросил бы:
— А что же тогда такое UX/UI дизайн?
:)
Да, желательно уточнить отрасль.
Конечно, в случае если вы разрабатываете дизайн приборной панели в самолетах, то скорее всего человек которому вы это говорите уже знает о чем речь и термин UX/UI вообще не обязателен.
Но если взять более приземленный пример, то у разработчиков игр есть свои UX и UI дизайнеры. А в вебе — свои. И в каждой отрасли есть свои специфические нюансы.
Но общие принципы разработки интерфейса у всех одинаковые.
Не проще ли сделать последовательное переименование классов с добавлением новой буквы, когда алфавит кончается?
a, b, c, ... , y, z, aa, ab, ac, ... , ay, az, ba, bb, bc, ...
Экономия букв налицо.
Его позиционируют как очень быстрый. Есть результаты бенчмарков где сравнивают скорость с другими инструментами. Правда там тестируют только JPEG формат. Не знаю на сколько он быстр по сравнению с другими в плане WebP. Но, на сколько я понял, его архитектура построена так, что он быстрый с любым форматом.
Я сам им пользуюсь (именно для работы с WebP) и вижу что он использует сразу все ядра процессора, что само по себе уже хорошо:
Только-что попробовал конвертировать 50 JPG фотографий размером 2880 × 1920 px на макбуке с процессором 2,4 GHz Quad-Core Intel Core i5. У меня это заняло 8.5 сек.
В среднем 170 мс на фотографию.
Значит конвертирование пол-миллиона таких же фоток на моём ноуте займёт примерно 24 часа.
Короче, веб-приложение и сайт — это одно и то же. И не сбивайте с толку новичков.
Достаточно углубиться в этимологию слова «приложение». Оно же application (app). Приложение — это софт созданный для выполнения специфических задач и рассчитанный на взаимодействие с пользователем. А веб-приложение — это то же самое, только в интернете. В общем, любой сайт попадает под это определение и является веб-приложением. Так как основная функция даже самого простого сайта-визитки — это показать определённую информацию по запросу пользователя (например при клике по пункту меню) или отправить то же сообщение с сайта через форму обратной связи.
Любой сайт — это веб-приложение. Только простые статичные сайты — это приложения с очень простой архитектурой. И пусть вас не смущает новый трендовый термин «веб-приложение».
https://developer.mozilla.org/en-US/docs/Web/CSS/@media/pointer
https://caniuse.com/#search=pointer%3Acoarse
Хорошо, что на том сайте который я делал форма генерируется JS-ом. Боты вообще голову сломают пока продерутся через мой JS до кнопки отправки :) Наверное по этому у нас еще не было ни одного спам-сообщения.
А если заморочиться, то можно ещё и обфусцировать текст кнопки так как это делают с имейлами.
Как такое возможно? Может быть есть конкретные примеры? Просто инетересно. Я всегда думал, что «голый» JS всегда будет производительнее и гибче, чем любой фреймворк.
Но если он уж до такой степени заинтересовался именно моим сайтом, то ему проще будет отправить форму вручную.
То есть, на сколько я понимаю, описанный мной способ работает н 100% случаев. Кроме тех случаев, когда хакер/спамер захотел насолить именно вам. Но мы знаем, что взломать можно всё и тут уже ничего не спасёт.
P.S. Разве-что я чего-то не знаю про приёмы работы спам-ботов. Сам я не хакер и даже программист с натяжкой.
action=""
type="submit"
на кнопкеНеоднократно проверено на практике: никакого спама.
Даже моя мама поняла.
До этого она думала, что интерфейсы это всё то, что на экране компьютера.
«UX/UI дизайн» отличается от «веб-дизайна» так же как «транспорт» отличается от «автомобиля». Веб-дизайн — это более узкое, специализированное направление которое является частью UX/UI дизайна, которое направлено исключительно на дизайн веб-сайтов. А UX/UI дизайн в целом может включать не только веб-дизайн, но и дизайн интерфейса банкомата, дизайн панели управления лифтом или даже дизайн точильного камня…
Если хотите, то можете разделять. В таком случае (если мы говорим про веб) UX-дизайнер будет разрабатывать навигацию по сайту, а UI-дизайнер будет тупо рисовать кнопочки не думая что делает каждая из них.
Но на практике это встречается не часто. Чаще это можно встретить в очень больших студиях, где много народу и каждый делает свою маленькую часть работы.
Да верно, больший приоритет на проекторе будет отдаваться всё-таки стереоэффектам и цветокоррекции. Но иногда смотришь на нечеткую грань, например, и думаешь ты ли это сделал или это из-за сжатия? В общем, чтобы минимизировать количество таких вопросов к себе и перепроверок хотелось бы и хорошей четкости, на сколько это возможно.
А как насчет разрешения? В проекторах, как я заметил, фигурируют значения Half HD, Full HD и UHD. Все они кратны 16:9. А для кино (до финального монтажа) используется 4K Full Container — комбинированный формат из 4K Scope и 4K Flat: 4096×1716 и 3996×2160 соответственно. По самому большому значению из обоих форматов: получается 4096×2160 (пропорция примерно 1.90:1). Проекторы такое разрешение поддерживают? Потому что даже не все кинотеатры поддерживают разрешение Full Container. Но все фильмы делаются именно в нем, чтобы потом обрезать до Flat или Scope.
Я иногда делаю метт-пейнты и спецэффекты для кино. И входе работы над кадром (и после окончания) хотелось бы проверять качество собственной работы на большом экране. Чтобы изображение было близким к тому, что люди увидят в кинотеатрах. Целевое изображение, под которое делаются кадры: 4096x2160. Я понимаю что сравнивать домашний проектор и кинопроектор нельзя, но хочу хотя бы приблизиться.
Но проблема вот в чем. В отличие от обычной аудитории, я буду нажимать паузу и всматриваться в каждый пиксель. После того как много часов потрачено на вырисовывание самых мелких деталей, то каждый пиксель становится мне «как родной» — я точно знаю как каждый из них должен выглядеть.
Вопрос: достаточно ли мне будет технологии 4KE в таком случае?
P.S. Ваш демо-зал посетить не могу. Надеюсь на ответ. Заранее спасибо.
Если у вас есть необходимость в запекании карт с большим количеством мелких деталей, тогда желательно сделать высокополигональную модель как описано в статье. Но если вы делаете персонажей такого плана, более абстрактных, то не обязательно — там другой процесс. В этом случае начинают с лоу-поли моделирования и во время работы время от времени переключают сглаживание, чтобы посмотреть как геометрия будет смотреться с бОльшим количеством полигонов:
В таком случае не придется делать двойную работу. Сделав один раз лоу-поли, можно автоматически увеличивать количество полигонов до бесконечности.
Если всё-таки нужно использовать таких персонажей в игровых движках с запеченными картами, то обычно дело ограничивается картой Ambient Oclusion и картой отражений.
Так как у таких персонажей изначально гладкие поверхности и отсутствуют мелкие делали в текстурах, то и хай-поли скульптинг тут не нужен.
— А что же тогда такое UX/UI дизайн?
:)
Конечно, в случае если вы разрабатываете дизайн приборной панели в самолетах, то скорее всего человек которому вы это говорите уже знает о чем речь и термин UX/UI вообще не обязателен.
Но если взять более приземленный пример, то у разработчиков игр есть свои UX и UI дизайнеры. А в вебе — свои. И в каждой отрасли есть свои специфические нюансы.
Но общие принципы разработки интерфейса у всех одинаковые.