Pull to refresh
54
-1
Антон Медведев @Elfet

Программист

Send message

Expr: простой и мощный ЯП на Go

Level of difficulty Easy
Reading time 2 min
Views 5.4K

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

Сегодня хочется поделиться с вами открытием, которое, возможно, окажется полезным для тех, кто работает с языком программирования Go и ищет надежный инструмент для вычисления выражений. Речь пойдет о библиотеке expr от Anton Medvedev.

Читать далее
Total votes 25: ↑3 and ↓22 -19
Comments 5

Начало работы с Webpod: упрощенное решение для деплоя вашего веб-сайта

Level of difficulty Easy
Reading time 3 min
Views 1.9K

Приветствую, товарищи разработчики!

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

Читать далее
Total votes 8: ↑5 and ↓3 +2
Comments 10

Русские шашки: реализация минимакса с альфа-бета отсечением в Golang

Level of difficulty Easy
Reading time 4 min
Views 2.3K

В предыдущих записях блога мы обсудили, как эффективно генерировать ходы и представлять шашечную доску в Golang. Теперь мы углубимся в сердце нашей игры в шашки: ИИ, который принимает решения. ИИ будет использовать алгоритм Minimax с Alpha-Beta отсечением, популярный метод принятия решений в настольных играх.

Читать далее
Total votes 4: ↑3 and ↓1 +2
Comments 3

Русские шашки: представление доски с помощью двух uint64

Level of difficulty Easy
Reading time 3 min
Views 7K

При разработке игр, особенно таких настольных игр, как шашки, представление доски является важнейшим компонентом производительности игры. Доска - это, по сути, состояние игры: на ней хранится вся информация о положении фигур, о том, чей сейчас ход, и другие важные данные игры. Эффективность представления доски влияет на скорость и эффективность генерации ходов ИИ, что в свою очередь влияет на игровой процесс.

Одним из распространенных методов представления доски является использование двумерного массива, где каждая клетка представляет собой квадрат на доске. Хотя этот подход интуитивно понятен, он не самый эффективный, особенно для игр со сложными правилами или большими размерами доски. Для таких игр нам нужен более эффективный метод представления доски. На помощь приходит "битовая упаковка" - техника, использующая битовые операции для хранения и манипулирования информацией о состоянии игры. В этой статье блога мы рассмотрим реализацию игры в шашки, которая использует битовую упаковку для представления игрового поля с помощью двух uint64.

Читать далее
Total votes 15: ↑14 and ↓1 +13
Comments 32

Русские шашки: эффективная генерация ходов в Golang

Level of difficulty Easy
Reading time 3 min
Views 5.4K

Я рад представить вам свою реализацию ИИ для русских шашек под названием "damka" (https://github.com/antonmedv/damka). Проект, размещенный на GitHub и доступен для игры по адресу https://medv.io/шашки/, включает в себя ИИ, который следует правилам игры в русские шашки

Читать далее
Total votes 6: ↑5 and ↓1 +4
Comments 7

Fx — мощная JavaScript альтернатива jq для JSON

Level of difficulty Easy
Reading time 4 min
Views 5.3K

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

Появился FX - неинтерактивная, основанная на JavaScript альтернатива JQ, которая обещает стать переломным моментом. В этой статье блога вы окунетесь в мир FX и узнаете, как его можно использовать для упрощения задач обработки JSON.

Читать далее
Total votes 12: ↑8 and ↓4 +4
Comments 8

fx — алтернатива jq для обработки JSON из командной строки

Reading time 2 min
Views 8.8K


jq — самая популярная утилита для обработки JSON из командной строки, написана на C и имеет свой собственный синтаксис для работы с JSON.


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


Так и появилась идея написать fx с простым и понятным синтаксисом, который никогда не забудешь. А какой язык программирования знают все? Правильно — JavaScript.

Читать дальше →
Total votes 23: ↑14 and ↓9 +5
Comments 19

WebCrypt — сервис онлайн шифрования

Reading time 1 min
Views 45K
webcrypt.org — open source сервис онлайн шифрования прямо в браузере. Код выложен на GitHub под GNU GPL и хостится на GitHub Pages. Для шифрования используется замечательная библиотека Стэнфордского Университета SJCL.



Читать дальше →
Total votes 40: ↑33 and ↓7 +26
Comments 73

Silicone Skeleton — настроенный Silex

Reading time 2 min
Views 15K

Если вы не один раз начинали новые проекты с использованием Silex, то вы знаете что каждый раз в начале нужно настроить его под себя: добавить провайдеры, переопределить некоторые сервисы, определить структуру каталогов, и т.д. Со временем у вас появляется базовый набор для Silex которые вы используете для создания нового проекта.
Но если у вас его нету, предлагаю вам ознакомиться с моим: Silicone Skeleton.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Comments 11

Введение в Wolfram Mathematica

Reading time 4 min
Views 165K

Введение


На хабре уже не раз упоминалась Mathematica и если вам хочется начать работать с ней, то эта статья для вас. Я расскажу об основных аспектах работы с нею и покажу несколько интересных нововведений из последних версий Wolfram Mathematica.

Wolfram Mathematica — это программное обеспечение, не только для математических вычислений, это гораздо больше: от моделирования и симуляции, визуализации, документации, до создания веб-сайтов. Mathematica обладает возможностью осуществлять вызовы функций и принимать вызовы с C, .NET, Java и других языков, генерировать C код, компилировать автономные библиотеки и исполняемые файлы.
Обо всех достоинствах Mathematica можно почитать на официальном сайте ru

Для начала работы с Mathematica вам необходимо её получить и установить на свой компьютер. Mathematica прекрасно работает на Windows, Mac, Linux.
Скачать и бесплатно попробовать Mathematica так же можно на оф. сайте.
Если же вы надумаете её купить, то цены на неё вполне приемлемые. Например для студента за семестровый вариант она обойдётся в $44.95. Для домашнего использования в $295. Если вы планируете использовать её для коммерческих целей, то наилучший вариант лицензии это Standard Edition (Вы получаете подписку на Premier Service и бесплатные обновления).

Читать дальше →
Total votes 68: ↑54 and ↓14 +40
Comments 18

Внедрение зависимости c Inversion

Reading time 4 min
Views 7.4K
Inversion это простой и функциональный контейнер внедрения зависимости для PHP 5.3. Поддерживает сервис-ориентированную архитектуру, ссылки, PRS-0, и Composer.



Установить можно через packagist.org: granula/inversion либо скачав и добавив к PRS-0 совместимому загрузчику.

$container = new Inversion\Container();
$container['foo'] = 'My\Class\Foo';
// ...
$foo = $container('foo');

Подробности
Total votes 17: ↑9 and ↓8 +1
Comments 18

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

Reading time 3 min
Views 10K


В этой статье я хочу ещё раз поговорить о разработке архитектуры приложения с использованием инверсии зависимости (Inversion of Control).
Я уже писал на хабре о библиотеке IoC и о Modular. Теперь я пошел ещё дальше и упростил все что только можно и попробую объяснить принципы построения архитектуры. А так же расскажу о новой библиотеке Granula.
Кому интересно прошу под кат...
Total votes 9: ↑7 and ↓2 +5
Comments 25

Создание модульной структуры с применением инверсии управления

Reading time 4 min
Views 5.2K
В этой статье я расскажу о том как создать легко расширяемую, модульную структуру. Подобная организация используется в Symfony. Так же мы будем использовать Composer. Что это такое и как его использовать можно почитать тут.
Создать свой велосипед
Total votes 18: ↑16 and ↓2 +14
Comments 8

Карринг и Частичное применение функции в PHP

Reading time 1 min
Views 1.8K
Что такой карринг и частичное применение функции можно прочитать вот в этой статье.

Собственно вот реализация на PHP: github.com/Elfet/Functional

Пример использования частичного применения:
Читать дальше →
Total votes 46: ↑30 and ↓16 +14
Comments 37

Навигация по Хабру при помощи клавиатуры

Reading time 1 min
Views 688
Написал небольшой userscript добавляющий навигацию при помощи клавиатуры на Хабр.
  • PageDown — Переход к следующему посту
  • PageUp — Переход к предыдущему посту
  • Enter — Открыть текущий пост
  • Ctrl + Enter — Открыть пост на новой вкладке
  • Back — Вернутся назад
  • Ctrl + Right — Следующая страница
  • Ctrl + Left — Предыдущая страница
  • Ctrl + Home — На главную

Может быть кому-нибудь пригодится.
Total votes 80: ↑67 and ↓13 +54
Comments 27

PHPText — простая локализация

Reading time 1 min
Views 3.9K
Для локализации программ существует много решений и конечно же gettext. Однако объяснить рядовому пользователю windows, как при помощи его перевести программу, составляет большую трудность.
Поэтому я решил написать небольшое приложение для простой локализации.

Подробности
Total votes 78: ↑60 and ↓18 +42
Comments 32

Вложенные массивы и Magic Methods

Reading time 3 min
Views 17K
Наверное всем известно про волшебные(магические) методы в PHP, а конкретно __get и __set методы. Однако есть неприятная особенность, если нужно изменить значение вложенного массива. Для решение этой проблемы есть простое и элегантное решение.
Читать дальше →
Total votes 57: ↑40 and ↓17 +23
Comments 64
1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity