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

Компания 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.2K
Не все работодатели инвестируют в кадры, а найти деньги на хорошие учебные курсы самостоятельно под силу не каждому разработчику. Решение есть — грант на 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 мин
Количество просмотров888
Привет, %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 мин
Количество просмотров985
Как вы уже наверняка знаете, 25-26 числа в Москве пройдет главная конференция веб-разработчиков России — РИТ++. На конференции будет освещаться и Ruby, не пропустите перечисленные ниже доклады :-)

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