Pull to refresh
17
0
Daniel Newman @danielnewman

User

Send message

Используем Twitter Bootstrap в RefineryCMS

Reading time6 min
Views12K
RefineryCMS — это еще одна RoR CMS. Поддерживает Rails3.2, удобна. Я не стану тут заниматься пересказом пресс-релизов, если интересно — на сайте можно поиграться в демо. Поскольку родилась она не вчера, из коробки поддерживать Twitter Bootstrap не умеет. Есть костыль refinerycms-bootstrap, но меня он не впечатлил. Поэтому я расскажу, как быстро прикрутить bootstrap самому. NB! Эта заметка не предполагает, что вы уже видели RefineryCMS, но и не рассказывает именно о ней: рассказ пойдет строго о прикручивании TB.
Читать дальше →

Amazon Redshift: новое хранилище данных на петабайты

Reading time1 min
Views47K
Компания Amazon выкатила принципиально новый сервис Redshift для хранения баз данных размером от нескольких сотен гигабайт до многих петабайт. Продукт нацелен на корпоративных заказчиков, которых сдерживает ограничение в 1 терабайт традиционной RDS, при этом хотят пользоваться привычными SQL-приложениями и гарантировать мгновенную доступность данных.

Кластер Redshift поднимается в пару щелчков мыши из административной панели AWS. Стоимость хранения данных здесь сравнима с обычным S3 и зависит от типа кластера и тарифного плана. Например, на трёхлетнем плане она составляет $999 за терабайт в год.
Читать дальше →

Немного про Deadlock

Reading time2 min
Views135K
Это совсем краткий пост о причинах возникновения Deadlock

В более менее нагруженных проектах, использующих транзакции InnoDB, в любой момент может возникнуть ошибка вида

«Deadlock found when trying to get lock; try restarting transaction»

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

«Offline first» подход к созданию веб-приложений

Reading time5 min
Views21K
В этом году на конференции Full Frontal, оффлайн-приложения были популярной темой. Пол Кинлан сделал отличный доклад «Строим веб-приложения будущего. Завтра, сегодня и вчера» (вот его слайды), в котором он сравнивал ощущения пользователей от работы с 50 популярными мобильными приложениями для iOS и Android с ощущениями от веб-сайтов и приложений.

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

Обратите внимание! Я не рассматриваю вопросы кэширования ресурсов приложения — вы можете использовать App Cache или гибридное решение (вроде PhoneGap), это не принципиально [От переводчика: на Хабре есть подробная статья про особенности работы с Application Cache API]. Это руководство посвящено скорее тому, как спроектировать архитектуру веб-приложения для работы в оффлайн-режиме, а не тому, какие механизмы использовать для его реализации.
Читать дальше →

Вышел Xen Cloud Platform 1.6

Reading time1 min
Views14K
Вышла долгожданная версия XCP 1.6

В этой версии:
  • live storage (VDI) migration
  • live pool migration
  • Гипервизор Xen 4
  • Open Vswitch 1.4, наконец-таки с поддержкой ipv6
  • Официальный антиспуфинг
  • Поддержка новых процессоров intel
  • Миграция виртуальных машины может осуществляться без гостевых утилит
  • Поддержка LACP
  • StorageLink для EMC
  • Поддержка GPU passthough (доступ к GPU для виртуальных машин)

Ссылка на новую версию: xen.org/download/xcp/index_1.6.0.html

Примеры использования тригонометрических функций для анимации

Reading time1 min
Views23K


Джастин Уиндл, программист и дизайнер из Google Creative Lab, опубликовал на Codepen.io интересное демо, показывающее примеры использования тригонометрических функций для задания динамики анимации (easing), которая выглядит естественно и правдоподобно. Демо написано с использованием легковесного анимационного фреймворка Sketch.js, написанного Уиндлом.

На сайте Джастина Уиндла можно найти ещё несколько интересных и полезных примеров креативной визуализации, например анимированное меню на CSS3 Makisu, демонстрацию работы его библиотеки Coffee Physics и многое другое.

Плагин оповещения по SMS о критичных задачах для Redmine

Reading time2 min
Views15K
В нашей компании возникла необходимость оповещения по SMS о задачах, поставленных в трекере Redmine, с приоритетом «Авария!». Очень удобно получать такие оповещения, когда требуется мгновенная реакция.

Совместно с командой разработчиков из secoint.ru мы разработали плагин redmine_status_notifier, о котором я и расскажу под катом.

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

Автоматическая оптимизация настроек MySQL, PostgreSQL

Reading time3 min
Views45K
Оптимизация настроек всегда дело тонкое и выставить именно те параметры, которые дадут максимальную производительность, зачастую можно только уже в процессе работы приложения, когда уже есть статистика нагрузки и видны узкие места.
Но очень полезно сделать и первичную оптимизацию при запуске СУБД. В этом посте рассмотрены пути автоматической оптимизации MySQL и PostgreSQL утилитами mysqltuner и pgtune.

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

Обновляем ядро без перезагрузки

Reading time2 min
Views22K
Сегодня я хочу рассказать о моей самой любимой фиче в последнем релизе Parallels Cloud Server — rebootless update, или обновление без перезагрузки.

Перезагрузка — это простой сервера и потеря состояния текущих активностей. Она нежелательна для сервера, которым пользуется большое количество людей. На данный момент есть популярная технология Ksplice, где изменения накатываются на живую систему. Это ненадежно, не каждое обновление удается так накатить. И вообще, нет гарантий, что проблемный код не успел наследить. Еще одна немаловажная проблема в том, что разработчики с неохотой берутся за баги после таких обновлений. Кто его знает, что в этой солянке варилось.
Читать дальше →

Онлайн-инструменты для кодеров

Reading time2 min
Views286K
Онлайн-сервисы становятся все популярнее, постепенно усложняя функционал и улучшая интерфейсы. В этой подборке представлены онлайн-инструменты для кодеров.

Cloud9


«Это Google Docs, только для кода» — так говорят о проекте. Облачный сервис вырос из Mozilla Bespin. Основные фишки: SSH, drag-and-drop и возможность разработки оффлайн.

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

Ресурсы имеют значение

Reading time2 min
Views23K


Я уже писал о ресурсе, который отбирает лучшие и бесплатные пользовательские интерфейсы. Сейчас настала очередь более интересеного и потенциального ресурса AgileDesigners , Созданный Гонкогской компанией Webalys, известная разработкой User Interface Design Framework для Illustrator.

AgileDesigners


Является тематическим каталогом лучших ресурсов, которые рекомендуют специалисты со всего мира. Ресуры разбиты на 4 типа:
  • Дизайн;
  • Разработка;
  • Управление;
  • Обучение;

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

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

Методика проекта очень простая: Под каждым ресурсом есть счетчик людей которые им пользуются и рекомендуют. Если Вы нашли ресурс, который посещяете и рекомендуете, просто поставье «Лайк» I USE THIS (поскольку проект еще в бете, лайки пока работают только со страницы ресурса, а не в общей ленте), что поднимет общий рейтинг ресурса. Сейчас Проект находится в стадии «Beta», много подчерпнуть из него врядли удасться, но потенциально пользоваться им будет удобней, нежели вычитывать по одной рекомендации по разным источникам.
PS: Хабрахабр уже добавлен.
В дополнении, немного ресурсов которые я собрал для вас на этой неделе

Облачные серверы от Infobox

Reading time3 min
Views12K
У хостера, желающего запустить облако, два пути. Первый – это с головой погрузиться в увлекательный мир проектирования, написания софта, набивания шишек со всеми вытекающими последствиями. Такие случаи мы все уже видели. Второй — запустить на своей инфраструктуре готовое решение от известного вендора ПО.

Мы пошли вторым путем. Наш выбор остановился на новом продукте компании Parallels – облачной платформе Parallels Automation for Cloud Infrastructure (PACI). Причин несколько. Parallels – лидер среди разработчиков ПО для хостеров. Безусловно, они знают толк в виртуализации. Кроме того, нам нравится простота и удобство панели управления услугами и инфраструктурой.

управление параметрами Облачного сервера
Читать дальше →

Сайт для программиста [на Node.js]. Просто. Стильно. Бесплатно

Reading time5 min
Views93K

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

Меня аккаунт Вконтакте, и даже в Фейсбуке в качестве своего сайта не устраивает. Слишком много лишнего, навязанный формат и прочие неудобства.

Если бы я не был веб-разработчиком, мне пришлось бы плакать и грызть кактус. К счастью, я им являюсь, поэтому решил сделать себе сайт сам. Чтобы выкладывать на нём статьи вроде этой, небольшие хобби-проекты, и чтобы было что указать в поле «сайт» профиля на Хабре.

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

Некоторые знания HTML и JS вам пригодятся. Опыт работы с Node.js не обязателен.

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

Значение DOM «window.devicePixelRatio» и свойство CSS «device-pixel-ratio» станут переменными величинами

Reading time3 min
Views26K
Более двух лет прошло после начала продаж iPhone 4 летом 2010 года, и за эти два года сайтостроители привыкли проверять джаваскриптом значение window.devicePixelRatio (или же использовать в CSS медиазапрос device-pixel-ratio) как простое и бесхитростное средство, позволяющее тотчас же выяснить, запущен ли сайт на сетчаточном дисплее (retina display) или нет. Если величина devicePixelRatio равна двойке, то перед нами сетчаточный дисплей (четвёртый iPhone, четвёртый iPod Touch, третий iPad, или более новые устройства, или портативный компьютер «MacBook Pro with Retina Display»); если же величина devicePixelRatio равна единице (или не определена), то перед нами дисплей обычной чёткости.

Чуть сложнее, по сравнению с эппловскими, бывает учёт устройств, работающих под Android: там приходится воспринимать дробные величины, не равные единице или двойке. Peter-Paul Koch сообщил во блогозаписи «More about devicePixelRatio» о том, что (по его наблюдениям) в Nexus One величина devicePixelRatio равна 1,5, тогда как в Galaxy Nexus и в Galaxy Note она равна двум в WebKit и 2,25 в Opera Mobile.

Но эти мелкие отличия не меняют картины в целом: все привыкли думать о значении величины devicePixelRatio как о таком свойстве устройства, которое на одном и том же мобильнике (или планшете, или ноутбуке) остаётся беспрерывно постоянным. В частности, именно на этом были основаны все, все рецепты из хабрахабровских блогозаписей «Адаптируем графику под Retina экран», «Распознаём retina-дисплеи джаваскриптом», «Отображаем карты OpenStreetMap на iPhone 4 с учётом сетчаточного дисплея при помощи Leaflet», «Как отличить версию iPad в Safari», «Оптимизация графики для Retina-экранов», «Комплексная подготовка сайта к Retina» и им подобных.

Но пришёл ноябрь 2012 года, и настаёт пора отказаться от этой привычки, настаёт пора критически пересмотреть прежние рецепты. Сейчас скажу почему.

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

Хостинг бэкапов — новый сервис от Infobox

Reading time4 min
Views17K
Хостинговая компания Infobox запускает новый сервис Backup it — для создания и онлайн-хранения резервных копий различных данных. Сервис предназначен как для домашнего использования (линейка планов Home), так и для корпоративных клиентов (линейка Pro).

Какие типы данных позволяет резервировать новый сервис и для кого он предназначен?
Читать дальше →

Аудит. «Черный ящик»

Reading time6 min
Views13K
В данной статье я предложу вам технику аудита «черного ящика», которую можно освоить не обладая особыми знаниями и применить ее относительно своих ресурсов.

Естественно, статью можно перевести и в технику взлома ресурсов. Но чтобы знать, как защищать — надо знать, как взламывать. Ответственность за приобретенные знания вы берете на себя ;)

И если вы, как разработчик, будете знать хотя бы некоторые принципы и техники, что используют хакеры — думаю вам станет чуть спокойнее за них (ресурсы) и результат вашей деятельности приобретет более высокий уровень

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

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

Геотаргетинг nginx, частный случай

Reading time4 min
Views16K
Возникла задача сделать геотаргетинг для регионов России на новостном сайте, т.е. при заходе на главную страницу, должно происходить перенаправление на региональную страницу сайта с адресами вида: region/[номер региона], причем перенаправление клиента должно осуществляться на nginx-е без передачи данных на апач, в противном случае это лишняя ненужная нагрузка на сервер.
Читать дальше →

JavaScript SIP библиотека от авторов стандарта

Reading time1 min
Views20K
Я уже писал заметку на эту тему, с того времени стала доступна еще одна JavaScript SIP библиотека. В первой статье я упоминал её, но на тот момент вся информация о библиотеке включала: описание авторов и видео демонстрирующее работу. Сейчас исходный код открыт под MIT лицензией, имеются документация и форум.

Примечательно, что данную библиотеку разрабатывают авторы того самого стандарта, который и описывает особенности SIP протокола при работе поверх WebSocket. Помимо этого разработчики указывают следующие достоинства:
  • легковесна, ~140КB
  • простой и мощный API
  • совместима с популярными SIP серверами
  • аудио-видео вызовы; мгновенные сообщения
  • статус пользователей (эта функция уникальна, пока отсутствует в других библиотеках)

От себя к преимуществам добавлю: компетентность и отзывчивость авторов, багрепорты закрывают очень быстро.

Под катом длинное подробное видео с пошаговой инструкцией в первой половине для тех кто захочет попробовать самостоятельно, и демонстрацией работы во второй половине (c 3:10). Кстати, в свежих версиях Chrome, WebRTC — протокол для обмена аудио-видео данными, доступен и включен по умолчанию.
Читать дальше →

Текст в SVG

Reading time3 min
Views107K
Продолжаем изучать векторную графику, на этот раз разберемся с текстами в SVG, которые позволяют делать гораздо больше, чем обычный HTML.

image

Предыдущие статьи: Знакомство с SVG-графикой и Стилизация SVG-графики
Читать дальше →

Настройка Nginx + LAMP сервера в домашних условиях. Часть 1: Настройка frontend — backend

Reading time8 min
Views85K

Здравствуйте. Недавно я задавал вопрос по поводу создания цикла статей. Вот первая статья.

В этом цикле статей вы узнаете как грамотно настроить LAMP сервер, аля «хостинг только мощней».
Мы будем использовать следующий стек: nginx — apache-mpm-itk — mod_php — mysql — linux/debian.

Буду освещать следующие темы:
  • Настройка frontend — backend
  • Расчет возможностей сервера, настройка mysql и backend
  • Рассказ об опыте на базе intel s3420gp

Совершенно уверенно могу сказать, что настройка LAMP сервера не ограничивается 6-10 командами установки и раскомментирования определенных строчек в файлах настройки.
Пример: по умолчанию nginx не дает возможности закачать на сервер тело запроса больше чем 1M. Если не настроить данный параметр, будет возникать ошибка 414 (Request-URI Too Large), при попытке добавления небольшой серии фотографий.
У apache совершенно противоположное: у него тело запроса по умолчанию не ограничено. Это делает возможным совершать пакости.

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

Мы узнаем о том какие бывают простые атаки и как от них защищаться. Сразу скажу, что при базовой конфигурации frontend в лице nginx — backend apache все равно остается уязвим.

Я практически уверен, что я не смогу уместить все в одну статью. Добро пожаловать под кат.
Читать дальше →

Information

Rating
Does not participate
Location
Иерусалим, Израиль
Date of birth
Registered
Activity