Search
Write a publication
Pull to refresh
63
0
Андрей @Smi1e

User

Send message

Истории малого бизнеса — магазин в Воронеже

Reading time11 min
Views30K

Развёртка панорамы магазина с кафе

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

Женя Гуржей — один из наших первых франчайзи-партнёров, он открылся в октябре 2010 года, когда мы только-только научились открывать магазины в Москве. Он успел заработать на точке, открыть второй магазин, открыть другой бизнес, выйти из франшизы (на 2 недели), закрыть второй магазин и закрыть другой бизнес.

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

Какой бывает HTML5-стриминг (и почему mp4-стриминга не существует)

Reading time6 min
Views55K
image

Нередко клиенты спрашивают, умеет ли наш сервер «mp4-стриминг в HTML5». В 99% случаев спрашивающий не понимает о чём говорит. В этом сложно винить клиентов: из-за путаницы с терминами, технической сложности и большого разнообразия вариантов стриминга запутаться очень легко.

В этой статье мы расскажем, какой бывает HTML5-стриминг, какие варианты хорошие, и почему, чёрт побери, нельзя говорить «mp4-стриминг».
Читать дальше →

Анимации на GPU: делаем это правильно

Reading time20 min
Views56K

Думаю, все уже знают, что современные браузеры умеют рисовать некоторые части страницы на GPU. Особенно это заметно на анимациях. Например, анимация, сделанная с помощью CSS-свойства transform выглядит гораздо приятнее и плавнее, чем анимация, сделанная через top/left. Однако на вопрос «как правильно делать анимации на GPU?» обычно отвечают что-то вроде «используй transform: translateZ(0) или will-change: transform». Эти свойства уже стали чем-то вроде zoom: 1 для IE6 (если вы понимаете, о чём я ;) для подготовки слоя для анимации на GPU или композиции (compositing), как это предпочитают называть разработчики браузеров.


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

«Хаос в .NET-мире — разумная цена за скорость развития платформы»: интервью с Андреем Акиньшиным (JetBrains)

Reading time24 min
Views22K


Проект Rider (.NET IDE от JetBrains) дошёл до публичной EAP-версии — самое время подробно расспросить Андрея Акиньшина, одного из его разработчиков. Но Rider стал не единственной темой нового выпуска «Без слайдов». Помимо него, поговорили:

  • о библиотеке BenchmarkDotNet, которую разрабатывает Андрей
  • о движении Microsoft к опенсорсу и кроссплатформенности
  • об общем состоянии .NET-мира и, конечно,
  • о .NET-конференции DotNext (которая, кстати, состоится в Москве уже в эту пятницу)

Как всегда, под катом есть полная расшифровка интервью.


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

Манипуляции пользователями сайта с помощью цветов

Reading time12 min
Views27K
Мы живем во времена, когда люди не привыкли глубоко погружаться в какую-то тему. Это касается и дизайна. Сегодня все ценят победы на различных престижных конкурсах по дизайну, или, в худшем случае, оценивают личным «нравится / не нравится». У нас также есть международные награды по дизайну от Awwwards, Behance и других известных «оценщиков», которые диктуют современную моду в веб-дизайне. Но так ли они важны? Если всмотреться в суть дизайна, то он, как и многое в нашем мире, основывается на психологии восприятия. И психология — это основа любого успешного дизайна. Вы можете победить на конкурсе по дизайну, но сайт при этом будет лишь красивой картинкой, которая абсолютно не достигает поставленной цели. В этой статье мы поговорим о психологии и эффективности дизайна сайта, в частности, подробно разобрав такой важный аспект, как цвета.
Читать дальше →

Поиграл == покодил

Reading time3 min
Views73K
image

Мой рекорд скорости написания кода «на C» был в консоли Quake II. Причем абсолютно без ошибок. В темноте, не глядя, трясущимися руками надо было набрать примерно такое:

bind SHIFT "+snipe"
alias +snipe "sensitivity 2.5; fov 30"
alias -snipe "fov 90; sensitivity 4"

Боги умели прописывать RocketJump.

RocketJump
bind t "superrjr"

bind a "superrjn"

alias superrjr "echo SuperRocketJump enabled; bind a +srj; bind t superrjc"

alias superrjn "echo SuperRocketJump disabled"

alias superrjc "echo SuperRocketJump disabled; bind a superrjn; bind t superrjr"

alias +srj "lookdown1;hand 2;rjump"

alias -srj "lookdown2"

alias lookdown1 "cl_pitchspeed 999999;+lookdown"

alias lookdown2 "-lookdown;cl_pitchspeed 200;-attack;-moveup;wait;wait;wait;centerview;hand 2;cl_maxfps 80"

alias rjump "+moveup;+attack;wait;wait;wait;wait;cl_maxfps 0"

alias +QLD "+lookdown;cl_pitchspeed 999"

alias -QLD "-lookdown;cl_pitchspeed 200"

alias +RocketJump "hand 2;+QLD;wait;wait;+attack;+moveup"

alias -RocketJump "hand 2;-QLD;-attack;-moveup"

alias SuperRocketJump "hand 2;+QLD;wait;wait;wait;wait;+attack;+moveup;wait;cl_maxfps 0;LWX3;cl_maxfps 90;-QLD;-attack;-moveup;hand 2" 


Под катом — подборка дюжины проектов, которые заточены на то, чтобы играючи повысить кодерское мастерство.

Подмостки для Вавилонской башни, или О собственных типах данных для многоязычных приложений

Reading time14 min
Views6.4K

Гравюра М. Эшера "Вавилонская башня"
Гравюра М. Эшера «Вавилонская башня», 1928



Введение


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


Спустя четыре тысячи лет после Вавилонского столпотворения технологии предлагают нам несколько замечательных инструментов. Что же у нас есть?


Во-первых, сборная солянка — абстракция локали (locale). Локаль включает не только язык, но еще и письменность, календарь, правила форматирования чисел, денежных единиц, дат и пр.


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


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

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

.NET Portability Analyzer

Reading time4 min
Views11K

.NET Portability Analyzer это совсем не новое приложение, которое, по причине появления .NET Standard должно бы стать интересным для разработчиков. Портируемость кода ускоряет работу команд в разы. Если вам интересно узнать насколько переносим на другую платформу ваш код, то вы можете использовать .NET Portability Analyzer, который доступен в виде расширения для Visual Studio и в виде отдельного консольного приложения.

.NET Portability Analyzer актуален для разработчиков .NET, .NET Core, UWP, Xamarin и Mono.
Далее предлагаю вашему вниманию факты и описание процесса использования.
Читать дальше →

Консоль разработчика Google Chrome: десять неочевидных полезностей

Reading time6 min
Views234K
Как с помощью консоли разработчика превратить Google Chrome в подобие текстового редактора? Какой смысл в ней приобретает знакомый многим по jQuery значок $? Как вывести в консоль набор значений, оформленный в виде вполне приличной таблицы? Если сходу ответы на эти вопросы в голову не приходят, значит вкладка Console из инструментов разработчика Chrome ещё не раскрылась перед вами во всей красе.

image

На первый взгляд, перед нами – вполне обычная JavaScript-консоль, которая годится только на то, чтобы выводить в неё логи ответов серверов или значения переменных. Я, кстати, так ей и пользовался, когда только начал программировать. Однако, со временем набрался опыта, подучился, и неожиданно для себя обнаружил, что консоль Chrome умеет много такого, о чём я и не догадывался. Хочу об этом сегодня рассказать. Да, если вы читаете сейчас не на мобильнике, можете тут же всё это и попробовать.
Читать дальше →

Ambient Occlusion Volumes для прожженных самоваров

Reading time7 min
Views14K
Скитаясь по интернету в поисках алгоритмом освещения, которые бы удовлетворили мои потребности, я наткнулся на весьма новый алгоритм, разработанный компанией NVIDIA, название которого AOV (Ambient Occlusion Volumes). Имея в своём распоряжении тёмные осенние ночи и несколько чашек горячего кофе, я решился изучить данный алгоритм, следствием чего является данная статья. Прежде чем я начну, хотелось бы отметить своё удивление по поводу того, что данный алгоритм имеет незаслуженно малую популярность в кругах разработчиков игр, в отличии от всеми знакомого нам SSAO. Содержание данной статьи будет, по большей мере, состоять из теории.
Читать дальше →

Почему настольные игры столько стоят – или настолка своими руками

Reading time11 min
Views91K

Вырубка карт. Интересна пыль: она на бумажном производстве покрывает всё очень быстро.

Меня уже много раз спрашивали, как коробка резанного картона может стоить 1500 рублей. Что в ней такого?

