Pull to refresh

Странности с php-модулем Memcached

Reading time 1 min
Views 1.7K
System administration *
На 4 серверах стоит модуль Memcached (1.0, libmemcached 0.34, memcached 1.2.6), который прикручен к:
1. Nginx + PHP-FPM (5.2.11)
2. Nginx + SpawnFCGI + PHP (5.2.6)

Через некоторые промежуток времени php перестаёт принимать новые соединения — в error.log nginx'a валится «connection refused». Когда использовался модуль Memcache подобных проблем не наблюдалось. Сейчас проблема решается костылём — что-то вроде nc -w 2 localhost 9000 || /etc/init.d/php restart. Кто-нибудь сталкивался с подобной проблемой? Есть идеи, как её решить? Возврат к memcache, смену ЯП и т.п. не предлагать.
Total votes 5: ↑1 and ↓4 -3
Comments 13

Разработка под Android, грабли большие и не очень

Reading time 4 min
Views 47K
Development for Android *
Ниже я попробую описать ряд неприятных особенностей с которыми может столкнуться разработчик для платформы Android. Не все они являются особенностью именно операционной системы Android, но так или иначе шансы встретиться с ними есть.
Читать дальше →
Total votes 99: ↑95 and ↓4 +91
Comments 58

Apple Magic Trackpad в офисе и дома

Reading time 4 min
Views 23K
Computer hardware
image

Прототипом для названия этого поста послужила старая детская повесть «Витя Малеев» в школе и дома. Как нетрудно догадаться, в этом литературном произведении описаны приключения бойкого юноши в школьном и домашнем окружении, где нормы поведения и все условия для экспериментов различаются порой радикально. Вот примерно в такую обстановку и попал Apple Magic Trackpad с моей помощью, о чем и хотелось бы по мере сил поведать всем, кому это может быть интересно.

Читать дальше →
Total votes 37: ↑21 and ↓16 +5
Comments 22

Новый взгляд на online Magic 8 Ball

Reading time 2 min
Views 759
HTML *
image

Доброго времени суток, уважаемые хабравчане!

Да, сегодня речь снова пойдет о шарике из фильма «Трасса 60». Кто-то слышал о нем, кто-то видел, кто-то даже купил себе экземпляр и пользуется в своей профессиональной деятельности (куда уж без этого в IT-сфере?).
Но даже тех, кому данная тема успела набить оскомину, я прошу не отбрасывать с ходу эту публикацию. Мой шарик хранит в себе небольшую тайну…
Читать дальше →
Total votes 49: ↑20 and ↓29 -9
Comments 47

Поля класса доступные по имени с setter и getter в C++

Reading time 9 min
Views 23K
C++ *
Sandbox
Как известно, в C++ нет средства описания полей класса с контролируемым доступом, как например property в C#. На Хабрахабре уже пробегала статья частично на эту тему, но мне решительно не нравится синтаксис. К тому же очень хотелось иметь возможность обращаться к полям из ран-тайма по имени.
Читать дальше →
Total votes 55: ↑42 and ↓13 +29
Comments 44

Реализация объектов-словарей, как в Javascript

Reading time 3 min
Views 7.8K
Python *
Недавно, после длительного взаимодействия моего мозга с Javascript я вернулся к привычному для меня Python, и понял, что чего-то мне не хватает, а именно объектов как в Javascript, тех что хеш-таблицы, ага. Фууууу, может быть скажете вы и, возможно зря.
Читать дальше →
Total votes 63: ↑58 and ↓5 +53
Comments 41

Фокусы кибериллюзиониста Марко Темпест

Reading time 1 min
Views 767
Gadgets
Марко Темпест — известный Швейцарский иллюзионист (или как он себя сам называет — кибериллюзионист), использующий в своих фокусах новые технологии. В этом посте я хотел бы поделится двумя видео с его фокусами.

Читать дальше →
Total votes 97: ↑82 and ↓15 +67
Comments 42

Чудесное новогоднее поздравление — v.2012 (feat.MSP)

Reading time 1 min
Views 854
IT-companies
Дорогие друзья, коллеги, хабрапользователи!

В какун Нового года хочу поздравить вас с праздником в форме видео-обращения с кусочками микромагии. Также вместе со мной вас поздравляют некоторые мои друзья и студенты-партнёры Майкрософт. Поскольку я тоже много говорю про Майкрософт, думаю, будем уместно сделать это в соответствующем блоге!

С НОВЫМ ГОДОМ!



Читать дальше →
Total votes 37: ↑18 and ↓19 -1
Comments 6

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

Reading time 4 min
Views 8.6K
Haskell *Functional Programming *
Tutorial
Большой бедой Узким местом статической типизации являются гетерогенные коллекции и вариадические функции. Поэтому в RPC-библиотеках часто встречается подход, когда входящие данные так и лежат одним ADT-куском, а для методов один такой же плоский тип "[Foo] -> IO Foo", реализации которого копипастят десериализацию/сериализацию, что неудобно и плодит ошибки, в т.ч. рантаймовые.

Решение этой задачи меня беспокоило практически с самого начала практического применения мной хаскеля и, наконец, вчера ночью на меня снизошло вдохновение аж в 6.5 миллиолега и после сеанса гадания на ошибках и беседы с ghci у меня всё получилось.



Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Comments 25

Обработка аннотаций в процессе компиляции

Reading time 10 min
Views 32K
e-legion corporate blog Java *Development of mobile applications *Development for Android *
magicМетапрограммирование — вид программирования, связанный с созданием программ, которые порождают другие программы как результат своей работы (в частности, на стадии компиляции их исходного кода), либо программ, которые меняют себя во время выполнения.

Аннотации, как инструмент метапрограммирования появились вместе с релизом Java 5 в далеком 2004 году. Вместе с ними появился инструментарий Annotation Processing Tool, на смену которому пришла спецификация JSR 269 или Pluggable Annotation Processing API. Что интересно, этой спецификации без малого 10 лет, но свою популярность в Android разработке она начала обретать только сейчас.

О возможностях, которые открывает эта спецификация мы поговорим чуть позже (будет мнооого кода), а сперва, не хотите ли поговорить о компиляции Java кода?
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Comments 17

Compile-time функциональное программирование в D

Reading time 7 min
Views 7.8K
Abnormal programming *Programming *D *
Сегодня мы рассмотрим одну из главных фич языка D, ради которой он и создавался — это продвинутое программирование на этапе компиляции. Некоторые могут припомнить как на C++ высчитывается факториал или, что посложнее, реализацию игры «Жизнь» и испугаться. Не стоит, шаблоны в D на порядок проще и мощнее аналога из C++, но все равно они требуют особого подхода в размышлениях, поэтому для акклиматизации сложность материала будет нарастать постепенно.

Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Comments 29

Как потерять и найти свой аккаунт на AWS

Reading time 1 min
Views 8.7K
DataArt corporate blog Amazon Web Services *
Очень полезный пост на 3 предложения, который, тем не менее, поможет сэкономить время и нервы.

Несколько дней назад, со мной случилась пренеприятнейшая штука: при попытке войти в AWS Console с домашнего компьютера, я увидел вместо списка сервисов — экран регистрации. Смешных картинок с моим фейсом не будет, вы и так понимаете ситуацию — проект в лайве. После нескольких попыток перелогиниться в режиме инкогнито и в других браузерах, ситуация оставалась прежней. Ничего кроме как завершить регистрацию мне не оставалось. После этого я получил — ТА-ДАМ — совершенно девственный аккаунт.
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Comments 6

Опыт перехода с Sublime на Vim

Reading time 22 min
Views 75K
Website development *PHP *VIM *
Sandbox


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

Я достаточно долгое время использовал sublime (около 4 лет) в качестве основной среды разработки, но в последнее время кое-что изменилось: я освоил слепой 9-ти пальцевый метод печати. В тот момент я начал понимать людей, которым неудобно тянуться к мышке или стрелочкам. Убирать пальцы с «домашних» позиций стало неестественно и непродуктивно. Тогда я включил vintage. Проблема, вроде бы, стала неактуальна, но чего-то не хватало. Не помню, что заставило меня пересесть за vim, но мне всегда нравилось, как в нем выделяются фигурные скобки (MatchParen) и как выглядит курсор :). Vim я пробовал и до этого, когда правил конфиги на сервере, правда, вся «магия» ограничивалась переходом в режим вставки и успешным сохранением/выходом из редактора.
Читать дальше →
Total votes 62: ↑55 and ↓7 +48
Comments 123

Инстанцируем java.lang.Class

Reading time 13 min
Views 36K
Abnormal programming *Java *


Конструктор java.lang.Class является одной из самых охраняемых сущностей в языке Java. В спецификации чётко сказано, что объекты типа Class может создавать только сама JVM и что нам тут делать нечего, но так ли это на самом деле?


Предлагаю погрузиться в глубины Reflection API (и не только) и выяснить, как там всё устроено и насколько трудно будет обойти имеющиеся ограничения.

Читать дальше →
Total votes 56: ↑54 and ↓2 +52
Comments 15

Magic — стартап, выполняющий ваши желания

Reading time 1 min
Views 14K
Lifehacks for geeks
Американская компания Plus Labs, Inc. предлагает жителям США интересный сервис под названием Magic –т.е. «Волшебство». Пользователь сервиса может отправить на телефон компании СМС с запросом любой услуги, которая легально доступна за деньги – от заказа пиццы до покупки авиабилетов. Операторы обрабатывают запросы круглосуточно. Стартап принимает оплату через платёжного агрегатора Stripe, который недавно объявил о поддержке Bitcoin в числе прочих вариантов платежей.
Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Comments 35

Sensay – сервис взаимопомощи по sms

Reading time 1 min
Views 5.1K
Crowdsourcing


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

Идея сервиса проста – вы регистрируетесь со своим телефонным номером и получаете специальный номер, куда в любой момент можете отправить запрос, начинающийся со слова «need». Система автоматически определяет область, к которой принадлежит ваш вопрос, и переадресовывает его подходящему «специалисту».
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 3

Новый сервис «Хоттабыч» — Мы можем всё

Reading time 5 min
Views 20K
Хоттабыч corporate blog Software Lifehacks for geeks
Что же такое Хоттабыч в 2015 году? Это мобильное приложение или сервис, который предназначен для удобного заказа чего угодно. Наши операторы профессионально помогут выбрать любую желаемую услугу или товар, а возможно и то и другое одновременно, и получить исчерпывающую информацию о деталях заказа. Подбор различных вариантов, расчет стоимости, выбор поставщика услуги, учет возможных особенностей и рисков, доставку и прочие заботы мы берем на себя.
Читать дальше
Total votes 40: ↑30 and ↓10 +20
Comments 57

Русскоязычная документация по Angular

Reading time 2 min
Views 18K
Angular *
Русская версия документация Angular теперь доступна для всех на сайте angular24.ru

image

Это результат 6 месяцев работы, нескольких безуспешных попыток написать все необходимые remark плагины, кастомного парсера и цепочки из двух Magic Strings, позволяющих делать перевод Markdown файлов без потери форматирования.
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 5

Python. Выражения в методах и индексаторах

Level of difficulty Easy
Reading time 8 min
Views 2.6K
OTUS corporate blog Python *
Tutorial

Если вам когда-нибудь приходилось работать с NumPy, то вы скорее всего знаете, что в индексатор массива можно передать не только индексы начала, конца, и шага. Потрясающая возможность - получить срез массива по некоторому условию, в виде data[data > 0] предает массивам NumPy некоторое сходство с СУБД.

Тут же можно вспомнить про SqlAlchemy и возможность передать в функцию filter некоторое условие для отбора записей session.query(MyModel).filter(MyModel.field == 10).

Отличные, в общем-то возможности, не так ли? Не возникало ли у вас вопроса как они работают внутри? data > 0 и MyModel.field == 10 с точки зрения грамматики языка являются выражениями, и при передаче куда-либо Python попытается вычислить их значения. Попробуем разобраться как это работает.

Читать далее
Total votes 15: ↑15 and ↓0 +15
Comments 9