Pull to refresh
4
0
Send message

Проблемы с DKIM в классе phpmailer

Reading time1 min
Views4.2K
Если у вас сервер на windows, вы используете класс отправки почты phpmailer, подписываете ваши письма с помощью DKIM, отсылаете письма на gmail и каждый раз получаете dkim=hardfail, но перепробовали уже всё что можно — посмотрите в заголовки отправляемого письма.
Читать дальше →
Total votes 34: ↑24 and ↓10+14
Comments5

Как мы будем верстать, когда экраны станут многопиксельными, а пиксели еле различимыми

Reading time2 min
Views4K
Данный пост не про конкретные решения по верстке сайтов в будущем, а сбор мнения хабрасообщества, как нам жить дальше.

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


Что нам делать с картинками в оформлении?


Да, сейчас все браузеры научились хорошо масштабировать сайты. Нажал Ctrl, покрутил скроллом, и твой сайт в том размере, как тебе удобно. Но если растровую картинку 30 на 80 пикселей увеличить в трое, красоты это не прибавит.

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

Я вижу 2 принципиальных решения:

1. Использование разных файлов под конкретное разрешение, JS определяет размер экрана, предлагает определенный файл CSS, который в свою очередь подгружает нужные картинки.

2. Переход на векторную графику в оформлении сайта.

Плюсы и минусы обоих вариантов
Total votes 74: ↑58 and ↓16+42
Comments70

Меценатство (спонсорство) и складчина (краудфандинг): две разные формы финансирования разработок шрифтов

Reading time5 min
Views4.6K
Любителей новых шрифтов с поддержкою кириллицы наверняка порадует известие о том, что даровитый и плодовитый дизайнер-шрифтовик Иван Гладких, более известный как Джованни Лемонад (Jovanny Lemonad), объявил о скором выходе в свет двух новых бесплатных шрифтов с русскими буквами.

Во-первых — шрифт Russo:
[шрифт Russo]
(Хотя в своём блоге Лемонад только анонсировал этот шрифт, фактически он ужé есть в Google Web Fonts под именем Russo One.)

Во-вторых — шрифт Stalin, итог переработки (и дополнения) шрифта Metro:
[шрифт Stalin]

Я уверен: оба они станут приятным дополнением к тем бесплатным шрифтам с кириллицею, которые Лемонад рисует сам и собирает от других шрифтовых дизайнеров. За несколько лет там подобралась обширная коллекция (чуть более трёх десятков шрифтов и семейств): «Prosto», «Upheaval Pro», «Captcha Code», «Zhizn», «Flow» (и «Flow Bold»), «Powerview», «Hardpixel», «Bicubik», «Hattori Hanzo Light», «Fontin Sans Cyr», «Airport», «Furore», «Bender», «Epool», «Dited», «Unimportant», «Metro», «Days», «Otscookie», «Philosopher», «Molot», «London», «20 db», «Neucha», «Cuprum», «Нобр первый», «Нобр второй», «Нобр третий», «Puzzle», «SuwiKisu» и «Жопа».

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

Читать дальше →
Total votes 42: ↑29 and ↓13+16
Comments26

Протокол SIP убийца Скайпа?

Reading time3 min
Views15K
На Хабре многие агитируют за открытый Jabber, вместо закрытого ICQ. Но в тоже время никто не агитирует за софтфоны на базе открытого протокола SIP, вместо всяких закрытых Skype’ов. А ведь суть дело здесь одна и та же логика. Начнем?

Сначала про то что такое SIP а уже потом почему убийца. Протокол SIP расшифровывается как Session Initiation Protocol и служит он для установления соединений (сессий) между двумя компьютерами. Рассмотрим более узкую задачу, например соединение между двумя софтфонами. SIP протокол в таком случае требуется для того чтобы определить местоположение клиентов (софтфонов), согласовать параметры передачи звука (кодеки, битрейт), запустить передачу и окончить её. Есть еще целый ряд параллельных задач, но их пока для простоты опускаем.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments122

oEmbed. Делаешь веб-сервис? — Делай и oEmbed

Reading time3 min
Views14K


Конечно вы видели этот эффект, когда вставляешь в фейсбуке или вконтакте ссылку, и в посте тут же начинает подгружаться какой-то контент с сайта, на который ведет ссылка. И я видел, но даже не представлял, насколько это легко можно сделать с oEmbed'ом.

oEmbed.com — впринципе, на этом можно было бы и закончить читать тем, кто хочет провести самостоятельное мини-исследование.
Но вот мой рассказ, как этим пользоваться и много ссылок
Total votes 79: ↑76 and ↓3+73
Comments29

В небольших заказах тоже есть жизнь

Reading time3 min
Views2.1K
Речь идет о по проектной оплате. Заказы, которые на фриланс биржах публикуются. Иногда есть выбор (а иногда и нету и есть только мелочь) — один проект покрупнее или несколько небольших. Что лучше? Для большого количества фрилансеров ответ на этот вопрос очевиден — крупный проект лучше двух поменьше. Чем крупнее проект, тем лучше. Часть среднего и малого размера проектов вообще остаются без внимания, либо на них внимание обращают только новички, либо неквалифицированные кадры. В свое время в понял, что это не вполне справедливо и есть ниша, в которой может быть лучше, чем с крупняком.
Читать дальше →
Total votes 83: ↑75 and ↓8+67
Comments44

Постигаем Git

Reading time6 min
Views56K
От переводчика: в этой статье нет описания команд git, она подразумевает, что вы уже знакомы с ним. Здесь описывается вполне здравый, на мой взгляд, подход к содержанию публичной истории в чистоте и порядке.

Если вы не понимаете, что побудило сделать git именно таким, то вас ждут страдания. Используя множество флагов (--flag), вы сможете заставить git работать так, как по вашему мнению он должен работать, вместо того, чтобы работать так, как git того хочет. Это как забивать гвозди отверткой. Работа делается, но хуже, медленнее, да и отвертка портится.
Читать дальше →
Total votes 126: ↑120 and ↓6+114
Comments91

Skype Connect

Reading time2 min
Views4.9K
Вчера вечером Skype объявил об официальном выходе продукта Skype Connect (в бета версии он назывался Skype for SIP), который представляет собой решение для бизнеса, позволяющее офисным АТС, поддерживающим IP телефонию, и системам unified communications (UC) подключаться к сети Skype.
При помощи Skype Connect можно будет:
  • Звонить с обычного телефона на номера по всему миру по стандартным тарифам Skype
  • Принимать звонки от пользователей Skype, разместив у себя на сайте кнопку Skype Click&Call
  • Принимать звонки, совершенные на онлайн-номер Skype (если у компании он есть)
  • Применять к звонкам по Skype функции офисной АТС или системы UC, такие как перенаправление звонка, распределение входящих звонков, конференц-связь, авто-ответчик и голосовая почта, ведение лога и т.д.

За время бета-тестирования Skype Connect удалось набрать 2400 активных пользователей и получить сертификацию на совместимость с АТС и UC-системами Avaya, Cisco, SIPFoundry, ShoreTel и других производителей. Кроме того, Skype Connect может работать и со старыми TDM АТС, с использованием IP-шлюзов от AudioCodes, Grandstream и VoSKY. Для установки и настройки Skype Connect можно использовать Skype Manager, простой веб-интерфейс для управления тем, как Skype используется в компании. Для поддержки пользователей Skype Connect и Skype Manager была запущена специальная служба, включающая живой чат прямо в панели управления Skype Manager.
Кроме того, Skype начал выстраивать сеть value-added реселлеров и системных интеграторов в рамках программы Skype Channel Partner, подробностях которой будет сообщено дополнительно.
Плата за использование Skype Connect составляет €4.95 / $6.95 за линию (число одновременно возможных звонков). Звонки через Skype Connect тарифицируются по стандартным тарифам Skype.
Подробнее про Skype Connect можно прочитать здесь.
Total votes 28: ↑25 and ↓3+22
Comments21

Hubot: универсальный бот на CoffeeScript от разработчиков Github

Reading time1 min
Views18K


Разработчики Github на работе занимаются не только основным делом, но и посторонними проектами. Один из таких проектов — бот Hubot, программа для автоматизации различных действий в онлайне (изначально чат-бот).

Уникальными особенностями Hubot является поддержка любых Javascript-библиотек через менеджер пакетов npm и скрипты для бота, которые выкладываются на github'е во всеобщее пользование (см. каталог скриптов на CoffeeScript).
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments12

Github выпустил сервер непрерывной интеграции на базе Jenkins

Reading time1 min
Views8.6K
Github выпустил сервер непрерывной интеграции проектов Janky, сделанный на базе Jenkins под управлением CoffeeScript-бота Hubot. Фактически, Janky — это просто интерфейс для работы с Jenkins через скрипты и команды Hubot.

Разработка ПО методом непрерывной интеграции (continuous integration, CI) предусматривает выполнение частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Например, сборка из репозитория может проводиться каждую ночь по расписанию, с автоматическим прогоном тестов, так что каждое утро разработчики видят результаты тестирования. Такой метод приучает и программистов работать эффективнее, в итеративном режиме с более коротким циклом.

Понятно, что Github как нельзя лучше подходит для работы в режиме непрерывной интеграции. Система Janky заточена на использование Github, в том числе она создаёт соответствующие web-hook’и, а также может ограничивать доступ для сотрудников организации на Github.

Сервер Janky сделан на основе известной системы Jenkins (Hudson). Использование бота Hubot придаёт Janky особый шарм, управление сервером осуществляется с помощью простых команд.
Total votes 42: ↑37 and ↓5+32
Comments13

Ещё раз про скринкасты в линуксе

Reading time4 min
Views30K
Совсем недавно была статья pomeo на эту тему. Не то чтобы у меня какой-то альтернативный взгляд на это или существенно мой вариант отличается. Просто я знаю, что некоторые проблемы в Linux не решаются только одним мануалом. Поэтому, несколько повторяясь, я опишу, как это делаю я.

Некоторое время назад я решил заняться циклом статей “Сети для самых маленьких” и серьёзно озадачился вопросом записи скринкастов. Читатели очень просили сопровождать статьи видеоматериалами.
Сложностей при работе в линуксе представлялось две:
1) Программа для записи видео с экрана,
2) Программа для обработки видео.
Первое, что пришло на ум — не искать себе приключений на голову и делать это в виндоус. Но, во-первых, это целая череда не очень приятных действий, а, во-вторых, взыграла ИТшная кровь — надо разобраться.

В Линуксе есть прекрасное приложение recordMyDesktop — простое и притом универсальное. Это первое, которое я попробовал и оно меня вполне удовлетворило.
В Ubuntu ставится одной командой:
#apt-get install recordmydesktop

Есть для него и графическая оболочка gtk-recordMyDesktop, но я предпочёл иной путь. Я создал две кнопки на панели быстрого запуска:


Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments18

Как работает reCAPTCHA?

Reading time3 min
Views64K
В обсуждении моего недавнего перевода замечательнейшей статьи про CAPTCHA несколько раз появлялись вопросы насчет reCAPTCHA, а именно как же эта система работает. Под катом я в общих чертах объясню суть reCAPTCHA, наглядно покажу как она работает и каким же образом она цифрует книжки.
Читать дальше →
Total votes 147: ↑137 and ↓10+127
Comments73

Из чрута — на поверхность: как, почему и что делать?

Reading time2 min
Views25K
Основано на реальных событиях.

Представьте себе, что у вас есть крупный проект, для которого необходимо собирать софт. А ещё у вас есть желание замутить сборочную ферму, на которой ваши подчинённые будут собирать нужный софт. А ещё это всё происходит под Linux-ом, и каждому надо организовать «чистое» окружение с минимумом затрат. Как это сделать?

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

А через неделю после интеграции этого решения и после увольнения сотрудника «икс» вы просыпаетесь — а на сервере девственно чистый жёсткий диск. Злодей уничтожил труды разработчиков, работа встала.

Почему же он сумел удалить всё, если был в «защищённом» «запертом» чруте?
Читать дальше →
Total votes 71: ↑59 and ↓12+47
Comments34

Анализатор логов PHP-на-Apache

Reading time2 min
Views12K
Решил написать об одной полезной утилите, которую написал в августе и уже два месяца успешно использую.
Утилита сводит к минимуму усилия по слежению за логами ошибок PHP.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments22

Изучение способов привлечения на сайт программного продукта

Reading time11 min
Views3.9K

Аннотация


Эта статья будет интересна тем, кто продвигает свои собственные программные продукты в интернете. Статья исключительно практическая. Она представляет собой отчёт о некоторых действиях, которые мы осуществляли в последнее время для продвижения продукта PVS-Studio. Я расскажу, что работает, что не работает и поделюсь сопутствующими мыслями.
Читать дальше →
Total votes 99: ↑90 and ↓9+81
Comments114

Mailcheck.js — проверка емейла на опечатки

Reading time1 min
Views3.8K

jQuery плагин Mailcheck (github) — клиентсайд проверка емейла на опечатки по заранее определённму списку (к примеру, наиболее популярных почтовых сервисов).

Демка | сорсы демки (jsfiddle)


По заявлению (en) авторов (Kicksend), сей плагин увеличил кол-во подтверждений емейла при регистрации на 50%.

Под катом инструкция для кириллических доменов и алгоритмическая задачка
Total votes 75: ↑70 and ↓5+65
Comments20

Тормозит веб-сервер. Настройка на примере www.ochevidets.ru

Reading time8 min
Views28K
Я оказываю услуги по настройке web- и БД-серверов. На днях ко мне обратился Иван Усачёв — владелец портала ochevidets.ru с просьбой избавить сайт от торможения.

Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.

UPDATE: Статья была написана в 2010 году. Кое-что изменилось: вышли новые версии программ, у nginx изменились некоторые директивы и появились новые. Учитывайте это.

Ниже я опишу, что я предпринял для решения проблемы.
Total votes 197: ↑153 and ↓44+109
Comments407

Организация разделов на системном диске в облаке Селектел

Reading time4 min
Views11K
abstract: Этот пост описывает организацию системного диска на машинах в облаке и объясняет, почему именно так.

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

Мотивация


Мы должны предоставлять диски системы в таком виде, который даст пользователям достаточную свободу делать «что хочешь», и в то же время обеспечивать достаточную простоту и удобство для пользователей, которым нужно «просто работать». Хотя проблема чуть более сложная, поскольку речь идёт не об удобном пульте телевизора, а об инструменте в работе, так что правильнее говорить про удобство типовых сценариев и возможность реализовывать свои собственные.

Вот проблемы, которые возникают в связи с этим:
  • Возможность изменить размер диска и корневой файловой системы
  • Возможность создать дополнительные разделы
  • Возможность подключить диски от одной машине к другой
  • С этого диска надо ещё и загрузиться

Наиболее примитивным решением является
Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments81

Zentyal — сервер all-in-one для SMB

Reading time5 min
Views131K

Лет 6 назад, в мою бытность сисадмином в одной конторе, мне приходилось обслуживать несколько серверов на FreeBSD — прокси, почтовик, web-сервер, ftp, ipfw, в общем, все как у всех. Работало все на двух физических серверах, и было у меня желание заиметь какую-нибудь универсальную графическую оболочку для удобства управления всем этим хозяйством. Ну и, конечно же, таковой нигде не было. Были попытки разных умельцев создать свои GUI для управления подсистемами по отдельности: один для squid, другой для sendmail и т. д. Конечно, можно было какую-то часть управления выполнять и в webmin, но это не доставляло никакого удовольствия. Как говорили мне — неправильно работать с *nix-системами через GUI. Нет, естественно работа в командной строке не доставляла неудобства, но хотелось чего-то более универсального. В итоге, я написал несколько скриптов, которые вызывали псевдографику на черном экране, где можно было добавлять/удалять правила, рулить пользователями и т. д., на чем как-то все остановилось, хотя интерес к удобству управления через GUI и не пропал.
Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments36

Балансировка статических файлов средствами nginx

Reading time4 min
Views29K
Представим, что у нас есть приложение/сайт с достаточно высокой нагрузкой.

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

Как поступить, когда на сервер ежесекундно приходит большое количество народу? Ответ прост — nginx.

Читать дальше →
Total votes 49: ↑37 and ↓12+25
Comments19

Information

Rating
Does not participate
Registered
Activity