Цену любого товара можно посчитать тремя способами:

  1. От цепочки формирования, то есть отталкиваясь от затрат на разработку и производство — это нижний ограничитель.
  2. От экономики — сколько человек готов заплатить, и какую цену можно ставить, пока не сожрут конкуренты (это верхний ограничитель, он же показывает, в какую стоимость производства мы должны укладываться).
  3. И от стоимости аналогов-заменителей. В нашем случае кустарного производства. То есть изготовления настольной игры своими руками.

Вы будете чудовищно удивлены, когда придёте с макетами в типографию и попросите их напечатать. У нас три экземпляра игры к выставке получаются за 20 тысяч. Сейчас объясню, почему.
Читать дальше →

ASP.NET Core: Ваше первое приложение на Mac c использованием Visual Studio Code

Reading time4 min
Views18K
Представляем вам последнюю статью из цикла по разработке на ASP.NET Core. В данной статье вы узнаете как можно написать свое первое приложение ASP.NET Core на Mac.


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

Подборка полезных слайдов про Linux

Reading time1 min
Views47K
Недавно мы опубликовали перевод журнала про инструменты отладки для Linux, а теперь предлагаем подборку полезных слайдов для начинающих Linuxоводов от того же автора.


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

Портирование Android-приложения на WebGL

Reading time5 min
Views7.6K

Идея портирования Android-приложения на WebGL


Сейчас WebGL поддерживается практически любым устройством и работает достаточно стабильно и быстро даже на мобильных устройствах, поэтому было весьма интересно попробовать реализовать что-нибудь на этой технологии. У нас уже имеется большой опыт работы с OpenGL ES 2.0 в Android — создали довольно много различных трехмерных живых обоев.


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

GitHub для пользователей Windows

Reading time6 min
Views84K

Если ваш проект хранится только у вас на диске, то с поломкой диска вас ожидают неприятности. Даже регулярный бэкап не всегда сможет вас спасти.

Некоторые разработчики могут наворотить в проекте столько всего, что сами в шоке. А вспомнить, что и где делалось, затруднительно. Та еще неприятность.

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

Если вы вдруг не знакомы, то я хочу немного познакомить вас с системой управления версиями по имени Git. Под катом вас ожидает описание того, как использовать GitHub вместе с Visual Studio.
Читать дальше →

Как создавались неуловимые цели в игре Hitman 2016 года

Reading time8 min
Views13K

Торбен Эллерт (Torben Ellert) — это ведущий онлайн-дизайнер эпизодической игры Hitman (2016) в Io-Interactive. Он подробно рассказал Gamasutra об неуловимых целях (Elusive Targets) в игре. Большинство целей можно устранить множеством способов и в любой момент, выбранный игроком. Неуловимые цели появляются в игре на короткий промежуток времени (48 часов), и у игроков есть только один шанс выполнить миссию.

Пятница: все дизайнеры интерфейсов попадают в ад…

Reading time1 min
Views47K
image

Каждый раз, когда я вижу надпись «Обновить сейчас или напомнить завтра», у меня возникает улыбка, при мысли о том, что все люди, участвовавшие в разработке подобных диалоговых окон (с*ки, верните кнопку «Нет и никогда больше не спрашивать»), окажутся в тепленьком уютненьком аду, где им нужно будет просто ввести телефонный номер…

История вышек связи 2: формы и виды

Reading time3 min
Views31K


В мире можно встретить много интересных башен связи — с конструктивной и эстетической точек зрения. О них под «катом».
Читать дальше →

Названия больших чисел в idle-играх

Reading time5 min
Views25K


(Прим. пер.: приведённые в статье алгоритмы относятся к названиям степеней тысячи по короткой шкале.)

Некоторое время назад я получил возможность поучаствовать в разработке игры в жанре idle. Что же такое idle-игра? Если вы впервые слышите об этом быстро развивающемся жанре, попробуйте поиграть в Adventure Capitalist. На сайте Gamasutra также есть несколько статей (1, 2, 3, 4), позволяющих рассмотреть жанр немного глубже.
Читать дальше →

Дизайн российских городов, где он?

Reading time3 min
Views76K
Я вырос в типовом 9-этажном многоквартирном доме, построенном в советские годы. И весь наш микрорайон состоял либо из таких домов, либо из «хрущевок». Большинство людей моего поколения (80-90-го года рождения) так или иначе тоже выросло в таких серых и однотипных «коробках».

Не скажу, что в то время меня это как-то волновало. Все изменилось, когда я впервые выехал за границу.


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

Information

Rating
Does not participate
Location
Россия
Registered
Activity