Search
Write a publication
Pull to refresh
23
0
Anton MegaPort @AlexTest

Magento, Telegram bots

Send message

PHP IPC — Межпроцессное взаимодействие в PHP

Reading time6 min
Views29K

Целью данной заметки является ознакомление PHP-разработчиков с возможностями межпроцессного взаимодействия в данном языке. Заметка не предполагает во всех деталях рассказать о каждой из возможностей, деталях реализации или показать рабочие примеры кода.

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

Хотите узнать больше?

Серьёзно обновился Google Forms: прогресс-бары, валидация, Youtube-видео

Reading time1 min
Views8.4K
В Google Drive произошло значительное обновление инструмента Google Forms.

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

image
Узнать подробности

Дайджест интересных новостей и материалов из мира PHP за последние две недели №25 (25.08.2013 — 08.09.2013)

Reading time5 min
Views21K


Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.

Приятного чтения!
Читать дальше →

Цикл разработки через Github

Reading time3 min
Views106K

Разработка



Я расскажу о цикле разработки через Github, который я использую. Он был проверен в течении года на командах разного размера: 3 — 14 человек.

Существует 2 основных ветки: master и dev.

master — стабильная ветка, готовая к выкатыванию на production сервер в любой момент.

dev — ветка, над которой в данный момент работает команда.

Итак, в начале разработки master и dev ветки идентичны.

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

Первые несколько миллисекунд HTTPS соединения

Reading time10 min
Views172K
После нескольких часов чтения обзоров, Боб с нетерпением нажал на кнопку перехода к оформлению заказа на галлон цельного молока, и…
Воу, что только что произошло?


Интересно? Прошу под кат

Самый маленький в мире автопилот

Reading time1 min
Views30K
image
Команда разработчиков из Делфтского технического университета создала самый маленький в мире автопилот. Он предназначен для микрокоптеров или вертолётов и имеет размеры всего 2х2 сантиметра. Вес платы составляет 2,8 грамма. Управляет работой автопилота 72-мегагерцовый микроконтроллер ARM Cortex M3 MCU c 16 кБ оперативной памяти и 512 кБ флэш-памяти. Несмотря на крошечные размеры, на борту есть серьёзный набор навигационного оборудования — акcелерометр, гироскоп, магнитометр, барометр и GPS.
Читать дальше →

Вымогатель Win32/Nymaim – хроники обфускации

Reading time5 min
Views17K
В прошлом месяце мы писали о кампании по распространению вредоносного ПО «Home Campaign». Злоумышленники на протяжении длительного времени компрометировали веб-серверы, работающие под управлением Apache Linux, используя при этом вредоносный модуль Apache известный как Darkeech (обнаруживается ESET как Linux/Chapro). Этот код использовался для перенаправления пользователей веб-сайтов на набор эксплойтов Blackhole Exploit Kit. В процессе анализа атаки выяснилось, что ее полезной нагрузкой было семейство вымогателей (ransomware) Win32/Nymaim. Данный анализ посвящен техническим особенностям этой вредоносной программы и способам ее установки на компьютеры пользователей.



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

Nimbus Screen Capture — Снимите это немедленно!

Reading time1 min
Views12K
Как часто вам приходится делать снимки с экрана? Пожалуй, многие из нас ежедневно проделывает эту нехитрую процедуру не один раз. А часто ли у вас возникает необходимость отредактировать свои скрины? Наверное, нередко, но не все программы позволяют это делать или делают это не совсем так, как нужно.

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

image

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

Плюсы и минусы различных подходов обеспечения анонимности в сети

Reading time4 min
Views106K
image

В последние дни было много разговоров про существование тотальной слежки американских спецслужб. Не говоря уже о том, что многие известные сервисы грешат наплевательским отношением к приватности своих пользователей, не предоставляя даже HTTPS доступ.

Для многих тема приватности важна. И речь вовсе не идет о сокрытии каких-то злых намерений пользователей. Приватность и персональность данных — это вполне законное право современного человека.

Существует несколько распостраненных вариантов защитить себя от слежки:

  • использовать HTTPS
  • чистить cookies
  • использовать proxy-сервер
  • использовать анононимный VPN
  • использовать сеть TOR
  • использовать сеть I2P
  • ...


Каждый из вариантов имеет свои недостатки, преимущества и определенную степень защиты. Давайте рассмотрим их подробнее:
Читать дальше →

Как начать использовать DI

Reading time4 min
Views27K
Многократно сталкивался с мнением, что DI это нечто сложное, громоздкое, медленное, подходящее только для «больших» проектов, а потому его использование конкретно на текущей задаче (500+ классов моделей, 300+ классов контроллеров) неоправданно. Отчасти это связано с тем, что DI однозначно ассоциируется с пакетами вроде Symfony «The Dependency Injection Component», заведомо с лихвой покрывающими все возможные варианты внедрения зависимостей.
Здесь я хочу привести некий функциональный минимум, который даст понимание самой концепции, дабы показать, что сама инверсия зависимостей может быть достаточно проста и лаконична.
Читать дальше →

SEO для интернет-магазинов

Reading time6 min
Views75K
Интернет-магазин, который не использует SEO — нонсенс, и вряд ли вообще найдутся примеры успешных проектов, не использующих этот канал привлечения клиентов.

Трафик должен быть большим, целевым и максимально дешевым. Грамотная стратегия поискового продвижения гарантирует минимальную цену посетителя.

В битве за клиента каждый крупный интернет-магазин старается нанять «гуру» поискового маркетинга.

В битве за клиенты каждый крупный интернет-магазин старается нанять «гуру» поискового маркетинга. Уровень зарплат людей с реальными достижениями в этой сфере очень высок. Если бюджет продвижения — n миллионов рублей в месяц, лучше сразу нанять дорогого и опытного человека, нежели позволять новичку выбросить несколько этих самых миллионов на получение опыта. Однако SEO — не rocket science, а комплекс стандартных приемов, которые может научиться применять на практике любой нормальный человек. Продвигать OZON сложно, продвигать небольшой интернет-магазин — достаточно просто, особенно используя правильные инструменты.

В этой статье мы не будем подробно описывать выделение бюджета, определение целевой аудитории, вычисление максимально выгодной цены клика, системы аналитики и т.п. маркетинговые моменты, а постараемся сосредоточиться на технических аспектах SEO для e-commerce.

Особенности

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

Пример: если выйти в десятку «Яндекса» по запросу «утюги», можно получать 1000 переходов и 15 покупок. Если примерно за те же деньги стоять в топе по сотне более специфических и дешевых в продвижении запросов типа «утюг Tefal fv5378», можно получать 5000 переходов и 50 покупок. Цифры условные, но логика понятна.

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

Кодирование и декодирование PHP кода

Reading time8 min
Views70K
Я занимаюсь восстановлением исходников PHP из закодированного вида.
В этой статье я расскажу о том, как обстоят дела с кодированием и декодированием PHP в настоящее время.

Очень краткий ликбез по внутреннему устройству интерпретатора PHP


При выполнении PHP-скрипта, он парсится и компилируется в опкоды внутренней виртуальной машины PHP.
Из каждого файла PHP получаются:
— массив классов: в каждом классе — информация о классе, свойства класса и массив методов класса
— массив функций
— «тело скрипта» — код вне классов и функций
Читать дальше →

Отправить POST через file_get_contents()

Reading time3 min
Views87K
Чтобы получить содержимое веб-страницы все с удовольствием используют file_get_contents(), например file_get_contents('http://www.habrahabr.ru/'). Но я уже давно наблюдаю, что, как дело доходит до того, чтобы отправить POST, разработчики используют либо CURL, либо открывают сокеты. Я не считаю, что это плохо или что не надо так делать, просто для решения простых задач можно использовать простые решения.

Я и сам так раньше делал, пока на наткнулся на понятие контекстов потоковых операций в PHP. Контекст позволяет передать дополнительные параметры потоковому обработчику. Для http например, можно сконфигурировать POST-запрос или передать дополнительные заголовки.

file_get_contents() принимает 3 параметром «контекст», который собственно и конфигурирует сам запрос.
Ниже пример такого запроса или RTFM

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

Несколько интересностей и полезностей для веб-разработчика

Reading time4 min
Views62K
Всем доброго времени суток. Как-то так получилось, за последнее время я увидел много интересных и полезных инструментов/библиотек/событий, которыми я хотел поделиться на Хабре. Все эти темы по отдельности, на мой взгляд, не заслуживали целой статьи. Но каждая из них достойна внимания и может кому нибудь пригодиться. В итоге получился небольшой дайджест:

Prepros



Великолепное приложение препроцессор для CSS, JS. Компилирует файлы следующих типов: LESS, Sass, SCSS, Stylus, Jade, Slim, Coffeescript, LiveScript, Haml. Минифицирует JS на лету, при каждом изменении файла. Оптимизирует изображения. Доступен для Windows и Mac, а также как расширение для Chrome. Плюс ко всему создает HTTP сервер, для тестирования сайта на разный устройствах. Бесплатная замена CodeKit'у и Ghostlab'у вместе взятых, что в сумме позволит Вам сэкономить $75.

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

Защищаемся от HTTP DDoS и прочих Хабраэффектов

Reading time5 min
Views11K
Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Читать дальше →

Scrambls — защита Вашей интеллектуальной собственности и шифрование в соцсетях

Reading time3 min
Views17K
Привет, уважаемые хабражители! Многие в наше время интересуются безопасностью своих личных данных, а особенно переписки. И это не удивительно, учитывая скандал с АНБ и прочие факторы.

Так же имеется определённая проблема с социальными сетями и облачными сервисами: нам больше ничего не принадлежит, то есть, наши посты в соцсетях являются их собственностью, а не нашей, как и наши данные в облачных хранилищах принадлежат не нам.

И как же выйти из такой ситуации? Ребята из Scrambls, кажется, уже решили эту задачу!
Как? Читайте под катом

Морфология. Задачи и подходы к их решению

Reading time6 min
Views17K

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

Для русского языка это несколько сотен тысяч слов. Может быть, это не экономично, зато дает нам очень много бонусов.

Во-первых, мы можем проверить, есть ли слово в словаре. С помощью правил, основанных на регулярных выражениях, мы не выясним, есть слово «мымымымыться» в русском языке. Окончание вполне подчиняется правилам русского языка, повторение слогов – тоже не исключительный случай. Регулярное выражение это слово пропустит, но на самом деле никакого «мымымымыться» в русском языке не существует.

Другая задача, которую решает словарь, хранимый в морфологии, – это исправление ошибок. Как только мы не находим в словаре какого-то слова, зато обнаруживаем там другое слово на коротком расстоянии Левенштейна до искомого, мы принимаем решение об исправлении.
Читать дальше →

Абсолютное горизонтальное и вертикальное центрирование

Reading time5 min
Views317K
Сколько уже было сломано копий о задачу выравнивания элементов на странице. Предлагаю вашему вниманию перевод отличной статьи с решением этой проблемы от Стефана Шоу (Stephen Shaw) для Smashing Magazine — Absolute Horizontal And Vertical Centering In CSS.

Все мы знали о margin: 0 auto; для горизонтального центрирования, но margin: auto; не работало для вертикального. Это можно легко исправить, просто задав высоту и применив следующие стили:

.Absolute-Center {
  margin: auto;
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
}

Я не первый, кто предложил это решение, однако такой подход редко применяется при вертикальном выравнивании. В комментариях к статье How to Center Anything With CSS Simon ссылается на пример jsFiddle, где приводится отличное решение для вертикального центрирования. Вот еще несколько источников на эту тему.

Рассмотрим способ поближе.
Читать дальше →

Создание полноценного видеохостинга своими руками (nginx+php5-fpm+ffmpeg+cumulusclips)

Reading time10 min
Views68K
Добрый день, хабровчане!

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

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

Mojo Share — все социальные кнопки на CSS3 с иконочным шрифтом в одном месте

Reading time10 min
Views21K
Доброго времени суток уважаемые хабравчане. Начну издалека… Share кнопки — это очень важно. Большинство из нас с Вами использует либо стандартные кнопки определенной социальной сети, либо один из этих сервисов: Блок «Поделиться» от Яндекса, AddThis, ShareThis и новоиспеченный Pluso. Если рассматривать все эти способы с точки зрения кастомизации и дизайна, то достойнее всего, на мой взгляд, это реализовали в Pluso. Все остальное почти ничем не отличается друг от друга. Рассматривая основной функционал (непосредственно шаринг), отличается баганутостью только Pluso, где можно легко накрутить счетчики, нажимая кнопки помногу раз. Я не буду сравнивать качество сбора статистики этих сервисов хотя Pluso явно не фаварит, поскольку не компетентен в этом вопросе. Вернемся к кастомизации кнопок. Как таковой, во всяком случае удобной, ее нет. А если говорить про дизайн, то кнопки не адаптированы под Retina дисплеи, что сразу бросается в глаза. Поэтому я решил создать проект на GitHub, который состоит из иконочного шрифта MojoSocial и файла стилей MojoShare.

image

Сейчас в проекте более 40 векторных иконок. Все кнопки построены на CSS3 с использованием градиентов из фирменных цветов каждого отдельного сервиса. Плюс несколько стилистических классов, определяющих дизайн кнопки. А пользоваться этим удобно, потому что файл стилей на LESS.

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

Information

Rating
Does not participate
Registered
Activity