В своем проекте на PHP пришлось столкнуться с необходимостью хранения в базе 64-битных целых данных. Нашел только одну статью по теме, зато очень подробную (местами даже слишком) и объясняющую все тонкости. Решил опубликовать перевод на Хабре, на случай, если кто-нибудь столкнется с аналогичной проблемой.
Дмитрий Будников @mephisto
User
Работа с метаданными изображений в WPF
6 min
19KНедавно решил ознакомиться с платформой .NET, языком C# и Windows Presentation Foundation.
В процессе изучения (а изучаю языки и технологии я всегда в процессе разработки пробного проекта) мне встретилось довольно много подводных камней и тонких моментов. Поделиться с хабрасообществом (я полагаю, что многим начинающим разработчикам WPF это было бы интересно) хочется всем и сразу, но объем получившегося хабратопика был бы слишком большим, поэтому я решил начать с метаданных изображений, т.к. на эту тему информации даже в англоязычном интернете маловато.
+36
-7
Грабли в новой libmemcached
1 min
710Вряд ли конечно это прочитает кто-то из тех, кому эта информация пригодится, но если вдруг — я буду рад, что помог кому-то сэкономить время =)
Сегодня обновил libmemcached до версии 0.35.
Пересобрал один из своих демонов и попытался запустить.
Но не вышло: получил Floating point error.
Перехват сигнала и вывод под-кода ошибки помог уточнить ее — это оказалась ошибка деления на ноль.
В коде демона такой ошибки быть не могло совершенно точно, поэтому я начал разбираться в коде, работающем с libmemcached.
Не буду описывать все пляски с бубном и ход моих умозаключений, но в конечном итоге помогло объявление глобальной переменной (в модуле, работающем с libmemcached), хранящей структуру информации о соединении с сервером memcached, как static.
Не понимаю практического смысла такого объявления данной переменной и того, почему это так повлияло, но факт есть факт.
Сегодня обновил libmemcached до версии 0.35.
Пересобрал один из своих демонов и попытался запустить.
Но не вышло: получил Floating point error.
Перехват сигнала и вывод под-кода ошибки помог уточнить ее — это оказалась ошибка деления на ноль.
В коде демона такой ошибки быть не могло совершенно точно, поэтому я начал разбираться в коде, работающем с libmemcached.
Не буду описывать все пляски с бубном и ход моих умозаключений, но в конечном итоге помогло объявление глобальной переменной (в модуле, работающем с libmemcached), хранящей структуру информации о соединении с сервером memcached, как static.
static memcached_st mcstate;
Не понимаю практического смысла такого объявления данной переменной и того, почему это так повлияло, но факт есть факт.
0
Реализация демона и его взаимодействия с PHP-приложением
3 min
1.3KСобственно это скорее полутопик-полувопрос.
Я опишу схему, которая у меня получилась и попрошу у хабралюдей совета — насколько такая реализация имеет право на жизнь и что в ней стоит улучшить =)
Возможно кому то такая идея понравится и он возьмет ее на вооружение — я не против =)
Такая схема у меня используется в двух задачах, однако распишу все на примере одной.
Итак, у меня есть некоторый онлайн браузерный игровой проект. Задача стояла в том чтобы написать максимально быстродействующий чат, обладающий следующими свойствами:
— низкая нагрузка, создаваемая чатом на сервер;
— поддержка большого количества игроков;
— возможность работы как в непрерывном так и в обычном (рефреш) режимах;
— возможность работы у игроков за прокси-серверами.
Я опишу схему, которая у меня получилась и попрошу у хабралюдей совета — насколько такая реализация имеет право на жизнь и что в ней стоит улучшить =)
Возможно кому то такая идея понравится и он возьмет ее на вооружение — я не против =)
Такая схема у меня используется в двух задачах, однако распишу все на примере одной.
Итак, у меня есть некоторый онлайн браузерный игровой проект. Задача стояла в том чтобы написать максимально быстродействующий чат, обладающий следующими свойствами:
— низкая нагрузка, создаваемая чатом на сервер;
— поддержка большого количества игроков;
— возможность работы как в непрерывном так и в обычном (рефреш) режимах;
— возможность работы у игроков за прокси-серверами.
+4
PHP Extension: тонкости
4 min
6.4KПубликую топик, за который получил инвайт на Хабр =)
Давно подумывал поделиться опытом разработки расширений для PHP, но все время забывал =)
Сейчас, увидев хабратопик об основах создания расширений для PHP в VS2008, решил наконец это сделать.
Поскольку основы были изложены в этом топике, я сразу перейду к более тонким моментам.
Давно подумывал поделиться опытом разработки расширений для PHP, но все время забывал =)
Сейчас, увидев хабратопик об основах создания расширений для PHP в VS2008, решил наконец это сделать.
Поскольку основы были изложены в этом топике, я сразу перейду к более тонким моментам.
+28
Information
- Rating
- Does not participate
- Location
- Varna, Varna, Болгария
- Date of birth
- Registered
- Activity