Как стать автором
Поиск
Написать публикацию
Обновить
0
@clearBlueWaterread⁠-⁠only

Пользователь

Отправить сообщение

Представление движений в 3D моделировании: интерполяция, аппроксимация и алгебры Ли

Время на прочтение14 мин
Количество просмотров30K
В этой статье мне бы хотелось рассказать об одном интересном математическом приеме, который будучи весьма интересным и полезным мало известен широкому кругу людей, занимающихся компьютерной графикой.

Сколько существует разных способов представить обыкновенный поворот в трехмерном пространстве? Большинство людей, когда-либо занимавшихся 3D-графикой или 3D-моделированием, сходу назовут три основных широко распространенных варианта:

  • Матрица поворота 3x3;
  • Задание поворота через углы Эйлера;
  • Кватернионы.

Люди с богатым опытом добавят сюда почему-то не пользующийся популярностью четвертый пункт:
  • Ось поворота и угол.

Мне бы хотелось рассказать о пятом способе представления вращений, который симпатичен тем, что удобен для параметризации, позволяет эффективно строить полиномиальные аппроксимации этих параметризаций, проводить сферическую интерполяцию, и главное, универсален — с минимальными изменениями он работает для любых видов движений. Если вам когда-либо был нужен метод, который позволял бы легко сделать «аналог slerp, но не для чистых вращений, а для произвольных движений, да еще и с масштабированием», то читайте эту статью.
Читать дальше →

Computer Science или что должен знать программист?

Время на прочтение5 мин
Количество просмотров87K

Программисты бывают разные. Мобильные разработчики на Kotlin и Swift, веб-программисты, использующие PHP, Python, Ruby, хардкорные электронщики на Си и Assembler. Главным их отличием является сфера, в которой они работают и используемый язык. Однако не редки случаи, когда, например, веб-разработчики уходят в mobile, электронщики в gamedev и т.д. А конкретно язык программирования вообще можно переучить за пару месяцев. Пропорции условны, а границы размыты. Языки и технологии меняются, и если всё так подвижно и непостоянно, что же объединяет всех этих людей? А объединяет их умение программировать в целом, не зависимо от языка, платформы и технологии...и знание английского языка, пока не поздно учи английский (вставка из «Криминальное чтиво»)

Умение же программировать складывает из практического навыка написания программ и теоретической базы из различных областей Computer Science. Какие алгоритмы нужно знать программисту, нужно ли ему разбираться в компьютерах, системах счисления, делить в уме столбиком и что вообще должен знать программист в широком смысле этого слова. На эти вопросы вам сегодня постарается ответить Макс. Один из автора YouTube-канала PyLounge, Поехали!

Читать далее

Как создать дизайн-систему, в которой комфортно всем

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4K

Привет! Меня зовут Константин. Уже второй год мы с командой проектировщиков работаем в БФТ-Холдинге над большим продуктом для государства. В этой статье я поделюсь своим опытом, а также расскажу про ошибки, с которыми пришлось столкнуться на пути к созданию удобной дизайн-системы.

Читать далее

10 игр для изучения JavaScript

Время на прочтение3 мин
Количество просмотров42K

Мы рассматривали 10 удивительных игр для изучения CSS. А в этой статье мы сделаем то же самое для JavaScript. Изучать язык, играя в игры, очень весело, а для некоторых людей это отличный способ наглядного восприятия языка.

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

Читать далее

Пример биометрической аутентификации в веб-приложениях

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.3K

В довольно длинном и скучном посте описывается пример аутентификации пользователя в веб-приложениях при помощи биометрических средств (FaceID, отпечаток пальца), встроенных в мобильные телефоны. Код проекта - тут, рабочее демо - тут. Пример написан на чистом JavaScript и может быть отдебажен как на бэке (nodejs), так и в браузере.

Читать далее

Microsoft Visual Studio и BackDoor.Dandle.5

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров4.2K

Microsoft Visual Studio и BackDoor.Dandle.5

Предыстория

Изначально данное мини-расследование было опубликовано на пикабу, но получив отклик аудитории, читающий по диагонали, не имеющих конструктива и любящий только котиков не понял мой посыл (хотя пост и быд написал в лёгком стиле), решил поделиться здесь, при этом вырезав "воду" и дополнив данными.

Кратко

1) Обнаружен BackDoor.Dandle.5 в ServiceHub.RoslynCodeAnalysisServiceS.exe, который является компонентом MS VS 2019.

2) Сообщено в поддержку Microsoft.

3) Взято в работу с обещанием обратной связи и выяснения обстоятельств.

3) Тикет закрыт через неделю по причине "Попытка фишинга через форму обратной связи".

4) В течении двух месяцев я вновь пытался достучаться до поддержки, но обратного ответа я просто не получил.

Читать далее

Пять популярных мифов про C++, часть 1

Время на прочтение11 мин
Количество просмотров113K

1. Введение


В этой статье я попытаюсь исследовать и развенчать пять популярных мифов про C++:

1. Чтобы понять С++, сначала нужно выучить С
2. С++ — это объектно-ориентированный язык программирования
3. В надёжных программах необходима сборка мусора
4. Для достижения эффективности необходимо писать низкоуровневый код
5. С++ подходит только для больших и сложных программ

Если вы или ваши коллеги верите в эти мифы – эта статья для вас. Некоторые мифы правдивы для кого-то, для какой-то задачи в какой-то момент времени. Тем не менее, сегодняшний C++, использующий компиляторы ISO C++ 2011, делает эти утверждения мифами.

Мне они кажутся популярными, потому что я их часто слышу. Иногда их аргументировано доказывают, но чаще используют как аксиомы. Часто их используют, чтобы отмести С++ как один из возможных вариантов решения какой-либо задачи.

Каждому мифу можно посвятить книгу, но я ограничусь простой констатацией и кратким изложением своих аргументов против них.
Читать дальше →

Как создать своего бота: 4 способа для новичков и профи

Время на прочтение18 мин
Количество просмотров99K

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

Читать далее

Обзор исходного кода Quake 3: Архитектура (Часть 1)

Время на прочтение5 мин
Количество просмотров106K
Так как у меня была одна неделя до моего следующего контракта, я решил закончить мой цикл статей id. После Doom,Doom Iphone, Quake1, Quake2, Wolfenstein iPhone и Doom3, я решил изучить код, который я еще не рассматривал: idTech3 — 3D движок Quake III и Quake Live.
Читать дальше →

Итоги двадцати лет работы — технический долг и неподдерживаемый код

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров33K

Технический долг — один из самых популярных сегодня терминов. Люди говорят: «Мы быстро развиваем свой MVP, минимизируя технический долг!» Они говорят о техническом долге, чтобы звучать круто или выделиться.

А я просто смеюсь, ведь всё рано или поздно превращается в технический долг.

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

И если вы не верите, что вся ваша карьера — это технический долг, то, возможно, поймёте это после прочтения статьи. Я расскажу о том, что изменилось за мою двадцатилетнюю карьеру.
Читать дальше →

ChatGPT во фронтенде: как его использовать и когда он заменит разработчиков

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров12K

Что такое ChatGPT, чем он может помочь фронтенд-разработчику и стоит ли бояться, что нейросеть отнимет у вас работу?

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

Развёрнутый ответ — в этой статье. Мы последовательно объясним, почему нейросетей не стоит бояться, и на конкретных примерах покажем, как именно вы можете внедрить ChatGPT в свою работу уже сегодня.

Узнать дальше

Советский UNIX. Как в СССР ковали собственную операционную систему

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров44K

На рубеже 70-х и 80-х годов ХХ столетия UNIX набирал популярность не только в академических кругах, но также активно внедрялся в различные бизнес-процессы коммерческих предприятий. Портируемость, простота архитектуры и широкие возможности ОС привели к появлению у этой платформы целой армии верных поклонников. Однако «юних» — это у них. А что у нас? В Советском Союзе имелись свои талантливые инженеры и программисты, которые пытались создавать собственные версии операционных систем, во многом вдохновлённые идеями и архитектурой UNIX. И некоторые из этих проектов оказались вполне успешными. А самым успешным среди них стала ОС ДЕМОС.
Читать дальше →

Тайм-трекер — от поиска до собственных «костылей» и «велосипеда»

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.8K

Меня зовут Наташа и, так сложилось, что я работаю frontend разработчиком. За этот период мне посчастливилось поработать как в офисе, так и на удаленке. Одним из важных этапов в этой отрасли является тайм-менеджмент. Важно не только уметь планировать свое время, но и, как итог, отчитываться перед работодателем сколько времени на какую задачу или проект ты потратил. Скажу сразу, у нас нет тотального контроля за сотрудниками: нам не нужно ставить софт, который отслеживает твою активность, делает скриншоты или записывает запись видео рабочего экрана. Достаточно в конце дня или в конце рабочей недели затрекать тайминг по своим задачам. Отсюда вытекает ряд достаточно простых требований к сервису:

Читать далее

Пишем на Python, как будто это Rust

Время на прочтение19 мин
Количество просмотров11K

Я начал программировать Rust несколько лет назад, и эта работа постепенно позволила мне изменить подход к проектированию программ и на других языках. В особенности заметен этот эффект был на Python. Прежде, чем я приступил к использованию Rust, я обычно писал код Python в очень динамичном стиле со свободной типизацией, без подсказок типов. Я повсюду передавал и возвращал словари, от случая к случаю прибегая к интерфейсам со «строковой типизацией». Правда, ощутив на себе всю строгость системы типов Rust и познакомившись со всеми теми проблемами, которые Rust решает «по природе», я вдруг сильно разволновался, когда пришлось вернуться к Python, и оказалось, что там и близко нет таких гарантий, как в Rust.

Читать далее

О русской науке замолвите слово или за что я люблю Тинькофф, часть 1

Время на прочтение34 мин
Количество просмотров58K


Так сложилось, что я уже много лет руковожу научной группой, а с недавних пор лабораторией в МГУ. При этом львиная доля финансирования нашей лаборатории идет от компаний. Изначально она была создана в рамках контракта с Intel (совместная лаборатория), а позднее мы очень активно работали ещё и с RealNetworks (20+ проектов), Samsung (совместная лаборатория), Cisco, Huawei (до 5 контрактов параллельно) и другими. И так получилось, что большая часть наших контрактов (примерно 95% по количеству и 99% по деньгам) приходилась на иностранные компании, при этом взаимодействие с российскими компаниями в среднем заметно контрастировало.

Моим наилучшим примером отношения русских компаний к университетам является любимый пример Олега Тинькова из его книги:

«Третий пример, мой любимый. Весной 2011 года я выступал на мехмате МГУ и с присущим мне эпатажем заявил: «Что такое фундаментальная наука. Ходить грязным, вонючим и в итоге стать нобелевским лауреатом? Так вот, это все булшит! Зарабатывайте деньги. Не думайте про фундаментальную науку, потому что это отстой».
Олег Тиньков, «Революция. Как построить крупнейший онлайн банк в мире»
 

С Тиньковым есть, о чем поспорить. Например, Нобелевская премия за достижения в области математики не присуждается, а присуждаются Филдсовская и Абелевская премии. Впрочем, Тиньков этого мог и не знать. Важнее, что он явно приводил этот пример много раз, и в книге он дан в главе про найм специалистов. 

Меня периодически спрашивают друзья из компаний: «Как там наука? Поднялась с колен? Я слышал — ситуация получше стала». Кому интересно, как Тиньков развалил мехмат что происходит в науке в разрезе работы с компаниями (этюды в багровых тонах, вечерние зарисовки из окопа автора) — добро пожаловать под кат!
Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность