Search
Write a publication
Pull to refresh
11
0
Дьяченко Илья @Delias

Front-end developer

Send message

The Modal — правильные модальные окна

Reading time2 min
Views180K
Очень часто модальные окна и диалоги делаются при помощи плагинов jQuery. Например, SimpleModal или jqModal. К сожалению, все они, в варианте по умолчанию, работают неправильно.

Что же такое «правильно»?

Модальное окно по определению блокирует работу пользователя с родительским окном до тех пор, пока пользователь его не закроет. То есть:

  1. Пользователю нельзя позволять прокручивать страницу под ним.
  2. При этом, если содержимого в модальном окне очень много, нужно позволить прокручивать содержимое.


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

Чтобы не мучать вас заранее деталями реализации, покажу сначала демо плагина jQuery: http://rmcreative.ru/playground/modals_plugin/demo.html.

Ну а теперь немного про реализацию.
Читать дальше →

Как создать простую Tower Defense игру на Unity3D, часть первая

Reading time16 min
Views128K
Здравствуйте! Давно уже хотел опубликовать эту статью, да не успевал выделить время. Заранее хотел бы предупредить, что статья рассчитана на не шибко знающего Unity3D пользователя, потому в тексте будет обилие пояснений.

Часть вторая

Всем заинтересовавшимся — добро пожаловать под кат!
Читать дальше →

jQuery CoreUISelect — плагин для стилизации селекта

Reading time1 min
Views19K
На Хабре уже проскальзывали обзоры плагинов для стилизации селекта (раз и два)

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



Итак, задача — сделать плагин с блэкджеком и ш… для стилизации селекта, который по максимуму повторяет поведение стандартного. А это навигация с клавиатуры, автоподгонка ширины дропдауна, поддержка optgroup, автокомплит и самое главное полная кастомизация, включая скроллбар*.
Читать дальше →

Летняя школа по Windows 8

Reading time2 min
Views7.7K


Все вы уже слышали о новой операционной системе от Microsoft – Windows 8. Некоторые, даже, наверное установили и попробовали написать для неё приложения.

Windows 8 – это придуманная заново Windows. Она работает на ARM и x86/x64 компьютерах: планшетах, слейтах, ультрабуках и настольных компьютерах.

Продолжая традицию летней школы по Metro-дизайну, мы решили провести летнюю школу для разработчиков по Windows 8.

UPD: Вы могли получить письмо о «переносе метро-школы на 13-14 июля». Это ошибочное письмо. Наше мероприятие — не метро-школа и оно не переносится (на июль — это и не возможно), не отменяется, и пройдёт 5 августа в Парке Горького (Нескучном саду).
Немного подробнее о летней школе

Как накосячить с типографией: подборка работающих способов

Reading time7 min
Views120K

Тут наверняка есть косяки, просто мы ещё не открыли коробку

За три года нас с коллегами сотни раз било по голове ручкой от грабель при работе с типографиями. Мы списывали целые контейнеры криво напечатанной упаковки для игр, переделывали в авральном порядке тиражи, отправляли назад брак, который нам пытались выдать за нормальную печать, и натыкались на банальное кидалово.

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

Создаем форму обратной связи с помощью Google Forms

Reading time2 min
Views110K
Привет, Хабр!

Данный пост посвящен прекрасному инструменту Google Forms, как за 10 минут сделать форму обратной связи на сайте или более полезные вещи.
Читать дальше →

Письма для ваших приложений (за 24-часа)

Reading time3 min
Views4.1K
Всем привет. Большую часть времени я занимаюсь управлением разработкой проектов shopium.ua и zakaz.ua, но инженер внутри меня периодически требует развлечений. Не имея свободного времени на хакатоны, гаражи, стартап-сауны и прочее, я придумал себе свой формат «покодить чего душа пожелает»:
  • нужен мне самому
  • время на реализацию MVP — до 24х часов в сумме
  • бюджет — до $100
  • коммерческий потенциал


В наших проектах мы шлём пользователям письма. Мы шлём пользователям информационные рассылки, и с этим прекрасно справляется MailChimp, но ниша отсылки транзакционных писем (подтверждения, уведомления и т.д.) до недавнего времени была относительно пуста.

В большинстве проектов, которые я знаю, транзакционные письма прямо в коде создаются из шаблона письма (и хорошо если он вынесен в отдельные файл, а не зашит рядом в коде), и передаются локальному SMTP серверу. И при этом:
  • менять текст сообщений могут только программисты (это медленно и дорого, и при этом невозможно делегировать работу с текстами контент-менеджеру, а для любого изменения текста писем нужен редеплой системы)
  • не отслеживается открытие писем и клики по ссылкам (нет данных для улучшения текста письма)
  • не обрабатываются bounce (можно постоянно слать письма на несуществующие адреса, а это влияет на показатель «спамности» адреса, с которого шлются письма)
  • лишь у некоторых реализована подпись писем через DKIM (тоже уменьшает шансы на доставку письма в inbox)


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

Agile: танцы с бубном или наука

Reading time3 min
Views15K
Множество достаточно опытных разработчиков и менеджеров пробовало Agile, и им не понравилось. Многие директора, руководители и специалисты даже не пробовали, ибо считают Agile религией, которая помогает, если в неё верить, либо, вообще, только создают впечатление эффективности у «верующих».



Понять последних можно, ведь большинство статей и agile-евангелистов говорят, примерно следующее: «Делайте так, как говорит методология, и ваш проект попадёт в рай. Если нарушите хотя бы одну из практик, то Agile покарает вас»
Так есть ли прок от Agile?

Fluid UI: прототипирование мобильных интерфейсов

Reading time1 min
Views15K
Fluid UI: очень удобное HTML5-приложение для создания прототипов мобильных интерфейсов в браузере (Chrome или Safari). Буквально за пару минут можно сделать приличный набросок.



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

SQL injection для начинающих. Часть 1

Reading time5 min
Views805K

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

Я не знаю ООП

Reading time12 min
Views554K
Я не умею программировать на объектно-ориентированных языках. Не научился. После 5 лет промышленного программирования на Java я всё ещё не знаю, как создать хорошую систему в объектно-ориентированном стиле. Просто не понимаю.

Я пытался научиться, честно. Я изучал паттерны, читал код open source проектов, пытался строить в голове стройные концепции, но так и не понял принципы создания качественных объектно-ориентированных программ. Возможно кто-то другой их понял, но не я.

И вот несколько вещей, которые вызывают у меня непонимание.
Читать дальше →

Записи с летней школы по Metro-дизайну

Reading time1 min
Views15K


Друзья, как вы, наверняка, знаете, буквально в прошедшие выходные (13-14 июля) мы проводили летнюю школу по Metro-дизайну для Windows Phone и Windows 8. Рады сообщить, что записи лекций уже доступны на TechDays!
Под катом ссылки на отдельные лекции

Свежий взгляд на примеси в JavaScript

Reading time8 min
Views19K
В этой статье я детально исследую примеси в JavaScript, и покажу менее общепринятую, но, на мой взгляд, более естественную стратегию «примешивания», которую, надеюсь, вы найдете полезной. Закончу я матрицей результатов профилирования, подводящей итог влиянию на производительность каждой техники. (Большое спасибо блистательному @kitcambridge за ревью и улучшение кода, на котором основан этот пост!)

Повторное использование функций

В JavaScript каждый объект ссылается на объект-прототип, из которого он может наследовать свойства. Прототипы — отличные инструменты для повторного использования кода: один экземпляр прототипа может определять свойства бесконечного числа зависимых сущностей. Прототипы могут так же наследоваться от других прототипов, формируя, таким образом, цепочки прототипов, которые более-менее повторяют иерархии наследования «классовых» языков типа Java and C++. Многоэтажные иерархии наследования иногда бывают полезны при описании природного порядка вещей, но, если первичным мотивом служит повторное использование кода, такие иерархии могут быстро стать искривленными лабиринтами бессмысленных субклассов, утомительных избыточностей и неуправлямой логики («кнопка — это прямоугольник или контрол? Вот что, давайте унаследуем Button от Rectangle, а Rectangle может наследоваться от Control… так, стоп…»).
Читать дальше →

Восстановление расфокусированных и смазанных изображений. Практика

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

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

Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



И вот результат обработки:



Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Читать дальше →

Как распознать кракозябры?

Reading time1 min
Views433K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.

Трехмерная визуализация в реальном времени для архитектуры и промышленного дизайна

Reading time1 min
Views15K


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

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

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

2 млн точек на карте? легко!

Reading time3 min
Views15K
Не так давно для создания сервиса (да и «в загашник» положить модуль) потребовалось придумать способ как быстро из sql базы делать выборки точек расположенных на карте.
Кода будет мало, что бы не отвлекать от понимания системы в целом.



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

Турбокнопка против прокрастинации

Reading time3 min
Views41K
Иногда бывает сложно заставить себя начать заниматься каким-нибудь важным, но неприятным делом. Вместо него мозг начинает хвататься за любые другие дела, зачастую, менее важные, а подчас, и вовсе бесполезные.

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

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

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

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

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

Разработка приложений под Windows 8: почему и как

Reading time11 min
Views69K
imageПоследние 5-7 лет мы все наблюдаем явление, которое аналитики называют консьюмеризацией ИТ. Не вдаваясь в историю и подробности этого явления, характерного не только ИТ-отрасли, стоит отметить главное – именно «консьюмеры» сегодня создают львиную долю пресловутой добавленной стоимости – иногда своим большим числом, иногда – способностью и желанием переплачивать за новинки и вообще интересные идеи.
Операционная система Windows, получившая тотальное распространение на волне консьюмеризации середины девяностых годов, планомерно развивалась до середины «нулевых», когда персонализация вычислений получила новый мощный толчок – настоящую мобильность и доступность.
Читать дальше →

Пять способов улучшить Raspberry Pi

Reading time3 min
Views174K
Стремительно набирает популярность одноплатный компьютер Raspberri Pi. Стремясь сделать его как можно дешевле, разработчики выкинули все «лишнее» и максимально упростили конструкцию там, где это было возможно. С одной стороны, это вынуждает пользователя терпеть некоторые неудобства при работе с системой. Но с другой стороны, оставляет простор для творчества и усовершенствований.

Итак, вашему вниманию предлагается обзор пяти полезных модификаций для Raspberry Pi.
Читать дальше →

Information

Rating
Does not participate
Location
Украина
Registered
Activity