Как стать автором
Обновить
101.52
Рейтинг

PHP *

Скриптовый язык общего назначения

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Хочу как у YouTube

PHP *Анализ и проектирование систем *Алгоритмы *ООП *

Вы когда-нибудь задумывались как устроен ID видео на YouTube?
Возможно, вы уже знаете/нашли ответ, но, как показали обсуждения на Stack Overflow, многие понимают эту технологию неправильно. Если вам интересно изучить что-то новое, добро пожаловать под кат.


Хочу как у YouTube
Читать дальше →
Всего голосов 44: ↑33 и ↓11 +22
Просмотры 34K
Комментарии 61

История взлома одного WordPress плагина — или о том, как вы допускаете уязвимости в своих проектах

Информационная безопасность *WordPress *Open source *PHP *Программирование *
Давным давно, когда я был молод и писал сайты на PHP, я написал SEO плагин для маскировки внешних ссылок для Wordpress. Поскольку с воображением у меня плохо, то назвал его WP-NoExternalLinks. За всю историю у него было 360.000 установок и, кажется, до 50.000 активных установок.

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

Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Просмотры 14K
Комментарии 35

Numphp — работа с числовыми векторными массивами и матрицами

PHP *Data Mining *Big Data *
Сегодня я бы хотел продолжить рассказ про замечательную библиотеку для работы с числовыми массивами в php numphp. Ранее я уже делал краткий обзор на неё тут. С тех пор библиотека обросла функционалом, и, что самое главное, научилась работать с многомерными массивами или матрицами. Про них, в основном и будет идти речь.

Без лишних вступлений сразу пример того, как можно создать матрицу 3 на 4, используя возможности numphp.

$matrix = new np_array([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]);

// matrix
[[ 0,  1,  2,  3],
 [ 4,  5,  6,  7],
 [ 8,  9, 10, 11]]
Читать дальше →
Всего голосов 20: ↑15 и ↓5 +10
Просмотры 3.4K
Комментарии 8

Опыт веб-разработки при создании игры «Составь слова»

Разработка веб-сайтов *PHP *Разработка игр *Алгоритмы *Математика *
image

Хочу поделиться своим опытом работы над веб-проектом: реализацией игры «Составь слова». Игра представляет собой известную головоломку, в которой нужно составлять разные слова из одного длинного слова.

Суть статьи — в том, как именно и что конкретно пришлось сделать, чтобы довести всю задумку от идеи до реализации.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 7.3K
Комментарии 29

PHP-Дайджест № 124 (14 – 28 января 2018)

Блог компании Zfort Group Разработка веб-сайтов *PHP *

Свежая подборка со ссылками на новости и материалы. В выпуске: новый стандарт PSR-15, WordPress на .NET, порция полезных инструментов, и многое другое.
Приятного чтения!


Читать дальше →
Всего голосов 57: ↑54 и ↓3 +51
Просмотры 15K
Комментарии 22

Диалоговый телеграм бот на PHP

PHP *Программирование *
На данную тему написано много статей на Хабре и просто в интернете. И я расскажу о своем опыте работы с телеграм ботом и моментами, которые «в лоб» не удалось решить.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 123K
Комментарии 13

Numphp — библиотека для работы с числовыми массивами

PHP *Data Mining *
Привет.

Я бы хотел представить мой первый open source проект, размещённый на github. Это библиотека предоставляющая удобный и совершенно новый опыт работы с числовыми массивами в php. Вдохновением для создания послужила библиотека numoy на языке Python, которая включает широкий спектр возможностей для манипулирования данными и инструментами линейной алгебры.

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

В общем, приступим. Представьте, что у вас есть массив чисел, к примеру, представляющих собой значения температуры за какой-то период времени.

$list = [16, 22, -6, 23, -1, 13, 24, -23, 22];
Читать дальше →
Всего голосов 18: ↑14 и ↓4 +10
Просмотры 5.1K
Комментарии 57

16 тонн. Как я спасал гибнущий под нагрузкой сайт на WordPress, имея весьма поверхностные знания в области этой CMS

WordPress *Разработка веб-сайтов *PHP *
Из песочницы
Статья будет короткой и сумбурной — я пишу ее с целью скоротать пару часов перед тем как начать откатывать сайт к предыдущему «нормальному» состоянию.

Эта история началась пять часов назад. Ко мне обратился владелец одного тематического новостного сайта. Тематика — спортивные соревнования. У сайта есть две проблемы. Во-первых, в моменты крупных и сильно ожидаемых состязаний количество посетителей на сайте увеличивается на порядок. Вторая проблема — он сделан на WordPress, причем довольно небрежно. Думаю, что изначально это был обычный WP-сайт. Но потом он многократно «дорабатывался»: куда ни попадя втыкались разные рекламные блоки, вводились новые «решения», ставились всякие плагины для «оптимизации» и расширения возможностей. Кроме того, каждый день, на протяжении нескольких лет, появлялось около десятка постов. Размер БД — несколько гигабайт, ‘upload’ идет на десятки гигабайт. Со временем сайт превратился во что-то похожее на это:

image
Читать дальше →
Всего голосов 118: ↑98 и ↓20 +78
Просмотры 41K
Комментарии 92

Серия #notNULL — Twig

PHP *Symfony *
Tutorial
Приветствую, Хабрасообщество!

Давно я забросил переводы тех. литературы по Objective-C / Swift и несколько непереведённых глав из Core Data остались далеко в черновиках. Однако любовь к переводам, разработке и обучению не угасла — изменился подход и мысли о том, как можно всё это упаковывать и организовывать.

Я влюбился в формат обучающих видео.
Всего голосов 14: ↑10 и ↓4 +6
Просмотры 4K
Комментарии 6

Малюсенький CI вашего Symfony проекта за 2 минуты

PHP *Symfony *
Без воды о том, как за 10 минут сделать:

  1. Проверяем ваш composer.json на серьезные и несерьезные ошибки, вроде неоптимального autoload
  2. Проверяем ваш composer.lock на security уязвимости в пакетах
  3. Проверяем вашу базу данных, что ничего не забыли
  4. Проверяем ваши YAML файлы
  5. Проверяем Coding Style по Symfony
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 9.8K
Комментарии 7

MageConf 2017 видео и материалы конференции

PHP *Разработка под e-commerce *Конференции Magento *


16го Декабря в Киеве прошла самая большая техническая конференция посвященная платформе Magento и eCommerce в целом. Конференция проходила в 4 параллельных потока, на которых было презентовано 30 докладов и воркшопов. Конференцию посетили 600+ участников.

Главному ивенту предшествовал Magento Contribution Day, проводимый в офисе компании Magento за день до этого и собравший более 100 человек, которые вместе с Magento Core программистами и архитекторами работали над улучшением платформы и исправлением багов. А также над разработкой новой функциональности системы — Multi-Source Inventory.



В ходе ивента было поставлено 40+ Pull Request в Magento 2 репозиторий.

В данном посте предлагаю ознакомиться с видео всех выступлений, которые вы найдете под катом. С программой конференции MageConf 2017 можно ознакомиться перейдя по ссылке.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 3.2K
Комментарии 0

Достоинства и фатальные недостатки типизации в php

PHP *JavaScript *Java *ООП *TypeScript *

Язык php часто ругают, обычно необоснованно. Особенно удивляет, что javascript ругают меньше. Зачастую это делают люди, которые писали на нем 10+ лет назад, когда язык был действительно чертовски плох, да и разработчики в те времена не задумывались над качеством кода. Посмотрите хотя бы на код wordpress, который до сих пор вызывает шок.


Ругают необоснованно, но проблемы у языка, конечно же, есть, и они серьёзные. Разуметеся, если сравнить последние релизы php7 (с нормальным ООП и строгим тайпхинтингом) и php4, то разница будет колоссальная. Однако и в последних версиях языка не всё гладко, и до java/c# пока что очень далеко. Более того, берусь утверждать, что будущее php тоже довольно сомнительно (с точки зрения типов).


Другими словами, давайте рассмотрим предметно, что хорошо и что плохо в php с точки зрения типизации.

Читать дальше →
Всего голосов 49: ↑35 и ↓14 +21
Просмотры 23K
Комментарии 116

Бег в мешках с завязанными глазами спиной вперед

Блог компании Wrike PHP *Программирование *Java *C *
Какой язык программирования самый быстрый — не всегда практичный, но крайне любопытный вопрос. Сайт benchmarksgame как раз об этом. Суть проекта в сравнении скорости языков программирования на ряде типовых задач. Надо сказать, что результаты не всегда предсказуемы. Что, если JavaScript такой же быстрый, как и C? Это же скандал!

Гордость и предубеждение


Способность делать что-либо быстро всегда высоко ценится ее обладателем, зачастую независимо от качества исполнения. — Джейн Остин

На benchmarksgame часто ссылаются, чтобы доказать преимущества или недостатки того или иного языка программирования. Однако тут нужно быть аккуратным. Те, кто профессионально занимаются замерами производительности, знают, что в этом деле есть множество подводных камней, и можно легко попасть в просак. Например, виртуальной машине Java нужно некоторое время, чтобы прогреться. Соответственно на слишком коротких тестах результаты будут нерепрезентабельны. К счастью, с точки зрения статистики на сайте используется очень даже систематичный подход.

Но цифрам все равно нельзя верить, и вот почему.


Читать дальше →
Всего голосов 44: ↑42 и ↓2 +40
Просмотры 10K
Комментарии 19

