На проекте необходимо было сделать логин через модальные окна и «обычные» страницы для разных типов устройств. После поиска понял, что зачастую описывается не совсем то, что нужно. Так здесь просто помещают форму в модальное окно (фактически пользуясь страницей из wiki devise), а тут (вход и регистрация) переопределяют методы в контроллерах devise так, что они постоянно отдают только json и для «немодального» поведения нужно будет писать много условий с проверкой формата запроса. Поэтому я решил поэкспериментировать в новом приложении и написать поддержку 2 форматов с минимальным количеством переопределения и грязных хаков.
KriMs @KriMs
Пользователь
Видео докладов с DevOps Meetup про Docker
1 min
16KНедавно в офисе Badoo проходил DevOps Meetup про Docker и контейнерную виртуализацию. Делимся с вами видео докладов.
1. «Docker в Badoo: от восторгов к внедрению».
Антон banuchka Турецкий, Раудсепп Илья, Badoo.
1. «Docker в Badoo: от восторгов к внедрению».
Антон banuchka Турецкий, Раудсепп Илья, Badoo.
+32
Sublime Text для фронтэнд-разработчика
5 min
215KTranslation
![](https://habrastorage.org/files/6e2/ee0/709/6e2ee0709811428f9a1f4151a8fcdd09.png)
Sublime Text на данный момент является одним из самых популярных текстовых редакторов, используемых для веб-разработки, поэтому надо знать его преимущества и недостатки. Вместо того, чтобы шаг за шагом описать все фичи Sublime Text, эта статья познакомит вас с самыми популярными приёмами и полезными плагинами, позволяющими ускорить разработку.
+22
«Защита от дурака» или как запретить изменение/удаление важных папок
2 min
49KДоброе время суток.
Исторически так сложилось, что для своих мелких проектов держу виртуалку. Однако, так как я не использую ее ресурсы на 100%, решил не жадничать и пустил похоститься несколько друзей. Сайтов не много, деньги за хостинг не беру, поэтому ставить что-то вроде cpanel счел перебором. К тому же я их тех, кто предпочитает настраивать все вручную. Структуру выбрал следующую:
И тут возник вопрос: как запретить пользователю удалять/переименовывать папки в sitename.ru? Если будет отсутствовать папка web, то и apache и nginx выдадут предупреждение, но все-равно загрузятся. Но если удалить/переместит папку logs, то и apache и nginx не запустятся из-за ошибки (по мне довольно странное поведение). Папка hostuser полностью принадлежит данному пользователю и его личной группе (hostuser:hostuser), а это означает, что при желании он сможет удалить любую внутреннюю папку/файл, даже если она будет принадлежать суперпользователю. Так как же запретить удаление/перемещение, чтобы пользователь (случайно или специально) не сломать весь хостинг?
Исторически так сложилось, что для своих мелких проектов держу виртуалку. Однако, так как я не использую ее ресурсы на 100%, решил не жадничать и пустил похоститься несколько друзей. Сайтов не много, деньги за хостинг не беру, поэтому ставить что-то вроде cpanel счел перебором. К тому же я их тех, кто предпочитает настраивать все вручную. Структуру выбрал следующую:
/home/hostuser/vhosts/sitename.ru/{tmp,web,logs}
И тут возник вопрос: как запретить пользователю удалять/переименовывать папки в sitename.ru? Если будет отсутствовать папка web, то и apache и nginx выдадут предупреждение, но все-равно загрузятся. Но если удалить/переместит папку logs, то и apache и nginx не запустятся из-за ошибки (по мне довольно странное поведение). Папка hostuser полностью принадлежит данному пользователю и его личной группе (hostuser:hostuser), а это означает, что при желании он сможет удалить любую внутреннюю папку/файл, даже если она будет принадлежать суперпользователю. Так как же запретить удаление/перемещение, чтобы пользователь (случайно или специально) не сломать весь хостинг?
+9
Как собрать студию для съемки видео c минимальными затратами и за три дня
5 min
74KВасилий К., продюсер студии N.S.Media снимал лекции для нашего проекта BeSmart.net. А между делом он рассказал нам историю о том, что снимать видео совсем не сложно. Для этого не нужно почти ничего кроме желания и находчивости. Студию для съемки видеолекций можно собрать на коленке, документальный фильм — снять на iPhone.
![](https://habrastorage.org/files/8ae/cad/3a3/8aecad3a3d1b40aa9f9c9d95989b117e.jpg)
![](https://habrastorage.org/files/8ae/cad/3a3/8aecad3a3d1b40aa9f9c9d95989b117e.jpg)
+13
10 универсальных советов посетителям любой IT-конференции
5 min
13KСовременные информационные технологии сложно представить без конференций. Подобные мероприятия предлагают отличную возможность обменяться опытом, узнать нечто новое в своей области, быть в курсе последних трендов. Без всего этого качественное развитие IT-сферы попросту невозможно.
![](https://habrastorage.org/files/6dc/e73/b76/6dce73b7602b4d2594dc0321f197e114.jpg)
Однако недостаточно просто посетить конференцию, чтобы из этого вышел толк. Важно правильно вести себя на ней, чтобы по завершению мероприятия быть уверенным, что потраченные на семинар время и деньги полностью окупились. Специально для таких случаев мы подготовили ТОП-10 универсальных советов, которые не только пригодятся в ходе любой IT-конференции, но и помогут сократить свои расходы на посещение ивента и правильно подготовься к нему.
![](https://habrastorage.org/files/6dc/e73/b76/6dce73b7602b4d2594dc0321f197e114.jpg)
Однако недостаточно просто посетить конференцию, чтобы из этого вышел толк. Важно правильно вести себя на ней, чтобы по завершению мероприятия быть уверенным, что потраченные на семинар время и деньги полностью окупились. Специально для таких случаев мы подготовили ТОП-10 универсальных советов, которые не только пригодятся в ходе любой IT-конференции, но и помогут сократить свои расходы на посещение ивента и правильно подготовься к нему.
+8
REST/CRUD. Я неправильно его готовлю? Часть 2
3 min
6KВступление
В первой части я начал делиться своими наблюдениями по поводу реализации HTTP/GET в REST. В этой — попробуем рассмотреть вопросы версионирования и архитектуры. Приступим?
-4
Польза и вред от сроков (deadlines) в программировании
4 min
30KЯ часто ловлю себя на мысли, что наличие сроков при написании software может давать негативный эффект, хотя многие считают, что сроки – это полезно. Мне кажется, что их нужно применять все-таки с осторожностью (как и любую другую таблетку счастья). Я попытался проанализировать, как же сроками можно навредить проекту, а как сроками можно улучшить будущий результат.
Для тех, кому лень читать всю статью: я считаю, что сроки нужны, но менеджеры и программисты должны понимать, что иногда сроки проваливаются, и что в этом нет большой трагедии. Иногда в проваленных сроках виноваты обстоятельства, а не конкретные люди.
Для тех, кому лень читать всю статью: я считаю, что сроки нужны, но менеджеры и программисты должны понимать, что иногда сроки проваливаются, и что в этом нет большой трагедии. Иногда в проваленных сроках виноваты обстоятельства, а не конкретные люди.
+12
Видео с доклада Виталия Фридмана «Responsive Web-дизайн: Трюки и уловки»
1 min
34KМега интересная лекция от знаменитости в области веб-разработки, основателя и шеф-редактора журнала Smashing Magazine. Мероприятие произошло благодаря Mail.ru. Ключевые темы: UI/UX, проектирование, отзывчивый дизайн, производительность, трюки с SVG. Все это на примере реальных кейсов от The Guardian, BBC и конечно же Smashing Magazine.
От себя хочется добавить, что Smashing Magazine я читаю ежедневно и многое беру от туда для моих подборок. А тут все эти «трендовые постулаты» Perfomance Budget, Mobile First, Atomic Design, Critical Path и др. из первых уст! Еще Фридмана просто интересно слушать. Очень харизматичный спикер с постоянной дружелюбной улыбкой на лице. Рекомендую всем к просмотру.
+23
Фиксированый стиль таблицы или Fixed Table Layouts
2 min
39KСей опус это вольный перевод публикации Криса Койлера [Chris Coyier] от 2 Июля.
Как вы наверняка знаете, CSS свойство table-layout предназначено для управления режимом формирования ширины столбцов в таблице. Оно может принимать следующие значения: авто, фиксировано или наследственно. По умолчанию в браузерах для отображения таблицы используется стандартное поведение: браузер рассчитывает ширину строки как сумму ширины всех ячеек. Следом, по тому же принципу рассчитывает ширину 2-й строки, и если размеры какой-либо ячейки превышают размеры вышестоящей ячейки, перестраивает всю таблицу. Далее определяет ширину 3-й ячейки, 4-й и т.д. В случае если таблица имеет много, очень много рядов, расчет ширины может немного затянуться…
В качестве вступления
Как вы наверняка знаете, CSS свойство table-layout предназначено для управления режимом формирования ширины столбцов в таблице. Оно может принимать следующие значения: авто, фиксировано или наследственно. По умолчанию в браузерах для отображения таблицы используется стандартное поведение: браузер рассчитывает ширину строки как сумму ширины всех ячеек. Следом, по тому же принципу рассчитывает ширину 2-й строки, и если размеры какой-либо ячейки превышают размеры вышестоящей ячейки, перестраивает всю таблицу. Далее определяет ширину 3-й ячейки, 4-й и т.д. В случае если таблица имеет много, очень много рядов, расчет ширины может немного затянуться…
+7
Как найти любовь или приключения с помощью crate.io и kibana
10 min
34KПро результативность, качество и КПД сайтов знакомств можно спорить, можно искать 101 повод чем лучше в клубе/баре/_дополнить_варианты_/парке искать знакомства. То что еще лет десять-пятнадцать назад вызывало смех — теперь мейнстрим. Так не проще ли попытаться использовать еще одну возможность для поиска и общения в интернет с переходом к знакомству в жизни…
![](https://habrastorage.org/files/532/4ca/109/5324ca10992d452cb3a656f12fe25bc4.png)
Гиковский вариант технологии поиска, скринкаст приложения под катом. В конце статьи ссылка на архив с работающим приложением под Apache License v2.0 и небольшим набором данных для примера.
![](https://habrastorage.org/files/532/4ca/109/5324ca10992d452cb3a656f12fe25bc4.png)
Гиковский вариант технологии поиска, скринкаст приложения под катом. В конце статьи ссылка на архив с работающим приложением под Apache License v2.0 и небольшим набором данных для примера.
+17
Форум Positive Hack Days V: открываем двери сингулярности
3 min
4.9K![image](https://habrastorage.org/getpro/habr/post_images/cfd/02d/f38/cfd02df38eb9a9fd7ac0896db7aa6854.jpg)
Пятый международный форум по практической безопасности Positive Hack Days состоится 26 и 27 мая 2015 года в московском Центре международной торговли. На конференции, организованной компанией Positive Technologies, соберутся ведущие специалисты по киберзащите и элита хакерского мира, представители государственных структур и руководители крупного бизнеса, молодые ученые и журналисты.
В 2014 году конференцию PHDays IV посетили более 2500 специалистов из 18 стран мира. Формула PHDays остается неизменной: азарт первооткрывателей, отсутствие унылой рекламы, уникальное оборудование, огромный полигон для экспериментов, профессиональный разговор по существу, неформальное общение хакеров и безопасников, реальные инциденты в основе сюжетов конкурсов.
+2
Как мы измеряем скорость загрузки Яндекс.Почты
7 min
26KЕсли ваш сайт медленно грузится, вы рискуете тем, что люди не оценят ни то, какой он красивый, ни то, какой он удобный. Никому не понравится, когда все тормозит. Мы регулярно добавляем в Яндекс.Почту новую функциональность, иногда — исправляем ошибки, а это значит, у нас постоянно появляются новый код и новая логика. Все это напрямую влияет на скорость работы интерфейса.
![](https://habrastorage.org/files/7ac/393/255/7ac393255e9b4b9f9d7e4885133eed9d.jpg)
Яндекс.Почту каждый день открывают миллионы человек из разных точек земного шара. И ни у кого она не должна тормозить, поэтому без различных измерений наша работа не обходится. В этом посте мы с alexeimoisseev и kurau решили рассказать о том, какие метрики у нас есть и какие задачи они решают. Возможно, это пригодится и вам.
![](https://habrastorage.org/files/7ac/393/255/7ac393255e9b4b9f9d7e4885133eed9d.jpg)
Яндекс.Почту каждый день открывают миллионы человек из разных точек земного шара. И ни у кого она не должна тормозить, поэтому без различных измерений наша работа не обходится. В этом посте мы с alexeimoisseev и kurau решили рассказать о том, какие метрики у нас есть и какие задачи они решают. Возможно, это пригодится и вам.
+38
Facebook обновил пользовательское соглашение и собирается передавать данные третьим лицам
2 min
54KЕсли вы пользуетесь Facebook, вы наверняка уже видели сообщение о том, что с 1 января в силу вступает новое пользовательское соглашение. Мы уже привыкли к таким обновлениям: то Гугл, то MS, то Apple (прямо в айфоне) выкатывают новые «terms» и просят поставить галочку. И мы, не задумываясь, ставим. А зря! В этом обновлении много интересного:
+13
Интервью с Моисеем Урецким, сооснователем и директором Digital Ocean
11 min
40K![](https://habrastorage.org/files/71a/a7c/485/71aa7c48539649ebbeda95a8fc89549d.jpg)
Как возникла идея DO? На рынке уже были тысячи хостинг-провайдеров, не говоря о таких гигантах, как Amazon, Google, Microsoft. Наверняка все говорили, что ваша идея провалится?
До DO мы с братом много лет занимались хостингом, и в какой-то момент стало понятно, что все движутся в сторону «облака». Многие компании начали намного раньше нас — мы и сами тогда работали с различными провайдерами. Все они строили свои облака так, как считали нужным и правильным, но получалось как-то неоправданно сложно.
Так что мы решили, что займемся облаками и сделаем все по-своему, создадим свою версию, которая понравится нам самим, — что, наверно, было не очень разумно. Дело в том, что все, с кем мы это обсуждали, говорили, что это плохая идея и нам вообще не стоит за это браться :).
+62
Набор Ruby библиотек для CMS и сайта медиа издания
15 min
30K![](https://habrastorage.org/files/626/ba0/98a/626ba098a3f64e76addcd3738887f87d.jpg)
Набор библиотек для разработки CMS медиа издания практически ничем не отличается от любого другого приложения. На примере приложения для Ленты и Ведомостей мы решили прокомментировать выбор каждой библиотеки. Описание составлено в формате обсуждения каждого гема.
+46
Перезагрузка ЛитТайма или небольшая история 2х лет пробуксовки стартапа
4 min
2.9K![](https://habrastorage.org/files/f55/620/992/f5562099209244b7b3e772ca8f6fea8a.jpg)
2,5 года назад мы запуск стартапа начали именно с Хабра. Сейчас — прошло 1,5 месяца с момента перезапуска, долго не знал, в каком формате написать пост. Что ж, давайте расскажу поучительную историю неуспеха, которая, надеюсь, будет полезна.
+2
Многозадачность в ядре Linux: прерывания и tasklet’ы
6 min
76K![Котейка и младшие братья](https://habrastorage.org/files/c6c/410/b72/c6c410b72716448c84e60c48126dce02.jpg)
На этот раз я хочу подойти к вопросу планирования с другой стороны. А именно, теперь я постараюсь рассказать про планирование не потоков, а их “младших братьев”. Так как статья получилась довольно объемной, в последний момент я решила разбить ее на несколько частей:
- Многозадачность в ядре Linux: прерывания и tasklet’ы
- Многозадачность в ядре Linux: workqueue
- Protothread и кооперативная многозадачность
В третьей части я также попробую сравнить все эти, на первый взгляд, разные сущности и извлечь какие-нибудь полезные идеи. А через некоторое время я расскажу про то, как нам удалось применить эти идеи на практике в проекте Embox, и про то, как мы запускали на маленькой платке нашу ОС с почти полноценной многозадачностью.
Рассказывать я постараюсь подробно, описывая основное API и иногда углубляясь в особенности реализации, особо заостряя внимание на задаче планирования.
+92
Перезапуск медиа издания: обзор
13 min
31K![](https://habrastorage.org/files/c8d/33a/0d1/c8d33a0d197a4beca5f1a667ccb569d9.jpg)
Мне довелось поработать (fb) в интернет издании Лента.ру. Пройти путь от разработчика до технического директора. Успешно реализовать полноценный перезапуск. Попутно занимаясь подобными проектами меньшего масштаба. Теперь мы с командой занимаемся подготовкой перезапуска интернет газеты Ведомости (fb).
Расскажу о разработке проектов медиа изданий. Галопом по Европам, зацепимся за основные темы. К вам, дорогие читатели, просьба набросать вопросы, которые необходимо раскрыть более детально. Например мой коллега планирует написать о развёртывании системы, отказоустойчивой схеме работы сайта.
+55
Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №135 (17 — 23 ноября 2014)
6 min
46KПредлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости
![](https://habrastorage.org/files/a2b/27a/716/a2b27a71686b4919a85ae7029da3b2d1.jpg)
![](https://habrastorage.org/files/a2b/27a/716/a2b27a71686b4919a85ae7029da3b2d1.jpg)
+42
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity