Pull to refresh
0
0
Kirill S. Holodilin @kixx

User

Send message

Redis и проблема больших данных

Reading time4 min
Views35K
in memory db

Привет, Хабр! Мы продолжаем делиться технологической кухней Retail Rocket. В сегодняшней статье мы разберем вопрос выбора БД для хранения больших и часто обновляемых данных.

На самом начальном этапе разработки платформы перед нами возникли следующие задачи:
  • Хранить у себя товарные базы магазинов (т.е. сведения о каждом товаре всех подключенных в нашу платформу магазинов с полным обновлением 25 млн. товарных позиций каждые 3 часа).
  • Хранить рекомендации для каждого товара (около 100 млн. товаров содержит от 20 и более рекомендуемых товаров для каждого ключа).
  • Обеспечение стабильно быстрой выдачи таких данных по запросу.

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments74

Используем Google Voice Search в своем приложении .NET

Reading time3 min
Views130K


Функция распознавания речи с некоторого времени доступна в браузере Google Chrome. Посмотреть как это выглядит можно, например, здесь.

Так как исходный Chromium открыт, возникает закономерное желание подсмотреть, можно ли использовать технологию в своих корыстных целях наступления мира на земле.

Как это часто бывает, все уже сделано за нас в этой статье. Все оказывается очень просто, необходимо сделать POST запрос на адрес www.google.com/speech-api/v1/recognize со звуковыми данными в формате FLAC или Speex. Реализуем демонстрацию распознавания WAVE-файлов с помощью C#.

Читать далее
Total votes 80: ↑72 and ↓8+64
Comments25

«Умный дом» собственными руками. Часть 3. Синтез и распознавание голоса с помощью Google

Reading time9 min
Views83K
В прошлой статье мы смогли добиться получения изображения с наших веб-камер в виде снимков раз в секунду. Теперь пришла пора взяться за обещанное — распознавание и синтез голоса.
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments47

Гигантский катаклизм на Солнце

Reading time2 min
Views1K
imageВ результате практически небывалого солнечного катаклизма в ближайшее время могут произойти перебой в работе средств навигации, связи и электронной вычислительной техники. Кроме того, это может сильно отразится на самочувствии метеочувствительных людей.

Михаил Виноградов: от новых проектов 9 декабря лучше отказаться

Магнитный поток солнечной плазмы с температурой в несколько десятков тысяч градусов вчера извергся с поверхности Солнца. Длина выброса в 50 раз превысила ширину нашей планеты. По данным NASA, петли раскаленной плазмы постоянно выбрасываются в юго-восточной части светила с 4 декабря и, судя по всему, нарастают с каждым часом.
Читать дальше →
Total votes 80: ↑69 and ↓11+58
Comments79

«ВКонтакте все украл у Facebook»: надоевший миф

Reading time4 min
Views24K


Посты о ВКонтакте и Facebook часто оказываются заминусованы, и страшно представить, что может произойти с тем, где речь идет об обеих сетях сразу, да еще и критикующем преобладающую на Хабре позицию. Но постоянно видеть на любимом сайте одну и те же глупость, каждый раз активно плюсуемую, надоело настолько, что все равно решил написать аргументированный пост о том, почему это глупость. Поскольку давно администрирую большую группу ВКонтакте и популярную страницу на Фейсбуке, имею в обеих сетях достаточно большой опыт. Сразу скажу, что вовсе не восхваляю ВКонтакте в целом, у этой сети множество недостатков — просто считаю, что они кроются вовсе не в плагиате.

Читать дальше →
Total votes 335: ↑101 and ↓234-133
Comments144

Цемент для замков в “облаках”: как мы учились продавать SaaS

Reading time6 min
Views749
В этой статье я поделюсь опытом продаж SaaS решений в сегменте B2C и расскажу, какие из испробованных подходов оказались работающими, а на что, возможно, начинающим SaaSникам не стоит тратить много сил.
Если вы связаны с продажами облачных сервисов и электронной коммерцией, добро пожаловать под кат, где ждут не теоретические выкладки, а изложение реального опыта построения работающей системы продаж SaaS-решения.
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments10

Предупреждение о взломах Debian-систем

Reading time1 min
Views2.2K
Вероятно, взломали не только меня. Кто администрирует Debian-like системы, обратите внимание.

Все началось с писем с того, что у меня на сервере кончилось место. Все 1.5Тб. Пока я пытался понять, что такое у меня произошло и что именно наполнило мои файлы mail.log & etc таким количеством записей на телефон стали приходить сообщения от моего MTA, что стало невозможно принимать входящую почту. Затем пришло письмо о том, что мой сервер участвует в спам рассылке. Поскольку я находился вообще в магазине, и у меня в руках был только телефон, то все, что я успел сделать это было:

Установить старину Джона:

aptitude install john

Натравить простой перебор паролей:
john /etc/shadow

О ужас! Он выдал, что у меня есть пользователь spam с паролем sp4m

понятно, что далее я сделал
passwd -l spam
grep SASL /var/log/mail.log
Jun 12 16:26:15 gw postfix/smtpd[26608]: warning: unknown[41.138.185.5]: SASL LOGIN authentication failed: authentication failure

Вытащил оттуда адрес: 41.138.185.5и заблокировал его при помощи iptables

Потом я обновил aptitude update; aptitude full-upgrade до squeeze.

А вот теперь я сижу и думаю, кто мне подсадил эту заразу? Это ведь был полный root-доступ, чтобы добавить пользователя. Причем, судя по-дате файла /etc/passwd это было 8 июня 2010 года, то есть почти за неделю до рассылки спама. Никаких уведомлений о remote-root-vulnerablilty я не получал, загадка, да и только.
Total votes 48: ↑33 and ↓15+18
Comments55

Методика быстрого отдыха

Reading time1 min
Views2.1K
Сегодня прочитал эту тему: Древнейший стресс-менеджмент и хочу поделиться другой (скорее даже противоположной) методикой для отдыха.

Я пользуюсь методом быстрого отдыха и поднятия рабочего настроения:

Сядьте поудобнее в кресло, возьмите в левую или правую руку ложку. Положите слева или справа от кресла какой-нибудь желательно металлический объект (чтобы удар ложки о него был громким). Можно тарелку поставить. Теперь руку, в которой вы держите ложку расположите так, чтобы если ложка упадет, то обязательно на объект. Расслабьтесь закройте глаза и постарайтесь заснуть (это не сложно), при этом не отпускайте ложку.

Результат: как только наступит первая (самая начальная) фаза сна, контроль над телом пропадёт, рука расслабится, ложка упадет, произведет шум и вы тут-же проснётесь, но уже вполне отдохнувшим.

Методика очень хорошо бодрит и расслабляет одновременно. Рекомендую попробовать.
Total votes 37: ↑35 and ↓2+33
Comments47

Руководство по собеседованию на вакансию PHP-программиста

Reading time22 min
Views254K
Вездесущий… это определённо то слово, которым можно описать язык PHP по отношению к вебу. Он действительно вездесущ. В настоящее время, среди всех серверных языков программирования, PHP используется наиболее широко. На нём написаны более 80% сайтов, при этом следующий по популярности ASP.NET со своими 17% остаётся далеко позади.



Почему? Что позволило PHP стать настолько популярным и широко используемым? На этот вопрос нет однозначного ответа, но простота использования языка, безусловно, существенный фактор, поспособствовавший его успеху. Новички в PHP могут быстро выйти на достаточный уровень и разместить динамический контент на своих веб-сайтах с минимум познаний в программировании.

Именно в этом и заключается основная проблема поиска высококвалифицированных PHP-разработчиков. Относительно низкий порог вхождения и 20 лет развития языка привели к тому, что PHP-программисты стали такими же вездесущими, как и сам PHP. Многие из них могут на законных основания утверждать, что «знают» язык. Однако разработчики, которые действительно являются экспертами по PHP, способны создавать куда более функциональное, надёжное, масштабируемое и простое в сопровождении программное обеспечение.

Как же отличить тех, кто обладает реальной компетентностью в PHP (не говоря уже о тех, кто входит в 1% наиболее опытных кандидатов) от тех, у кого только поверхностные знания?
Читать дальше →
Total votes 96: ↑73 and ↓23+50
Comments107

Как сверстать тему для WordPress

Reading time24 min
Views585K

Введение


В предыдущих статьях мы рассмотрели принципы верстки на чистом CSS и с помощью Bootstrap. Сегодняшней статьей мы начинаем рассматривать особенности верстки под популярные CMS. И начнем с WordPress, как самой популярной из них. Будем считать, что WordPress у вас уже установлен и перейдем непосредственно к созданию шаблона, в качестве которого у нас по-прежнему будет выступать Corporate Blue от студии Pcklaboratory. Если вы не знаете как установить WordPress, то инструкцию можно найти здесь. В данном руководстве мы не будем подробно описывать CSS стили и HTML код – это было сделано уже в предыдущих статьях. Вместо этого рассмотрим детально особенности создания темы именно под WordPress.
Читать дальше →
Total votes 66: ↑54 and ↓12+42
Comments28

Управляем любой AV-техникой с телефона. ИК-приёмопередатчик для Raspberry

Reading time4 min
Views63K

Потихоньку делаю свой дом немножко умнее. Сначала сделал управление светом с телефона с помощью платы расширения RaZBerry (Z-Wave) для Raspberry, затем увлекся программирование AVR микроконтроллеров и собрал небольшую метеостанцию, показывающую температуру на LED дисплее. Теперь очередь дошла до управления TV с помощью iPhone.
В качестве медиаплеера использую Raspberry с дистрибутивом Xbian, поэтому сразу же понял как буду управлять телевизором. Raspberry стоит на полочке под телевизором в прямой видимости. На один из выводов GPIO нужно установить ИК LED от пульта и подавать на него сигналы, которые понимает мой телевизор. В реализации затея оказалась не сложной!
Далее речь пойдет о том, как спаять плату ИК приемо-передатчика для Raspberry и как настроить софт, чтобы с телефона переключать каналы, регулировать громкость, включать и выключать телевизор.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments16

Тонкости работы с компетентным заказчиком

Reading time8 min
Views26K
Привет, Хабр! В рамках цикла материалов про жизнь студий/агентств я решил поговорить про такой интересный момент, как организация работы с компетентным заказчиком. К счастью – сейчас такое явление становится все более и более распространенным.

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

Сначала определимся, кого в рамках данного материала я отношу к компетентным заказчикам. Итак, основные характеристики:

  • Хорошее понимание специфики бизнеса собственной компании, бизнес-процессов, KPI;
  • Полное владение аналитическими данными по своей отрасли;
  • Отличное понимание специфики работы веб-студий и digital-агентств;
  • Понимание всех аспектов digital-среды, владение цифрами;
  • Зачастую: квалификация выше, чем у менеджера агентства.

Казалось бы, такой заказчик – мечта любого агентства, «свой в доску, вменяемый клиент». Но зачастую все оказывается не совсем так замечательно. Я постарался дать ряд практических рекомендаций, как агентству работать с таким менеджером на стороне клиента, чтобы избежать стандартных проблем.
Читать дальше →
Total votes 73: ↑64 and ↓9+55
Comments14

Как я стал чемпионом Robocode

Reading time5 min
Views5.2K
Я — Jdev, автор робота Tomcat, который в ноябре/декабре 2011 года был Королём Премьер Лиги общего зачёта Robocode (пруф) без единого поражения, сейчас занимает 3-е место из 911 в процентном зачёте и является героем моего повествования. Эту статью я решил написать для привлечения к этой игре внимания соотечественников, потому как одному защищать честь Российского флага становится уже тяжело (не считая двух моих роботов, лучший русский робот занимет 142-ое место). Рассказ я решил построить в виде журнала.
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments37

ХХ полезных советов для пользователей Git среднего уровня. Часть 1

Reading time4 min
Views25K
Вообще-то изначально я планировал перевести статью Энди Джеффриса (Andy Jeffries) 25 Tips for Intermediate Git Users, но в процессе я отбросил бестолковые, общеизвестные или самые простые советы вроде «настройте первым делом user.name и user.email», которые явно не подходят людям, уже более-менее плотно знакомым с Git.
Взамен я дополню статью моментами из личной практики («Своя практика»! Звучит здорово, будто я частный врач или адвокат! :-] )

Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments32

Советы по сетевой оптимизации веб-сайта

Reading time5 min
Views37K
image
Оптимизация современного сайта состоит из многих различных аспектов. Все они носят ключевые значения для Вашего бизнеса. Что бы назвать сайт оптимизированным, он должен отвечать следующим требованиям:

– отвечать клиентским запросам как можно быстрее
– быть правильно сконструированным и простым в использовании
– иметь возможность быть использованным людьми с различными физическими недостатками
– иметь возможность быть использованным независимо от потребительского браузера
– быть легко находимым современными поисковыми машинами

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

Быстрая загрузка страницы зависит как от оптимизации клиентского кода HTML / CSS / JavaScript, так и от работы сервера.
Читать дальше →
Total votes 5: ↑1 and ↓4-3
Comments0

jQuery для начинающих

Reading time9 min
Views503K
jQuery Logo

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Читать дальше →
Total votes 251: ↑230 and ↓21+209
Comments83

Читаем QR код

Reading time5 min
Views1.1M
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.
Читать дальше →
Total votes 623: ↑614 and ↓9+605
Comments109

Многопользовательский чат на BAT

Reading time3 min
Views22K
Был период, когда в универе задали сделать несколько чатов. В зависимости от вариантов, были заданы различные способы взаимодействия программ от сокетов до майлслотов (mailslot). Когда задания были прикончены, остались силы взяться за скрипты BAT. Вот что получилось…



Всё что нужно для запуска:
1. Взять код по ссылке в конце статьи
2. Сохранить код в файл *.bat
3. Положить файл в сетевую папку
4. Запустить файл с разных компов (можно и с одного)

В комментариях предложили использовать совместно с DropBox, но говорят — что работает весьма не быстро.
Читать дальше →
Total votes 247: ↑242 and ↓5+237
Comments72

Неофициальный подкаст WebProfessionals.ru — в гостях Аркадий Морейнис

Reading time1 min
Views271
Аркадий Морейнис, главдиректор Главстарта и организатор Большой стартаперской движухи, рассказывает:
• Где найти технического ко-фаундера в стартап?
• Веб-студия в качестве партнера в проекте — это реальность?
• Уровень квалификации специалистов в стартапах.

Запись проведена в рамках Startup Weekend — приносим извинения за качество записи и шум. Версию без шума можно послушать здесь: webprofessionals.podfm.ru/my/3
Total votes 4: ↑1 and ↓3-2
Comments0

Vogue как системный монитор

Reading time1 min
Views62K
Всем привет! Лежал-пылился у меня плеер из того самого выпуска журнала Vogue, решил я из него системный монитор для моего сервера в коробке сделать, и вот что из этого вышло:

Читать дальше →
Total votes 194: ↑183 and ↓11+172
Comments67
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity