Pull to refresh
0
@maxpsyhosread⁠-⁠only

User

Send message

Гибкие таблицы на CSS Grid

Reading time8 min
Views73K

Просмотр списка лидов («холодных» контактов)

Поскольку мы уже запустились, я, наконец, могу рассказать о секретном проекте, над которым работал последние два года. Одна из интересных функций Teamwork CRM — просмотр списка (list view).

Это мощный компонент, который встречается в приложении семь раз. По сути, таблица на стероидах. Я мог бы много рассказать, но не хочу вас утомлять. Сосредоточусь на том, как мы реализовали подобную гибкость с помощью всего нескольких строк CSS (Grid). А именно, как мы выкладываем тяжёлые таблицы данных, как поддерживаем изменение размера столбцов и многое другое.

Во-первых, нужно объяснить контекст, начиная с цели и задачи дизайна этих таблиц. Если это не интересует, не стесняйтесь перейти сразу к технической реализации.
Читать дальше →

Довольно вычурные «Начала» Евклида в TeX-е

Reading time7 min
Views18K


«какая-то странная антикварная х██ня, написанная ирландским кулибиным в 1847 ну, хорошо, что и такая бывает, конечно» Миша Вербицкий

В 16-м году мне на глаза попались «Начала» Евклида в интерпретации Оливера Бирна. Фишка этой книги в том, что вместо буквенных обозначений навроде «треугольник ABC» там прямо в текст помещаются миниатюры частей построения, то есть, например, картинка с соответствующим треугольником. Насколько сделать такую книгу, как можно представить, было адовой работой в середине XIX века, настолько же легко, с правильными инструментами, это должно бы быть теперь. И, в общем, решил я в этом убедиться наверняка.
Читать дальше →

Я у мамы не инженер

Reading time14 min
Views65K
intro

Я уже сбился со счёта часов, которые я потратил на то, чтобы сделать “небольшую коробочку” и вдруг я поймал себя на мысли, что я очень зауважал инженеров — людей, который умеют и могут проектировать и создавать новые вещи. В голове сразу нахлынули воспоминания об устройствах, который я разбирал в детстве (да и не только). Эти забавные ситуации, когда при откручивании последнего болтика, как чёрт из табакерки, вылетало несколько мелких пружинок и деталек, которые было совершенно невозможно упаковать обратно.

Однажды я решил сделать небольшое устройство (“Security Access Tuner” из игры Alien: Isolation) — контроллер, экран, пара элементов управления, да упаковать это всё в небольшой корпус, который планировалось напечатать на 3d принтере. Тогда я ещё и подумать не мог, сколько же времени потребуется, чтобы все эти мелочи собрались в одно целое…
Читать дальше

Почему векторная графика 2D намного сложнее, чем 3D

Reading time13 min
Views20K
В последнее время появилось много фантастических исследований по 2D-рендерингу. Пётр Кобаличек и Фабиан Айзерман работают над Blend2D: это один из самых быстрых и точных CPU-растеризаторов на рынке, с инновационной техникой JIT. Патрик Уолтон из Mozilla изучил не один, а три разных подхода в Pathfinder, кульминацией чего стал Pathfinder v3. Раф Левиен построил вычислительный конвейер по технологии, описанной в научной статье Гана с коллегами о векторных текстурах (2014). Похоже, некое дальнейшее развитие получают поля расстояний со знаком: здесь независимо работают Адам Симмонс и Сара Фрискен.

Кто-то может спросить: а почему вокруг 2D так много шума? Это ведь не может быть намного сложнее, чем 3D, верно? 3D — совершенно другое измерение! Тут у нас на носу трассировка лучей в режиме реального времени с точным освещением, а вы не можете осилить невзрачную 2D-графику со сплошными цветами?

Для тех, кто не очень хорошо разбирается в деталях современного GPU, это вправду очень удивительно! Но в 2D-графике множество уникальных ограничений, которые чрезвычайно её усложняют. К тому же она не поддаётся параллелизации. Давайте прогуляемся по исторической дорожке, которая нас сюда привела.
Читать дальше →

Самый худший UI управления громкостью звука

Reading time1 min
Views209K
Группа разработчиков и дизайнеров решила начать флешмоб на реддите, чтобы выяснить у кого получится сделать самый худший интерфейс управления звуком в мире.



Осторожно! Много картинок и трафика!


Читать дальше →

Патенты в дизайне: часть первая (общие положения, примеры от Apple, Facebook)

Reading time7 min
Views7.1K
У вас собственный бизнес — пиццерия. Пиццу все любят, она легко и быстро готовится, спрос высокий, это золотой стандарт американской кухни. Но вместе с тем, у вас куча конкурентов, продвигать продукцию сложнее, чем вы думали, аренда все дороже, дизайны приложений унылые, каждую неделю выручка достигает нового нижнего рекорда, становится сложнее выделяться на фоне других — короче, все обычные проблемы. Тогда вы говорите себе: «Надо что-то такое выдумать, чего еще никто не делал. Что-то свежее, прогрессивное». Устраиваете мозговой штурм и вам в голову приходит великолепная мысль в духе: «Отображается описание пиццы, и вот тогда нужно провести вправо, если тебе нравится, и влево, если нет. Типа как Тиндер, только с пиццей!».



Как бы не так. Ничего подобного вы сделать не можете, потому что у Tinder патент на жесты «провести вправо, чтобы поставить лайк» и «провести влево, чтобы поставить дизлайк». «Ну, ладно», — думаете вы. «Это ведь визитная карточка всего их приложения, тогда пусть никто никуда не проводит, а просто сделаем MVP, где под пиццей будут кнопки для лайков и дизлайков». Увы, дружок: Tinder запатентовал и это.
Читать дальше →

О близости вершин

Reading time9 min
Views5.4K
«До того, как вы постигнете это, оно кажется чудом. Но после в нем нет ничего особенного.»

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


Читать дальше →

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

Reading time2 min
Views9.4K
Обычно, когда родители слышат фразу «обучение детей программированию и робототехнике», они представляют себе уроки в кружках или школе или усаживание ребенка за компьютер/планшет с обучающим софтом или книгой.

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

image

Ниже я приведу примеры игр на программирование действий (обучающих и не только), которые можно купить в России? Их можно и нужно применять, чтобы не только объяснить детям алгоритмику и даже робототехнику, но и просто весело и приятно провести время в кругу семьи. Ссылки умышленно не даю (это не реклама) — все игры ищутся в поиске по их названиям и их можно купить в разных магазинах (как онлайн так и оффлайн). Если не найдете — спросите меня в комментариях и я дам ссылки.
Читать дальше →

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

Reading time5 min
Views14K
Часть 0: Фракталы в простых числах.
Часть 1: Фракталы в иррациональных числах.



В статье присутствуют Gif и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
Читать дальше →

IDE нормального человека или почему мы выбрали Monaco

Reading time12 min
Views36K

Памятка от редактора


В прошлой статье мы рассказали про релиз панели управления Voximplant, не забыв упомянуть обновленную IDE. Сегодня мы посвящаем этому инструменту отдельный лонгрид – наша коллега Geloosa заботливо описала как процесс выбора технологии, так и имплементацию с вкладками, автокомплитом и кастомными стилями. Садитесь удобнее, отложите остальные дела и заходите в подкат, где любопытных ждут кишки Monaco – не поскользнитесь, их там много :) Приятного чтения.

Читать дальше →

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

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

В помощь геймдизайнерам придумана масса инструментов: форматы ГДД, различные чек-листы, юзерстори, портреты, агенда и так далее. И все равно этого не хватает.

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

Читать дальше →

Номинативная типизация в TypeScript или как защитить свой интерфейс от чужих идентификаторов

Reading time3 min
Views17K


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

Читать дальше →

Экзотические структуры данных: Modified Merkle Patricia Trie

Reading time21 min
Views14K

"Какого дьявола я должен помнить наизусть все эти чёртовы алгоритмы и структуры данных?".


Примерно к этому сводятся комментарии большинства статей про прохождение технических интервью. Основной тезис, как правило, заключается в том, что всё так или иначе используемое уже реализовано по десять раз и с наибольшей долей вероятности заниматься этим рядовому программисту вряд ли придётся. Что ж, в какой-то мере это верно. Но, как оказалось, реализовано не всё, и мне, к сожалению (или к счастью?) создавать Структуру Данных всё-таки пришлось.


Загадочное Modified Merkle Patricia Trie.


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


КДПВ

Читать дальше →

Представляем Microsoft Game Stack

Reading time5 min
Views5.4K

Microsoft Game Stack


Мы объявляем о новой инициативе «Microsoft Game Stack», в рамках которой мы объединим инструменты и сервисы Microsoft, которые позволят всем разработчикам игр, независимо от того, являются ли они независимыми разработчиками или студией AAA, добиться большего.


Сегодня в мире насчитывается 2 миллиарда геймеров, играющих в самые разные игры на самых разных устройствах. В сообществе столько же внимания уделяется потоковой передаче видео, просмотру и обмену, сколько и играм или соревнованиям. Как создатели игр, вы каждый день стараетесь вовлекать своих игроков, пробуждать их воображение и вдохновлять их, независимо от того, где они находятся и какое устройство они используют. Мы представляем Microsoft Game Stack, чтобы помочь вам делать именно это.

Читать дальше →

Особенности работы с Mesh в Unity

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

Борьба с подобными трудностями навела нас на мысли об автоматизации и написании статей на эту тему. Большая часть материала коснется работы с Unity 3D, поскольку это основное средство разработки в Plarium Krasnodar. Здесь и далее в качестве графического контента будут рассматриваться 3D-модели и текстуры.

В этой статье мы поговорим об особенностях доступа к данным представления 3D-объектов в Unity. Материал будет полезен в первую очередь новичкам, а также тем разработчикам, которые нечасто взаимодействуют с внутренним представлением таких моделей.

Читать дальше →

Собираем бандл мечты с помощью Webpack

Reading time18 min
Views69K
JS-приложения, сайты и другие ресурсы становятся сложнее и инструменты сборки — это реальность веб-разработки. Бандлеры помогают упаковывать, компилировать и организовывать библиотеки. Один из мощных и гибких инструментов с открытым исходным кодом, который можно идеально настроить для сборки клиентского приложения — Webpack.

Максим Соснов (crazymax11) — Frontend Lead в N1.RU внедрил Webpack в несколько больших проектов, на которых до этого была своя кастомная сборка, и контрибьютил с ним несколько проектов. Максим знает, как с Webpack собрать бандл мечты, сделать это быстро и конфигурировать так, чтобы конфиг оставался чистым, поддерживаемым и модульным.


Расшифровка отличается от доклада — это сильно усовершенствованная пруфлинками версия. По всей расшифровке рассыпаны пасхалочки на статьи, плагины, минификаторы, опции, транспайлеры и пруфы слов докладчика, ссылки на которые просто не поставить в выступление. Если собрать все, то откроется бонусный уровень в Webpack :-)

«Красный круче синего»: иерархия цвета в различных культурах

Reading time5 min
Views23K

В 1969 году два исследователя из Беркли, Пол Кэй и Брент Берлин, опубликовали книгу о довольно новаторской идее: каждая культура в истории, развивая свой язык, придумывала названия для цветов в одном и том же порядке.

Они выяснили это на основе простого теста на идентификацию цвета, в котором 20 респондентов распределили 330 цветных карточек по названию.

Если язык имел шесть слов, это всегда были чёрный, белый, красный, зелёный, жёлтый и синий. Если четыре, это всегда были чёрный, белый, красный, а затем зелёный или жёлтый. Если их было всего три, то это всегда были чёрный, белый и красный, и так далее.

Теория была революционной — и она сформировала наше понимание того, как появляются цветовые термины.

image

Если бы я показал вам эти образцы и попросил назвать цвета, что бы вы ответили?

Цивилизация Пружин, 3/5

Reading time10 min
Views60K

Часть 3. Цивилизация пружин



[Image credit: By Lothar Spurzem — Own work, CC BY-SA 2.0 de, commons.wikimedia.org/w/index.php?curid=39574590]

Предыдущая часть. Краткое содержание предыдущей серии.

Итак, какие же ещё есть способы хранения энергии, помимо химического топлива? Пусть даже не для ракет, а вообще?

Начнём с электрической батареи. Вот хотя бы литиево-ионной. Откуда в ней берётся энергия?

Всё просто, там идёт[210] электрохимическая реакция:

LiC6 + CoO2 <-> C6 + LiCoO2

Идёт налево — песнь за заряжается. Направо — разряжается.
Вы, конечно, уже догадались

Цивилизация Пружин, 1/5

Reading time14 min
Views116K
### Часть 1. Золотое «Ку»

Лет в шесть мне попался в руки дедовский справочник[50] по грузовым автомобилям середины 20-го века. Добротный, напечатанный на гладкой плотной бумаге раритет. Единственное, что вообще осталось на память от деда после распада страны, войн и переездов.



В справочнике содержалось множество интересных ТТХ, так что слово «грузоподъёмность» стало мне знакомо с раннего детства. И когда отец на прогулке упомянул, что любой грузовик весит столько же, сколько увозит сам, я это запомнил. Запомнил и, много позже, заинтересовался.

Отец был прав. Для грузовиков 60-х годов это правило выполняется с довольно удивительной точностью:

Читать дальше →

Математическая модель игры Доббль

Reading time12 min
Views59K

Уровни сложности чтения


  • Я слишком молод, чтобы думать


    • Введение и правила игры
    • Как они это делают?
    • Матрица инцидентности для игры Доббль
    • Каких двух карточек не хватает в комплекте игры?
    • Почему в игре на 2 карточки меньше максимально возможного количества?
    • Благодарности

  • Сделай мне умно


    • Введение и правила игры
    • Как они это делают?
    • При чём тут карточки?
    • Проективные плоскости малых порядков
    • Матрица инцидентности для игры Доббль
    • Каких двух карточек не хватает в комплекте игры?
    • Почему в игре на 2 карточки меньше максимально возможного количества?
    • Благодарности

  • Кошмар


    • Введение и правила игры
    • Как они это делают?
    • Конечная геометрия для грудничков
    • При чём тут карточки?
    • Проективные плоскости малых порядков
    • Как построить проективную плоскость?
    • Матрица инцидентности для игры Доббль
    • Каких двух карточек не хватает в комплекте игры?
    • Почему в игре на 2 карточки меньше максимально возможного количества?
    • Благодарности


Введение и правила игры


Несколько лет назад я купил игру Доббль (Dobble, оригинальное название “Spot It!”). Это очень простая, быстрая и весёлая игра, которую я считаю одной из лучших настольных игр вообще.

Читать дальше →

Information

Rating
Does not participate
Registered
Activity