Разбор PHP-задач Badoo и новый тест. Как получить оффер в Лондон в феврале

Блог компании Badoo Высокая производительность *PHP *MySQL *Программирование *


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

В июле мы проводили рекрутинговое мероприятие для PHP-разработчиков, по результатам которого пять человек получили оффер в наш лондонский офис. Мы продолжаем быстро расти: Android- и iOS-команды с того времени стали на 11 человек больше, поэтому мы снова запускаем конкурс для PHP-разработчиков.

Правила те же: покажи высокий результат в тесте, успешно пройди интервью 10 или 11 февраля в Москве — получи оффер в лондонский офис Badoo.

Все расходы по приезду на интервью в Москву компания берёт на себя, равно как и всё связанное с дальнейшим переездом в Лондон: рабочие визы членам семьи, 10 000 фунтов стерлингов (≈ 770 000 рублей) на переезд, совершенствование английского, поиск жилья.

Чтобы выполнять тестовое задание было интереснее, по многочисленным просьбам (1, 2, 3) под катом мы разберём задачи с предыдущего мероприятия, рассмотрим их правильные решения, и я объясню, почему мы выбрали именно их, а также приведу некоторые примеры, статистику и варианты решений от кандидатов.

UPD: мероприятие завершено. По итогам к нам присоединились 7 человек.

Читать дальше →
Всего голосов 74: ↑70 и ↓4 +66
Просмотры 33K
Комментарии 85

PHP-Дайджест № 123 (1 – 14 января 2018)

Блог компании Zfort Group Разработка веб-сайтов *PHP *

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP-PM 1.0 и другие релизы, порция полезных инструментов, и многое другое.
Приятного чтения!


Читать дальше →
Всего голосов 56: ↑55 и ↓1 +54
Просмотры 17K
Комментарии 10

Как я определял провайдера по IP

PHP *MySQL *Анализ и проектирование систем *Геоинформационные сервисы *
Постановка задачи достаточно тривиальна: нужно по IP адресу пользователя определить провайдера. Эти данные далее должны использоваться в своей системе аналитики, а также должна быть возможность сверить их с данными, например Google или Ripe.
Читать дальше →
Всего голосов 16: ↑12 и ↓4 +8
Просмотры 15K
Комментарии 9

21 совет по эффективному использованию Composer

Блог компании Mail.ru Group Open source *PHP *Git *GitHub
Перевод
Tutorial

Хотя большинство PHP-разработчиков умеют пользоваться Composer, не все делают это эффективно или лучшим возможным образом. Поэтому я решил собрать советы, которые важны для моей повседневной работы. Большинство из них опираются на принцип «От греха подальше»: если что-то можно сделать несколькими способами, то я выбираю наименее рискованный.
Читать дальше →
Всего голосов 42: ↑38 и ↓4 +34
Просмотры 22K
Комментарии 7

Обзор заготовки web-приложения на Zend Framework 3

Open source *PHP *Zend Framework *
Статья является обзорной и не несет в себе никаких how-to-туториалов. Если вы случайно "напоролись" на неё в сети, то предупреждаю сразу, что она не научит вас использовать Zend Framework 3 (далее ZF3).

Cover


Привет, читатель! Решил я анонсировать свое детище на замечательном ресурсе Хабрахабр. Я не являюсь постоянным читателем, но понимаю, что основная часть людей ищущих что-то интересное натыкается непременно сюда. Пришел сюда спецом за трафиком, ибо нет сил наблюдать больше смерть своих творений.

Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 9.8K
Комментарии 46

Простой планировщик задач на PHP

PHP *Серверное администрирование *
image

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

Читать дальше →
Всего голосов 28: ↑25 и ↓3 +22
Просмотры 24K
Комментарии 32

Опыт участия в проекте для стажеров в роли наставника

Разработка веб-сайтов *PHP *Node.JS *Управление проектами *
Из песочницы

Данная статья будет обзорной, без особых деталей разработки ПО. Моей целью является познакомить читателя с опытом, который я приобрел пока участвовал в стажировке в роли наставника. Я не называю компанию, в которой работаю и не называю проект, в котором участвовал так как это противоречит правилам ресурса.


Введение


В Томске сложно найти разработчиков, даже среди казалось бы такого популярного стека как php + mysql. Собственно, идея участия возникла из-за проблем с нехваткой кадров, и мы (компания) решили пойти на эксперимент и попробовать найти сотрудников среди людей с небольшим опытом. Как-то на кухне был поднят вопрос о том, кто и что знает про проекты для стажеров, новичков. Нашлись те, кто уже участвовал, поделились, обсудили. Я сообщил о том, что готов принять участие.

Всего голосов 12: ↑12 и ↓0 +12
Просмотры 6.5K
Комментарии 11

Вклад авторов