Search
Write a publication
Pull to refresh
40
0

User

Send message

Работаем с LINQ to XML

Reading time8 min
Views132K
В первой статье в блоге .NET «Работаем с XML» в комментариях народ потребовал статьи LINQ to XML. Что же, попробуем раскрыть принципы работы этой новой технологии от Microsoft.

Создадим базу для ведения каталога аудиозаписей.
Читать дальше →

PostgreSQL 9.4 Что нового?

Reading time13 min
Views46K


Доброго времени суток! Не за горами релиз PostgreSQL 9.4 и нелишним будет пройтись по некоторым новшествам, привнесённым в этой версии. В статье будут рассмотрены (по большей части, касаемые клиентской модели):


Подробней

Table bloat? Не, не слышал…

Reading time3 min
Views55K


Думаю многим известна особенность PostgreSQL, которая приводит к эффекту раздувания таблиц, или table bloat. Известно что она проявляет себя в случаях интенсивного обновления данных, как при частых UPDATE так и при INSERT/DELETE операциях. В результате такого раздувания снижается производительность. Рассмотрим почему это происходит и как с этим можно бороться.
что?

Как была взломана Gamma International

Reading time12 min
Views87K
image

3 августа в сабреддите /r/Anarchism некто пользователь PhineasFisher создал тред, в котором сообщил о том, что ему удалось украсть 40 гигабайт различных данных компании Gamma International. Возможно, подобная история могла оказаться не столь громкой, если бы не бизнес, которым занимается эта европейская фирма — создание и продажа программных средств для взлома и скрытой слежки (а иными словами — самой настоящей малвари), заказчиками которых обычно выступали государственные структуры. Через несколько дней после первого сообщения взломщик выложил длинный рассказ о том, как ему удалось проникнуть на сервера Gamma International и что удалось там найти.

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

Руководство по установке и настройке OpenVPN

Reading time34 min
Views1.6M



Когда у нас появились сотрудники, работающие удаленно, пришлось думать над тем, как обеспечить им защищенный доступ к нашим хостинговым серверам, виртуальным выделенным серверам разработчиков Virtual Dedicated Server (VDS), сайтам обеспечения и сопровождения разработки и к другим ресурсам.



По соображениям безопасности доступ к этим ресурсам ограничен при помощи межсетевого экрана (файервола) по портам и адресам IP. Ежедневную перенастройку доступа при изменении динамических IP сотрудников едва ли можно назвать разумным решением.



Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.



В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.



Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.



Надеюсь, что эта статья будет полезна тем, кто впервые столкнулся с необходимостью создания сети VPN или уже использует ее для решения тех или задач, а также тем, кто ищет замену коммерческим реализациям VPN.


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

Разделяй и властвуй: как мы реализовывали разделение сессий на портале Mail.Ru

Reading time7 min
Views42K


Mail.Ru — огромный портал, существующий более 15-ти лет. За это время мы прошли путь от небольшого веб-проекта до самого посещаемого сайта рунета. В состав портала входит огромное количество сервисов, у каждого из которых своя судьба, и над каждым из которых работает отдельная команда. Разработчикам пришлось как следует потрудиться, чтобы на всех проектах — и новых, и старых, и тех, которые присоединились к порталу по мере его развития, — использовалась единая система авторизации. А через много лет перед нами встала фактически обратная задача: разделить пользовательские сессии. О том, зачем мы это делали, какие трудности нас ожидали и как мы их обошли, я расскажу в этом посте.
Читать дальше →

MAYHEM — многоцелевой бот для *NIX-серверов. Расследование Яндекс.Безопасности

Reading time5 min
Views44K
UPD. Спустя несколько часов после публикации на Хабре англоязычная версия этого исследования команды Безопасного поиска Яндекса вышла на Virus Bulletin. Чуть больше деталей и ссылки на библиографию.

Ботнеты из зараженных серверов под управлением ОС на базе *nix становятся все более популярными у злоумышленников. Широкий канал, отличный uptime и мощное железо делают сервера привлекательной целью для заражения. Принято считать, что для полноценного заражения *nix-системы нужно обладать правами root. Однако злоумышленники придумывают все новые и новые способы извлечения из зараженного сервера максимума пользы, довольствуясь при этом маленькими привилегиями. В этом посте мы расскажем о довольно нестандартном ботнете под названием MAYHEM, состоящем из зараженных серверов.



Изначально MAYHEM представляет собой php-скрипт, который после запуска определяет архитектуру системы (x86 или x64) и наличие прав на запись в текущую директорию. Эти привилегии в подавляющем большинстве случаев есть у пользователя, под которым запущен веб-сервер, и в данном случае их достаточно для работы бота.
Читать дальше →

Домофонный мультиключ и всё про имитацию «таблеток»

Reading time9 min
Views526K
Да, это жутко избитая тема. Универсальный домофонный ключ «таблетку» делал наверное каждый второй, кто начинал изучать микроконтроллеры. В Интернете очень много и статей на эту тему, и готовых решений. Однако, интерес к этому угасать не перестаёт даже с массовым переходом на RFID. Это не удивительно, ведь многим хочется собрать такое устройство, которое выполняет не только весьма интересную задачу, но ещё и всегда с собой. К тому же оно не такое уж сложное в изготовлении.

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



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

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

Как я проект с JavaScript на Scala переписывал

Reading time9 min
Views35K

Я никогда не смогу ходить! Потому что я ползаю.
—Цитаты великих

    Меня всегда учили прежде всего здороваться, так что — здравствуйте. Сегодня я расскажу про творческие (и не очень) муки, страдания и боль, которые я испытывал на протяжении определенного периода своей жизни, который я обозначу как ПРОЕКТ. Сначала он был на JavaScript (node.js), а теперь он на Scala (Play). Сразу скажу, что я — один из самых субъективных негодяев в обозримой Вселенной, поэтому некоторые обороты, высказывания и иже с ними могут быть восприняты уважаемыми читателями весьма неоднозначно. Короче, я предупредил. И у меня еще одна небольшая просьба — если уж взялись прочитать статью, то не кидайтесь сразу строчить разоблачающие комментарии. Дочитайте. Я не Пастернак, правду говорю. И вообще, почти все спорные моменты так или иначе освещаю, объясняю.
Ну что там

Elasticsearch как NoSQL база данных

Reading time8 min
Views64K
Может ли поисковый сервер Elasticsearch использоваться в качестве NoSQL базы данных? Положительный ответ позволит рассмотреть его различные свойства, в том числе и те, от реализации которых он отказался, чтобы стать одним из самых гибких, производительных и масштабируемых поисковых движков. Но для ответа на этот вопрос стоит сначала определиться с самим термином NoSQL, так как в зависимости от контекста он может трактоваться по-разному.

Что же все-таки такое NoSQL?


Разработчики NoSQL дают такое определение: база данных следующего поколения, характеризующаяся отказом от реляционности, распределенностью, открытостью исходных текстов и горизонтальной масштабируемостью. Назвать это определение точным, увы, нельзя.

Дело в том, что речь идет совсем не об SQL. Поясним. Язык запросов Hive явно был вдохновлен SQL. Это же можно сказать и о языке Esper, хоть он работает и не с потоками, а с отношениями. Интересна история PostgreSQL — изначально он назывался Postgres, в качестве языка запросов использовал Quel и являлся ORDBMS, а сегодня PostgreSQL обладает многими функциями, которые позволяют ему быть документноориентированным хранилищем.

В данном случае речь идет не о ACID — в определении NoSQL о транзакциях ничего не говорится. Hyperdex — это база NoSQL, которая стремится обеспечивать ACID-транзакции. MySQL, несомненно, является базой SQL и в своей истории имеет сомнительные интерпретации на тему, что же на самом деле означает ACID.
Читать дальше →

Переходим от MongoDB Full Text к ElasticSearch

