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

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

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

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

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


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

Мы часто пишем и говорим о производительности 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. Видео всех выступлений мы собрали в этом посте.
Читать дальше →
Всего голосов 114: ↑111 и ↓3+108
Комментарии52

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

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

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

Читать дальше →
Всего голосов 24: ↑15 и ↓9+6
Комментарии15

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

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

image


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

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


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

Читать дальше →
Всего голосов 23: ↑15 и ↓8+7
Комментарии64

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

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

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

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

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

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

Читать дальше →
Всего голосов 63: ↑55 и ↓8+47
Комментарии126

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

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

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

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

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

Время на прочтение2 мин
Количество просмотров18K
Оптимизированный интерфейс Windows XP

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

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

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

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

Last.fm API

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

Google AJAX Search API

Время на прочтение1 мин
Количество просмотров30K
Возможно я идиот, и убейте меня кто-нибудь, но сегодня я совершенно случайно, перерыв бОльшую половину интернета, обнаружил, что у 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;
}

а вот что из этого получилось
Всего голосов 65: ↑59 и ↓6+53
Комментарии71

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

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


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

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

Создаём Instagram фильтры с помощью PHP и ImageMagick

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

В этой статье я покажу как создать некоторые эффекты на фотографиях (как на Instagram) с помощью PHP и ImageMagick.
Читать дальше →
Всего голосов 65: ↑63 и ↓2+61
Комментарии19

jQuery File Upload

Время на прочтение2 мин
Количество просмотров182K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на 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

Читать дальше →
Всего голосов 215: ↑206 и ↓9+197
Комментарии118

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

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

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

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

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




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

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии2

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

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

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

1. NS-сервера


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

Плюсы

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

Минусы

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

2. Ошибка 403/404


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

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

Время на прочтение1 мин
Количество просмотров3.4K
Есть сервис passwordcard который позволяет генерировать и распечатывать такие вот карточки паролей.

image

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

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

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

UPD2: судя по всему сервер упал под хабраддосом (:
Всего голосов 198: ↑139 и ↓59+80
Комментарии112

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

Время на прочтение2 мин
Количество просмотров6.1K
MapsWithMe У меня давно была мечта написать карты. Удобные карты, которым не нужен доступ в Интернет, с актуальными данными, быстрые и работающие на любом устройстве. После работы инженером в Google Maps эта мечта только усилилась и в какой то момент переросла в конкретные действия.

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

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

Время на прочтение8 мин
Количество просмотров57K
Уважаемые жители Хабра!

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

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

Время на прочтение9 мин
Количество просмотров4.2K
image

Всем привет.

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

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

Итак:
Читать дальше →
Всего голосов 221: ↑181 и ↓40+141
Комментарии132

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность