Почти в каждом более менее динамическом проекте бывает возникает необходимость выполнять очереди задач в фоне (отправка email, обновления кеша, реиндексация поиска и т.д.). Job сервера (Gearman и т.п.) хороши, но для большинства простых задач они избыточны. Классическая реализация очередей в MySQL (при помощи SELECT … LOCK FOR UPDATE) при росте нагрузки со временем начинает приводить к проблемам с блокировкой. Потому, как это обычно бывает, пришлось написать свой «велосипед» для работы с фоновыми задачами, который бы «точно работал» и был предельно прост.
Дмитрий @partyboy
User
Создаем расширения для Google Chrome
6 min
50KВчера задался себе таким вопросом: как можно обезопасить мой профиль в Google Chrome и вообще все данные, которые в нем хранятся? Немножко погуглив, я нашел ссылки на кучу расширений (типа этого), которые позволяют устанавливать пароль как на браузер так и на отдельные его профиле (это логично, если знать как работает Chrome в режиме мультипрофильности). Я начал их устанавливать и сразу тесты на баги. И как оказалось ни один из них не хочет адекватно работать в режиме мультипрофильности. Не очень-то долго думая я решил написать собственное расширение и заодно разобраться в Google Chrome API.
+22
Rovio Entertainment выпускает новую игрушку
1 min
1.9KКоличество продаж копий игры Angry Birds достигло уже миллиарда. Вероятно, на Хабре нет человека, который не слышал бы об этой игре (пускай даже и не играл). Именно эта игрушка, неожиданно даже для самой компании, стала бестселлером всех времен и народов — даже Nintendo со своим Mario не продала столько. Теперь Rovio старается показать себя не как студию одной игры, разрабатывая еще одну игрушку, не относящуюся к серии «птичек».
+24
Создаем кассетный магнитофон при помощи HTML5 Audio
2 min
19KTranslation
Если вы не знаете, что такое кассета, то вы, вероятно, родились в эпоху хай-тэк, эпоху, которая, несомненно, является интересной и новаторской. Но если же вы имеете представление, что такое аудио-кассеты, то скорее всего вы принадлежите к старшему поколению, динозаврам, которые знают, что объединяет карандаш и аудио-кассету. :)
+112
Музыка на дисководе гибких дисков: теория и примеры
2 min
47KФлоппи-драйв — уже отжившее своё устройство: сегодня практически никто не использует дискеты как носитель информации, поскольку в ходу куда более удобные и быстрые способы распространения информации. Мертвым грузом остаются вполне работоспособные экземпляры, которые могли бы для чего-нибудь сгодиться, например, для извлечения из них музыки.
Внутри дисковода с дискетой с заданной частотой вращается диск с намагничиваемой поверхностью, а считывающая с него информацию магнитная головка позиционируется небольшим шаговым двигателем. Вся конструкция издает характерный шум, знакомый практически всем, и, задавая его ритм и тон, можно получить мотив доставляющих удовольствие музыкальных мелодий.
+28
20 вещей, которые я должен был знать в 20 лет
3 min
717KTranslation
1. Мир пытается оставить тебя тупым. Начиная от банковских платежей и процентов и заканчивая чудо-диетами — из необразованных людей легче вытрясти деньги и ими проще управлять. Занимайтесь самообразованием столько, сколько можете — для того, чтобы быть богатым, независимым и счастливым.
+346
Парсинг BEncode на JavaScript. Просмотр торрент-файлов в Firefox
10 min
6.2KI. Зачем
Есть несколько способов просматривать торрент-файлы: в торрент-клиенте, в BEncode Editor, в файловых менеджерах с плагинами, возможно в сетевых сервисах (но это немножко стрёмно).
Но не всегда удобно вызывать из браузера внешнюю программу. Не всегда эта программа выдаёт полную информацию. Не всегда в удобном виде. Не всегда с возможностью поиска. Поэтому хотелось бы иметь в браузере простой способ просмотреть торрент-файл, чтобы, например:
— узнать содержимое раздачи;
— узнать количество файлов в раздаче;
— узнать информацию о файлах (некоторые трекеры очень снисходительны к неполноте описаний, а в торрент-файлах появляется всё больше информации о файлах — например, разрешение, видео- и аудиокодеки, продолжительность фильмов и т. д.);
— узнать информацию о самом торрент-файле (время создания, трекеры, флаг приватности и т. д.);
— иметь возможность текстового поиска по всей информации.
+19
Посылаем SMS самому себе через Google Calendar
2 min
8.8KНаткнулся недавно на статейку SMS Уведомления + Логирование событий в Google Calendar на PHP
И решил тоже сообразить данный велосипед
И решил тоже сообразить данный велосипед
+36
Отправка бесплатного sms сообщения в linux
3 min
42KUPD: Рыская на просторах интернета набрел на новый более простой способ, без танцев с питоном( а можно и с ним если необходимо).
Оказалось что сайт sms.ru уже более полугода предоставляет Бесплатные СМС для программистов.
Регистрация проходит на номер мобильного телефона, никаких смс отправлять для этого не нужно. На номер придет только проверочный код.
После регистрации можно отправлять до 60смс в день на свой номер, указанный при регистрации. Уже почти месяц как перевел все свои сервисы с гугла на данный сервис. Радует отсутствие минутной задержки перед отправкой и возможность получения статуса сообщения.
Отправить можно разными способами, на сайте, в разделе «Программистам» есть множество готовых примеров:
Самый простой способ это открыть страницу:
Так же есть возможность пересылки email на смс. В разделе «Почта sms.ru» можно настроить свой почтовый ящик name sms.ru письма на который будут пересылаться на телефон в виде смс. При включенной опции «обрезать до 1смс» все сообщения на свой номер будут бесплатны.
Оказалось что сайт sms.ru уже более полугода предоставляет Бесплатные СМС для программистов.
Регистрация проходит на номер мобильного телефона, никаких смс отправлять для этого не нужно. На номер придет только проверочный код.
После регистрации можно отправлять до 60смс в день на свой номер, указанный при регистрации. Уже почти месяц как перевел все свои сервисы с гугла на данный сервис. Радует отсутствие минутной задержки перед отправкой и возможность получения статуса сообщения.
Отправить можно разными способами, на сайте, в разделе «Программистам» есть множество готовых примеров:
- HTTP
- curl для командной строки (UTF-8)
- php (с включенным модулем curl)
- php (без curl)
- php (усиленная авторизация)
- PERL (усиленная авторизация)
- Python
Самый простой способ это открыть страницу:
sms.ru/sms/send?api_id=xxxx-xxxx-xxxxx-xxxx-xxxx&to=номер_телефона&text=hello+world
,где - xxxx-xxxx-xxxxx-xxxx-xxxx это id доступный после регистрации.
Так же есть возможность пересылки email на смс. В разделе «Почта sms.ru» можно настроить свой почтовый ящик name sms.ru письма на который будут пересылаться на телефон в виде смс. При включенной опции «обрезать до 1смс» все сообщения на свой номер будут бесплатны.
+70
Калькулятор для Android с рукописным вводом
1 min
31KСовершенно магическое приложение — калькулятор, который распознает рукописные формулы.
MyScript Calculator может распознавать +, -, ×, /, √, число Pi, скобки, возведение в степень и выдавать результат вычислений в реальном времени.
Формулы можно писать прямо на экране (для смартфонов — пальцем, для падофонов — стилусом, например) и это настоящее развлечение — почище, чем сочетание рогатки и птиц.
Приложение доступно на Android, бесплатно.
MyScript Calculator может распознавать +, -, ×, /, √, число Pi, скобки, возведение в степень и выдавать результат вычислений в реальном времени.
Формулы можно писать прямо на экране (для смартфонов — пальцем, для падофонов — стилусом, например) и это настоящее развлечение — почище, чем сочетание рогатки и птиц.
Приложение доступно на Android, бесплатно.
+45
Moqups — новый сервис для создания макетов UI
1 min
89KКак характеризуют сервис сами разработчики, Moqups — это «изящное HTML5-приложение для создания макетов, концептов пользовательского интерфейса, прототипов, в зависимости от того, как вы сами это называете».
Для Chrome есть отдельное приложение.
На данный момент доступно более 60 шаблонов элементов, экспорт в PDF и PNG, клавиатурные шорткаты, группировка объектов, привязка к сетке и проч.
Проект находится в стадии активной разработки и открыт для критики, помощи и предложений.
Для Chrome есть отдельное приложение.
На данный момент доступно более 60 шаблонов элементов, экспорт в PDF и PNG, клавиатурные шорткаты, группировка объектов, привязка к сетке и проч.
Проект находится в стадии активной разработки и открыт для критики, помощи и предложений.
+123
Управление мощной нагрузкой переменного тока
8 min
219KTutorial
Все знают, насколько ардуинщики гордятся миганием лампочкамиТак как мигать светодиодами не интересно, речь пойдет про управление лампой накаливания на 220 вольт, включая управление её яркостью. Впрочем, материал относится и к некоторым другим типам нагрузки. Эта тема достаточно избита, но информация об особенностях, которые необходимо учесть, разрозненна по статьям и темам на форумах. Я постарался собрать её воедино и описать различия между схемами и обосновать выбор нужных компонентов.
+30
Фотоальбом
2 min
5.5KСлучилось-таки свершение и дошли мои руки до родительского фотоальбома. Фотографий в нём насчитывается не менее 1000 штук. В своё время у моего родителя был такой фотоаппарат:
штука замечательная и при должном навыке способная выдавать даже сейчас результат не чуть не хуже обычных цифровых фотоаппаратов. Но его огромный минус — фотографии он делает аналоговые, а такие фотографии имеют свойство желтеть, истлевать и всячески портится. А потому, если хочется сохранить архив фотографий — их нужно цифровать, ну или, конечно же, хранить, как антиквариат и не допускать разных шаловливых ручонок.
Отсканировать это, конечно, дело долгое и очень важное в процессе оцифровки снимков. А что делать потом?
штука замечательная и при должном навыке способная выдавать даже сейчас результат не чуть не хуже обычных цифровых фотоаппаратов. Но его огромный минус — фотографии он делает аналоговые, а такие фотографии имеют свойство желтеть, истлевать и всячески портится. А потому, если хочется сохранить архив фотографий — их нужно цифровать, ну или, конечно же, хранить, как антиквариат и не допускать разных шаловливых ручонок.
Отсканировать это, конечно, дело долгое и очень важное в процессе оцифровки снимков. А что делать потом?
+33
От инженера до руководителя. Часть 3: Отчёты
14 min
24KОтчёты — отличная вещь. Они позволяют защищать как заказчика, начальника, так и сотрудника со всем проектом. Они позволяют ими управлять и оценивать их. Вы же, в конце концов пишете код не с усердием дрессированной обезьяны тысячи раз переписывая патерн visitor, а вначале всё-таки сидите и думаете, рисуете на бумажке, планируете код и тесты (я верю в вас!)? Но с другой стороны, отчёты — вещь контроля и организации, которая всех отвлекает от непосредственной работы. И всё равно, в том или ином роде на работе нам приходиться с ними сталкиваться. Зачем и как искать компромисс? Добро пожаловать под кат всем, кому интересно моё мнение по этому вопросу и тем, кто читал мои предыдущие статьи:
От инженера до руководителя. Часть 1: Чувство справедливости
От инженера до руководителя. Часть 2: Делегирование и постановка задачи
От инженера до руководителя. Часть 1: Чувство справедливости
От инженера до руководителя. Часть 2: Делегирование и постановка задачи
+6
Samsung Smart TV и Windows Azure
2 min
12KЭлектронный гигант выбрал облачные технологии Microsoft для того, чтобы иметь возможность отвечать растущим требованиям к своему сервису.
Компания Samsung Electronics анонсировала свое решение принять платформу Windows Azure для управления инфраструктурой Smart TV. Выбирая облачные технологии Windows Azure, Samsung достигает высокой продуктивности, значительного снижения затрат и увеличения емкости вычислительной мощности для того чтобы удовлетворить рост пользовательской базы.
Samsung предлагает сервис Smart TV в 120 странах по всему миру и планирует расширять его еще больше. Компания Samsung нуждалась в решении, которое могло поддержать растущий сервис, сделать его надежным и удовлетворить растущую потребность в трафике. Кроме того, Samsung не хотели быть зависимыми от определенного поставщика. Компания протестировала разные продукты и выбрала Windows Azure в качестве сервиса инфраструктуры, так как эта платформа предлагает требуемую надежность для удовлетворения требований критически важного сервиса и планам компании развивать сервис Smart TV.
+10
Если оба компьютера за натом
2 min
19KНа написание данной заметки натолкнули некоторые комментарии к недавней статье “Не слишком щепетильный способ продажи ПО” о программе TeamViewer. Попытаюсь вкратце описать один не слишком сложный и в то же время достаточно универсальный способ “зайти” с одного компьютера на другой, если они оба за натом.
Собственно, к делу. Для того, чтобы установить соединение, на каждом компьютере создадим IPv6-туннель при помощи какого-либо сервиса туннелирования IPv6. Оба компьютера при этом получат полноценный IPv6 адрес и между ними можно будет установить соединение по ssh, vnc или другой технологии. Конечно, если у обоих компьютеров уже есть IPv6 адрес, предоставленный провайдером, никаких телодвижений по поднятию туннелей производить не нужно. К сожалению, подавляющее большинство провайдеров к IPv6 еще не готовы и наличие у пользователя прямого доступа в интернет по IPv6 – большая редкость.
Собственно, к делу. Для того, чтобы установить соединение, на каждом компьютере создадим IPv6-туннель при помощи какого-либо сервиса туннелирования IPv6. Оба компьютера при этом получат полноценный IPv6 адрес и между ними можно будет установить соединение по ssh, vnc или другой технологии. Конечно, если у обоих компьютеров уже есть IPv6 адрес, предоставленный провайдером, никаких телодвижений по поднятию туннелей производить не нужно. К сожалению, подавляющее большинство провайдеров к IPv6 еще не готовы и наличие у пользователя прямого доступа в интернет по IPv6 – большая редкость.
+38
Удаленный доступ к компьютеру за NAT'ом через SSH-туннель
2 min
57KВ продолжение темы прохождения через NAT, вот краткий пересказ моих статей об управлении компьютером, который находится за NATом.
Фактически это описание бэкдора, поэтому убедитесь, что вы не нанесете вреда чужой сети и что локальные администраторы в курсе ваших манипуляций.
Задача: разместить линуксовый компьютер в сети за NATом, и иметь к нему доступ из внешнего мира. Например, вы траблшутите или поддерживаете что-то у клиента, и чтобы не сидеть у него в офисе, нужно быстро соорудить удаленный доступ. Или, например в 3G-сетях клиенты как правило получают приватные адреса, а нам нужен доступ к компьютеру, где другой связи нет.
Фактически это описание бэкдора, поэтому убедитесь, что вы не нанесете вреда чужой сети и что локальные администраторы в курсе ваших манипуляций.
Задача: разместить линуксовый компьютер в сети за NATом, и иметь к нему доступ из внешнего мира. Например, вы траблшутите или поддерживаете что-то у клиента, и чтобы не сидеть у него в офисе, нужно быстро соорудить удаленный доступ. Или, например в 3G-сетях клиенты как правило получают приватные адреса, а нам нужен доступ к компьютеру, где другой связи нет.
+4
Подключаем джойстики от Dendy к PC через Arduino
5 min
68KTutorial
Думаю многие из вас помнят те славные времена, когда мы часами рубились в танчики, черепашки ниндзя, батлтодс энд даблдрагон и еще пару десятков других суперских игр на Денди. Это было шикарное время! Большинство игр были чертовски сложные, но даже несмотря на это, неудача за неудачей, мы, все равно, шли к своей цели и начинали игру заново, чтобы уж сегодня-то пройти ее до конца.
Поностальгировав всласть, я решил, что очень хочу поиграть в Dendy и поиграть хочу на ноутбуке, но не на клавиатуре, а на старом добром джойстике.
Ниже я опишу, с какими проблемами я столкнулся и как их решил.
Поностальгировав всласть, я решил, что очень хочу поиграть в Dendy и поиграть хочу на ноутбуке, но не на клавиатуре, а на старом добром джойстике.
Ниже я опишу, с какими проблемами я столкнулся и как их решил.
+19
Изучить Github за 15 минут
1 min
127KTryGit — интерактивный обучающий курс по Github в стиле Codecademy. Курс состоит из 25 мини-уроков, которые знакомят пользователя с базовыми понятиями и основными командами git, при этом ученик своими руками вводит команды в консоль, смотрит результат и читает сопровождающие надписи с объяснением происходящего.
Вот таким в будущем должно стать обучение в школах!
Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.
Вот таким в будущем должно стать обучение в школах!
Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.
+137
Простое решение на bash для расшаривания музыки и фоток в Dropbox
3 min
1.8KВсем доброго хабрадня!
Ни для кого не секрет, что Dropbox можно использовать для хранения сайтов-визиток (правда, с некоторыми ограничениями, о них ниже). Так же всем известно, что можно из дропбокса сделать почти ftp-сервер с удобным просмотром содержимого.
Методы эти известны всем, но они имеют и негативную сторону. Во-первых, html-содержимое для пользователей с российскими IP не доступно. Во-вторых, эти варианты использования папки Public не годятся для удобного шаринга большого количества картинок или музыки (пиратам дальше не читать). Исправим же это! Найдём средство создавать сайты в дропе и вставлять в них музыку с прослушиванием онлайн и картинки с превьюшками!
Сразу поговорим об ограничениях. Dropbox не даёт смотреть html, это так, но, как подсказывает нам adminimus вот тут, надо переходить на XHTML. Да, это немного неприятно, но быстро привыкаешь, а для простой вёрстки это и вообще почти не заметно. Значит, нам нужен скрипт, который на входе получит папку с файлами, а на выходе выдаст файлик .xhtml со всем необходимым содержимым.
Если Вам хочется сразу получить код на bash'е, то прошу на гитхаб, а если интересны технические подробности, то — под кат.
Ни для кого не секрет, что Dropbox можно использовать для хранения сайтов-визиток (правда, с некоторыми ограничениями, о них ниже). Так же всем известно, что можно из дропбокса сделать почти ftp-сервер с удобным просмотром содержимого.
Методы эти известны всем, но они имеют и негативную сторону. Во-первых, html-содержимое для пользователей с российскими IP не доступно. Во-вторых, эти варианты использования папки Public не годятся для удобного шаринга большого количества картинок или музыки (
Сразу поговорим об ограничениях. Dropbox не даёт смотреть html, это так, но, как подсказывает нам adminimus вот тут, надо переходить на XHTML. Да, это немного неприятно, но быстро привыкаешь, а для простой вёрстки это и вообще почти не заметно. Значит, нам нужен скрипт, который на входе получит папку с файлами, а на выходе выдаст файлик .xhtml со всем необходимым содержимым.
Если Вам хочется сразу получить код на bash'е, то прошу на гитхаб, а если интересны технические подробности, то — под кат.
+16
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity