Фишечки PHP, о которых вы, скорее всего, не знали

php

Можете нас поздравить - это двухсотая запись в блоге! А теперь перейдем к статье.

Всем айтишникам известно, что PHP - очень простой язык с низким порогом вхождения. Простой скрипт на нем сможет написать даже тот, кто не особо разбирается в программировании и не знает большинства синтаксических особенностей языка и приемов разработки на нем. Я сейчас занимаюсь написанием новой версии своего старого проекта PHP Obfuscator. Я переписываю его с нуля, чтобы он поддерживал все самые современные фичи последних версий PHP. Старый обфускатор (1.5) уже и в подметки не годится новому, хотя тот еще не дописан. Так вот, когда пишешь что-то подобное, волей-неволей оказываешься вынужден изучать синтаксис языка в мельчайших подробностях и узнаешь все его особенности и возможности. Поэтому я хочу рассказать о таких интересных свойствах языка PHP, о которых большинство людей, которые пишут на нем код, даже не слышали. Это малоизвестные или совсем новые возможности. Может быть, кто-то начнет их применять, потому что какие-то из них могут оказаться реально полезными. Многие вещи из тех, о которых я собираюсь рассказать, упомянуты в документации на PHP, но какие-то совсем не документированы. Какие-то же факты вас, вероятно, даже удивят. Кроме того, я хочу отдельно рассказать про метапрограммирование в PHP.

Читать далее «Фишечки PHP, о которых вы, скорее всего, не знали»

Психологический тест: история, итоги и статистика

unique_header

Вероятно, многие читатели блога знают, что я какое-то время назад ради интереса написал на PHP простенький движок, позволяющий проводить психологические тесты (и не только психологические). Работающий экземпляр размещен по адресу kaimi.io/projects/soul. Поначалу это был совсем простой скрипт, читающий конфигурацию тестов из XML и позволяющий пользователю отвечать на вопросы. В конце выдавались значения характеристик человека (вроде "задрот", "альфач" и т.д.) в процентах. Скрипт постепенно оброс новым функционалом, реализованным через плагины. Для лулзов был создан тест под названием "Социо-тест! Насколько ты задрот, битард и социофоб? Проверь себя!" (разумеется, я не имею никакого психологического образования, и всё делалось от балды и отлаживалось на себе, друзьях и знакомых). Однако, я, разумеется, не ожидал, что достаточно было один раз вбросить ссылку на него на какую-нибудь популярную имиджборду (например, 2ch), и дальше всё заработает само. Тред с тестом висел в топе несколько дней. Затем ссылку растащили по сети, и она стала появляться на таких популярных сайтах, как joyreactor.сс, dota2.ru, pikabu.ru, lurkmore.to и т.д. В Твиттере, ВКонтакте, ЖЖ и других соцсетях, а также на форумах пользователи стали делиться ссылкой на тест и результаты, что тоже прибавило посещений. Первую версию теста прошло 80 тысяч человек, были высказаны различные пожелания по его улучшению, и я решил доработать тест. Теперь актуальна новая версия, и на момент написания статьи ее прошло уже почти 250 тысяч человек! Это, пожалуй, первый проект, сделанный исключительно ради удовольствия и веселья, который помог окупить хостинг за несколько месяцев благодаря Google Ads.

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

И вот теперь, имея на руках почти 250 тысяч анонимных результатов этого теста, можно привести забавную статистику по самым интересным вопросам и характеристикам, которая наверняка вас повеселит. Для анализа всех результатов был написан еще один увесистый скрипт на PHP. Ну, хватит унылого текста, перейдем к диаграммам! Дальше идет большое количество картинок.

Читать далее «Психологический тест: история, итоги и статистика»

Получаем бесплатные купоны к разным иностранным магазинам

Пожалуй, пришло время разбавить хардкорные статьи более веселыми :)

logo

Давным-давно я рылся в AppStore со своего iPod'а, и попалась мне на глаза забавная на первый взгляд игра Stop Those Fish, смысл которой сводился к тому, что вы, играя компанией медведей-рыбаков, должны глушить рыбу, которая атакует ваши лодки. Был и второй режим игры, доступный после окончания первого, но это уже неважно. Самым интересным оказалось то, что после прохождения каждого уровня на мой личный счет на неизвестном мне на тот момент сайте p4rc.com начислялись очки, если на iPod был включен Wi-Fi, разумеется. Я зарегистрировался на этом сайте и понял, что на эти самые очки можно покупать купоны по 25$ для самых разных американских интернет-магазинов, в том числе Amazon и Ebay (позже стали добавляться и купоны для британских магазинов, затем - билеты на премьеры в кинотеатрах США и т.д.). Один такой купон стоил 1500 очков (причем эти 1500 должны быть набраны в день, когда купон появился), и их набор честным игровым путем занимал больше часа. Новые акции на сайте появляются 1-2 раза в сутки, и во время каждой акции, как правило, доступно три двадцатипятидолларовых купона. Кто успел, тот и съел. Кроме того, за 500 очков можно было купить небольшие скидки и бонусы, доступные всегда. Сейчас на сайте доступно гораздо большее количество разнообразных наград меньших номиналов, но и стоят они дороже, например, карта iTunes на 10$ стоит аж 10000 очков, емана.

Читать далее «Получаем бесплатные купоны к разным иностранным магазинам»

Minecraft + Tekkit: обзор и собственный независимый сервер

Мы уже говорили об этой игре, правда, немного в другом ключе. Сейчас же речь пойдет о том, как можно получить от этой игрушки массу удовольствия и при этом провести время с пользой (относительной, конечно, но гораздо большей, чем от других компьютерных игр). Кроме того, я расскажу, как настроить (и немного запрограммировать на PHP) собственный сервер с регистрацией и авторизацией пользователей.

Итак, начнем. Для начала поговорим об оригинальном Minecraft'е. Для совсем незнающих - это игра жанра "песочница". Базовый принцип - ломать и строить блоки, а также собирать из одних предметов другие. Minecraft из коробки предоставляет не так-то много возможностей для игрока, и всю суть игры можно описать буквально в двух словах.

Читать далее «Minecraft + Tekkit: обзор и собственный независимый сервер»

Четвертый квест. Полное прохождение.

Прошло уже прилично времени с момента запуска нашего четвертого квеста (расположен тут, поэтому публикуем полное прохождение с блэкджеком и шлюхамиачивками и "пасхальными яйцами". Итак, как вы уже, наверное, знаете, квест этот нелинейный и имеет несколько ветвей сюжета, которые выбираете вы сами. Впрочем, после прохождения (или даже забив на нее) какой-либо ветки можно было пройти и другие, увидев в итоге весь контент и пройдя все задания. В квест было добавлено аж 40 достижений (это же модно!). Сейчас уже не получится взять все, однако я все равно опишу каждое.

Читать далее «Четвертый квест. Полное прохождение.»

Итоги четвертого квеста

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

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

Поздравляем всех победителей, попавших в ТОП-20! Первая тройка обязательно получит денежные призы, мы с ними уже связались. Вот никнеймы этих счастливчиков:

1. pikapika - получает 350$
2. Pestilence - получает 250$
3. DeViaT0R - получает 150$

Также хочу анонсировать небольшое обновление движка квеста.
[+] Добавлена новая статистика игроков - "Рейтинг по прохождению". В нем отображаются первые тройки игроков, завершившие каждую ветку сюжета.
Еще есть, к чему стремиться, так как кое-какие ветки до сих пор не пройдены!
[+] Теперь все окна можно перетаскивать в пределах экрана.
[+] Теперь вся статистика кешируется и обновляется раз в 5 минут.
[+] Поправлены некоторые ошибки в сюжетных текстах (спасибо всем, кто писал о них в комментариях).

Все вопросы по прохождению по-прежнему можно задавать в предыдущем посте в нашем блоге или в теме на Форуме АНТИЧАТ.

Напоследок, для тех, кому понравился наш четвертый квест, но кто не играл в предыдущие части, напомню ссылки на них.
Первая
Вторая
Третья (на английском языке)

Quest 4

Вот и пришло время четвертого квеста. Не буду долго распространяться, вот основные фичи этой части:

[+] Смесь консоли и графического интерфейса + осмысленный сюжет
[+] 7 сюжетных линий с разными концовками, вы сможете пройти все
[+] Более 40 самых разнообразных IT-заданий с подсказками
[+] 40 достижений
[+] Различный дополнительный контент

Выход квеста приурочен к десятилетию Форума АНТИЧАТ.

Регистрация включится автоматически 27-го мая.

Уже хотите поиграть? Тогда вам СЮДА! Удачи в прохождении!

Windows — автоматизация задач с помощью скриптов. Интересные возможности WSH

Пожалуй, многие знают, что Windows начиная с версии 98 имеет по умолчанию в своем составе Windows Script Host (WSH), который позволяет исполнять скрипты на языках VBScript и JScript, но далеко не каждый хотя бы раз пользовался этой возможностью. В этой статье я приведу примеры полезных сниппетов и скриптов для WSH и попробую убедить вас в том, что вещь это действительно стоящая. Я также расскажу об очень занимательных и полезных возможностях WSH, о которых практически никто не знает, и информацию о которых в интернете найти весьма непросто.

Читать далее «Windows — автоматизация задач с помощью скриптов. Интересные возможности WSH»

Quest 3 — Return to Classics — Полное прохождение


В этой статье я опишу полное прохождение нашего третьего квеста.

Напоминаю его адреса:

Русская версия
Английская версия

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

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

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

Читать далее «Quest 3 — Return to Classics — Полное прохождение»

Kaimi & DX Quest 2 — Reloaded: Прохождение

Пришло время опубликовать прохождение второго нашего квеста (Напомню, что прохождение первого было опубликовано в Журнале "Хакер"). Надеемся, это поможет желающим завершить начатое и получить новые интересные знания, пройдя те злосчастные уровни, которые они не смогли пройти :)

Для тех, кто не в теме, напоминаю адрес квеста: тыц.

Как наверняка заметили те, кто проходил первый квест, во втором есть одно отличие - занудная скрепка-помощник, которая будет задалбывать вас своими советами на протяжении всего прохождения :)
Тем не менее, она иногда будет действительно давать дельные советы и даже решения уровней.
Читать далее «Kaimi & DX Quest 2 — Reloaded: Прохождение»