Pull to refresh
10
0
Олег Шабашов @WindDrop

User

Send message

Игра, которую невозможно не полюбить

Level of difficultyEasy
Reading time16 min
Views12K

Здравствуйте, уважаемые хабровцы!

Меня зовут Ернар Шамбаев, я - разработчик компьютерной версии игры “Мастер тогызкумалака”, и сегодня я бы хотел рассказать вам об одной увлекательной настольной логической игре, про которую вы вряд ли слышали, несмотря на то, что в нее играют сотни тысяч человек по всей планете и по ней проводятся даже чемпионаты мира, Европы и Азии. Надеюсь, после прочтения данной статьи количество поклонников этой игры увеличится.

Трудно сказать, какая настольная игра является древнейшей на Земле. Споры не утихают по сей день. Кто-то говорит, что самой древней игрой является египетский сенет, кто-то настаивает, что древнейшая игра - это ур из Месопотамии, кто-то считает таковой го, кто-то - игры семейства манкала. А может, банальные игральные кости - древнейшая игра? Думаю, точка в этом вопросе не будет поставлена никогда. В любом случае не оспаривается, что игры семейства манкала (к ним относится тогызкумалак, которому посвящена статья) - это крайне древние игры, и им насчитывается несколько тысяч лет.

Человеку нужен не только хлеб, человеку нужны и зрелища. Ему нужна пища для ума, какой-то способ времяпровождения, который скрасит быт и рутину. Такой пищей для ума кочевников, которые пасли скот в бескрайних степях на территориях, сейчас относящихся к Казахстану, стала игра тогызкумалак (в переводе с казахского - “девять шариков”). Число 9 было священным у тюркских народностей. Российский исследователь игр А.П. Шиляев полагает, что казахская игра - свидетельство зарождения десятеричной системы счисления. Считается, что тогызкумалаку около 4 тысяч лет (возможно, цифра слегка завышена). Тогда, естественно, никто не мог предположить, что игра станет настоящим вызовом в эпоху компьютеров и нейросетей.

Читать далее
Total votes 53: ↑52 and ↓1+51
Comments16

Чему мы научились, разрабатывая backend

Reading time3 min
Views33K
imageРазработка Parallels Access потребовала создания геораспределенного сервиса, позволяющего безопасно устанавливать связь между компьютерами и мобильными клиентами пользователей в различных точках земного шара. Команда, которая над ним трудится, хочет поделиться полученным опытом в форме цитат, чтобы облегчить участь тем, кто только планирует создание своего клиент/серверного продукта, и погрузить в ностальгию профессионалов, имеющих за спиной дюжину успешных проектов:
Читать дальше →
Total votes 73: ↑68 and ↓5+63
Comments37

АнтиЗапрет — Скажи цензуре нет!

Reading time1 min
Views159K
Как и обещал, сделал бесплатный VPN и прокси-сервер, который проксирует только ресурсы, внесенные в единый реестр запрещенных сайтов Роскомнадзором, Роспотребнадзором или ФСКН.
Не нужно искать прокси или VPN, включать/выключать их постоянно, а один раз настроить и забыть.

ПростоVPN.АнтиЗапрет


Сервис использует API сайта antizapret.info и обновляет списки раз в сутки.
Есть два способа настройки: как прокси и как VPN.
Читать дальше →
Total votes 169: ↑150 and ↓19+131
Comments124

Модульное тестирование поведения Yii2 с помощью Codeception

Reading time8 min
Views45K
В разработке программного обеспечения написание автоматических тестов часто отодвигается на второй план более насущными проблемами. Так и в моем случае, код писать приходилось, а тесты к нему — нет. При этом давно хотелось попробовать модульное тестирование собственного кода, а тут под руку подвернулось поведение Yii2 ManyToMany Behavior, о котором уже писали на Хабре. Это поведение я сначала немного расширил, а затем решил собрать комплект тестов.

Сами тесты, в том числе те, о которых идет речь в этой статье, можно посмотреть в репозитории по ссылке выше. Все команды выполнялись под Windows с глобально установленным composer, но я думаю, что разработчики, пользующиеся Linux, без затруднений смогут адаптировать их под себя.

Далее мы рассмотрим настройку Codeception с модулем для Yii2 и создание тестов для поведения.
Узнать, как...
Total votes 15: ↑14 and ↓1+13
Comments12

Nginx и https. Получаем класс А+

Reading time4 min
Views161K
image

Недавно вспомнилось мне, что есть такой сервис — StartSsl, который совершенно бесплатно раздаёт trusted сертификаты владельцам доменов для личного использования. Да и выходные попались свободные. В общем сейчас напишу, как в nginx настроить HTTPS, чтобы при проверке в SSL Labs получить рейтинг А+ и обезопасить себя от последних багов с помощью выпиливания SSL.

Итак, приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала опубликую итоговый конфиг, а после этого разберу его.
Читать дальше →
Total votes 61: ↑52 and ↓9+43
Comments85

Переходим на HTTPS на Nginx: шпаргалка

Reading time3 min
Views150K
Уже второй раз сталкиваюсь с задачей «поставь https на наш сервер» от моего босса, поэтому решил сделать для самого себя шпаргалку, а заодно и для всех остальных. Итак, ситуация следующая: к нам пришел босс и заявил, что ему нужен https. Под катом я напишу 5 простых шагов, как все сделать буквально за час. Приступим.
Читать дальше →
Total votes 66: ↑43 and ↓23+20
Comments60

CloudFlare + nginx = кешируем всё на бесплатном плане

Reading time2 min
Views56K

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

Читать дальше →
Total votes 54: ↑51 and ↓3+48
Comments6

Как бороться с репостами или пара слов о перцептивных хешах

Reading time11 min
Views30K
В этой публикации речь пойдет о подходах к построению перцептивный хешей изображения и возможностях их использования (например, поиск дубликатов).

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

Если хэши отличаются, значит, данные разные. Если хэши совпадают, то данные, скорее всего, одинаковые (поскольку существует вероятность коллизий, то одинаковые хэши не гарантируют совпадения данных). В этой статье речь пойдет о нескольких популярных методах построения перцептивный хешей изображения, а также о простом способе борьбы с коллизиями. Всем кому интересно, прошу под кат.
Читать дальше →
Total votes 55: ↑54 and ↓1+53
Comments26

Пара полезных команд, которые могут пригодиться при DDoS и не только

Reading time3 min
Views81K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →
Total votes 105: ↑101 and ↓4+97
Comments21

Кэти Сьерра о том, как создавать востребованные приложения и повышать «крутизну» своих пользователей

Reading time14 min
Views27K
Можно ли сегодня создать популярное приложение? Рынки поделены, ниши заняты, конкуренция — очень плотная… Но не время разработчикам предаваться печали! Общая планка приложений все еще остается низкой, и обойти всех конкурентов все еще возможно. Так утверждает Кэти Сьерра (Kathy Sierra) в своем выступлении со сложно переводимой темой «Building the minimum Badass User» и его продолжении.

Кэти Сьерра известна в России прежде всего как автор мирового бестселлера «Изучаем Java». Но книги по программированию — это далеко не всё, чем она занимается. Теория обучения, разработка интерфейсов, маркетинг приложений, мотивация — вот неполный список тем, по которым она регулярно пишет статьи и выступает на конференциях. В поле нашего внимания попали именно эти два выступления, потому что они обобщают и резюмируют самое ценное из её собственного опыта разработки, а также сотен прочитанных Кэти научных работ. Перед вами — не перевод, а, скорее, конспект наиболее интересных мыслей и практических рекомендаций.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments9

5 советов по выбору SSD

Reading time4 min
Views110K
Корпоративные пользователи часто сталкиваются с дилеммой, когда возникает вопрос, на чём хранить свои данные и запускать приложения. Во многих случаях необходимо сбалансировать потребность в быстром, надежном, устойчивом хранении и ограниченный бюджет. Время от времени это приводит ИТ-менеджеров к выбору низкопробных SSD накопителей, которые укладываются в бюджет. Они предполагают, что заявленные скорости и объёмы идеально подойдут для выполнения любого рода задач. Но не стоит так торопиться.

Читать дальше →
Total votes 63: ↑39 and ↓24+15
Comments28

Information

Rating
Does not participate
Location
Россия
Registered
Activity