Reading time6 min
Views30K
В своем прошлом посте, с анонсом Google Chrome расширения для Likeastore, я упомянул тот факт, что в качестве поискового индекса мы начали использовать ElasticSeach. Именно ElasticSeach дал достаточно хорошую производительность и качество поиска, после которого было принято решение, выпустить расширение к хрому.

В этом посте, я расскажу о том, что использование связки MongoDB + ElasticSeach, есть крайне эффективное NoSQL решение, и о том, как перейти на ElasticSearch, если у вас уже есть MongoDB.
Читать дальше →

Знакомство с программированием DECT-модуля SC14CVMDECT

Reading time8 min
Views12K

 
В данной статье мы познакомимся с программированием DECT модуля SC14CVMDECT, обязательно помигаем светодиодом, а также поделимся опытом разработки решения для SIP-телефонии на базе этого модуля.
Читать дальше →

Аппаратный модуль USB в ATXMega. Инструкция по реализации HID

Reading time5 min
Views28K
Аппаратный модуль USB в восьмибитных микроконтроллерах от Atmel появился давно. Но четкого руководства «шаг за шагом» на русском языке для контроллеров семейства XMega я не нашел. Поэтому делюсь своим опытом. Опыт достаточно поверхностный, однако позволяет разработчикам, у которых нет возможности вникать в тонкости USB стека, в сжатые сроки обеспечить взаимодействие контроллера с компьютером по интерфейсу USB. На канале Atmel на YouTube есть ролики как это делается. Однако многим удобнее читать, нежели смотреть видео — для этих людей данный пост. Также, я опишу реализацию на стороне ПК.
Читать дальше →

Очередная умная розетка для очередного умного дома

Reading time5 min
Views196K
Много лет мечтал о создании умного дома, но каждый раз останавливала проблема связи модулей (розеток, датчиков и выключателей) с центром и между собой. Но прогресс не стоит на месте, все чаще и чаще встречающаяся информация о микроконтроллерах со встроенными трансиверами подтолкнула меня опять вернуться к моей давней идее. В этом посте я расскажу о том, как создавалась «умная розетка» (на самом деле сетевой фильтр), который и представлен на фото ниже.



Все остальное под катом. Осторожно! Много картинок.
Читать дальше →

Новый выделенный сервер: приемка и проверка

Reading time10 min
Views42K
Новый сервер: приемка и проверка

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

В этой статье мы расскажем о том, как можно получить спецификацию Linux-сервера в командной строке.
Читать дальше →

Создание робота балансера на arduino

Reading time7 min
Views80K
Мне давно не давало покоя желание рассчитать какой-нибудь достаточно сложный механизм и воплотить его жизнь.
Выбор пал на задачу об обратном маятнике. Итог на видео:


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

10 банковских маркетинговых уловок, хитростей и обманов

Reading time8 min
Views148K
Пока движется разработка совершенно новой версии нашего продукта, которая никого не оставит равнодушным — мы продолжаем серию постов про банковские обманы и хитрости. Наш предыдущий пост оказался довольно успешным, поэтому мы решили написать еще один.

Желание сделать бизнес еще более прибыльным и максимально безрисковым толкает кредитора на такие хитроумные финансовые изыски, которые по своей природе призваны опустошать кошельки доверчивых и невнимательных заемщиков. На какие уловки чаще всего идут банки, и как не попасться в коварные сети — об этом читайте ниже.


Узнать где меня обманывают

24-битные I2C датчики давления HP203B и HP206C от Hope Microelectronics

Reading time8 min
Views57K
История началась, когда одна китайская компания по имени Hoperf прислала мне их новые датчики давления, на пробу. В статье описаны основные характеристики сенсоров, фичи, тесты ну и самое главное их результаты в виде графиков и словесных описаний к ним. В конце статьи выложены драйвера для этих датчиков, максимально абстрагированы от аппаратной части.

image

С лева на право: HP206C, HP203B и BMP085 от Bosch для сравнения (в тестах также участвует).
Много картинок..

Information

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