Как стать автором
Обновить
37
0
SkyCat @SkyCat

ИТ

Отправить сообщение

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

Время на прочтение2 мин
Количество просмотров284K
Онлайн-сервисы становятся все популярнее, постепенно усложняя функционал и улучшая интерфейсы. В этой подборке представлены онлайн-инструменты для кодеров.

Cloud9


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

Читать дальше →
Всего голосов 204: ↑191 и ↓13+178
Комментарии55

Gamma Gallery — отличная адаптивная галерея

Время на прочтение3 мин
Количество просмотров62K
Создание фотогалереи для адаптивного дизайна — не самая простая задача. Следует учитывать отображение на экранах различной ширины, при этом не загружая слишком много графики на мобильных устройствах. Хорошее решение — Gamma Gallery, выглядит очень круто.



Демонстрация | Исходники
Читать дальше →
Всего голосов 52: ↑44 и ↓8+36
Комментарии38

Элементарные социальные share-кнопки

Время на прочтение3 мин
Количество просмотров194K
В ответ на посты о кнопках для шаринга в социальных сетях с громоздким исходным кодом, и сложной детальной кастомизацией, хочу показать хабрасообществу решение которое однажды написал неизвестный, но однозначно добрый программист. Автор сего чуда не я, но использую это решение уже больше года в проектах с которыми работаю.
Читать дальше →
Всего голосов 78: ↑68 и ↓10+58
Комментарии58

Перенос сайта(ов) без простоя и потери данных между выделенными серверами

Время на прочтение4 мин
Количество просмотров39K
Казалось бы, что сложного перенести сайт на другой сервер? Наверно многие из нас копировали свои первые хоумпейджи с хостинга на хостинг в поисках лучшего, еще учась в школе или на первых курсах университета. Или вешая на уши лапши руководству, объясняли, что задача эта не решается мгновенно и сайт сутки работать не будет, ибо DNS такая штука…

Если в целом, ерундовая задача, правда? Но как сделать все идеально? Так, чтобы без простоев, чтобы не было расхождений в БД, чтобы не потерялись какие-нибудь файлики-аватарки-картинки, когда обновляется DNS запись IN A и у половины пользователей старый сайт, а у половины новый. А если это highload? Или сайт делало несколько поколений «лучших» программистов, считающих своим долгом создать новое подключение к БД в своем «модуле» для сайта. Наконец, если таких сайтов >10?

  • Скопировать файлы
  • Сделать дамб баз данных
  • Развернуть на новом сервере
  • На старом сервере заменить все коннекты к бд к новому
  • Настроить DNS
  • ...

Сколько это займет времени? Сколько драгоценных минут сайт не будет работать\не будет работать правильно?
Читать дальше →
Всего голосов 33: ↑19 и ↓14+5
Комментарии64

Percona XtraDB Cluster. Установка и тестирование

Время на прочтение8 мин
Количество просмотров41K
Некоторое время назад я задумался о повышении доступности серверов своего проекта. Всё решалось относительно легко за исключением MySQL базы данных. Репликация типа мастер-мастер создаёт проблемы с синхронизацией индексов, а кластерное решение NDBcluster хоть и стремительно развивается, но до сих под не годится для миграции на него готового проекта ввиду большого списка различий и ограничений.

Но есть альтернативное решение под названием Galera Cluster, на котором основан Percona XtraDB Cluster, об установке, настройке и тестировании которого применительно к Ubuntu я и расскажу.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии33

ejabberd: мигрируем с mnesia на mysql

Время на прочтение3 мин
Количество просмотров12K
По мере использования xmpp сервера ejabberd наблюдаю крайний дефицит документации. Каждый чих чуть отклоняющийся от стандартных потребностей приходится придумывать самому, либо собирать по кусочкам из конференций, списков рассылки, комментариев в svn и непосредственно исходников.

С выходом ejabberd 2.1.11, в котором разработчики добавили поддержку ODBC в новых модулях, я столкнулся с проблемой переноса данных из штатной БД mnesia в более подходящую под мои задачи mysql. Когда-то я ее уже решал для других модулей, но лишь отдаленно помню как. Сейчас попробую вспомнить и задокументировать процесс для будущего себя и всех кому это может быть интересно.

Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии7

Модульный подход к разработке web-приложений с использованием JavaScript: AMD и RequireJS

Время на прочтение3 мин
Количество просмотров160K
RequireJSПри разработке приложений с модульной структурой на JavaScript возникает две проблемы:
  • описание и удовлетворение зависимостей различных частей приложения, необходимость организации подключения зависимостей на серверной стороне;
  • экспорт переменных в глобальную область видимости и их коллизия.

Обе эти задачи решаются при использовании подхода Asynchronous Module Definition. Он сводится к описанию модулей функцией define и подключению их с помощью require. На данный момент есть несколько инструментов, реализующих AMD. Я начал своё знакомство с ними с RequireJS и был удивлён, насколько удобно и просто можно описывать зависимости модулей. Расскажу, как это работает, на простом примере.
Читать дальше →
Всего голосов 56: ↑50 и ↓6+44
Комментарии97

Разворачиваем локальный сервер на Windows

Время на прочтение8 мин
Количество просмотров364K

Несколько дней назад меня очередной раз посетила Мысль. Мысль была не нова и довольна навязчива: «давай перейдем на Windows8. Ну пожааалуйста». И так как отогнать её никак не получалось, я запаслась чаем и печеньками и приступила.

На установку системы и всех необходимых программ ушло не более двух часов, но затем наступил самый интересный момент: мне нужно было развернуть рабочее окружение, а именно — GIT + локальный сервер (Apache, MySQL, PHP, nginx, memcached, mongodb). Помятуя об опыте предыдущих установок, на этот раз я решила весь процесс задокументировать и сохранить для потомков.

Читать дальше →
Всего голосов 146: ↑96 и ↓50+46
Комментарии137

Удобные классы для получения статусов IM на PHP

Время на прочтение3 мин
Количество просмотров1.6K
Вдохновившись темой получения статусов мессенджеров на PHP, я решил структурировать код получения статусов, так и родился мой небольшой проект.

Основная концепция моего проекта такова:
1. ООП
2. Использование универсальных и удобных велосипедов классов для основных и вспомогательных функций
3. Получение статуса как описанного в enum кода, но не текстовым или иным сообщением, отделение вида от контроллера.

Подробное описание проекта
Всего голосов 16: ↑10 и ↓6+4
Комментарии3

Noty — необычайно гибкий плагин jQuery для вывода уведомлений

Время на прочтение1 мин
Количество просмотров31K

Почти месяц назад вышла вторая версия прекрасного и замечательного jQuery Notification plugin для вывода самых разнообразных уведомлений на сайте, странно что Хабр вообще обошёл его стороной, исправлю ситуацию.
Читать дальше →
Всего голосов 113: ↑110 и ↓3+107
Комментарии27

SQL injection для начинающих. Часть 1

Время на прочтение5 мин
Количество просмотров793K

Приветствую тебя, читатель. Последнее время, я увлекаюсь Web-безопасностью, да и в какой-то степени работа связана с этим. Т.к. я всё чаще и чаще стал замечать темы на различных форумах, с просьбой показать, как это всё работает, решил написать статью. Статья будет рассчитана на тех, кто не сталкивался с подобным, но хотел бы научиться. В сети относительно много статей на данную тематику, но для начинающих они немного сложные. Я постараюсь описать всё понятным языком и подробными примерами.
Читать дальше →
Всего голосов 191: ↑135 и ↓56+79
Комментарии160

Несколько интересных приемов и особенностей работы с MySQL

Время на прочтение3 мин
Количество просмотров88K
Я думаю, что в процессе изучения той или иной СУБД каждый из вас не раз изобретал велосипеды для решения своих задач, не зная о существовании той или иной функции или приема, которые бы могли в разы ускорить выполнение запросов и уменьшить объем кода. В данной статье я хочу поделиться с вами своим опытом работы с очень «добрым» и «отзывчивым» MySQL, часто позволяющему программисту делать вещи, которые другие СУБД переварить бы не смогли. Материал будет полезен скорее тем, кто только решил углубиться в чудесный мир запросов, но возможно и опытные программисты найдут тут что-то интересное.
Читать дальше →
Всего голосов 132: ↑116 и ↓16+100
Комментарии83

Памятка пользователям ssh

Время на прочтение13 мин
Количество просмотров1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Всего голосов 360: ↑352 и ↓8+344
Комментарии148

Кто здесь работает или как быстро узнать информацию о callback`е для меню Drupal`а

Время на прочтение4 мин
Количество просмотров827
Привет Хабраюзер!

Я являюсь WEB разработчиком, программирую на PHP. Основным моим направлением является разработка сайтов с использованием CMS/CMF Drupal. Я работаю в небольшой IT организации, проекты бывают всякие (большие, маленькие, новые, прибывшие на допил и т.д.). В последнее время (в моём случае это уже год) я сталкиваюсь с такими проектами на которых работали одни, потом другие, третьи… И в осномном на таких проектах заказчик просит поправить как правило что-то по мелочи (там элемент в форму вставить, там-то класс дополнительный нужен и т.д.) Но поскольку проеты большие иногда случается такое что даже толком не всегда получается определить «а что же тут работает? какой модуль?». С года 2 назад я узнал про drush, весьма удобен, полезен, но самое главное не тратиться время на рендеринг страниц (его уходит очень много для построения страницы). И тут я понял что было бы хорошо как-то узнавать такую мелочную информацию через консоль, получилось довольно быстро и удобно как мне кажется.
Читать дальше →
Всего голосов 7: ↑5 и ↓2+3
Комментарии2

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

Время на прочтение4 мин
Количество просмотров68K

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

Один конфиг Nginx для работы с кучей разных сайтов

Время на прочтение3 мин
Количество просмотров106K
Если вам приходилось настраивать Nginx под нужды веб-студии, сеошников или киберсквоттеров ;), то уже наверняка знаете про символ подчёркивания в качестве server_name. Тем не менее несколько других небесполезных приёмчиков из моего примера почерпнуть можно.

Чтоб создать новый сайт на сервере с такой конфигурацией, достаточно создать директорию с именем сайта и залить в неё содержимое. А конфигурационный файл остаётся единственным и неизменным.

Конфиг делает следующее:
1. Отрезает «www» от адреса, дабы сервер нашел директорию с сайтом невзирая на эти буквы в URL.
2. Выдаёт отдельную страничку при запросе несуществующего сайта.
3. Делает стандартный редирект на index.php в корне сайта при запросе несуществующего пути.
4. Перенаправляет запрос на php-fpm при вызове .php файлов.
5. Добавляет возможность обработки .htm(l) файлов как PHP.

Читать дальше →
Всего голосов 67: ↑46 и ↓21+25
Комментарии28

КЛАДР умер, да здравствует ФИАС?

Время на прочтение1 мин
Количество просмотров85K
Уважаемые коллеги, которые сталкивались с классификатором адресов Российской Федерации КЛАДР знают, насколько это странная база (в первую очередь своей структурой), а также большим количеством неточностей в самих данных.

В 2011 году за дело взялась ФНС, которая начала разрабатывать новую единую базу Федеральной информационной адресной системы (ФИАС) для того, что бы покончить с адресным бардаком, царящим среди различных ведомств.
Читать дальше →
Всего голосов 107: ↑103 и ↓4+99
Комментарии119

Улучшаем юзабилити за 5 минут

Время на прочтение4 мин
Количество просмотров7.3K
В этой блогозаписи я намерена поделиться несколькими такими советами по увеличению юзабилити сайта, каждый из которых очень лёгок в реализации. Не все они кросс-браузерны, но всё равно они «глазурь на тортике»: читатель и не заметит, что их нет.

1. Отображайте нажатия кнопок и кнопкоподобных ссылок


Мой излюбленный совет. Когда стиль кнопки задаётся в CSS, или когда для отображения необычной кнопки используется рисунок (либо как фон, либо как элемент <img />), то кнопка не реагирует на нажатие во всех или в некоторых браузерах (зависит от ситуации). Вот какой простой уловкою вы можете дать знать посетителю сайта, что он и впрямь нажал на нечто нажимаемое:

.mybutton:active {
   position: relative;
   top: 1px;
   left: 1px;
}

Этим кодом кнопка смещается на 1 пиксел направо и на 1 пиксел вниз, когда её нажимают. Испробуйте: выглядит весьма убедительно.

Есть другие, не менее быстрые варианты: придать границе свойство inset, указать свойству text-indent значение 1px, изменить направление градиентного фона (что можно сделать быстро, если для этого не придётся прибегнуть ко графическому редактору, то есть если где-то ещё на сайте используется готовый перевёрнутый градиент), или комбинация нескольких из них.

2. Плавные переходы (CSS3 transitions)


Читать дальше →
Всего голосов 206: ↑179 и ↓27+152
Комментарии45

Рецепт приготовления 1U сервера в домашних условиях

Время на прочтение8 мин
Количество просмотров45K
Блюдо, о котором пойдет речь в этой статье, довольно-таки незамысловатое, однако на многих интернет-конференциях разгораются нешуточные дискуссии как по поводу правильности его приготовления, так и по поводу целесообразности его употребления.

Это блюдо может быть приготовлено в дорогом ресторане из качественных ингредиентов по уникальным рецептурам поваров из Dell, Fujitsu, HP, IBM и Sun. Да, цена таких серверов будет соответствующей, ведь в нее будет включена не только плата за приготовление, но и
Читать дальше →
Всего голосов 89: ↑65 и ↓24+41
Комментарии204

Расширяем hook_node_info() для настройки комментариев, отображения и прочих вещей

Время на прочтение2 мин
Количество просмотров1.2K
Думаю, многие сталкиваются с подобной проблемой: создаешь с помощью hook_node_info() новый тип контента, но все равно приходится лезть в интерфейс и настраивать в ручную такие параметры, как отображение комментариев, настройки публикации, отображение даты/автора и прочие вещи, которые hook_node_info() не охватывает. А каждый раз использовать костыли типа variable_set — неудобно.
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии4

Информация

В рейтинге
Не участвует
Откуда
Ярославль, Ярославская обл., Россия
Дата рождения
Зарегистрирован
Активность