Как стать автором
Обновить
54
0
Антон Медведев @Elfet

Программист

Отправить сообщение

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

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.7K

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

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

Читать далее
Всего голосов 25: ↑3 и ↓22-19
Комментарии5

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.1K

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

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

Читать далее
Всего голосов 6: ↑3 и ↓3+2
Комментарии10

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.7K

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

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии3

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.2K

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

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

Читать далее
Всего голосов 10: ↑9 и ↓1+13
Комментарии32

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8K

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

Читать далее
Всего голосов 5: ↑4 и ↓1+4
Комментарии7

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.7K

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

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

Читать далее
Всего голосов 12: ↑8 и ↓4+4
Комментарии8

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

Время на прочтение2 мин
Количество просмотров9.3K


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


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


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

Читать дальше →
Всего голосов 23: ↑14 и ↓9+5
Комментарии19

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

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



Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии73

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

Время на прочтение2 мин
Количество просмотров15K

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

Введение в Wolfram Mathematica

Время на прочтение4 мин
Количество просмотров168K

Введение


На хабре уже не раз упоминалась 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 и бесплатные обновления).

Читать дальше →
Всего голосов 68: ↑54 и ↓14+40
Комментарии18

Веб-консоль на PHP

Время на прочтение1 мин
Количество просмотров37K

Как-то я уже писал о веб-консоли через которую можно управлять Git-ом. Теперь же я решил развить её и сделать универсальную консоль.

Читать дальше →
Всего голосов 43: ↑33 и ↓10+23
Комментарии43

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

Время на прочтение4 мин
Количество просмотров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');

Подробности
Всего голосов 17: ↑9 и ↓8+1
Комментарии18

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

Время на прочтение3 мин
Количество просмотров10K


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

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

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

Управление GIT-ом через веб-консоль на PHP

Время на прочтение1 мин
Количество просмотров9.7K
Я люблю git. Я использую его во всех своих проектах. Поэтому я решил сделать веб-консоль для управления git-ом на PHP.

Читать дальше →
Всего голосов 49: ↑38 и ↓11+27
Комментарии30

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

Время на прочтение1 мин
Количество просмотров1.8K
Что такой карринг и частичное применение функции можно прочитать вот в этой статье.

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

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

IoC на PHP

Время на прочтение2 мин
Количество просмотров15K
Inversion of Control (IoC) контейнеры — это удобный способ организации внедрения зависимости получивший широкое применение в мире Java.

Данная библиотека позволяет использовать IoC контейнеры в PHP.

Как?
Всего голосов 44: ↑33 и ↓11+22
Комментарии120

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

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

Может быть кому-нибудь пригодится.
Всего голосов 80: ↑67 и ↓13+54
Комментарии27

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

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

Подробности
Всего голосов 78: ↑60 и ↓18+42
Комментарии32

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

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

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность