Pull to refresh
-2
-28.1
Дмитрий Карловский @nin-jin

Full Stack Overflow

Send message

Аффордансы – главные подсказки функциональной сути игровых объектов

Level of difficultyEasy
Reading time9 min
Views1.1K

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

Читать далее
Total votes 4: ↑2 and ↓20
Comments1

Стохастический язык программирования на основе алгоритмов Маркова

Reading time13 min
Views26K

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →
Total votes 139: ↑139 and ↓0+139
Comments24

10 удивительно зрелищных простейших клеточных автоматов

Level of difficultyEasy
Reading time5 min
Views30K

Самое простое представление двумерного клеточного автомата основано на двух характеристиках: клетки имеют всего 2 состояния; правила изменения состояния зависят только от количества живых соседей из окрестности Мура первого порядка (8 окружающих).

Такая категория КА называется «Life-like», по названию самого известного автомата с такими характеристиками – «Conway's Game of Life». Игра «Жизнь» Конвея работает на правиле B3/S23, т.е. для рождения клетки требуется ровно 3 живых соседа, для выживания – 2 или 3. Во всех других случаях клетка умирает (или же остаётся пустой).

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

Сегодня взглянем на самых интересных представителей.

👾
Total votes 158: ↑158 and ↓0+158
Comments24

Минималистичный YouTube. Расширения для браузера и альтернативные клиенты

Level of difficultyEasy
Reading time7 min
Views55K

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

Один из главных «нарушителей» — YouTube. Стоило один раз посмотреть пляжный волейбол на Олимпийских играх — и он уже несколько лет показывает женщин в купальниках на главной странице (пример). Даже неудобно открывать YouTube в присутствии сына…

Непрошеные и неуместные рекомендации видео — общая проблема, на которую часто жалуются. К счастью, их легко заблокировать, как и весь остальной мусор. Можно ходить на серверы YouTube через кастомный фронтенд, через сторонние клиенты или вообще из консоли. Некоторые альтернативные способы просмотра особенно актуальны в свете потенциальной блокировки YouTube на территории РФ.
Читать дальше →
Total votes 133: ↑130 and ↓3+127
Comments80

Введение в $mol. Часть 1. Модульная система

Reading time35 min
Views9.5K

Эта статья открывает серию публикаций по обучению фреймворку $mol. Сегодня мы разберемся в модульной системе MAM. Речь пойдет об организации кода, отделении его от инфраструктуры, сборке, версионировании, нейминге, минимизации размера бандла, автоматическом выкачивании зависимостей, фрактальных моно-поли-репозиториях, разделении кода на платформы, альтернативе импортам/экспортам, автоматическом разруливании циклических зависимостей.

Читать далее
Total votes 25: ↑18 and ↓7+11
Comments21

Подгонялка соотношения белков, жиров и углеводов

Reading time10 min
Views15K

В один прекрасный день я сидел и прикидывал в голове, сколько и чего надо съесть, чтобы получилось 30 гр. белка, 25 гр. жиров и 60 гр. углеводов. Из продуктов у меня были: гречка, яйца и авокадо.

Json (БЖУ указанно на 100 гр. сырого продукта):

{"Гречка": {"Белки": 11.7, "Жиры": 2.7, "Углеводы": 75}, "Яйца": {"Белки": 12.7, "Жиры": 11.5, "Углеводы": 0.7}, "Авокадо": {"Белки": 2, "Жиры": 15, "Углеводы": 9}}

Если вы программист, возможно, вам будет интересно остановиться на чтении и прикинуть, как бы вы ее решали. Статья рассказывает об одном из способов.

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments18

Эмпирическая вероятность

Reading time13 min
Views5.3K
image
(кадр из телешоу Монти-Холла: гость не сумел правильно подсчитать вероятности, поэтому вместо автомобиля выиграл удивленную ламу)

Давайте обсудим, что мы имеем ввиду, когда произносим слово "вероятность". Я прошу вас попытаться ответить на этот вопрос не с позиции студента или «чистого» математика, а так, как его должны понимать инженер, прикладной исследователь или любой другой человек, которому предстоит принять решение на основании эмпирических данных.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments15

Об оценках сроков в разработке ПО

Reading time8 min
Views42K
В течение всей истории разработки ПО мы искали надежные способы оценки времени на реализацию задач и проектов. Но и спустя более чем 60 лет существования отрасли наши прогнозы все еще оставляют желать лучшего. Может быть, дело не в том, как именно мы пытаемся оценивать, а в том, что мы вообще опираемся на оценки?

К примеру, возьмите методологию Scrum, по которой сегодня работают многие компании. Центральная идея Scrum — брать в спринт не больше задач, чем ваша команда способна за это время выполнить. На первый взгляд, звучит разумно. К сожалению, слишком часто на практике этот подход приводит к замедлению работы команды в обмен на иллюзию планирования. Позвольте объяснить, почему.
Читать дальше →
Total votes 89: ↑87 and ↓2+85
Comments78

TREX: 27-ричная симметричная система счисления

Reading time6 min
Views12K

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

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

Система кодирования TREX разработана для компактного отображения симметричной троичной системы счисления при ее использовании в компьютерных системах

Читать далее
Total votes 46: ↑44 and ↓2+42
Comments100

[Пятничное] Все мы немного Сизиф

Reading time10 min
Views13K

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

Но ведь история совсем не об этом...

Читать далее
Total votes 43: ↑34 and ↓9+25
Comments20

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

Reading time4 min
Views180K

Привет, Хабр!

Одним из наиболее популярных направлений разработки сегодня является веб. И когда нужно разместить свой проект где-нибудь, кроме localhost, многие сталкиваются с трудностями, ведь хостинг должен быть быстрым, удобным и, желательно, бесплатным :)

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

Читать далее
Total votes 40: ↑39 and ↓1+38
Comments38

Нужны ли резюме в IT?

Reading time7 min
Views17K
Идея “чтобы найти работу, нужно сначала написать резюме” уже стала настолько привычна для многих жителей больших городов России, что превратилась в ритуал, о смысле которого мало кто задумывается. Резюме является наиболее артефактом для карьеры в традиционных офисно-бюрократических секторах экономики — в финансах, логистике, продажах и так далее. Привычка начинать знакомиться с кандидатами на должность, начиная с резюме, составленного лично кандидатом, пришла к нам из Западной Европы и США. Во времена СССР больше доверяли характеристикам с предыдущего места работы и вообще в СССР факт смены места работы без очень уважительной причины уже сам по себе был отрицательной характеристикой кандидата.
Сегодня в нашем мире резюме — это привычный инструмент, но какую задачу он решает, и нет ли более эффективных инструментов, особенно для IT-отрасли? Об этом я буду рассуждать в этой статье. Приглашаю вас, уважаемый читатель, прочесть мои идеи, яростно комментировать и делиться своим опытом.
Читать дальше →
Total votes 43: ↑31 and ↓12+19
Comments219

Что послушать, когда пишешь код — плейлисты с рок-музыкой, эмбиентом и саундтреками из игр

Reading time2 min
Views16K
Кажется, «дистанционки» в этом году будет только больше, поэтому запасаться музыкой, которая помогает расслабиться и войти в состояние потока, стоит уже сейчас. Перед началом рабочей недели — обсуждаем рекомендации фрилансеров и сотрудников крупных ИТ-компаний.

Дайджест для чтения: передача игр по радио, звуки старых ПК и компактная история рингтонов.

Total votes 17: ↑16 and ↓1+15
Comments31

Typescript Compiler API: возьми управление компилятором в свои руки

Reading time16 min
Views12K


В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json и шелл-скриптах с использованием нативного tsc или команд CLI используемого в проекте фреймворка. Все эти решения имеют свои плюсы и минусы. Зачастую в процессе сборки нужно сделать что-то нестандартное, и оказывается, что используемая система сборки не предоставляет нужную функциональность из коробки, а имеющиеся плагины делают не совсем то, что надо. В такие моменты работа над проектом встает, и начинается судорожное ковыряние в конфигах и поиск подходящего плагина. В какой-то момент понимаешь, что за время, потраченное на поиск подходящего костыля, можно было написать свое решение.

Во многих случаях критичные процессы в проекте можно автоматизировать скриптами на javascript, выразительность и функциональность которого вполне позволяет описать нужный workflow и выбирать из всего разнообразия библиотек, не заморачиваясь наличием для них плагинов под конкретную систему сборки. Важное преимущество такого подхода – полный контроль над процессами и максимальная гибкость. Для проектов, в которых используется Typescript в качестве основного языка разработки, возникает вопрос, как встроить процесс его компиляции в свой workflow. Здесь на помощь приходит Typescript Compiler API. В этой статье мы посмотрим, как его можно использовать для того, чтобы выполнить компиляцию проекта, реализованного на Typescript, взаимодействуя с компилятором на разных этапах его работы и напишем скрипт для hot-reloading’а REST-сервера, разработанного на Nest.js.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments19

Клиентский мониторинг производительности

Reading time18 min
Views22K

Клиентский мониторинг производительности


Привет, Хабр! Меня зовут Влад, я лид направления Web Performance в Тинькофф.


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


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


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


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

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

Экосистема Low-Code решений

Reading time8 min
Views20K
image

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

Я бы хотел рассмотреть, что это за инструменты, как именно они помогают, и какие выглядят наиболее многообещающе.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments0

Знаменитые дизайнеры vs научные исследования про читаемость шрифтов

Reading time6 min
Views66K
Я работаю дизайнером около 10 лет. В дизайне не очень много объективных и проверяемых законов, и когда мне нужно было что-то выяснить, я искала информацию в профессиональных книгах, блогах крутых ребят, спрашивала у знакомых арт-директоров и приставала к людям в коридорах.

А потом узнала, что ученые уже сто лет как выяснили то, про что до сих пор спорят дизайнеры.

Мы в Тинькофф сравнили мнение знаменитых дизайнеров и ученых о том, какие шрифты легче читать: антикву(с засечками) или гротески(без засечек).


Читать дальше →
Total votes 174: ↑169 and ↓5+164
Comments126

Information

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

Specialization

Chief Technology Officer (CTO), Chief information officer (CIO)
Lead
From 8,000 €
OOP
Database
Designing application architecture