Pull to refresh
137
0
Дмитрий Беляев @CuamckuyKot

веб-разработчик

Send message

Я построю свой почтовый сервер с Postfix и Dovecot

Reading time20 min
Views309K
image

В рамках программы по унификации установленных серверных систем встала задача по переделке почтового сервера. Вдумчивое изучение мануалов и руководств показало довольно любопытный факт – нигде не было найдено однозначно достоверного руководства или подобия Best Practice по развёртыванию почтовика.

Мануал пошаговый, основывается на внутренней документации компании и затрагивает совершенно очевидные вопросы. Гуру могут не тратить время, ноу-хау здесь нет – руководство является сборной солянкой и публикуется только потому, что все найденные руководства по развёртыванию почтовика напоминали картинку о том, как рисовать сову.
Очень много текста

Правительство США предало интернет. Нам надо вернуть его в свои руки

Reading time4 min
Views83K
imageОт переводчика: Брюс Шнайер, специалист мирового уровня по криптографии и информационной безопасности, а так же активный блогер и писатель, опубликовал эту статью в The Guardian после того, как стало известно, насколько плохо на самом деле обстоят дела с безопасностью криптографических технологий, и какую роль в их плачевном состоянии сыграло АНБ.

Неделю назад я перевёл статью Лионеля Дрико "Первая мировая гражданская война" из блога Рикарда Фальквинге, основателя Пиратской партии Швеции, статью эмоциональную и, возможно, слишком резкую. В отличие от пламенных пропагандистов Пиратской партии, Брюс Шнайер всегда был более сдержан и спокоен в оценках, как и подобает авторитетному инженеру и учёному. Но сейчас, похоже, терпение кончилось и у него.




Правительство и крупный бизнес предали интернет и нас с вами.

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

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

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

Много бесплатных книг по программированию

Reading time7 min
Views347K
Читать дальше →

Animate.css — набор кроссбраузерных CSS3 анимаций

Reading time1 min
Views94K

Animate.css




На днях наткнулся на эту замечательную вещь и решил поделиться с Хабрахабром.
Animate.css — сборка отличных кроссбраузерных CSS3 анимаций в одном файле.
Читать дальше →

NProgress: прогресс-бар как на YouTube и Medium

Reading time1 min
Views40K
Многие заметили, что на YouTube и на Medium появился небольшой новый элемент UI — прогресс-бар в виде тонкой цветной полоски в самом верху страницы, который примостился прямо под панелью браузера.
image
Внимание к новому элементу привлек недавний популярный пост New UI Pattern: Website Loading Bars на UsabilityPost. Как выяснилось, причина использования прогресс-бара в том, что вместо загрузки новой страницы содержимое подгружается через JavaScript, и поэтому собственный индикатор браузера о загрузке страницы может не срабатывать. Чтобы у пользователя не возникало ощущения, будто страница «зависла», эту функцию переложили на плечи маленького UI-приема.

Теперь у всех желающих появилась возможность быстро сделать на своем сайте точно такой же прогресс-бар благодаря плагину NProgress.js [Демо][GitHub].
Читать дальше →

Отчет за полугодие. Компьютерная литература ИД Питер

Reading time9 min
Views12K
Всем привет! В этом посте мы хотели бы подвести итог за полугодие и рассказать о наших переводных книгах, вышедших в этом году.


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

Vesta Control Panel

Reading time3 min
Views74K

Полгода непрерывной работы. Более тысячи установок. Добавлено 95 тысяч новых строк. Удалено 84 тысячи. Было сделано 360 комитов. Вышла новая версия.
Я хочу рассказать о наиболее важных изменениях.
Читать дальше →

HabraPack возвращается

Reading time1 min
Views64K
Я надеюсь тут остались люди, которые помнят старый и ужасный на вид HabraPack? В последнее время я начал натыкаться на свои жуткие иконки на большом количестве сайтов и даже в терминалах оплаты местной компании, в разделе «Социальная сеть». Также, совсем недавно, знакомые попросили чуть обновить иконки, что я собственно и сделал.

image

Я буду обновлять иконки раз в день, большим количеством иконок. А пока можете СКАЧАТЬ и спокойно пользоваться, если вдруг найдутся люди, кому понравится.

.PSD файл прилагается.

PHP HTML DOM парсер с jQuery подобными селекторами

Reading time3 min
Views146K
Добрый день, уважаемые хабровчане. В данном посте речь пойдет о совместном проекте S. C. Chen и John Schlick под названием PHP Simple HTML DOM Parser (ссылки на sourceforge).

Идея проекта — создать инструмент позволяющий работать с html кодом используя jQuery подобные селекторы. Оригинальная идея принадлежит Jose Solorzano's и реализована для php четвертой версии. Данный же проект является более усовершенствованной версией базирующейся на php5+.

В обзоре будут представлены краткие выдержки из официального мануала, а также пример реализации парсера для twitter. Справедливости ради, следует указать, что похожий пост уже присутствует на habrahabr, но на мой взгляд, содержит слишком малое количество информации. Кого заинтересовала данная тема, добро пожаловать под кат.
Читать дальше →

Отказоустойчивая архитектура из двух веб-серверов на примере Debian Squeeze

Reading time10 min
Views18K
Мне поступила задача организовать отказоустойчивость веб-приложения из двух серверов. Веб-приложение включает в себя статические файлы и данные в СУБД MySQL.
Основное требование заказчика — веб-приложение должно быть всегда доступно и в случае сбоя в течении 5 минут сбой должен быть восстановлен.
2 сервера, территориально разнесенные в разных ЦОДах, должны удовлетворить данное требование.

Подробности

Drupal + Omega + Bootstrap: быстрое создание полностью кастомных тем оформления без верстки (Часть 2. Bootstrap)

Reading time13 min
Views52K
Первая часть, введение

В первой части статьи я рассказал о прекрасном фреймворке Omega для Drupal, который позволяет создавать собственные темы оформления, основанные на сетке (grid), произвольно настраивать и менять расположение и размеры регионов без каких-либо модификаций HTML-кода шаблонов. На этом можно было бы и остановиться, но существует прекрасный мощный CSS-фреймворк Bootstrap, имеющий собственную реализацию сетки, большое количество готовых CSS и JS компонентов, которые очень легко стилизовать, а также огромное сообщество, благодаря которому мы получаем наиболее качественный и «вылизанный» код по сравнению с конкурентами.

В этой части статьи я расскажу, как привязать Bootstrap к Omega. Но если вас по какой-либо причине не устраивает Bootstrap, то подобным образом можно прикрутить к Omega любой другой фреймворк на ваш вкус. Как и в первой части статьи, я не претендую на какую-то уникальность, просто описываю те вещи, которые можно почерпнуть из документации. Здесь будет много кода и мало картинок.
Читать дальше →

Репликация MongoDB на Amazon EC2

Reading time5 min
Views14K

system.indexes


  • Предисловие
  • Настройка Amazon EC2
  • Установка MongoDB
  • Настройка репликации
  • Что почитать

local.abstract


В этой статье я расскажу о том, как максимально безболезненно организовать репликацию MongoDB на базе Amazon EC2. Несомненно, существует отличная документация как по работе с Amazon EC2, так и по настройке MongoDB в целом и репликации в частности. Но, как известно, дьявол живёт в мелочах. И в этой статье я выделю те “мелочи”, которые более всего донимали меня.
Читать дальше →

Как вывести деньги из App Store на карту Payoneer

Reading time2 min
Views45K
Обещанного ждут не три года, а всего несколько месяцев. В нашем прошлом посте мы обещали рассказать про вывод из App Store и, вот, рассказываем.

Многие владельцы карт Payoneer зарабатывают на жизнь нелегким трудом разработчика приложений. А перед каждым разработчиком (или компанией оных) рано или поздно встает вопрос вывода заработанных средств. Услуга US Payment Service компании Payoneer позволяет получать выплаты от Apple, PayPal и Google и многих других прямо на вашу карту Payoneer MasterCard.
Читать дальше →

MySQL: разрушаем стереотипы

Reading time5 min
Views60K
В последнее время часто стал натыкаться на различные рассуждения людей, по поводу того, что MySQL — это плохо, это очень плохо — потому что… а вот дальше идут описания различных фич MySQL, которые четко документированы, но пользователь их просто не знает. Кто-то добавляет в БД данные без валидации и удивляется почему они сохранились в неверном формате, а кто-то описывает кучу особенностей myIsam движка, и на этих основаниях делает вывод, что MySQL это отстой — который невозможно использовать в реальных проектах. Всю документацию прочитать невозможно, и да — я с этим абсолютно согласен, но поверьте у нас есть куча других недокументированных и не менее интересных особенностей. Давайте начнем с малого, к примеру докажем, что NULL равно нулю.
это новогодний пост - отнеситесь к нему с юмором, качаем последний MySQL и поехали

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

Reading time3 min
Views37K
Введение

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

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

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

Ошибки PHP: классификация, примеры, обработка

Reading time6 min
Views71K
В статье представлена очередная попытка разобраться с ошибками, которые могут встретиться на вашем пути php-разработчика, их возможная классификация, примеры их возникновения, влияние ошибок на ответ клиенту, а также инструкции по написанию своего обработчика ошибок.
Читать дальше →

Новое для веб-дизайнера за ноябрь 2012

Reading time1 min
Views57K
Продолжаю подборку новых полезных штук для веб-дизайнера за прошедший месяц. Прошлые выпуски: октябрь, сентябрь.

Сервисы и инструменты


Photo Raster — новый мощный графический редактор онлайн.

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

Как снизить риски взаимодействия с клиентами в три этапа

Reading time8 min
Views27K
Совсем недавно проект «Рейтинг Рунета» опубликовал неудивительную и оттого ещё более печальную статистику об оформлении отношений между заказчиком и веб-студией.

Шокирующие факты:
  • 17,5% процентов всех сайтов (и более 30% сайтов дешевле 100 000 рублей) делается вообще без всяких договоров.
  • Более 26% сайтов дешевле 300 000 рублей делается с формальным договором, служащим лишь основанием для перечисления денег.
  • Более 60% сайтов дешевле 100 000 рублей делается без техзадания или по техзаданию клиента.

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

Настраиваем свой первый VDS сервер в роли веб-сервера

Reading time14 min
Views53K
Добрый день.

Так уж сложилось, что последнее время пришлось достаточно часто менять VDS провайдеров, и каждый раз приходится заново настраивать систему, поэтому решил написать краткий конспект по настройке. Все нижеописанное корректно работает на ОС Linux Ubuntu server 12.04 LTS. В этой статье я опишу как установить и произвести первичную настройку nginx+apache2, eaccelerator, memcached, fure-ftpd, php, mysql, phpmyadmin а также панели управления игровыми серверами — open game panel.
Читать дальше →

Traits в php 5.4. Разбираем детали реализации

Reading time8 min
Views53K
Совсем недавно вышла первая beta php 5.4, а пока я писал топик подоспела и вторая. Одно из нововведений в 5.4 – это traits (типажи). Предлагаю разобраться во всех деталях в том, что же типажи из себя представляют в php.

Простой пример типажа, чтобы не заглядывать в Википедею:
//определение типажа
trait Pprint 
{
    public function whoAmI()
    {
        return get_class($this) . ': ' . (string) $this;
    }
}

class Human 
{
    use Pprint; //подключаем типаж, ключевое слово use

    protected $_name = 'unknown';
    
    public function __construct($name)
    {
        $this->_name = $name;
    }

    public function __toString()
    {
        return (string) $this->_name;
    }   
}

$a = new Human('Nikita');
echo $a->whoAmI(), PHP_EOL; //=> Human: Nikita

Как видно, к классу Human было добавлено поведение из типажа Pprint.

Но во всём есть свои детали.
О них далее

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity