Pull to refresh
0
0
idencial @idencial

User

Send message

Пробуем preload (PHP 7.4) и RoadRunner

Reading time14 min
Views32K


Привет, Хабр! 

Мы часто пишем и говорим о производительности PHP: как мы ей занимаемся в целом, как мы сэкономили 1 млн долларов при переходе на PHP 7.0, а также переводим разные материалы на эту тему. Это вызвано тем, что аудитория наших продуктов растёт, а масштабирование PHP-бэкенда при помощи железа сопряжено со значительными затратами — у нас 600 серверов с PHP-FPM. Поэтому инвестирование времени в оптимизацию для нас выгодно.

Прежде мы говорили в основном об обычных и уже устоявшихся способах работы с производительностью. Но сообщество PHP не дремлет! В PHP 8 появится JIT, в PHP 7.4 — preload, а за пределами core-разработки PHP развиваются фреймворки, подразумевающие работу PHP как демона. Пора поэкспериментировать с чем-то новым и посмотреть, что это может нам дать.

Так как до релиза PHP 8 ещё далеко, а асинхронные фреймворки плохо подходят для наших задач (почему — расскажу ниже), сегодня остановимся на preload, который появится в PHP 7.4, и фреймворке для демонизации PHP — RoadRunner.

Это текстовая версия моего доклада с Badoo PHP Meetup #3. Видео всех выступлений мы собрали в этом посте.
Читать дальше →
Total votes 114: ↑111 and ↓3+108
Comments52

Yii2-advanced: альтернативное размещение папок для нескольких приложений

Reading time4 min
Views15K
Хочу поделиться альтернативным рецептом файловой структуры для нескольких приложений в Yii2-advanced, не прибегая к модулям. Внешние отличия, к которым мы придем, выглядят следующим образом:

Конечная файловая архитектура

Читать дальше →
Total votes 24: ↑15 and ↓9+6
Comments15

Как начать разработку крупного, нетипичного проекта. Практическое пособие

Reading time6 min
Views27K

image


Выбор платформы для бекенда

Чтобы создать качественное и производительное Web-приложение, необходимо уделить должное внимание выбору платформы для разработки. Этим нужно заняться сразу же после того, как вы ознакомились, какие задачи должно выполнять это приложение.


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

Читать дальше →
Total votes 23: ↑15 and ↓8+7
Comments64

Yii2 RESTful API-интерфейс для AngularJS

Reading time8 min
Views32K

Здравствуйте, дорогие читатели! Судя по вашим комментариям к предыдущим статьям, многим из вас очень интересно, как именно мы будем использовать AngularJS в связке с нашим приложение на Yii2 фреймворке. В этой статье я подниму занавес и опишу процесс подключения фреймворка AngularJS и способы его применения.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments3

IT в туризме — миф

Reading time3 min
Views3.1K
Этим постом не претендую на правду в первой инстанции, просто делюсь мыслями. По образованию, духу и бывшей профессии я — программист и всегда считал, что любая работа, любой процесс должен быть автоматизирован донельзя. Также я думал когда занимался открытием собственной турфирмы. Я думал, что уж в моей-то фирме будет самый лучший и самый удобный сайт, у меня будет полнейшая база отелей, актуальные туры в поиске а менеджеры по продажам только и будут делать, что отмечать «птичками» оплаченные заявки.

Все оказалось куда печальнее.

Читать дальше →
Total votes 63: ↑55 and ↓8+47
Comments126

Трафик из Яндекс.Директ: грузите посетителей по центу

Reading time5 min
Views41K

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

Это – пошаговое руководство для тех, кто хочет знать, каким боком из Яндекс Директ (на вполне законных, между прочим, основаниях) привлекать недорогой трафик по 0.01 у.е или 30 копеек за переход.
Читать дальше →
Total votes 122: ↑116 and ↓6+110
Comments59

Оптимизируем интерфейс Windows XP на нетбуках

Reading time2 min
Views18K
Оптимизированный интерфейс Windows XP

Сейчас пошла мода на так называемые нетбуки — ноутбуки, маленькие по размеру и с довольно слабой аппаратной начинкой, но зато — дешевые. Вот и я поддался соблазну и приобрел пару месяцев назад1 такую машинку: ASUS eee PC. Один из минусов компактности у этой машинки — маленький экран. Причем, мала как диагональ экрана, так и физическое разрешение: всего 800 х 480 точек. Из-за этого многие окна программ просто не влазят в экран и чтобы как-то оптимизировать работу, я стал настраивать графическое оформление системы. Во-первых, зачем нужны такие громоздкие заголовки окон, во-вторых, зачем оставлять в панельках инструментов столько свободного места? Незачем, посчитал я и принялся искать замену стандартному голубому оформлению Windows XP2.
Читать дальше →
Total votes 189: ↑172 and ↓17+155
Comments149

Делаем красивую флеш галерею в программе Picasa

Reading time1 min
Views906
image
Совсем недавно мне понадобилось составить подборочку из нескольких моих фотографий. Это должны были быть портреты. Недолго думая, я решил что нужно всё это реализовать это на флеш, т.к. это просто, карасиво, да и флеш-плеер я думаю уже почти у всех есть.

Первая мысль была скачать какую-нибудь галерею, куда можно привязать фликр или пикасу. Но вдруг я наткнулся на один хороший сайт. Там были выложены шаблоны галерей и их демонстрации. Скачав понравившийся шаблон я, к своему удивлению, не нашел никакого readme… Пришлось поискать на сайте. Оказалось что эти шаблоны нужно вставлять в программу пикаса… А потом в интерфейсе программы создавать готовую галерею.
Читать дальше →
Total votes 118: ↑109 and ↓9+100
Comments41

Last.fm API

Reading time1 min
Views7.5K
Некоторое время назад мой любимый Last.fm открыл для всеобщего доступа свой API. Означает это, что теперь кто угодно (даже Вы) может пользоваться базой данных самого популярного в мире музыкального сервиса.
Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments27

Google AJAX Search API

Reading time1 min
Views30K
Возможно я идиот, и убейте меня кто-нибудь, но сегодня я совершенно случайно, перерыв бОльшую половину интернета, обнаружил, что у Google есть мощнейший и абсолютно бесплатный API для поиска. Который ну просто мега элементарно интегрировать со своим сайтом.
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=".urlencode($query)";
$body = file_get_contents($url);
$json = json_decode($body);
foreach ($json->responseData->results as $resultjson) {
$result_google['urls']= $resultjson->url;
$result_google['contents'] = $resultjson->content;
}

а вот что из этого получилось
Total votes 65: ↑59 and ↓6+53
Comments71

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

Reading time3 min
Views15K


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

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

jQuery File Upload

Reading time2 min
Views182K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

blueimp.github.com/jQuery-File-Upload

Поддержка браузеров:

github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

Читать дальше →
Total votes 215: ↑206 and ↓9+197
Comments118

Документация jQuery UI на русском

Reading time1 min
Views54K
В справочнике jquery.page2page.ru появилась документация jQuery UI. Помимо подробного описания каждого плагина, она содержит статьи о фабрике виджетов, с помощью которой можно создавать собственные подобные плагины, правилах темизации (оформления) виджетов UI, собственной системе позиционирования UI, а так же о расширенных анимационных эффектах, доступных при подключении jQuery UI к сайту. Ну и конечно же есть вводная статья с которой можно начать изучение jQuery UI.

Кроме этого, обновлена карта функций, в которую были добавлены методы с двух последних обновлений jQuery, а так же все плагины jQuery UI.
Total votes 56: ↑51 and ↓5+46
Comments18

От слабых связей к сильным. Сообщество или социальная сеть 3

Reading time5 min
Views6.2K
От переводчика. Данный текст является третьим текстом минисерии из 4 публикаций, посвященных социальным сетям и сообществам, их сходствам и различиям, а также их взаимосвязи друг с другом.
  1. Сообщество или социальная сеть?
  2. Как люди образуют связи
  3. От слабых связей к сильным
  4. Поддержание сильных связей
Автор этой серии публикаций — Майкл Ву (Michael Wu), ведущий аналитик компании Lithium, специализирующийся в изучении социальных взаимодействий и онлайн-сообществ.




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

Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments2

7 способов определить хостера сайта

Reading time8 min
Views152K
Периодически перед многими из вебмастеров возникает задача определить хостера, у которого живет тот или иной сайт. Мотивация для этого бывает самая разная, как простое любопытство, так и желание поселиться по соседству на хорошем и стабильном хостинге или наоборот не вляпаться в такое соседство. В этом посте я приведу несколько известных мне методов с их достоинствами и недостатками. Вполне возможно, что он неполон, поэтому дополнения всячески приветствуются.
Так же «на берегу» оговорюсь: все упомянутые ниже сайты и хостеры упомянуты исключительно как наглядные примеры, и ни в коем случае не в качестве рекламы или, упаси господи, антирекламы. Выбор оных был сделан так же практически случайно — где какие методы у меня в свое время срабатывали, то и привожу.

Способы я перечисляю в порядке убывания точности и, к сожалению, в порядке возрастания вероятности срабатывания.

1. NS-сервера


Даже странно, что забыл упомянуть с самого начала. Спасибо variable За напоминание. Очень часто люди пользуются NS-серверами хостера и при помощи whois'a мы моментально узнаем хостера.

Плюсы

  • Очень часто срабатывает на шаред-хостингах

Минусы

  • Зачастую пользователи VPS и дедиков, а так же продвинутые пользватели на шаред-хостингах пользуются своими DNS-серверами, либо используют свои поддомены.

2. Ошибка 403/404


Не могу сказать, что большинство, но немало серьезных хостеров страницы ошибок веб-сервера по умолчанию делают с информацией о себе, а многие их клиенты забывают/ленятся их переопределить. Поэтому в первую очередь стоит попытаться вызвать такую ошибку и посмотреть, что получится. Бывает так, что CMS на сайте при помощи mod_rewrite перехватывает запросы к несуществующим файлам и отдает в ответ свою 404-ю ошибку. Это можно попробовать обойти, вызвав ошибку 403 путем обращения к какталогу без индексного файла. Им может быть папка с картинками/шаблонами, папка для загруженных файлов, кэша движка, системная папка типа includes и т. п. Небольшой хинт — иногда на странице ошибки есть email вебмастера и часто из него можно узнать домен сайта хостера.
Читать дальше
Total votes 123: ↑86 and ↓37+49
Comments49

Оффлайновый способ хранить пароль

Reading time1 min
Views3.4K
Есть сервис passwordcard который позволяет генерировать и распечатывать такие вот карточки паролей.

image

Суть заключается в том, чтобы запоминать только картинки и длину, например вертикаль «О» запоминаем только вертикаль, получается JQ3xqZkE

Карточку можно распечатать и положить в удобное место.
Хорошая альтернатива менеджерам и проч. программ.

UPD: Для особо умных ребят уточню, что комбинаций здесь гораздо больше и facepalm писать не следует, потому как пароль можно как по диагонали брать, по змейке, зиг-загом, в обратном порядке, через один и так далее

UPD2: судя по всему сервер упал под хабраддосом (:
Total votes 198: ↑139 and ↓59+80
Comments112

Оффлайновые карты всего мира

Reading time2 min
Views6.1K
MapsWithMe У меня давно была мечта написать карты. Удобные карты, которым не нужен доступ в Интернет, с актуальными данными, быстрые и работающие на любом устройстве. После работы инженером в Google Maps эта мечта только усилилась и в какой то момент переросла в конкретные действия.

Если это будет интересно, я как нибудь напишу, как я уходил из цюрихского Гугла, и при этом все вокруг делали квадратные глаза и как потом на чистом энтузиазме мы с друзьями почти год писали проект.
Читать дальше →
Total votes 234: ↑225 and ↓9+216
Comments208

Всесторонняя оптимизация сайта на WordPress

Reading time8 min
Views57K
Уважаемые жители Хабра!

Вашему вниманию представляется история о том, как мы оптимизировали свой сайт. Сайт работает на движке Wordpress (на этой фразе большинство читателей должны поморщиться, зная, как обстоят дела у WordPress со скоростью). Однако все-таки у нас получилось, и сайт стал летать. Сразу скажу, что меня вряд ли можно считать профессионалом по серверной оптимизации, однако то, чего удалось достичь, меня сильно радует. Также, был получен бесценный опыт, которым я хочу поделиться с читателями Хабра.
Читать дальше →
Total votes 96: ↑90 and ↓6+84
Comments31

Создание и монетизация блога Фактрум

Reading time9 min
Views4.2K
image

Всем привет.

Я — редактор блога Фактрум Селена Парфёнова и хочу рассказать вам историю этого проекта с момента возникновения идеи до сегодняшнего дня. Это будет история о том, как, не вкладывая никаких денег и не раскручивая сайт никакими способами, мы за 8 месяцев работы достигли посещаемости 15 000 — 17 000 уникальных пользователей в сутки и заняли 3-е место в топе блогов рунета по версии Яндекса.

Для удобства понимания я разделю пост на 2 раздела: работа над блогом и его монетизация.

Итак:
Читать дальше →
Total votes 221: ↑181 and ↓40+141
Comments132

Information

Rating
Does not participate
Registered
Activity