В последнее время термин “NoSQL” стал очень модным и популярным, активно развиваются и продвигаются всевозможные программные решения под этой вывеской. Синонимом NoSQL стали огромные объемы данных, линейная масштабируемость, кластеры, отказоустойчивость, нереляционность. Однако, мало у кого есть четкое понимание, что же такое NoSQL хранилища, как появился этот термин и какими общими характеристиками они обладают. Попробуем устранить этот пробел.
User
Adobe Edge Tools & Services
1 min
30KAdobe запустили Adobe Edge Tools & Services — набор сервисов и инструментов, призванный помочь разработчикам в создании веб-сайтов и приложений.
Что внутри
+22
Графовая база данных Neo4j в PHP
5 min
58KВ последнее время я все чаще слышу о NoSQL и о графовых базах данных в частности. Но воспользовавшись хабропоиском с удивлением обнаружил, что статей на эту тему не так и много, а по запросу «Neo4j», так вообще 4 результата, где косвенно упоминается это название в тексте статей.
Neo4j — это высокопроизводительная, NoSQL база данных основанная на принципе графов. В ней нет такого понятия как таблицы со строго заданными полями, она оперирует гибкой структурой в виде нод и связей между ними.
Уже более года я не использовал в своих проектах SQL, с того времени, как попробовал документо-ориентированную СУБД "MongoDB". После MySQL моей радости не было предела, как все просто и удобно можно делать в MongoDB. За год, в нашей студии создания сайтов, переписали тройку CMS, использующих основные фишки Mongo c её документами, и с десяток сайтов работающих на их основе. Всё было хорошо, и я уже начал забывать, что такое писать запросы в полсотни строк на каждое действие с БД и все бы ничего пока на мою голову не свалился проект с кучей отношений, которые ну никак не укладывались в документы. Возвращаться к SQL очень не хотелось, и пару дней я потратил чисто на поиск NoSQL решения, позволяющего делать гибкие связи — на графовые СУБД. И по ряду причин мой выбор остановился на Neo4j, одна из главных причин — это то, что мой движок был написан на PHP, а для неё был написан хороший драйвер "Neo4jPHP", который охватывает почти 100% REST-интерфейса, предоставляющегося сервером Noe4j.
Что такое Neo4j?
Neo4j — это высокопроизводительная, NoSQL база данных основанная на принципе графов. В ней нет такого понятия как таблицы со строго заданными полями, она оперирует гибкой структурой в виде нод и связей между ними.
Как я докатился до этого?
Уже более года я не использовал в своих проектах SQL, с того времени, как попробовал документо-ориентированную СУБД "MongoDB". После MySQL моей радости не было предела, как все просто и удобно можно делать в MongoDB. За год, в нашей студии создания сайтов, переписали тройку CMS, использующих основные фишки Mongo c её документами, и с десяток сайтов работающих на их основе. Всё было хорошо, и я уже начал забывать, что такое писать запросы в полсотни строк на каждое действие с БД и все бы ничего пока на мою голову не свалился проект с кучей отношений, которые ну никак не укладывались в документы. Возвращаться к SQL очень не хотелось, и пару дней я потратил чисто на поиск NoSQL решения, позволяющего делать гибкие связи — на графовые СУБД. И по ряду причин мой выбор остановился на Neo4j, одна из главных причин — это то, что мой движок был написан на PHP, а для неё был написан хороший драйвер "Neo4jPHP", который охватывает почти 100% REST-интерфейса, предоставляющегося сервером Noe4j.
+62
Безопасность сетей 802.11 — основные угрозы
13 min
71KВ последнее время тема Wi-Fi на Хабре набирает популярность, что не может не радовать. Однако некоторые важные аспекты, в частности, безопасность, все еще освещены довольно однобоко, что очень хорошо заметно по комментариям. Пару лет назад сокращенная версия нижеизложенного материала была опубликована в журнале "Компьютерное Обозрение". Думаю, читателям Хабра будет интересно и полезно с ним ознакомиться, тем более в полной и актуализированной версии. В первой статье обсуждаются основные угрозы. Во второй обсудим способы реализации защиты на основе WIPS
Популярность беспроводных локальных сетей уже прошла стадию взрывного роста и дошла до состояния «привычной всем» технологии. Домашние точки доступа и мини-роутеры Wi-Fi недороги и широкодоступны, хотспоты встречаются достаточно часто, ноутбук без Wi-Fi – анахронизм. Как и множество других инновационных технологий, использование беспроводных сетей влечет не только новые выгоды, но и новые риски. Бум Wi-Fi породил целое новое поколение хакеров, специализирующихся на изобретении всё новых и новых способов взлома беспроводки и атаки пользователей и корпоративной инфраструктуры. Ещё с 2004 года Gartner предупреждали, что безопасность WLAN будет одной из основных проблем – и прогноз оправдывается.
Беспроводная связь и мобильность, которую она дает, интересны и выгодны многим. Однако, до тех пор, пока вопрос беспроводной безопасности остается не до конца ясным, мнения разнятся кардинально: некоторые (например, операторы складов) уже сейчас не боятся завязывать на Wi-Fi свои ключевые бизнес-процессы, другие – наоборот баррикадируются и запрещают использование беспроводных элементов в своих сетях. Кто из них выбрал правильную стратегию? Является запрет Wi-Fi гарантией защиты от беспроводных угроз? И вообще – так ли опасен и ненадежен этот Wi-Fi, как о нем говорят? Ответ далеко не очевиден!
В данной статье мы рассмотрим:
Введение
Популярность беспроводных локальных сетей уже прошла стадию взрывного роста и дошла до состояния «привычной всем» технологии. Домашние точки доступа и мини-роутеры Wi-Fi недороги и широкодоступны, хотспоты встречаются достаточно часто, ноутбук без Wi-Fi – анахронизм. Как и множество других инновационных технологий, использование беспроводных сетей влечет не только новые выгоды, но и новые риски. Бум Wi-Fi породил целое новое поколение хакеров, специализирующихся на изобретении всё новых и новых способов взлома беспроводки и атаки пользователей и корпоративной инфраструктуры. Ещё с 2004 года Gartner предупреждали, что безопасность WLAN будет одной из основных проблем – и прогноз оправдывается.
Беспроводная связь и мобильность, которую она дает, интересны и выгодны многим. Однако, до тех пор, пока вопрос беспроводной безопасности остается не до конца ясным, мнения разнятся кардинально: некоторые (например, операторы складов) уже сейчас не боятся завязывать на Wi-Fi свои ключевые бизнес-процессы, другие – наоборот баррикадируются и запрещают использование беспроводных элементов в своих сетях. Кто из них выбрал правильную стратегию? Является запрет Wi-Fi гарантией защиты от беспроводных угроз? И вообще – так ли опасен и ненадежен этот Wi-Fi, как о нем говорят? Ответ далеко не очевиден!
В данной статье мы рассмотрим:
- в чем заключаются важные особенности беспроводной связи с точки зрения безопасности,
- почему «неиспользование» или запрет Wi-Fi не спасает от беспроводных угроз,
- какие новые риски следует рассматривать.
+35
Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 2
17 min
243KTutorial
Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».
Один из студентов лекции записывал и выложил транскипт. В данном хабратопике я делаю перевод второго занятия.
Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
+59
Отличный плагин для проверки верстки
1 min
29KСуществует множество способов тестировать верстку. Большинство из них были описаны в статьях или комментариях хабра. Упоминаний данного способа я не нашел.
Утилита разработана командой xhtmlized.
Совместима со всеми браузерами, потому как подключается в виде плагина jQuery.
Для тестирования верстки вам нужно подключить jQuery, а за ним XPrecise
XPrecise
Утилита разработана командой xhtmlized.
Совместима со всеми браузерами, потому как подключается в виде плагина jQuery.
Установка и настройка
Для тестирования верстки вам нужно подключить jQuery, а за ним XPrecise
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="_xprecise/xprecise.min.js"></script>
+30
EchoPrint — открытая система распознавания музыки
4 min
248K Наверняка многие из вас слышали и знают про системы идентификации музыки вроде TrackID, Shazam, MusicBrainz или онлайновой Audiotag.info, позволяющие по записанному отрывку песни узнать ее название. Все они в достаточной степени хороши, но имеют общий недостаток — закрытый код и, соответственно, ограниченную сферу применения. TrackID вы можете использовать только на телефонах Sony Ericsson, Shazam — тоже только на телефонах, хотя и на более обширном списке платформ, а Music Brainz вообще неясно, работает ли вообще.
Ребята же из компании Echo Nest, решили, что распознавание музыки должно быть таким же доступным миру явлением, как электронная почта или DNS :), и выпустили своё детище полностью под MIT License. А детище, надо сказать, у них очень серьёзное — еще бы, если основателями компании являются доктора наук из MIT Media Lab .
Тотзверьфункционал, который они выпустили на свободу, не ограничивается только распознаванием музыки по записанному отрывку, но и позволяет делать такие вещи, как поиски дубликатов музыки, массовое распознавание и заполнение тэгов в музыкальных коллекциях, проверка аудио/видео на содержание того или иного материала, синхронизация коллекций из различных музыкальных пространств (iTunes <-> Last.fm <-> Spotify, например) и много чего еще.
Ребята же из компании Echo Nest, решили, что распознавание музыки должно быть таким же доступным миру явлением, как электронная почта или DNS :), и выпустили своё детище полностью под MIT License. А детище, надо сказать, у них очень серьёзное — еще бы, если основателями компании являются доктора наук из MIT Media Lab .
Тот
+85
Полезные ссылки для PHP разработчика с MageConf 2012
2 min
28K16.09.2012 в Киеве в три потока прошла конференция MageConf 2012. Два потока были посвящены системе Magento, третий – PHP. Посетив все 6 докладов на потоке PHP, хотел бы кратко изложить основную информацию, донесенную спикерами. В итоге пост получился набором полезных ссылок по разработке на PHP.
Докладчики особое внимание уделяли утилитам и софту, которыми они активно пользуются в Magento. Один из спикеров ранее был разработчиком портала i.ua.
Докладчики особое внимание уделяли утилитам и софту, которыми они активно пользуются в Magento. Один из спикеров ранее был разработчиком портала i.ua.
+39
Как обойтись без капчи?
2 min
130KК сожалению, на многих сайтах без особой необходимости используют капчи. Хотя можно побороть спам и незаметными для пользователя способами. Особенно, капчу больно видеть на небольших коммерческих сайтах в форме обратной связи, поскольку, капча заметно снижает конверсию таких сайтов. Для больших сайтов, которые могут специально спамить, такие методы не применимы. Однако, в большинстве случаев, без капчи можно обойтись
+115
Vanilla JS — очень мощный javascript-фреймворк
4 min
191KRecovery Mode
Как ни странно, на Хабре упоминание этого мощнейшего фреймворка нашлось лишь в одном комментарии от апреля 2012 года.
Для меня эта тема особенно актуальна, ведь последнее время на Хабре упоминается огромное количество js-фреймворков. Какие-то из них авторы различных проектов находят в Сети, какие-то — пишут сами,не очень понимая зачем. Кто-то просто пишет свои велосипеды.
Моё же мнение — надо стремиться к отсутствию избыточного кода, к максимальному минимализму, простите за тавтологию.
Если на весь сайт вам нужно только выбирать html-элементы по их id — глупо подключать jQuery.
Если вам на Node.js проекте надо собрать пачку js-файлов и сжать их — глупо писать или подключать тяжёлые фреймворки с кучей настроек, параметров, дополнений и методов, ведь простейший скрипт, склеивающий файлы и прогоняющий их через Кроукфордский jsmin будет намного быстрее, надёжнее и проще.
Чем больше кода — тем больше ошибок. Чем больше стороннего кода — тем сложнее поддерживать проект. Ведь когда вы берёте чужой код, вы берёте на себя и ответственность за его поддержку. Нельзя будет сказать «этот баг не мой, а вон из той библиотеки».
Вступление
Для меня эта тема особенно актуальна, ведь последнее время на Хабре упоминается огромное количество js-фреймворков. Какие-то из них авторы различных проектов находят в Сети, какие-то — пишут сами,
Моё же мнение — надо стремиться к отсутствию избыточного кода, к максимальному минимализму, простите за тавтологию.
Если на весь сайт вам нужно только выбирать html-элементы по их id — глупо подключать jQuery.
Если вам на Node.js проекте надо собрать пачку js-файлов и сжать их — глупо писать или подключать тяжёлые фреймворки с кучей настроек, параметров, дополнений и методов, ведь простейший скрипт, склеивающий файлы и прогоняющий их через Кроукфордский jsmin будет намного быстрее, надёжнее и проще.
Чем больше кода — тем больше ошибок. Чем больше стороннего кода — тем сложнее поддерживать проект. Ведь когда вы берёте чужой код, вы берёте на себя и ответственность за его поддержку. Нельзя будет сказать «этот баг не мой, а вон из той библиотеки».
Vanilla JS
+87
Information
- Rating
- Does not participate
- Registered
- Activity