Как стать автором
Обновить
Vadim @slang read-only

Пользователь

Полезные сниппеты для Nginx конфигов

Nginx *


Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

Читать дальше →
Всего голосов 94: ↑91 и ↓3 +88
Просмотры 118K
Комментарии 44

30 чудных библиотек для PHP программистов

Разработка веб-сайтов *PHP *
Из песочницы
Предлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
Читать дальше →
Всего голосов 71: ↑60 и ↓11 +49
Просмотры 101K
Комментарии 18

Создание и настройка сервера для удалённой php разработки

PHP *
Туториал
Из песочницы
Как правило, разработка и отладка приложения выполняются на локальном веб-сервере, обычно это приводит к проблемам типа «как предоставить проект клиенту» ну или просто трудность работы за несколькими компьютерами.

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

В итоге мы должны получить:
  • git-репозиторий
  • веб-сервер ( nginx, без apache )
  • php различных версий( 5.3, 5.5 ), с наборами различных модулей ( включая xdebug, apc )
  • mysql, postgresql сервера
  • Удобную структуру для быстрого развертывания проекта
  • Настроенную IDE под работу с этим делом

Поехали
Всего голосов 54: ↑31 и ↓23 +8
Просмотры 13K
Комментарии 99

Основы фотографии: выдержка, диафрагма, ГРИП, светочувствительность

Фототехника

Введение


Часто люди приобретают цифровые зеркальные камеры в погоне за качеством снимков, но при этом не имеют представления о технических моментах съемки. В основном это касается тех, кто до зеркалки держал в руках исключительно компактные фотоаппараты и пользовался автоматическими режимами (которые, к слову, весьма продвинутые в современных камерах).

В результате у кого-то возникает разочарование в камере и фотографии в целом, а другие проявляют терпение и пытаются освоить премудрости фотографии, чтобы раскрыть весь потенциал камеры с полноценным (или почти полноценным) сенсором.

Изначально я планировал написать одну статью, но по ходу дела понял, что объем получается слишком большой и решил разбить ее на несколько частей. В этой главе рассмотрю такие понятия как выдержка, диафрагма, ГРИП и светочувствительность, как эти параметры влияют на результат съемки. На очереди статья про типы и параметры объективов, работу со вспышками и советы по съемке в различных условиях.
Читать дальше →
Всего голосов 272: ↑232 и ↓40 +192
Просмотры 398K
Комментарии 377

Как найти работу в Германии

Карьера в IT-индустрии

Для всех, кто просил описать как искать работу программистом в Германии, а так же для тех, кто в комментариях бездоказательно писал, что Германия далеко не лучшее место для работы, ну и для всех интересующихся написан этот пост.
Читать дальше →
Всего голосов 103: ↑95 и ↓8 +87
Просмотры 144K
Комментарии 283

30 полезных сервисов для веб-разработчика

Разработка веб-сайтов *
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →
Всего голосов 180: ↑156 и ↓24 +132
Просмотры 162K
Комментарии 48

Руководство по проектированию реляционных баз данных (10-13 часть из 15) [перевод]

MySQL *SQL *
Перевод
Продолжение.
Предыдущие части: 1-3, 4-6, 7-9

10. Нормализация баз данных


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

Нормальные формы – это рекомендации по проектированию баз данных. Вы не обязаны придерживаться всех пяти нормальных форм при проектировании баз данных. Тем не менее, рекомендуется нормализовать базу данных в некоторой степени потому, что этот процесс имеет ряд существенных преимуществ с точки зрения эффективности и удобства обращения с вашей базой данных.
Читать дальше →
Всего голосов 30: ↑24 и ↓6 +18
Просмотры 168K
Комментарии 14

Руководство по проектированию реляционных баз данных (1-3 часть из 15) [перевод]

MySQL *SQL *
Из песочницы
Перевод цикла из 15 статей о проектировании баз данных.
Информация предназначена для новичков.
Помогло мне. Возможно, что поможет еще кому-то восполнить пробелы.

Другие части: 4-6, 7-9, 10-13, 14-15.

Руководство по проектированию баз данных.



1. Вступление.

Если вы собираетесь создавать собственные базы данных, то неплохо было бы придерживаться правил проектирования баз данных, так как это обеспечит долговременную целостность и простоту обслуживания ваших данных. Данное руководство расскажет вам что представляют из себя базы данных и как спроектировать базу данных, которая подчиняется правилам проектирования реляционных баз данных.
Читать дальше →
Всего голосов 34: ↑20 и ↓14 +6
Просмотры 394K
Комментарии 28

Определение расстояния между географическими точками в MySQL

MySQL *Алгоритмы *
Из песочницы
При разработке современного сайта часто возникает необходимость реализовать функционал вывода близлежащих географических точек. Самым оптимальным способом решения этой задачи является перекладывание работы по реализации определения точек на плечи MySQL. Если конкретней, то нам будут нужны возможности пространственных расширений MySQL (до версии 5.0.16 эти расширения были доступны только для MyISAM, более поздние версии MySQL поддерживают работу пространственных расширений с InnoDB, NDB, BDB и ARCHIVE).

Расстояние между точками будет вычисляться по формуле гаверсинусов. Формула позволяет получать расстояние между точками с очень низкой погрешностью (величина погрешности прямо пропорциональна расстоянию между точками, и не превышает 10-20 километров при вычислении очень больших расстояний, например между штаб-квартирой Google в Калифорнии (37.422045, -122.084347) и оперным театром в Сиднее, Австралия (-33.856553, 151.214696)).

Читать дальше →
Всего голосов 30: ↑26 и ↓4 +22
Просмотры 64K
Комментарии 41

Bootstrap-wysiwyg: крошечный текстовый редактор

Разработка веб-сайтов *JavaScript *



Текстовый редактор bootstrap-wysiwyg — это всего 1.5 Кб в минифицированном и сжатом виде и чуть больше 6 Кб исходного кода, базовые функции редактирования на основе execCommand, drag-and-drop для вставки изображений, поддержка стандартных горячих клавиш и ничего лишнего. Редактор работает в современных браузерах (Chrome 26, Firefox 19, Safari 6) и на мобильных платформах (IOS 6 iPad/iPhone, Android 4.1.1 Chrome). Зависимости — jQuery, jQuery HotKeys и Bootstrap.
Читать дальше →
Всего голосов 156: ↑149 и ↓7 +142
Просмотры 104K
Комментарии 63

Записи докладов с конференций по высоким нагрузкам HPC

Разработка веб-сайтов *Программирование *
Записи с последней конференции HPC — High Performance Conference, состоявшейся 6 декабря 2012, никак не анонсировались, хотя заслуживают внимания.

Под катом видеозаписи следующих докладов:

  1. Практические вопросы использования NOSQL в высоконагруженном проекте
    Дмитрий Ананьев, Руководитель группы разработки новых сервисов, Мамба
  2. Как работает «умная живая миграция» в Jelastic
  3. Дмитрий Лазаренко, Директор R&D, Jelastic Russia
  4. Parallels Cloud Server как платформа для высокопроизводительных систем
    Дмитрий Мишин, Team-lead отдела серверной виртуализации, Parallels
  5. Облачная платформа Windows Azure для высоконагруженных проектов
    Владимир Юнев, Technical evangelist, DPE, Microsoft Russia


и одно видео с фестиваля профессионального развития BitByte:

  1. Badoo Desktop: оптимизация приложения на миллион юзеров
    Руководитель проекта десктопных приложений компании Badoo.



Читать дальше →
Всего голосов 53: ↑46 и ↓7 +39
Просмотры 17K
Комментарии 10

Телевизоры. Часть 1. Типы телевизоров, подсветок и технологий, практические различия

Электроника для начинающих
Туториал
Recovery mode
Здравствуйте, уважаемое хабрасообщество.

Я надеюсь, что эта статья сможет помочь таким же, как я — тем людям, которые выбирают телевизор, но не очень-то владеют тонкими техническими вопросами в этой области. Хотел бы поделиться с вами своими размышлениями и практическими выводами по-поводу выбора большого и качественного телевизора.
Читать дальше →
Всего голосов 138: ↑133 и ↓5 +128
Просмотры 550K
Комментарии 186

Уязвимость связки PHP+nginx с кривым конфигом

Системное администрирование *

Summary


Announced: 2010-05-20
Credits: 80sec
Affects: сайты на ngnix+php с возможностью загрузки файлов в директории с fastcgi_pass




Background


Зачастую How-To по настройке связки nginx с php-fpm / php-cgi есть подобные строчки:

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    include fastcgi_params;
}

Читать дальше →
Всего голосов 163: ↑146 и ↓17 +129
Просмотры 58K
Комментарии 109

CSS3-генераторы. Лучшее

CSS *








Доброго времени суток! Сразу объяснюсь по поводу оформления поста: однажды, наткнувшись на статью о CSS-генераторах, меня не сильно порадовало безмерное количество информации и навигационных элементов в представленных генераторах, и еще больше — их пользовательский интерфейс! Возмутило то, что инструменты для работы со стилями — сами не выдержаны в рамках возможностей, которые они представляют… как так?!

Когда занимаешься творчеством, хочется иметь подручные средства и инструменты на освоение и работу с которыми тратишь минимум усилий и времени. В результате всего этого, пришла мысль: отобрать лучшие инструменты и организовать их для частого использования (а-ля навигационное меню, такой себе: Quick Launch).

Надеюсь, для многих ноу-хау станет хорошим помощником в процессе веб-разработки.
Читать дальше →
Всего голосов 114: ↑104 и ↓10 +94
Просмотры 198K
Комментарии 26

Long Polling от А до Я своими руками

Блог компании Cackle Разработка веб-сайтов *JavaScript *
Как реализовать long polling с помощью Nginx и Javascript в сети достаточно много материала. Но полного руководства я ещё не встречал. То возникают проблемы с компиляцией модуля под Nginx, то в браузере вертится иконка загрузки при long poll запросах. Под катом, полный материал как же все таки это сделать правильно.
Читать дальше →
Всего голосов 73: ↑69 и ↓4 +65
Просмотры 53K
Комментарии 34

Suit Up! Простой и легкий WYSIWYG

Разработка веб-сайтов *JavaScript *jQuery *
Туториал


Статья делится на три части:
UPD Критика


Вступление


Не так давно, а, точнее, года два назад, в кругу разработчиков, с которыми я имел честь общаться (почти все — новички), каждый, кому поступила задача поставить WYSIWYG, ставили монстрообразный TinyMCE. Этот редактор считался почему-то стандартом у многих веб разработчиков, хотя, мало кому нужны были то большое количество функций, которые предлагались программистам. Тут тебе и то и это. Наверно, таким образом, новички пытались сказать клиенту «смотри, мы тебе на сайт запилили Ворд».

Однажды (не помню при каких условиях), мне захотелось или понадобилось разобраться в том, как работают браузерные «рич эдиторы». Моему удивлению не было предела, когда я сам, не имея каких-либо глубоких познаний в веб разработке, сделал две кнопочки: Bold и Italic, что оказалось очень простой задачей. Мне захотелось больше узнать о том, что же делать дальше. Так я познакомился с серией статей «WYSIWYG HTML редактор в браузере» (по ссылке первая статья, советую прочесть). Но информация на тот момент мне показалась несколько сложноватой. Поэтому я решил методом тыка, наступая на уже растоптанные кем-то грабли, написать свой простой редактор.

Сделал я его в виде jQuery плагина, и, думаю, не стоит отвечать «почему». Получилось кое-как заставить работать его в разных браузерах. Тут мне пришла в голову идея написать статью на хабр, после некоторых доработок. Время шло, допиливание я откладывал, откладывал… Два года, черт, целых два года. Но я постараюсь исправиться.


Простейший редактор


Для того, чтоб дать возможность пользователю менять содержимое блока (в данном случае, обычного дива) просто задаём ему (блоку) атрибут contenteditable:
<div contenteditable></div>

Редактор готов!
Читать дальше →
Всего голосов 95: ↑90 и ↓5 +85
Просмотры 56K
Комментарии 88

Простая проверка безопасности на ваших серверах

Системное администрирование **nix *
Всем привет!

Предлагаю сделать простую проверку безопасности на ваших серверах.

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

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

С Новым Годом!
А как проверить то?
Всего голосов 81: ↑61 и ↓20 +41
Просмотры 30K
Комментарии 60

Контролируемое кэширование страниц в nginx

Nginx *
Из песочницы
Введение

Как известно, nginx умеет кешировать ответ сервера, и выдавать его по запросу вместо обращения к бэкенду, экономя тем самым ресурсы сервера. Скорость отдачи таких закешированных страниц иногда поражает, ради таких скоростей иногда не жалко переносить на javascript многие функции сайта только для того, чтобы иметь возможность закешировать ещё 1 страницу целиком (Например, вынести отрисовку плашки с авторизацией юзера на js, чтобы иметь возможность кешировать страницу, которая идентична для всех пользователей, за исключением этой самой плашки).

Я много раз использовал возможность кэширование nginxом страниц, и натыкался на пару неудобных для себя вещей:
  • Можно легко закешировать вообще все страницы, но для динамических сайтов или для сайтов с авторизацией нужно ли это?
  • Можно закешировать отдельно несколько url, вида /album/*, но не переписывать же конфиг nginx каждый раз при появлении новых разделов сайта?

Читать дальше →
Всего голосов 51: ↑49 и ↓2 +47
Просмотры 36K
Комментарии 27

Ninite. Облегчаем жизнь начинающему админу-эникейщику

Настройка Linux *Системное администрирование *
Привет Хабр!

Спешу поделиться с вами недавно открытым для себя сайтом — Ninite.com. Удивительно, насколько мало он известен, при этом предлагая просто нереальное удобство и существенно облегчая жизнь начинающим админам-эникейщикам, в обязанностях которых входит «переставлять винду» в небольших фирмах по 10-40 рабочих мест под виндой. Где по каким-то загадочным причинам не стоит AD, деятельность организована в рабочей группе, своих сил и знаний это всё организовать не хватает — в общем всё печально, а хочется сделать красиво. А впрочем, Linux-любители и матёрые админы, возможно, тоже найдут этот сервис интересным.
Читать дальше →
Всего голосов 98: ↑75 и ↓23 +52
Просмотры 72K
Комментарии 49

DivShot — онлайн-сервис прототипирования Bootstrap

Разработка веб-сайтов *CSS *
DivShot — отличный новый инструмент для работы с Twitter Bootstrap. С помощью него создавать прототипы интерфейсов с использованием популярного CSS-фреймворка стало до безобразия просто.

Читать дальше →
Всего голосов 155: ↑145 и ↓10 +135
Просмотры 74K
Комментарии 21
1

Информация

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