Pull to refresh
20
0
Александр Зинченко @yumitsu

User

Send message

Использование Sandbox на Mac OS X Server для изоляции пользовательских веб-приложений

Reading time8 min
Views12K

Небольшое лирическое введение


Появился как-то у меня заказчик, который захотел странного, а именно простой в управлении хостинг, который позволил бы пользователям загружать и изолированно запускать веб-приложения на базе микрофреймворка Camping. И я ему сделал его на предложенном виртуальном сервере под управлением FreeBSD 9.0 с помощью nginx, thin server, и ezjail как средства управления jail'ами (все довольно тривиально, но если будет кому-нибудь интересно — опишу). А через неделю заказчик признался мне, что он вообще-то поклонник решений от Apple и хотел бы видеть ту же систему работающей на его основном сервере под управлением Mac OS X. И я с радостью согласился адаптировать решение, так как раньше не имел удовольствия соприкоснуться с этой системой и хотел ее хоть немного изучить. Было только одно «но» — на MacOS X Server нет jail(8). Так вот, в поисках решения для максимально безопасного запуска загружаемого пользователем приложения (я не мог и не хотел использовать chroot по ряду причин) я нашел чрезвычайно гибкий и прекрасно интегрированный в систему инструмент — Sandbox.

Построение основы для хостинга

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

jClever — умный jNice с плюшками. Стилизация HTML-форм

Reading time2 min
Views12K

Автор статьи и плагина  — хабраюзер DenisZ

jClever Forms — это плагин для стилизации HTML форм, который предоставляет свой API.

Опыт работы с такими стилизаторами форм, как jNice, jqTransform, Uniform заставил написать велосипед. Текущая версия практически полностью повторяет возможности jNice и даже дополняет их.

Под катом описание, примеры и ссылки на скачивание

Строим биндинги из Ruby к C-библиотеке

Reading time4 min
Views3.1K
На днях нужно было построить биндинги к библиотеке libftdi, которая обеспечивает взаимодействие с чипами FTDI (чипы для преобразования последовательной передачи данных по RS-232 или уровней TTL в сигналы шины USB, для того чтобы дать возможность современным компьютерам использовать устаревшие устройства © Wikipedia).

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

У FFI есть несколько достоинств, которые сыграли в его пользу:
  • Поддержка интерпретаторов MRI Ruby 1.9, MRI Ruby 1.8, JRuby, ограниченная поддержка Rubinius;
  • Поддержка платформы Windows (наряду с другими);
  • Отсутствие необходимости компиляции биндингов;
  • Удобный язык описания биндингов.

Репозиторий биндингов для Ruby.
Читать дальше →

Почему многие выбирают Ruby, а не PHP

Reading time3 min
Views64K
imageДанный пост является ответом на пост "Почему люди выбирают PHP, или почему миллиарды мух могут ошибаться". Надеюсь, мне удастся развеять миф о несостоятельности платформ вроде Ruby и Python, который активно распространяется PHP разработчиками, причем разработчиками т.с. нижнего сословия, которые кроме PHP больше ничего не видали. Конкретно в данной статье я формате вопрос-ответ расскажу о том, почему Ruby и Rails — реальные игроки, почему они популярны и можете ли вы их использовать для построения собственного бизнеса в интернете.

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

Три полезных совета по Rails консоли

Reading time3 min
Views4.2K
Топик является вольным переводом статьи на 37signals.

Вчера я копался в документации к Rails API и заметил несколько полезных функций rails консоли, которых не видел ранее. До этого было множество публикаций об irb и Rails, но я надеюсь, что из этой вы почерпнете для себя что-то новое. Приведенные примеры сделаны с использованием Basecamp Next on Rails версии 3.2.3.
Читать дальше →

Никто не читает правил

Reading time3 min
Views22K
Намедни, по просьбам народов интернета, я завел маленький сервис для простой раздачи приглашений (a.k.a invites) в разные правильные сервисы. Ссылки не даю, не для продвижения пост, но был один момент удививший меня чрезвычайно. Возможно и даже наверняка это все прекрасно известно всем, кто на общении с пользователями сьел десяток собак, но мне, как человеку пишущему в основном программы для нелюдей, этот опыт показался интересным и новым.
Читать дальше →

Greensock: анимация на JavaScript

Reading time3 min
Views101K
Недавно я писал, что Greensock, прекрасная библиотека для скриптовой анимации на Flash, теперь поддерживает и JavaScript. В этой статье я продемонстрирую основы работы с GSAP v12 (beta). Результат будет примерно таким:


Сразу оговорюсь, что графику и идею для примера я взял из документации $fx(), ведь кто из нас откажется
проанимировать НЛО

Адаптивная верстка: CSS&JS фреймворк Skeleton

Reading time4 min
Views69K

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

Ruby NoName Podcast S04E09

Reading time1 min
Views779

Подкаст


ruby.rpod.ru/275445.html

Новости




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

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

Reading time2 min
Views9.1K
Одна из идей, в рамках которой развивается облако Селектел, является максимальная свобода администратора при работе с облачной машиной. Различия с реальным сервером должны быть минимальны, а все новые функции не должны нарушать ощущения «настоящей» машины.

Сейчас мы сделали очень крупный шаг для реализации этого — реализовали интерфейс управления загрузкой. До этого момента эксперименты с загрузкой (разные версии ядер, опции загрузки и т.д.) могли привести к нерабочей машине, и исправление этой проблемы было проблемным (отключать диск, подключать его обратно и т.д.).

Теперь эта проблема решена. Я думаю, эти два скриншота объяснят возможности системы больше, чем тестовое описание:
опции загрузки вируальной машины в облаке Селектел
Читать дальше →

О повторном использовании кода

Reading time6 min
Views7.3K
Сегодня существуют разные мнения по поводу успешности объектной технологии. С одной стороны, большинство современных mainstream языков программирования являются объектно-ориентированными, с другой стороны, нередко можно услышать критику ООП, дескать, объектно-ориентированное программирование «провалилось» и не оправдало тех надежд, которые были возложены на нее индустрией разработки ПО. Все, мол, ожидали наступления вселенского счастья в виде увеличения повторного использования, упрощения сопровождения, да и вообще, обещали, что думать придется кому-то другому, а я за это буду деньги получать.
Читать дальше →

Руководство по оформлению HTML/CSS кода от Google

Reading time12 min
Views361K

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →

Фреймворк Autodafe — работа с моделями

Reading time1 min
Views734
Вышла версия 0.3 node.js фреймворка для разработки веб приложений Autodafe.

У фреймворка появился сайт autodafe.ws, который стремительно обрастает документацией и статьями. (Документация на сайте генерируется автоматически из кода, задокументированного по правилам jsdoc. Поэтому если вы хотите быстро поднять сайт с документацией вашего проекта, можете спросить меня «как?».

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

Для тех, кто еще не знает про фреймворк

Создание лайтбокса для сенсорного интерфейса на HTML5

Reading time15 min
Views6K
Stephen Woods, фронтэнд-инженер в Flickr, объясняет, как создать простой лайтбокс с поддержкой жестов и дает советы для улучшения восприятия и производительности сенсорных интерфейсов.



Необходимые знания: средний уровень CSS, средний-продвинутый уровень JavaScript
Требования: Android или IOS устройство
Временные затраты: 2-3 часа
Скачать исходники
Просмотр демонстрации
Читать дальше →

Уязвимость PHP в режиме CGI

Reading time2 min
Views11K
Существует уязвимость на некоторых настройках основанных на CGI (на Apache + mod_php и Nginx + PHP-FPM не влияет), которая оставалась не замеченной, по крайней мере 8 лет. В 7 разделе спецификации CGI говорится:
Некоторые системы поддерживают метод для передачи [sic] массив строк в CGI скрипт. Используется только в случае «индексных» запросов. Определяется «GET» или «HEAD» HTTP-запрос со строкой поиска URL не содержащей незакодированных "=" символов.

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

Реалтайм-система мониторинга активности пользователей на сайте. Теперь на Node.js + Socket.IO

Reading time7 min
Views16K
Добрый день.

В этой статье я расскажу о том, как реализовать систему мониторинга активности пользователей с помощью Node.js и Socket.IO. Выглядит это примерно так:
image
Читать дальше →

Все JavaScript библиотеки в одном месте

Reading time1 min
Views36K

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

Впервые увидел настолько полную wiki по JavaScript либам, не смог с вами не поделиться.

RubyMotion: нативные iOS приложения на Ruby (перевод)

Reading time10 min
Views14K

В 2007 году Лоран Сансонетти, разработчик из Apple, основал проект с открытым исходным кодом MacRuby. Его целью было создание интерпретатора Ruby поверх среды исполнения Objective-C, который бы обеспечивал прозрачное взаимодействие между Ruby и экосистемой OS X «Cocoa» — и ему это удалось. Теперь Сансонетти надеется сделать что-то подобное и под iOS.

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

Алгоритм жизни с техническим складом ума

Reading time3 min
Views5.4K

Знания — Идеи — Созидание


Знание — новая информация посредством которой решается какая то проблема.
Идея — способность видеть проблему и ключ к ее решению.
Созидание — процесс практической реализации идеи.



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

Знания


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

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

Треугольники с тенью на CSS

Reading time3 min
Views40K
Скорее всего, вы уже знаете, как сделать треугольник на чистом CSS, использовав свойство border. Если же не знаете, то можно почитать, например, здесь. Но что, если вам понадобятся треугольники с тенью?



Классическая манипуляция с бордером не может изменить форму объекта, это всего лишь визуальный обман.
Т.е. нельзя просто взять и добавить box-shadow к такому треугольнику, потому что получим что-нибудь в таком роде:



Давайте посмотрим на несколько альтернативных решений.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity