Вы когда-нибудь задумывались как устроен ID видео на YouTube?
Возможно, вы уже знаете/нашли ответ, но, как показали обсуждения на Stack Overflow, многие понимают эту технологию неправильно. Если вам интересно изучить что-то новое, добро пожаловать под кат.
PHP *
Скриптовый язык общего назначения
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
История взлома одного WordPress плагина — или о том, как вы допускаете уязвимости в своих проектах
Дальше я расскажу, каким именно образом он попал в недобросовестные руки и был злонамеренно использован — но для этого придётся немного погрузиться в его историю и обстановку разработки. Сразу предупрежу, что эта история абсолютно реальная.
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]]
Опыт веб-разработки при создании игры «Составь слова»
Хочу поделиться своим опытом работы над веб-проектом: реализацией игры «Составь слова». Игра представляет собой известную головоломку, в которой нужно составлять разные слова из одного длинного слова.
Суть статьи — в том, как именно и что конкретно пришлось сделать, чтобы довести всю задумку от идеи до реализации.
PHP-Дайджест № 124 (14 – 28 января 2018)
Свежая подборка со ссылками на новости и материалы. В выпуске: новый стандарт PSR-15, WordPress на .NET, порция полезных инструментов, и многое другое.
Приятного чтения!
Диалоговый телеграм бот на PHP
Numphp — библиотека для работы с числовыми массивами
Я бы хотел представить мой первый open source проект, размещённый на github. Это библиотека предоставляющая удобный и совершенно новый опыт работы с числовыми массивами в php. Вдохновением для создания послужила библиотека numoy на языке Python, которая включает широкий спектр возможностей для манипулирования данными и инструментами линейной алгебры.
Честно говоря, я был удивлён, когда обнаружил что на php до сих пор нет достойного аналога numpy. Конечно, некоторые попытки реализации можно найти на гитхабе, но они все крайне далеки от оригинала и не разделяют ту же идеологию. Моей целью было и есть создание похожей библиотеки, как минимум в отношении удобства использования и краткости синтаксиса. В дальнейших планах будет улучшение производительности.
В общем, приступим. Представьте, что у вас есть массив чисел, к примеру, представляющих собой значения температуры за какой-то период времени.
$list = [16, 22, -6, 23, -1, 13, 24, -23, 22];
16 тонн. Как я спасал гибнущий под нагрузкой сайт на WordPress, имея весьма поверхностные знания в области этой CMS
Эта история началась пять часов назад. Ко мне обратился владелец одного тематического новостного сайта. Тематика — спортивные соревнования. У сайта есть две проблемы. Во-первых, в моменты крупных и сильно ожидаемых состязаний количество посетителей на сайте увеличивается на порядок. Вторая проблема — он сделан на WordPress, причем довольно небрежно. Думаю, что изначально это был обычный WP-сайт. Но потом он многократно «дорабатывался»: куда ни попадя втыкались разные рекламные блоки, вводились новые «решения», ставились всякие плагины для «оптимизации» и расширения возможностей. Кроме того, каждый день, на протяжении нескольких лет, появлялось около десятка постов. Размер БД — несколько гигабайт, ‘upload’ идет на десятки гигабайт. Со временем сайт превратился во что-то похожее на это:
Серия #notNULL — Twig
Давно я забросил переводы тех. литературы по Objective-C / Swift и несколько непереведённых глав из Core Data остались далеко в черновиках. Однако любовь к переводам, разработке и обучению не угасла — изменился подход и мысли о том, как можно всё это упаковывать и организовывать.
Я влюбился в формат обучающих видео.
Малюсенький CI вашего Symfony проекта за 2 минуты
- Проверяем ваш composer.json на серьезные и несерьезные ошибки, вроде неоптимального autoload
- Проверяем ваш composer.lock на security уязвимости в пакетах
- Проверяем вашу базу данных, что ничего не забыли
- Проверяем ваши YAML файлы
- Проверяем Coding Style по Symfony
MageConf 2017 видео и материалы конференции
16го Декабря в Киеве прошла самая большая техническая конференция посвященная платформе Magento и eCommerce в целом. Конференция проходила в 4 параллельных потока, на которых было презентовано 30 докладов и воркшопов. Конференцию посетили 600+ участников.
Главному ивенту предшествовал Magento Contribution Day, проводимый в офисе компании Magento за день до этого и собравший более 100 человек, которые вместе с Magento Core программистами и архитекторами работали над улучшением платформы и исправлением багов. А также над разработкой новой функциональности системы — Multi-Source Inventory.
В ходе ивента было поставлено 40+ Pull Request в Magento 2 репозиторий.
В данном посте предлагаю ознакомиться с видео всех выступлений, которые вы найдете под катом. С программой конференции MageConf 2017 можно ознакомиться перейдя по ссылке.
Достоинства и фатальные недостатки типизации в php
Язык php часто ругают, обычно необоснованно. Особенно удивляет, что javascript ругают меньше. Зачастую это делают люди, которые писали на нем 10+ лет назад, когда язык был действительно чертовски плох, да и разработчики в те времена не задумывались над качеством кода. Посмотрите хотя бы на код wordpress, который до сих пор вызывает шок.
Ругают необоснованно, но проблемы у языка, конечно же, есть, и они серьёзные. Разуметеся, если сравнить последние релизы php7 (с нормальным ООП и строгим тайпхинтингом) и php4, то разница будет колоссальная. Однако и в последних версиях языка не всё гладко, и до java/c# пока что очень далеко. Более того, берусь утверждать, что будущее php тоже довольно сомнительно (с точки зрения типов).
Другими словами, давайте рассмотрим предметно, что хорошо и что плохо в php с точки зрения типизации.
Бег в мешках с завязанными глазами спиной вперед
Гордость и предубеждение
Способность делать что-либо быстро всегда высоко ценится ее обладателем, зачастую независимо от качества исполнения. — Джейн Остин
На benchmarksgame часто ссылаются, чтобы доказать преимущества или недостатки того или иного языка программирования. Однако тут нужно быть аккуратным. Те, кто профессионально занимаются замерами производительности, знают, что в этом деле есть множество подводных камней, и можно легко попасть в просак. Например, виртуальной машине Java нужно некоторое время, чтобы прогреться. Соответственно на слишком коротких тестах результаты будут нерепрезентабельны. К счастью, с точки зрения статистики на сайте используется очень даже систематичный подход.
Но цифрам все равно нельзя верить, и вот почему.
Разбор PHP-задач Badoo и новый тест. Как получить оффер в Лондон в феврале
Привет, Хабр!
В июле мы проводили рекрутинговое мероприятие для PHP-разработчиков, по результатам которого пять человек получили оффер в наш лондонский офис. Мы продолжаем быстро расти: Android- и iOS-команды с того времени стали на 11 человек больше, поэтому мы снова запускаем конкурс для PHP-разработчиков.
Правила те же: покажи высокий результат в тесте, успешно пройди интервью 10 или 11 февраля в Москве — получи оффер в лондонский офис Badoo.
Все расходы по приезду на интервью в Москву компания берёт на себя, равно как и всё связанное с дальнейшим переездом в Лондон: рабочие визы членам семьи, 10 000 фунтов стерлингов (≈ 770 000 рублей) на переезд, совершенствование английского, поиск жилья.
Чтобы выполнять тестовое задание было интереснее, по многочисленным просьбам (1, 2, 3) под катом мы разберём задачи с предыдущего мероприятия, рассмотрим их правильные решения, и я объясню, почему мы выбрали именно их, а также приведу некоторые примеры, статистику и варианты решений от кандидатов.
UPD: мероприятие завершено. По итогам к нам присоединились 7 человек.
PHP-Дайджест № 123 (1 – 14 января 2018)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP-PM 1.0 и другие релизы, порция полезных инструментов, и многое другое.
Приятного чтения!
Как я определял провайдера по IP
21 совет по эффективному использованию Composer
Хотя большинство PHP-разработчиков умеют пользоваться Composer, не все делают это эффективно или лучшим возможным образом. Поэтому я решил собрать советы, которые важны для моей повседневной работы. Большинство из них опираются на принцип «От греха подальше»: если что-то можно сделать несколькими способами, то я выбираю наименее рискованный.
Обзор заготовки web-приложения на Zend Framework 3
Статья является обзорной и не несет в себе никаких how-to-туториалов. Если вы случайно "напоролись" на неё в сети, то предупреждаю сразу, что она не научит вас использовать Zend Framework 3 (далее ZF3).
Привет, читатель! Решил я анонсировать свое детище на замечательном ресурсе Хабрахабр. Я не являюсь постоянным читателем, но понимаю, что основная часть людей ищущих что-то интересное натыкается непременно сюда. Пришел сюда спецом за трафиком, ибо нет сил наблюдать больше смерть своих творений.
Простой планировщик задач на PHP
В процессе эволюции более-менее крупного проекта может настать ситуация, когда количество запланированных задач (cron jobs) становится настолько большим, что поддержка их становится ночным кошмаром devops'ов. Для решения этой проблемы мне пришла в голову идея создать реализацию планировщика на PHP, тем самым сделав его частью проекта, а сами задачи — частью его конфигурации. В этом случае необходимое и достаточное количество cron jobs будет равно единице.
Опыт участия в проекте для стажеров в роли наставника
Данная статья будет обзорной, без особых деталей разработки ПО. Моей целью является познакомить читателя с опытом, который я приобрел пока участвовал в стажировке в роли наставника. Я не называю компанию, в которой работаю и не называю проект, в котором участвовал так как это противоречит правилам ресурса.
Введение
В Томске сложно найти разработчиков, даже среди казалось бы такого популярного стека как php + mysql. Собственно, идея участия возникла из-за проблем с нехваткой кадров, и мы (компания) решили пойти на эксперимент и попробовать найти сотрудников среди людей с небольшим опытом. Как-то на кухне был поднят вопрос о том, кто и что знает про проекты для стажеров, новичков. Нашлись те, кто уже участвовал, поделились, обсудили. Я сообщил о том, что готов принять участие.
Вклад авторов
-
pronskiy 10035.4 -
SamDark 1389.6 -
AloneCoder 987.8 -
youROCK 823.0 -
AntonShevchuk 815.0 -
spasibo_kep 674.0 -
zapimir 559.0 -
alexzfort 558.0 -
olegbunin 557.0 -
pmurzakov 537.2