Search
Write a publication
Pull to refresh
98
0
Send message

Подробная анатомия простого плагина для XBMC

Reading time20 min
Views33K

Предисловие


Похожая статья на Хабре уже публиковалась, но в ней основное внимание было уделено парсингу сайта с видео — так сказать, бизнес-логике плагина, а вопросы взаимодействия с XBMC затронуты вскользь. Я же хочу рассказать о том, что превращает скрипт на языке Python (далее — Питон) в плагин XBMC.
Читать дальше →

Упрощаем жизнь администратору, ассоциируем имя пользователя и имя компьютера в автоматическом режиме в каталоге AD

Reading time10 min
Views153K
Добрый день, хабр!
Наверное, у всех системных администраторов была проблема определения имени компьютера пользователя. То есть мы знаем имя сотрудника, но какой у него компьютер, без понятия. И, зачастую, попытка заставить пользователя определить имя компьютера вызывает мучение. Они вместо этого называют имя пользователя, mail, номер телефона, все что угодно, только не имя компьютера. А попытка объяснить пользователю где находится информация о системе вызывает баттхерт сотрудника и лютую ненависть. Можно, конечно, было бы написать какую-нибудь утилитку, позволяющая отображать имя компьютера на рабочем столе или где-нибудь еще на видном месте, но для этого надо каждый раз объяснять где находится эта информация. Немного упрощает задачу, но не решает ее полностью. Тем более что я склоняюсь к тому, что пользователю и во все положено не знать имя компьютера, на котором он сидит. В результате было решено сделать определение имени компьютера современным, удобным, правильным и, главное, автоматическим.

image
Примерно так может выглядеть подключение к компьютеру. При чем оснастку даже не обязательно открывать с помощью административной учетной записи. Для тех, кому интересно как все это работает и как это сделать в вашей инфраструктуре, добро пожаловать под кат.
Для выполнения описанного, вы должны понимать что такое AD, понимать хотя бы примерно структуру объектов в AD, понимать работу скриптов, а также любить котиков.
Читать дальше →

Публичная разработка «Больше чем ридер»: функциональный дизайн

Reading time5 min
Views11K
Разработка «Больше чем Ридер» захватила нас полностью, отняв у семей и читателей. А реакция на опрос в публикации на Хабре (спасибо!) привела к изменению этапности: кроме мобильного решения мы будем разрабатывать и web-версию. В первую очередь.

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

За прошедшие три недели была завершена разработка инфраструктуры нового продукта — сервиса для чтения контент-потоков сайтов (включая RSS), сводных тематических лент и материалов соцсетей: закуплено и настроено много «железа», закончен монтаж серверов в стойки, реализована базовая часть недостающей части API к Платформе, и вплотную подошли к утверждению функционального дизайна нашего продукта.



Краткий экскурс в историю: что планируется в «Больше чем ридер»:

1. Контент-потоки (включая привычные RSS) по различным тематикам — от новостей до «котиков»;
2. Тематические потоки, созданные пользователем с помощью простых поисковых запросов. Например, для получения всех материалов (вне зависимости от источников) по зимней Олимпиаде можно создать поток задав фразу «Олимпиада -Лондон, Сочи 2014»;
3. Настраиваемые пользователем потоки из соцсетей (свои и чужие аккаунты персон и групп), с просмотром новых поступлений и возможностью постинга и расшаривания, of course.
Читать дальше →

Видео первой лекции IT-мастерской: Суперкомпьютеры. Внутренняя архитектура систем корпоративного уровня

Reading time1 min
Views12K
Мы, портал Айти-Событие.рф, 31 июля провели Первую IT-мастерскую совместно с компанией EMC Corporation. Лектором выступил руководитель направления Mainframe в рамках подразделения ESD (Enterprise Storage Division) корпорации EMC Сергей Поспелов. Сергей рассказывал о суперкомпьютерах и о внутренней архитектуре систем корпоративного уровня.


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

Измерения в OpenStack с использованием Ceilometer

Reading time10 min
Views8.4K
Автор: Руслан Киянчук

Цель проекта OpenStack – создать платформу облачных вычислений с открытым кодом, которая будет соответствовать запросам публичных и частных облаков засчет простого развертывания и возможностей масштабирования. Так как OpenStack предоставляет инфраструктуру как услугу (IaaS) конечным клиентам, важно иметь возможность измерить её производительность и использование в целях биллинга, оценки эффективности, масштабируемости и получения статистики.

Для измерения инфраструктуры OpenStack доступны несколько проектов:
Читать дальше →

Организация сети в облаке и сетевая связность с облаком

Reading time3 min
Views13K
Организация сети в облаке и сетевая связность с облаком

Здравствуйте, дорогие любители cloud computing.

Сегодня меня заставили написать пост о сетях – о тех сетях, что используются в нашем облаке. Я изо всех сил постараюсь объяснить, как тут все организовано, а также расскажу о том, как можно подключиться к нашему облаку.

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

О вступлении в силу «антипиратского» закона

Reading time3 min
Views56K
Сегодня, 1 августа 2013 года, вступил в силу закон, который задумывался как «антипиратский» — № 187-ФЗ. Важность борьбы с пиратством и защиты авторских прав понимают все крупные интернет-компании. Сегодня мы расскажем, почему Mail.Ru Group не может поддержать этот закон и чем он грозит пользователям и сервисам.

image

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

Распространенные заблуждения в управлении проектами

Reading time6 min
Views116K
Когда я работал программистом, ко мне нередко подходили с просьбой помочь сделать проект за долю. В некоторых я участвовал. Но очень мало проектов взлетело.
Со временем я стал менеджером проектов, а люди все так же подходят. И сами вокруг делают стартапы. Взлетают единицы.
Почему же?


Быстро разбогатеть и уплыть на собственный остров просто, увы, лишь в мечтах.

Ответ, увы, кроется не в идее, реализации и даже не в рынке. Дело только в голове создателя стартапа. А точнее, в мифах, которыми она полна.

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

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

DLNA-сервер для дома и семьи

Reading time7 min
Views868K
Как-то так сложилось, что тег DLNA сервер чаще встречается в постах-вопросах, чем в ответах. И если в вопросах установки на домашний Windows-ПК какой-то пользовательский опыт накоплен, то определиться с выбором ПО для домашнего сервера/NAS-а/медиацентра — оказалось непросто. Распределившись по песочницам народ обособленно решает проблемы каждой программы в отдельности. А понять что из них чего стоит и нужно ли оно вообще — лично мне не удалось.

И вот, я вооружившись ссылкой с Википедии Как выбрать DLNA-сервер под Windows, Mac OS X или Linux — опробовал почти всё, что есть под Linux.

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

Как HTTPS обеспечивает безопасность соединения: что должен знать каждый Web-разработчик

Reading time9 min
Views375K


Как же все-таки работает HTTPS? Это вопрос, над которым я бился несколько дней в своем рабочем проекте.

Будучи Web-разработчиком, я понимал, что использование HTTPS для защиты пользовательских данных – это очень и очень хорошая идея, но у меня никогда не было кристального понимания, как HTTPS на самом деле устроен.

Как данные защищаются? Как клиент и сервер могут установить безопасное соединение, если кто-то уже прослушивает их канал? Что такое сертификат безопасности и почему я должен кому-то платить, чтобы получить его?
Читать дальше →

Спагетти-статья о спагетти-коде

Reading time15 min
Views50K
image

Перевод статьи Майкла О. Черча — What is spaghetti code?

Самый простой способ для эпитета утратить свое первоначальное значение — это стать чрезмерно широким, начать означать чуть больше, нежели просто “мне это не нравится”. Речь идет о термине “спагетти-код”, который люди часто используют как синоним к понятию “плохой код”. Проблема в том, что не всякий плохой код является спагетти-кодом. Спагетти-код — это особенно опасный и специфический вид плохого кода, и его особое зло заключается в самом способе разработки нами программного обеспечения. Почему? Потому что отдельно взятые люди редко пишут спагетти-код самостоятельно. Скорее, определенный стиль в разработке делает его все более распространенным со временем. Для того, чтобы понять это, нужно рассмотреть первоначальный контекст, в котором было определено понятие “спагетти-код” — ужасное (и в основном архаичное) использование оператора goto.
Читать дальше →

Подборка полезного для любителей Twitter Bootstrap

Reading time1 min
Views83K
В подборке инструменты, плагины и другие полезности, облегчающие работу с Twitter Bootstrap. Предыдущая подборка.

Инструменты




Bootstraptor — подборка большого количества бесплатных и премиум тем, в том числе Starter Kit, на основе Bootstrap.
Читать дальше →

Review Board + Mercurial — опыт внедрения и автоматизации процесса code review

Reading time7 min
Views13K
mercurial-review-boardНекоторое время назад в компании, где я работаю в связи с расширением комманды было принято решение о введении процесса code review. Выбор инструмента пал на Review Board — продукт обладает достаточным функционалом, активно разрабатывается с 2006 года и является open source. В качестве системы контроля версий у нас используется Mercurial

О том, с чем какими задачами столкнулись при организации процесса код ревью для связки Review Board + Mercurial — под катом.
Читать дальше →

8 вещей, которых не должен бояться разработчик

Reading time4 min
Views54K
Изменять код
В процессе разработки программного обеспечения нет такого понятия, как «стагнация». Все, что вы разрабатываете сейчас — просто очередная версия компонента, который вероятно будет меняться в будущем. Изменение является самым распространенным явлением в мире разработки программного обеспечения и вам лучше принять это как факт. Рассчитывайте на возможные изменения всего, что вы разрабатываете и поэтому проектируйте ваш код более модульным. Это упрощает изменения и в тоже время увеличивает качество кода. Старайтесь придерживаться концепций DRY и YAGNI. Вы часто будете в ситуации, когда вы смотрите на ваш код и представляете, что вы могли бы сделать это лучше. Так пусть эта мысль не мешает вам спать. Садитесь сразу за дело и рефакторинг! Если не сделаете это сейчас, вы возможно никогда этого не сделаете. Чем дольше ждете, тем сложнее и дороже это будет. И это может вырасти в лишнюю головную боль, с которой не захочется связываться.
«Хороший код — это код, который легко изменять. Код стремится измениться до момента, когда его уже не легко изменять. Весь код становится плохим кодом». Неизвестный автор.
Читать дальше →

Не зная брода, не лезь в воду. Часть N4

Reading time5 min
Views14K
В этот раз я хочу поговорить о виртуальном наследовании в языке Си++, и почему его следует использовать очень осторожно. Предыдущие статьи: часть N1, N2, N3.
Статья написана по мотивам заметки "Грабли 2: Виртуальное наследование". Статья хорошая, но, на мой взгляд, несколько размыта, и новичок может не до конца уловить суть опасностей. Я решил предложить свой вариант описания проблем связанных с виртуальным наследованиям.
Читать дальше →

Поддержка чистой шары для обмена файлами с помощью Powershell

Reading time3 min
Views18K
В каждой организации есть сетевой ресурс для обмена данными между пользователями, в который доступ имеют все. Что делать, когда пользователи сами не удаляют временные файлы из своих папок в «обмене» и ресурс начинает занимать слишком много места?

Задача:
1) Автоматическое очищение папок пользователей на общем сетевом ресурсе с сохранением структуры каталогов до 1 уровня. В корне ресурса расположены папки по фамилиям пользователей.
2) Сохранение данных за прошедший день в папке «Вчера» (права пользователей «только чтение»). Это нужно на случай, если пользователь забыл забрать важный документ вчера.
3) Логирование ошибок копирования файлов. Для анализа.
4) Возможность быстро перенастроить скрипт для использования на другом сервер\папке.
Исходные данные:
1) Сетевая папка «Обмен» на //server/obmen, которая смотрит на D:\obmen
Решение:
Читать дальше →

SMB и NTFS-разрешения. Разбор полетов

Reading time14 min
Views213K
Для чего в большинстве случаев в организации нужен сервер? Active Directory, RDS, сервер печати и еще куча мелких и крупных сервисов. Самая заметная всем роль, пожалуй, это файловый сервер. С ним люди, в отличие, от других ролей работают осознаннее всего. Они запоминают в какой папке что лежит, где находятся сканы документов, где их отчеты, где факсы, где общая папка, в которой можно все, куда доступ только одному из отделов, куда другому, а о некоторых они вообще не догадываются

О доступе к сетевым и локальным папкам на сервере я и хочу поговорить.
Читать дальше →

Стихи в коде

Reading time2 min
Views77K


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

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

[C++] Всё ли мы знаем об операторах new и delete?

Reading time4 min
Views84K
Привет! Ниже речь пойдет об известных всем операторах new и delete, точнее о том, о чем не пишут в книгах (по крайней мере в книгах для начинающих).
На написание данной статьи меня побудило часто встречаемое заблуждение по поводу new и delete, которое я постоянно вижу на форумах и даже(!!!) в некоторых книгах.
Все ли мы знаем, что такое на самом деле new и delete? Или только думаем, что знаем?
Эта статья поможет вам разобраться с этим (ну, а те, кто знают, могут покритиковать:))
Читать дальше →

Экономим на спичках: как повысить локальность в OpenStack при помощи фильтров

Reading time7 min
Views2.5K
Автор: Алексей Овчинников

Довольно часто при создании виртуальной машины на облаке возникает желание связать её с некоторым устройством хранения. Довольно часто при создании виртуальной машины на облаке хочется, чтобы она работала по возможности быстро. В случае, когда с виртуальной машиной (ВМ) связано некоторое устройство хранения данных, обмен информацией с ним может значительно ухудшить производительность связки. Поэтому ясно, что если устройство хранения будет размещено на том же физическом узле, на котором развёрнута ВМ, то задержка будет минимальной. Что не очевидно, так это — как же добиться такого удобного размещения, используя платформу OpenStack.

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

Своё обсуждение я начну с простого вопроса, а именно каким образом ВМ может быть размещена на определённом узле.
Читать дальше →

Information

Rating
7,659-th
Location
Россия
Registered
Activity