Search
Write a publication
Pull to refresh
1
0
Роман Сопов @sopov

Разработчик

Send message

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

Reading time8 min
Views106K

Вступление


Доброго времени суток, %habrauser%! Думаю, в этой статье я не открыл ничего нового. Просто меня самого заинтересовала тема продуктивного сна. Несколько последних лет я был приверженцем мнения, что сон – это бесполезная трата времени, к сожалению необходимая организму. И посему, я максимально старался сократить время сна. Но чем больше я это делал, тем больше я начинал походить на зомби. И тогда я стал искать альтернативу. И результатом обобщения всей найденной мной информацией и стала эта статья. Итак, поехали!
Читать дальше →

Шифрование/дешифрование данных на стороне клиента в web-ориентированных системах

Reading time7 min
Views45K
В наши дни всё больше программ переводятся в так называемый «web-ориентированный» вид, то есть используется принцип клиент-сервер, что позволяет хранить данные удалённо и получать к ним доступ через тонкий клиент (браузер).
Одновременно с удобством использования остро встаёт вопрос о защищённости этих данных. Конфиденциальная информация может стать доступна другим людям несколькими путями. Во-первых, к пользователю могут быть применены физические меры для выпытывания. Во-вторых, при передаче данные могут быть перехвачены различными снифферами. И, в-третьих, на сервер могут быть произведены хакерские атаки, что позволит злоумышленникам похитить информацию, либо недобросовестный администратор сервера воспользуется ею в личных целях.

Задача


Некоторое время назад у меня возникла задача разработать прототип программы шифрования/дешифрования данных на стороне клиента в web-ориентированных системах.
Как я её решил

YAF — самый быстрый php фреймворк*

Reading time1 min
Views15K
Yaf — это PHP микро-фреймворк, взявший за основу структуру приложения Zend Framework, но написанный на С и является PHP extension доступным через PECL.

Основной (и единственной) задачей для написания его послужила необходимость максимально быстрой (сравнимой с php) обработки запросов в парадигме MVC но с удобством предоставляемым Zend Framework.

Yaf и Zend Framework, имеют аналогичные API и подобную концепцию, сохраняя при этом совместимость.
Я сгенерировал тестовое приложение (zf create project test) и провел небольшой синтетический тест производительности.
Интересен результат? Добро пожаловать под кат

Использование Nginx и php для проверки прав доступа перед отдачей файлов

Reading time2 min
Views14K
Иногда на сайте возникает необходимость ограничить доступ к некоторым файлам по разным причинам(раздавать файлы только авторизованным пользователям, антилич и так далее). Для решения данной задачи можно использовать разные подходы:

  1. Раздавать файлы с помощью скрипта на php(заменить php на то, что нравится больше). При данном подходе мы передаем в качестве параметра скрипту имя файла. Код проверяет все условия, при которых возможно получения доступа к данному файлу и принимает решение, выдать 404 или запрошенный файл. Данный подход подходит для мелких файлов, однако при возрастании размера отдаваемого файла он будет потреблять много системных ресурсов, т.к. файл будет вычитываться в память и затем отдаваться.
  2. Использовать некоторые неочевидные возможности веб-серверов.

Читать дальше →

К запуску инкубатора Farminers: забег за призом в 150000$ или 10 «золотых» правил юного стартапера

Reading time5 min
Views709
Начало сентября 2011 года ознаменовалось выходом на рынок венчурного инвестирования нового стартап-инкубатора Farminers под руководством Алены Владимирской и Игоря Мацанюка. Как написали в «Ведомостях», «один из основателей крупнейшего игрового холдинга Astrum Online Entertainment и бывший топ-менеджер Mail.ru Group Игорь Мацанюк и учредитель рекрутингового агентства Pruffi Алена Владимирская создают инкубатор Farminers, в котором перспективные интернет-проекты могут получить деньги на развитие бизнеса. На стартап выделяется до $150 000 сроком на 3-6 месяцев, а также полностью оборудованные рабочие места с компьютерами Macbook в современном офисе».
Эта прекрасная новость не могла остаться без внимания «профессиональных стартаперов» и «стартаперов федерального значения», которые с большой радостью приступили к переделыванию своих презентаций, чтобы успеть поучаствовать в распиле новых денежных сумм. Денег тут явно больше, чем у Аркадия Морейниса в его «Главстарте», да и дают теплый офис с макбуком – многим удастся переехать с вокзалов, наконец-то, жить под крышу офиса. Ставки растут, господа, поэтому для получения денег необходимо, чтобы стартапер и его проект соответствовали нескольким важным правилам. Их соблюдение поможет вам откэшиться до второго раунда инвестиций и стать признанным экспертом Рунета.
Итак, начинаем троллинг.

1) Запомните: Цель любого стартапа – распил денег инвестора.
Читать дальше →

Мгновенный поиск в 75 гигабайтах

Reading time8 min
Views35K
Речь пойдет о том, как был реализован быстрый поиск по большим объемам данных на этой страничке. Там можно искать пароль по хешу, для игрового сервера PvPGN, и генерировать эти же хеши.
Поиск написан на чистом PHP, без использования модулей и сторонней БД. В принципе, таким образом можно наращивать объемы до многих терабайт, было бы место — скорость от этого не сильно пострадает.

Далее от начала до конца описан весь процесс, который включает в себя брутфорс, создание хеш таблицы, её сортировка и, собственно, поиск.


Читать дальше →

Зеркалирование баз данных на MS SQL

Reading time5 min
Views108K
Доброго дня. Решил я описать здесь свой опыт настройки зеркалирования БД. Не имея, до недавнего времени, подобного профита, я начал сёрфить интернет в поисках информации на этот счёт. И постараюсь оформить пост как пошаговая инструкция рассказать об основных моментах, в общем что бы ничего лишнего.
Читать дальше →

История восстановления базы MySQL из файлов (InnoDB)

Reading time10 min
Views59K
Как говорит народная мудрость, “админы делятся на две категории: те, которые делают бэкапы, и те, которые уже делают”. В моем случае ответственность за несделанный бэкап упала на разработчика, то есть на меня самого. Данная статья посвящена тому, как найти выход из ситуации, подобной описанной. Надеюсь она будет полезна тем, кто не имея такого опыта, может столкнуться с подобной ситуацией.
Читать дальше →

Napartner.ru: первые 600 000$ для стартапов

Reading time3 min
Views1.3K
Здравствуй, Хабр!

Мы — Napartner.ru, биржа стартапов. “Светим” проекты, находим инвесторов, приносим счастье.



Недавно мы анонсировали отчет о первых серьёзных успехах Napartner. В его рамках мы расскажем о инвестициях в стартапы, произошедших по нашей вине ;)

Итак, инвестиции получили:
Читать дальше →

Конкурентный доступ к реляционным базам данных

Reading time13 min
Views64K
СхемаВопросы параллелизма в компьютерных вычислениях очень сложны! Причинами большой сложности являются огромное количество деталей, которые нужно учитывать при разработке параллельных программ. В программирование и без того существует большое количество деталей, которые создают почву для ошибок, параллелизм же, добавляет ещё.

Вопросы конкурентного доступа к реляционным базам данных встают практически перед любыми разработчиками прикладного программного обеспечения и не только перед ними. Результатом такой востребованности этой области является наличие большого количества созданных архитектурных паттернов. Это позволяет успешно справляться с большой сложностью разработки таких программ. Ниже пойдёт речь о таких рецептах, а также механизмах на которых базируется их реализация. Повествование будет иллюстрироваться примерами кода на Java, но большинство материала не привязано к языку. Цель статьи — описать проблемы конкурентного доступа к реляционным базам данных, в качестве введения в предмет, а не полноценного охвата темы.
Читать дальше →

Phing — сборка PHP проектов

Reading time4 min
Views47K
У многих из нас, бывают ситуации когда проект требует подготовки к выводу в продакшн, и зачастую эта подготовка состоит из множества действий, которые приходится выполнять много раз(например при сборке релизной версии). Зачастую задачи сводятся к выполнению простых консольных команд, очистке кеша, минификации JS и CSS или сборки их в один файл, но вся эта рутина может занять довольно продолжительное время, а так как выполняется, чаще всего, в конце рабочего дня, довольно легко опечататься и отправить несколько дней\часов\минут работы над проектом в небытие. В такой ситуации программисты стараются, как то автоматизировать сборку и подготовку проекта к рабочему состоянию, в чём им помогают различные системы сборки, об одной из которых и пойдёт речь в статье.
Читать дальше →

Web-аутентификация с помощью USB-токенов

Reading time2 min
Views26K
Развивая тему, начатую здесь и здесь, расскажу еще об одном механизме аутентификации на web-ресурсах. Механизм прост, в его основе лежит использование ЭЦП, для хранения ключей при этом используется USB-токен.

image
Читать дальше →

Онлайн проектная среда: постановка проблемы

Reading time5 min
Views3.5K
image

Введение



Восемь лет назад у меня была идея открыть сеть ресторанов быстрого здорового питания в городе Красноярске. Я достаточно долго проработал в сфере общепита, начиная от официанта, бармена, повара до помощника директора + было неплохое видение будущего бизнеса. При этом отсутствовали всего лишь знания и опыт в области предпринимательства и необходимые денежные средства. Мелочь :-) Но я был полон энтузиазма и намерения воплотить задуманное.
Читать дальше →

Передача пароля по открытому каналу (часть 2)

Reading time2 min
Views14K
В первой части статьи обсуждалась ситуация, когда для защиты трафика мы по каким-либо причинам не можем использовать https. При этом, передаваемый в открытом виде пароль становится легкой добычей мошенников. Предложенный в статье метод позволял избавится от угрозы перехваты пароля или от кражи БД хэшей паролей, но был бессилен перед злоумышленником, который и БД владеет и контролирует трафик. Предлагаемый ниже метод безопаснее, но сложнее.
Читать дальше →

Дружимся с AirPlaySDK

Reading time5 min
Views7.9K
Ни для кого не секрет что кодинг для мобильников — дело интересное, прибыльное и перспективное. Я всегда запускаю на КПК какую-нибудь игру когда спускаюсь в метро и вижу как то же самое делают и окружающие меня люди. Но к сожалению текущее разнообразие платформ зачастую заставляет нас ограничить круг поддерживаемых устройств.
Читать дальше →

Прямая трансляция докладов DevCon’11. День второй

Reading time3 min
Views4.3K


Вчера 26 мая прошел первый день конференции DevCon. Запись пленарного доклада уже доступна онлайн по адресу http://event.msdevcon.ru/firstday.aspx. Остальные материалы, в том числе телемост со Скоттом Гатри, в ходе которого ему задавали вопросы участники конференции, появятся чуть позже, в течении двух недель.

В ходе пленарного доклада конференции были сделаны следующие анонсы:
  • сотрудничество с компанией SoftKey, благодаря которому для разработчиков из стран СНГ будет значительно упрощен порядок публикации приложений в магазин Windows Phone 7 Marketlace;
  • представлены официальное приложение для Windows Phone 7 компании Яндекс и клиент для социальной сети “В контакте”;
  • на конференции DevCon’11 была представлена третья волна программы «Инициатива по лицензированию разработчиков ПО», которая стартовала 16 мая;
  • Microsoft также объявила о старте конкурса «Лучшие приложения для Windows 7» www.microsoft.ru/isv/contest;
  • в России стали доступны 3 бесплатные электронные книги: «Переход к Visual Studio 2010», «Программируем Windows Phone 7» и «Small Basic для начинающих».
На DevCon’11 было объявлено о том, что 9-10 ноября этого года в России впервые пройдет масштабная международная конференция TechEd, которая станет следующей ступенью развития крупнейшего мероприятия в российской ИТ-индустрии — «Платформа. Определяя будущее». Развивая все лучшее, к чему привыкли участники «Платформы», TechEd принципиально увеличит масштаб конференции, глубину и количество освещаемых тем, а также уровень участия экспертов международного уровня. На конференции планируется представить более 150 докладов в 15 треках для аудитории в 3000 участников. Сайт мероприятия: http://www.msteched.ru.

Сегодня 27 мая в 9:30 по московскому времени начался второй день конференции DevCon’11 посвященной вопросам разработки программного обеспечения. Каждый желающий сможет посмотреть более 30 технических сессий конференции в прямом эфире по адресу http://event.msdevcon.ru/.

Для обмена мнениями и комментариями или поиска информации по конференции в Twitter используйте хештег #msdevcon.

Содержание второго дня DevCon:

Читать дальше →

Вышла новая версия Ajenti

Reading time2 min
Views17K
Вышла новая версия Ajenti. За номером 0.5-4.
Для тех, кто не знает о чём речь — автор этого замечательного веб-интерфейса для администрирования серверов под управлением семейства *nix — уже представлял своё творение на Хабре. Раз, два.


Читать дальше →

Полгода развития интернет-магазина Funnybeanbag

Reading time8 min
Views995

История создания и развития Funnybeanbag


Если ваша единственная цель состоит в том,
чтобы стать богатым, вы никогда не достигнете ее.
Джон Дэвисон Рокфеллер


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


Читать дальше →

Процессный подход к проектированию интерфейсов

Reading time8 min
Views6K
На хабрахабре регулярно публикуются статьи о юзабилити. Некоторые вещи, которые в них говорятся обычно достаточно очевидны, некоторые требуют серьезной подготовки. Однако во всех них чего-то не хватает.

А не хватает одной детали – если юзабилити занимается удобством пользования, то почему никто не обращает внимания на само использование? Не на кнопочки в интерфейсе, а на сам процесс работы с сервисом от начала и до конца. Причем как внешними пользователями, так и внутренними, что может быть даже более важно.

Если вам интересна такая проблематика, пойдем дальше и рассмотрим процессный подход к проектированию информационных систем, куда конечно же относятся и вопросы юзабилити.
Читать дальше →

Дайте детям поиграть

Reading time3 min
Views13K

Вот у вас есть ребенок? Дошкольник. От годика до семи. А может даже младше года. Какой он или она? И какие они, современные дети? Продвинутые, хорошо разбирающиеся в новейших игрушках, способные дать фору в этом вопросе многим взрослым. Что является их любимым развлечением? Мобильные телефоны, компьютеры, консоли. Ведь и ваш, наверняка, не выпустит из маленьких ручонок iPad, если ему его дать. Главное, чтобы в стенку им ради развлечения не кидался :)

Теперь посмотрим с другой стороны. В психологии существует такое понятие как «ведущий вид деятельности». Это та деятельность, в ходе которой развивается психика ребенка на том или ином этапе своего формирования. Как не трудно догадаться, для детей дошкольного возраста — это, безусловно, игра. Свободно развивающаяся деятельность, предпринимаемая ради удовольствия от самого процесса, а не от результата.

Как сделать, чтобы в процессе игры, не ради обучения, а ради удовольствия (не забываем, что именно это, в первую очередь, мотивирует маленького ребенка играть в конкретную игру), наши малыши получали полезную информацию?

Мы нашли ответ на этот вопрос, наверняка волнующий всех современных родителей, и создали красочное обучающее приложение, разработанное под iPhone и iPad специально для малышей, которые только начинают знакомиться с алфавитом. Букварио — это электронная интерактивная азбука.
Читать дальше →

Information

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