Как стать автором
Обновить

Компания Evil Martians временно не ведёт блог на Хабре

Сначала показывать

Курс по Ruby on Rails от Злых марсиан

Время на прочтение 5 мин
Количество просмотров 13K
Привет, меня зовут Андрей Ситник, и я — фронтенд в Злых марсианах. Хочу пригласить вас на брейнвошинг по Ruby on Rails, который пройдет 29, 30 марта и 1 апреля в Москве.

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

А в конце рассказа — пара способов получить скидку на следующий мартовский Брейнвошинг.


Равиль и Лёша объясняют практическое задание по Rack

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

На курсе мы углубляем понимание работы Rails, делимся опытом, который мы получили в крупных проектах, даем полезную выжимку знаний и развеиваем популярные заблуждения. Иными словами, за короткий срок «прокачиваем» разработчиков на Ruby on Rails, тимлидов и технических директоров Rails проектов.
Читать дальше →
Всего голосов 30: ↑21 и ↓9 +12
Комментарии 4

Brainwashing «Интерфейсы для айфона» 25, 26 и 28 мая

Время на прочтение 1 мин
Количество просмотров 3.8K
25, 26 и 28 мая пройдет четвертый московский курс «Интерфейсы для айфона», а летом мы проведём первый курс в Питере. Даты и место проведения питерского курса уточняются, но записываться можно и нужно уже сейчас.



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

О распорядке дня и впечатлениях участников читайте в отчётах с прошедших курсов.

Оставьте заявку с пометкой «Хабр» и получите скидку!
brainwashing.pro/interfaces-for-iphone
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 0

Автопрефиксер — окончательное решение проблемы префиксов в CSS

Время на прочтение 4 мин
Количество просмотров 56K
Автопрефиксер — утилита нового поколения для добавления префиксов к экспериментальным свойствам из CSS 3. Она берёт с Can I Use последние данные о префиксах и популярности браузеров, читает ваш файл стилей, находит свойства и значения, которым действительно нужны префиксы и добавляет их.

Вы просто пишите обычный CSS:
a {
    transition: transform 1s
}


Автопрефиксер сам заменит нужные (и только нужные) свойства и значения (обратите внимание на -webkit-transform):
a {
  -webkit-transition: -webkit-transform 1s;
  -o-transition: -o-transform 1s;
  transition: -ms-transform 1s;
  transition: transform 1s
}


Эта утилита работает во время выкладки сайта на сервера (и на машине программиста во время разработки), так что не заметна для клиентов и не требует какой-то поддержки от браузеров.

Проблема


К сожалению текущие инструменты плохо решают задачу:
  • Писать вереницы свойств руками — очевидно плохое решение. Такой код невозможно читать, легко забыть поправить остальные свойства при редактировании.
  • В Sass и LESS вам нужно самому следить за актуальностью префиксов и копировать примеси из проекта в проект. К тому же примеси могут решить проблему только у свойств, а не у значений (например, calc()).
  • Compass или Bourbon уже лучше, там список примесей хранится централизовано и его легче держать актуальным (но практика показывает, что обычно в примеси добавляют все префиксы не следя за актуальностью). Проблема значений всё так же не решена.
  • Самая главная проблема Sass и LESS, что вам всё равно нужно постоянно думать «из CSS 3 это свойство или нет?» — и в зависимости от этого использовать примесь или нет. Эту проблему немного решил Stylus — у него синтаксис примесей не отличается от обычных свойств, так что префиксы добавляются невидимо. Впрочем, проблема актуальности и значений всё равно остались.
  • Есть ещё скрипты добавления префиксов прямо в браузере, например Prefix Free, но лучше всего обрабатывать стили на этапе разработки и выкладки, а не повторять обработку каждый раз в браузере клиентов.

Понятно, что языки препроцессоров не позволяют решить проблему полностью, нужен был фундаментально новый инструмент.
Читать дальше →
Всего голосов 72: ↑64 и ↓8 +56
Комментарии 81

Brainwashing «Интерфейсы для айфона» 1, 2 и 4 декабря

Время на прочтение 2 мин
Количество просмотров 5.6K
Мы снова проведем курс «Интерфейсы для айфона». Уже на этих выходных, 1, 2 и 4 декабря в «Коворкафе».


Читать дальше →
Всего голосов 48: ↑40 и ↓8 +32
Комментарии 8

Как я использовал gem gon в Групоне

Время на прочтение 4 мин
Количество просмотров 6.1K
На днях я зарелизил новую версию своего gem Gon – 4.0.0 и решил привести пару примеров его возможностей и использования. Данная библиотека служит для упрощения работы с данными в MVC архитектуре. Она позволяет работать с данными контроллера из JS пропуская шаги перекидывания этих данных через вью. На сегодняшний день существуют реализации гона для RoR приложений, sinatra-like приложений (sinatra, padrino, etc.) и для .Net MVC.

Карта в админке

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

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

Учебный курс «Интерфейсы для айфона» в августе

Время на прочтение 2 мин
Количество просмотров 5.6K
Таня Мисютина (@lazytanka), Юрий Подорожный (Inspire) и Антон Ловчиков (object) проведут курс «Интерфейсы для айфона» во второй раз 9 – 12 августа в Москве, в помещении Дизайн-бюро Артёма Горбунова!



Читать дальше →
Всего голосов 21: ↑15 и ↓6 +9
Комментарии 6

Стипендия на Brainwashing Ruby on Rails и шанс работать на берегу океана

Время на прочтение 1 мин
Количество просмотров 8.1K
Не все работодатели инвестируют в кадры, а найти деньги на хорошие учебные курсы самостоятельно под силу не каждому разработчику. Решение есть — грант на Brainwashing Rails от проекта Aviasales. Отправьте анкету и станьте одним из 5 стипендиатов, а после курса пройдите собеседование в Aviasales и улетайте работать в Тайланд. И попрощайтесь с недальновидным работодателем.


Читать дальше →
Всего голосов 42: ↑38 и ↓4 +34
Комментарии 29

Brainwashing iOS — мастер-класс по iOS-разработке от Any Void и ZeptoLab

Время на прочтение 1 мин
Количество просмотров 1.1K
Привет, %username%!

7 и 8 июля сотрудники Any Void и ZeptoLab проведут мастер-класс по iOS-разработке.

Читать дальше →
Всего голосов 17: ↑13 и ↓4 +9
Комментарии 19

Brainwashing by Evil Martians — мастер-класс по разработке на Ruby on Rails 19-20 мая в Москве

Время на прочтение 1 мин
Количество просмотров 878
Привет, %username%!

Evil Martians в третий раз проведут мастер-класс по разработке на Ruby on Rails 19 и 20 мая: http://brainwashing.pro/rails.


Читать дальше →
Всего голосов 34: ↑24 и ↓10 +14
Комментарии 9

Page Visibility API и Visibility.js

Время на прочтение 7 мин
Количество просмотров 20K
Кот Шрёдингера

Page Visibility API — новое API в JavaScript, которое позволяет узнать, видит ли пользователь ваш сайт или же он, например, открыл другой таб.

Каким образом это API может сделать наш Веб дружелюбнее и уютнее? Ну самое очевидное:
  • Сделать сайт более дружелюбным к пользователю, «поднять юзабилити». Например, отключать слайдшоу или ставить видео на паузу, когда вы переключаетесь в другой таб (например, вы смотрите видео на YouTube и вам приходит срочное эл. письмо).
  • Не потреблять лишних ресурсов. Выключать лишнюю логику, когда она не нужна, так как пользователь не видит сайт. Например, в фоновом табе отключать сложные JS-рассчёты или реже проверять новые сообщения по AJAX.
  • Считать более точную статистику. Например, не засчитывать пользователей, которые открыли ваш сайт в новом табе и закрыли его не просматривая.
  • Поддерживать новую технологию пререндеринга из Google Chrome, когда браузеру заранее загружает и рендерит указанную страницу, чтобы открыть её мгновенно. Например, в поиске Google первый результат выдачи будет отмечен на прередеринг.
  • Сделать эмулятор кота Шрёдингера (на иллюстрации), который отобразит живого или мёртвого кота только тогда, когда пользователь откроет загруженный в фоне таб.

Чтобы сделать работу с Page Visibility API более удобной, я (во славу Злых марсиан) разработал библиотеку Visibility.js. Она позволяет забыть о вендорных префиксах и добавляет «сахара» высокоуровневых функций, чтобы писать короткий чистый код (например, Visibility.every — аналог setInterval, но работает только, если сайт в открытом табе).

Милый пример видео-проигрывателя, который останавливает видео, когда страница становится невидимой (открывать в Google Chrome 13).
Читать дальше →
Всего голосов 97: ↑95 и ↓2 +93
Комментарии 49

Ruby на РИТ++

Время на прочтение 2 мин
Количество просмотров 973
Как вы уже наверняка знаете, 25-26 числа в Москве пройдет главная конференция веб-разработчиков России — РИТ++. На конференции будет освещаться и Ruby, не пропустите перечисленные ниже доклады :-)

Будет доклад, касающийся Ruby, а также мастер-класс, посвященный front-end разработке с использованием Ruby фишек (Haml, Sass, Compass).
Читать дальше →
Всего голосов 36: ↑27 и ↓9 +18
Комментарии 9