Как стать автором
Обновить
-7
0
Константин Савков @GCU

Инженегр-погромист

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

Сколько платят айтишникам в Европе?

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

Больше года назад я переехал в Барселону (Испания) и иногда поглядываю что там на рынке айти в целом по Европе)

Давайте начнем с карьерной лестницы

📝По моему мнению, лестница программиста в Европе выглядит так, сначала опыт в годах, потом название роли, внутри более читаемая табличка

0 лет |  Intern -> Trainee, 1 год | Junior -> SDE I, 2 года | Middle -> SDE II, 3 года | Upper Middle -> SDE III, 5+ лет |  Senior -> Senior SDE, 10+ лет | Staff, Sr. Staff, Principal, Sr. Principal, Distinguished Engineer, Head Of Engineering | VP | CTO 

Читать далее
Всего голосов 52: ↑15 и ↓37-22
Комментарии75

Подвижный человек. Эл Кавадло

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

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

Читать далее
Всего голосов 25: ↑18 и ↓7+11
Комментарии15

Inkscape с 0 до Pro за 5 дней

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

Создал мини курс по программе для векторной графики Inkscape в 2022.

Разработал методические материалы для изучения темы «Кодирование и обработка графической и мультимедийной информации» в школьном курсе информатики.

«Векторные графические редакторы позволяют пользователю создавать и редактировать векторные изображения непосредственно на экране компьютера, а также сохранять их в различных векторных форматах, например, CDR, AI, EPS, WMF или SVG». «Inkscape - редактор векторной графики, аналогичный по своим возможностям таким программам, как Adobe Illustrator, Corel Draw и другим».

Читать далее
Всего голосов 78: ↑77 и ↓1+76
Комментарии42

Непрерывность мобильной разработки — как это реализовано у нас

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

Современный мир – это постоянные вызовы. Непредвиденные ситуации, отказы, поломки всегда были спутниками любого IT-продукта. В последние несколько месяцев примерно у каждой российской компании появился риск, что какой-либо из используемых ими сервисов может перестать работать в России. Поэтому перед нами встала задача обеспечить непрерывность ключевого для компании направления – мобильной разработки.

В данной статье я расскажу как мы решали эту задачу.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии14

Налоговый маневр в IT отрасли

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

Минфин России совместно с Федеральной Налоговой службой подготовили разъяснения по поводу налогового маневра в IT отрасли.

Содержание 6-страничного документа сведено в таблицу:

Читать далее
Всего голосов 19: ↑14 и ↓5+9
Комментарии15

Песочный алфавит при помощи генеративных алгоритмов

Время на прочтение6 мин
Количество просмотров9.6K
image

В посте есть результаты экспериментов с различными биологическими и физическими закономерностями, в частности песочный сплайн, дифференциальная решетка, песчаные творения и песочные знаки.
Осторожно, тяжелые красивые картинки
Всего голосов 38: ↑38 и ↓0+38
Комментарии47

Мама, кажется я архитектор

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


Статья направлена на диалог о необходимости архитектора в команде. Она будет интересна тем, кто задумывается о пути своего развития, когда “все дороги уже исхожены”. Когда имеющийся богатый опыт делает твою работу “неэффективной” с точки зрения коллег. Когда тебя уже почти ничего не удивляет и каждый следующий проект это дежа вю. Ты выгораешь.

Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии53

Высокие технологии (н.-ф. рассказ)

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


Я прислонил запястье к считывающему элементу.

– Доброе утро, Максим Петрович. До начала вашего дежурства остается 3 минуты 23 секунды, – произнес механический голос.

Я не ответил, проходя внутрь Центра оптимизации здоровья. В рабочем помещении завершала работу предыдущая смена. За их спинами, в соответствии с заведенным порядком, ожидала моя команда – все, за исключением стажерки Скворцовой, которая по своему обыкновению опаздывала.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии15

Плитки Вана для симуляции машин Тьюринга

Время на прочтение7 мин
Количество просмотров6.4K
Плитки (домино) Вана были изобретены Хао Ваном в 1961 году для математических задач, но нашли широкое применение в играх при создании тайловой графики. Благодаря им результаты не выглядят повторяющимися, как в 2D-текстурах, так и в 3D-моделях с тайлингом.

Похоже, что плитки Вана также способны исполнять машины Тьюринга, и следовательно, они Тьюринг-полны, а значит, могут выполнять любую программу.

Это удивительное и непонятное заявление, поэтому в данном посте я немного исследую этот вопрос.

Вкратце о плитках Вана


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

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

Графические примеры, более подробную информацию и ссылки на Shadertoy можно найти здесь: Wang Tiling.

Вот созданный мной пример. Моя графика — это «арт программиста», но надеюсь, идея понятна. Рисунок составлен из 16 тайлов, и для каждой грани есть два различных типа граней.

Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии4

Как я писал бота для школьных д/з и менял базу данных

Время на прочтение3 мин
Количество просмотров13K
Здравствуйте, Хабровчане!
Сегодня я постараюсь поведать вам как школьник может написать бота для хранения домашки для VK.
Осторожно
Сразу обращу внимание, что для серьёзных проектов так строить инфраструктуру нельзя, весь этот проект создавался только для развлечения и убивания времени, ну и презентации на всяких школьных проектных конференциях.

Замечание
17.11.2019 15:55
Мне написали в личные сообщения, что на протяжении статьи не очень понятно, о каких именно домашних заданиях идёт речь.
Уточню сразу, что все задания, о которых я рассказываю в статье, заполняются как в обычном дневнике, а старые задания «исчезают».
Именно так пользователь получает те задания, которые ему будет нужно сделать.

Читать дальше →
Всего голосов 41: ↑30 и ↓11+19
Комментарии19

Алгоритм размещения тайлов на основе ограничений

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

В этом посте описывается алгоритм, используемый в Generate Worlds — инструменте, позволяющем пользователям создавать и исследовать процедурные миры построением небольших множеств воксельных тайлов. Я приведу краткое описание алгоритма, а в следующих постах расскажу о его преимуществах в скорости и гибкости по сравнению с другими методами. Чтобы подробнее узнать о том, что такое процедурная генерация на основе ограничений (constraint-based procedural generation) и о том, чем она интересна, рекомендую прочитать мой предыдущий пост.

Если вы хотите проверить свои силы в создании процедурных миров при помощи этой системы, то можете приобрести Generate Worlds. Если цена для вас слишком высока, то продолжайте чтение: этот пост даст вам информацию о том, как самостоятельно реализовать алгоритм Generate Worlds.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии2

Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти

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

Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK).

Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не рассмотрены. Они просты и их можно посмотреть в репозитории GitHub:

  • Vector
  • IShape
  • Collision

Весь код из поста хранится в репозитории GitHub:

https://github.com/jthomperoo/gjk-ts-implementation

Пост написан на основании этой статьи и рекомендованного в ней видео:


Введение


GJK — это алгоритм, предназначенный для определения пересечения двух выпуклых фигур. Он прост и реализуется при помощи обобщённой «вспомогательной функции», позволяющей использовать более общий подход — аналогичным образом можно обрабатывать многоугольники и фигуры, состоящие из кривых, например, эллипсы.
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии14

Процедурное создание лун

Время на прочтение6 мин
Количество просмотров6.5K
image

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

Система предполагает, что луны имеют сферическую основу. К базовой сфере применяется создание геодезического меша, что гарантирует одинаковую площадь всех частей поверхности. Система применяет эту структуру только как вычислительную сетку для процедурной генерации, настоящая поверхность луны будет намного более гладкой, чем сетка генерации.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии4

Реализация физически корректных объемных облаков как в игре Horizon Zero Dawn

Время на прочтение16 мин
Количество просмотров16K
Раньше облака в играх рисовались обычными 2D спрайтами, которые всегда повернуты в направлении камеры, но последние годы новые модели видеокарт позволяют рисовать физически корректные облака без заметных потерь в производительности. Считается, что объемные облака в игры принесла студия Guerrilla Games вместе с игрой Horizon Zero Dawn. Конечно, такие облака умели рендерить и раньше, но студия сформировала что-то вроде промышленного стандарта на исходные ресурсы и используемые алгоритмы, и в настоящее время любая реализация объемных облаков так или иначе этому стандарту соответствует.

UPD. Картинка обновлена. Изменения описаны в конце статьи.


Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии18

Доступное объяснение алгоритма коллапса волновой функции

Время на прочтение9 мин
Количество просмотров34K
Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные.


(Источник)

Чаще всего он используется для создания изображений, но может также строить города, скейтпарки и писать ужасные стихи.


(Источник)

Коллапс волновой функции — это очень независимо мыслящий алгоритм, не требующий практически никакой помощи или инструкций извне. Вам нужен только пример стиля, которого нужно достичь, а всё остальное он сделает сам. Несмотря на свою самодостаточность, он на удивление прост. Он не использует никаких нейронных сетей, случайных лесов или чего-то другого, похожего на машинное обучение. Если разобраться с идеей, он станет для вас очень понятным и интуитивным.

Большинство реализаций и объяснений коллапса волновой функции — это полная, оптимизированная по скорости версия алгоритма. Разумеется, все они важны и необходимы, но в них сложно разобраться с нуля. В этом посте я буду объяснять всё понятным я простым языком, сосредоточившись на версии Wavefunction с ограничениями, которую я назвал Even Simpler Tiled Model. Кроме того, я выложил пример реализации ESTM на Github. Код в нём неэффективный и медленный, но очень хорошо читаемый и подробно прокомментирован. Как только вы разберётесь в технологии, лежащей в основе ESTM, то станете ближе к пониманию более сложных версий алгоритма. Если хотите понять алгоритм коллапса волновой функции, то эта статья будет хорошим началом.
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии19

Генерируем тайловые уровни и прячем квадраты от игрока

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

Генерация уровней в Unexplored 2


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

Нам не пришлось заново изобретать велосипед. В Unexplored 1 мы уже создали техники, которые сильно повлияли на успех первой игры. Unexplored 2 просто продолжила начатое. Фундамент нашей технологии состоит из двух частей: мы применяем многоэтапную генерацию, которая почти имитирует процесс, очень похожий на работу живого дизайнера уровней. Поверх него мы используем технику под названием "циклическая генерация подземелий", которая гораздо лучше справляется с генерацией естественно выглядящих уровней, чем большинство стандартных приложений генеративного создания контента. В этом посте я расскажу о первом аспекте. Адаптация циклической генерации подземелий к Unexplored 2 будет темой будущего поста.

Имитация «человеческого» дизайна уровней


Генератор уровней разбивает процесс генерации уровня на целое множество управляемых этапов. Он проходит путь от высокоуровневого планирования до низкоуровневой детальной карты уровня. По сути, он сначала создаёт набросок уровня, а затем начинает добавлять детали, пока уровень не станет завершённым и заполненным.
Читать дальше →
Всего голосов 50: ↑50 и ↓0+50
Комментарии7

Математика листьев: как один необычный куст изменил уравнение модели роста растений

Время на прочтение6 мин
Количество просмотров12K
Мы любим листья за их тень, осенние цвета, запах, а расположение листьев растения — это практичный способ определения их видов. Однако подробности того, как растения управляют расположением своих листьев, оставались в ботанике неразъяснимой загадкой. Один вид японских растений с необычным паттерном расположения листьев недавно позволил нам под неожиданным углом взглянуть на то, как почти все растения управляют этим расположением.

«Мы разработали новую модель для объяснения одного особенного паттерна расположения листьев (филлотаксиса). Но на самом деле он намного точнее отражает не только природу этого конкретного растения, но и широкое разнообразие практически всех паттернов расположения листьев, наблюдаемых в природе», — рассказывает доцент Ботанического сада Коисикава Токийского университета Мунэтака Сугияма.

Всё дело в углах



Листья на ветке O. japonica (вверху слева) и схематическое изображение филлотаксиса orixate (справа). Паттерн orixate демонстрирует необычный цикл смены углов листьев, состоящий из четырёх значений (от 180 градусов к 90 градусам, потом к 180 градусам и к 270 градусам). На изображении со сканирующего электронного микроскопа (в центре и внизу слева) показана зимняя почка Orixa japonica, в которой начинают расти листья. Зачатки листьев последовательно помечены от самого старого листа (P8) до самого молодого (P1). Точкой O помечена верхушка побега.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии7

Интро Newton Protocol: что можно уместить в 4 килобайта

Время на прочтение8 мин
Количество просмотров21K
image

Недавно я участвовал соревнованиях демосцены Revision 2019 в категории «PC 4k intro», и моё интро выиграло первое место. Я занимался кодингом и графикой, а dixan сочинял музыку. Основное правило соревнования — необходимо создать исполняемый файл или веб-сайт, имеющий размер всего 4096 байта. Это означает, что всё приходится генерировать с помощью математики и алгоритмов; никаким другим способом не получится ужать изображения, видео и аудио в такой крошечный объём памяти. В этой статье я расскажу о конвейере рендеринга своего интро Newton Protocol. Ниже можно посмотреть готовый результат, или нажать сюда, чтобы посмотреть как оно выглядело вживую на Revision, или зайти на pouet, чтобы прокомментировать и скачать участвовавшее в конкурсе интро. О работах конкурентов и об исправлениях можно прочитать здесь.

Всего голосов 89: ↑89 и ↓0+89
Комментарии32

Советская техническая эстетика и технологии

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

Привет, сегодня любовался некоторыми артефактами советской эпохи и захотелось поделиться с обществом. Пост не будет содержать технического разбора или исторической справки, просто картинки для любопытных и мои пометки. Поэтому публикую в "чулане". (Осторожно: картинок 40 Mb!)


Электрический разъем


По легенде он с брата "Бурана" — "Бури". Обратите внимание, что провод залит в коричневый компаунд, видна пластиковая крышка и отверстие для заливки.



Удивляет точность и аккуратность надписи. Интересно, каким образом её нанесли, трафарет? Штамп?


Читать дальше →
Всего голосов 118: ↑115 и ↓3+112
Комментарии224

Фракталы в иррациональных числах. Часть 2

Время на прочтение5 мин
Количество просмотров13K
Часть 0: Фракталы в простых числах.
Часть 1: Фракталы в иррациональных числах.



В статье присутствуют Gif и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
Читать дальше →
Всего голосов 45: ↑45 и ↓0+45
Комментарии17
1

Информация

В рейтинге
Не участвует
Откуда
Макеевка, Донецкая обл., Украина
Дата рождения
Зарегистрирован
Активность