Как стать автором
Обновить
-2
-28.2
Дмитрий Карловский @nin-jin

Full Stack Overflow

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

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

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

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

Читать далее
Всего голосов 4: ↑2 и ↓20
Комментарии1

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

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

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

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

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

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

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

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

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

👾
Всего голосов 158: ↑158 и ↓0+158
Комментарии24

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Время на прочтение13 мин
Количество просмотров5.3K
image
(кадр из телешоу Монти-Холла: гость не сумел правильно подсчитать вероятности, поэтому вместо автомобиля выиграл удивленную ламу)

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

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

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

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

Многоликий принцип единственности ответственности

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

Принцип единственности отвественности? Что именно вы имеете ввиду?

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии8

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

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

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

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

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

Читать далее
Всего голосов 46: ↑44 и ↓2+42
Комментарии100

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

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

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

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

Читать далее
Всего голосов 43: ↑34 и ↓9+25
Комментарии20

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

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

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

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

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

Читать далее
Всего голосов 40: ↑39 и ↓1+38
Комментарии38

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

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

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

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

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

Всего голосов 17: ↑16 и ↓1+15
Комментарии31

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

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


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

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

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

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

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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


Читать дальше →
Всего голосов 174: ↑169 и ↓5+164
Комментарии126

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

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