Сегодня мы с уверенностью можем сказать, что отказались от разработки сложных и дорогих интернет-проектов в пользу бюджетных, простых решений за 12 000 рублей. Вместо одного недовольного клиента, мы получаем десять довольных, а сам бизнес стал стабильным, рентабельным и, главное, прогнозируемым и предсказуемым. Я давно обещал рассказать, как нам это удается. В декабре мы перешагнули планку «21 сайт в месяц», и готовы поделиться своими секретами.
Fenya @Fenya
User
5 основных анти-паттернов системного администрирования
4 min
47KВведение
Эта статья – скорее из разряда «для самых маленьких», чем «для умудренных опытом», но она призвана повышать профессиональную культуру системных администраторов.
В силу специфики работы мне «по наследству» достается самый разнообразный облачный ад, который приходится разгребать, оптимизировать, приводить в чувство и делать прозрачным и красивым. Эти заметки, пожалуй, иллюстрация к тем моментам, которые вообще недопустимы в системном администрировании.
В причинах, которыми порождаются эти анти-паттерны, можно разбираться очень долго: дедлайны, законы и темпы бизнеса, да и просто идиотизм, наконец. Но цель статьи другая. Мне бы хотелось породить конструктивную дискуссию. А вот уже её результаты и являются основной целью статьи.
+61
Backdoor в Active Directory #2
8 min
13KВ начале прошлого года мною уже поднималась тема пост-эксплуатации в домене Microsoft Active Directory. В предложенном ранее подходе рассматривался вариант ориентированный больше на случай утери административных привилегий, нежели их непосредственное использование. При этом само действо по возврату этих привилегий подразумевало «шумные» события и визуально палевные манипуляции в каталоге. Другими словами, для того, чтобы вернуть себе административные привилегии в домене, требовалось стать участником соответствующей группы безопасности, например, группы «Domain Admins».
Надо сказать, что администраторы очень волнуются, когда неожиданно осознают присутствие в своей системе кого-то еще. Некоторые из них бросаются всеми силами обрабатывать инцидент безопасности. Порой, самыми непредсказуемыми действиями ;))
Надо сказать, что администраторы очень волнуются, когда неожиданно осознают присутствие в своей системе кого-то еще. Некоторые из них бросаются всеми силами обрабатывать инцидент безопасности. Порой, самыми непредсказуемыми действиями ;))
+56
Сети для самых маленьких. Часть нулевая. Планирование
7 min
2.2MTutorial
Это первая статья из серии «Сети для самых маленьких». Мы с товарищем thegluck долго думали с чего начать: маршрутизация, VLAN'ы, настройка оборудования.
В итоге решили начать с вещи фундаментальной и, можно сказать, самой важной: планирование. Поскольку цикл рассчитан на совсем новичков, то и пройдём весь путь от начала до конца.
Предполагается, что вы, как минимум читали о эталонной модели OSI (то же на англ.), о стеке протоколов TCP/IP (англ.), знаете о типах существующих VLAN’ов (эту статью я настоятельно рекомендую к прочтению), о наиболее популярном сейчас port-based VLAN и о IP адресах (более подробно). Мы понимаем, что для новичков «OSI» и «TCP/IP» — это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.

Начнём с постановки задачи. Есть некая фирма, занимающаяся, допустим, производством лифтов, идущих только вверх, и потому называется ООО «Лифт ми ап». Расположены они в старом здании на Арбате, и сгнившие провода, воткнутые в пожжёные и прожжёные коммутаторы времён 10Base-T не ожидают подключения новых серверов по гигабитным карточкам. Итак у них катастрофическая потребность в сетевой инфраструктуре и денег куры не клюют, что даёт вам возможность безграничного выбора. Это чудесный сон любого инженера. А вы вчера выдержали собеседование и в сложной борьбе по праву получили должность сетевого администратора. И теперь вы в ней первый и единственный в своём роде. Поздравляем! Что дальше?
В итоге решили начать с вещи фундаментальной и, можно сказать, самой важной: планирование. Поскольку цикл рассчитан на совсем новичков, то и пройдём весь путь от начала до конца.
Предполагается, что вы, как минимум читали о эталонной модели OSI (то же на англ.), о стеке протоколов TCP/IP (англ.), знаете о типах существующих VLAN’ов (эту статью я настоятельно рекомендую к прочтению), о наиболее популярном сейчас port-based VLAN и о IP адресах (более подробно). Мы понимаем, что для новичков «OSI» и «TCP/IP» — это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.

Начнём с постановки задачи. Есть некая фирма, занимающаяся, допустим, производством лифтов, идущих только вверх, и потому называется ООО «Лифт ми ап». Расположены они в старом здании на Арбате, и сгнившие провода, воткнутые в пожжёные и прожжёные коммутаторы времён 10Base-T не ожидают подключения новых серверов по гигабитным карточкам. Итак у них катастрофическая потребность в сетевой инфраструктуре и денег куры не клюют, что даёт вам возможность безграничного выбора. Это чудесный сон любого инженера. А вы вчера выдержали собеседование и в сложной борьбе по праву получили должность сетевого администратора. И теперь вы в ней первый и единственный в своём роде. Поздравляем! Что дальше?
+96
Полупроводниковая электроника
30 min
385KTutorial

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

Иллюстраций: 34, символов: 51 609.
+470
С чего начать изучение Windows Installer?
7 min
56K
Мой опыт работы с этой технологией — как теоретический, так и практический — приобретен за время работы в компании «Инфопульс Украина» и связан с созданием MSI-пакетов и подготовкой готовых MSI-пакетов к автоматической установке в корпоративной среде.
+55
Все что вы хотели знать о мастерах операций, но боялись спросить
27 min
94K
Большинство системных администраторов в своей корпоративной среде для обеспечения системы идентификации и доступа своих пользователей к ресурсам предприятия используют доменные службы Active Directory, которые смело можно назвать сердцем всей инфраструктуры предприятия. Как многие из вас знают, структура доменных служб в организациях может включать в себя как один, так и несколько лесов (набор доменов, включающих описание сетевой конфигурации и единственный экземпляр каталога), в зависимости от таких факторов как ограничение области доверительных отношений, полное разделение сетевых данных, получение административной изоляции. В свою очередь, каждый большой лес для упрощения администрирования и репликации данных должен разделяться на домены. В каждом домене для управления доменными службами и выполнения таких задач как проверка подлинности, запуск службы «Центр распределения ключей Kerberos» и управления доступом используются контроллеры домена. А для управления сетевым трафиком между офисами разрабатываются сайты.
+51
Резервное копирование для standalone *NIX-серверов. Эмулируем TimeMachine
7 min
7.2KДумаю никому из присутствующих не нужно объяснять важность резервного копирования.
Проблема в том, что из десятков готовых решений ни одно толком не удовлетворяет моим требованиям standalone *NIX-сервера на колокейшене.
Чего же хотелось от резервного копирования?
1) ежедневного полного бакапа всех данных. Никаких incremental-бакапов.
2) максимально быстрого восстановления отдельно взятого файла. Архиваторы (tar/gzip/bzip2/rar) отпадают
3) быстрого мониторинга «кто именно залил вчера на сервер 156Гб?!!!»
4) резервные копии хочется хранить максимально долго, насколько хватает свободного места на дисках.
5) хочется не заботиться об ручном удалении старых копий если место на диске всё-таки уже кончилось
Если в двух словах — то мне захотелось реализовать функционал MAC OS TimeMachine на Linux-сервере.
И я начал писать скрипт.
Проблема в том, что из десятков готовых решений ни одно толком не удовлетворяет моим требованиям standalone *NIX-сервера на колокейшене.
Чего же хотелось от резервного копирования?
1) ежедневного полного бакапа всех данных. Никаких incremental-бакапов.
2) максимально быстрого восстановления отдельно взятого файла. Архиваторы (tar/gzip/bzip2/rar) отпадают
3) быстрого мониторинга «кто именно залил вчера на сервер 156Гб?!!!»
4) резервные копии хочется хранить максимально долго, насколько хватает свободного места на дисках.
5) хочется не заботиться об ручном удалении старых копий если место на диске всё-таки уже кончилось
Если в двух словах — то мне захотелось реализовать функционал MAC OS TimeMachine на Linux-сервере.
И я начал писать скрипт.
+34
Основы конструирования компиляторов. Лексический анализ на C#
4 min
32KЗадачей лексического анализа является разбить входную последовательность (в моем случае код на языке «Паскаль») на слова и лексемы.
Для начала я создал 5 типизированных листов для хранения данных, а именно: идентификаторов, констант, ключевых слов, разделителей и свертки. Также необходим массив разделителей
и массив ключевых слов. Я ограничился одиннадцатью ключевыми словами, так как статья написана как начальный пример реализации лексического анализа языка «Паскаль» на языке C#.
Итак, массив ключевых слов:
Для начала я создал 5 типизированных листов для хранения данных, а именно: идентификаторов, констант, ключевых слов, разделителей и свертки. Также необходим массив разделителей
static char[] limiters = {',', '.', '(', ')', '[', ']', ':', ';', '+', '-', '*', '/', '<', '>', '@'};
и массив ключевых слов. Я ограничился одиннадцатью ключевыми словами, так как статья написана как начальный пример реализации лексического анализа языка «Паскаль» на языке C#.
Итак, массив ключевых слов:
static string[] reservedWords = { "program", "var", "real", "integer", "begin", "for", "downto", "do", "begin", "end", "writeln" };
+1
Наши самородки 2
1 min
1.7KПосмотрев замечательный мультфильм из предыдущего топика Наши самородки, хочу поделиться ещё одной интересной ссылкой.
Автор проекта также практически в одиночку в свободное время сваял полнометражный полуторачасовой мультфильм. 8 лет, с 2002 по 2010 год, житель нашей столицы Дмитрий Петров делал мультфильм «Потерянная Планета».
Ссылка на мульт
Оставляйте хорошие комментарии, как автору этого, так и предыдущего мультфильма. Это очень мотивирует к творчеству, когда человек знает что долгое время работал не зря, в конце концов они оба заслужили этого.
Автор проекта также практически в одиночку в свободное время сваял полнометражный полуторачасовой мультфильм. 8 лет, с 2002 по 2010 год, житель нашей столицы Дмитрий Петров делал мультфильм «Потерянная Планета».
Ссылка на мульт
Оставляйте хорошие комментарии, как автору этого, так и предыдущего мультфильма. Это очень мотивирует к творчеству, когда человек знает что долгое время работал не зря, в конце концов они оба заслужили этого.
+58
Отладочная плата FEZ Hydra на базе Open-source проекта .NET Gadgeteer
2 min
4.8KTranslation
На Хабре уже упоминалась предыдущая разработка компании FEZ Spider Kit. Компания GHI Electronics продолжила развитие в направление разработки устройств .NET Gadgeteer. И 8 ноября представила новое дополнение к конструктору плату FEZ Hydra. FEZ Hydra использует процессор ARM9 с тактовой частотой 240Mhz. С 16 Мб SDRAM ОЗУ, и 4 Мб постоянной памяти типа FLASH. Как указывает разработчик, на устройстве возможно запустить ОС Linux, т.к. система является полностью 100% открытой.


+14
FlexGet или Бекапим инетернет автоматически
2 min
13K
Доброго дня, Хабр!
Довольно давно хотел как то автоматизировать закачки с трекеров любимых сериалов. И вот наконец неделю назад чисто случайно наткнулся на довольно интересную софтинку FlexGet.
+50
Шутер с псевдо-3D графикой на… bash
5 min
23KЗдравствуй, Хабрачеловек!
Решил я как-то, что неплохо бы научиться писать «Hello world!» на bash. Как-никак уже полгода работаю на убунте, стыдно не уметь такого. Поискал на Хабре и понял, что просто почитать мануалы нынче не модно, надо написать свою игру. Осталось выбрать какую. Шахматы, Xonix, Sokoban, Морской бой уже написали, Тетрис вроде тоже (хотя ссылки не нашел), что же выбрать? Первой идеей была стратегия, но была откинута из-за полной безумности (хотя я надеюсь, что один из тех, кто продолжит историю топиков про игры на bash напишет и ее). Поэтому я остановился на шутере.

*На картинке изображен коридор и монстр в нескольких шагах впереди
Ссылка на скрипт: github.com/EvilTosha/labirinth/blob/master/lab2.sh
Под катом вы найдетеабсолютно неинтересное и ненужное описание внутренней части игры.
Решил я как-то, что неплохо бы научиться писать «Hello world!» на bash. Как-никак уже полгода работаю на убунте, стыдно не уметь такого. Поискал на Хабре и понял, что просто почитать мануалы нынче не модно, надо написать свою игру. Осталось выбрать какую. Шахматы, Xonix, Sokoban, Морской бой уже написали, Тетрис вроде тоже (хотя ссылки не нашел), что же выбрать? Первой идеей была стратегия, но была откинута из-за полной безумности (хотя я надеюсь, что один из тех, кто продолжит историю топиков про игры на bash напишет и ее). Поэтому я остановился на шутере.

*На картинке изображен коридор и монстр в нескольких шагах впереди
Ссылка на скрипт: github.com/EvilTosha/labirinth/blob/master/lab2.sh
Под катом вы найдете
+301
Опыт использования TFS 2010: (Система контроля.Права и Политики)
5 min
3.6K
В прошлый раз, я писал о создании веток, Опыт использования TFS 2010: (Система контроля.Ветки.Создание) и одном из вариантов их иерархии. В этой части я попытаюсь раскрыть работу с системой контроля и более подробно и остановлюсь на средствах контроля доступа к коду в ветках и политики CheckIn.
+5
Прямой московский номер в Skype
3 min
57KTutorial

В статье будет описан способ подключить прямой московский номер в Skype с бесплатными входящими за 8 долларов в год.
UPD: Данный способ уже не актуален, всё можно сделать проще habrahabr.ru/blogs/skype/130299/#comment_4599646
Вместе с прямым московским будут доступны шлюзы в крупных городах России, Украины, Великобритании, США и других, через которые можно принимать входящие вызовы, используя добавочный пятизначный префикс, и, если нет необходимости в прямом номере, решение будет полностью бесплатным.
Для этого будут использованы два sip-провайдера и собственный сервер asterisk для коммутации.
+77
Делаем сами remote-desktop клиент для смартфона. Часть 1: серверная
7 min
14KЯ всегда хотел себе портативный удалённый рабочий стол на телефоне, чтобы, например, когда кто-то стучится в аську, а я на балкон покурить вышел, можно было не уходя с балкона посмотреть на телефоне, кто там. Ну или, например, переключить трек, принимая ванну. Да, я знаю, что всевозможные VNC-клиенты уже написаны, но я решил сделать такую программу сам.
В первой части статьи я ограничусь только созданием несложного remote desktop приложения, в котором и сервер, и клиент будут работать на обычных настольных компьютерах. Во второй и третьей части я рассмотрю сжатие изображения и программирование собственно телефона.
Конечную функциональность я представляю себе так: на дектопе (сервер) резидентно висит программка, которая, по пришедшему снаружи UDP-пакету начинает передавать фрагменты изображения на обратный адрес. На телефоне (клиент) отображаются присланные фрагменты. Пользователь может сдвинуть оконо отображения или кликнуть внутри него. Информация о сдвигах и кликах передаётся на сервер так же – по UDP.
В первой части статьи я ограничусь только созданием несложного remote desktop приложения, в котором и сервер, и клиент будут работать на обычных настольных компьютерах. Во второй и третьей части я рассмотрю сжатие изображения и программирование собственно телефона.
Конечную функциональность я представляю себе так: на дектопе (сервер) резидентно висит программка, которая, по пришедшему снаружи UDP-пакету начинает передавать фрагменты изображения на обратный адрес. На телефоне (клиент) отображаются присланные фрагменты. Пользователь может сдвинуть оконо отображения или кликнуть внутри него. Информация о сдвигах и кликах передаётся на сервер так же – по UDP.
+37
Обновление баз данных Microsoft SQL Server
2 min
11KВ данной статье я расскажу о процессе обновления баз данных Microsoft SQL Server и предложить программный продукт, который может использоваться при взаимодействии заказчика и исполнителя.
+5
Фильтруем людей или как заблюрить одного человека на видео
5 min
2.7KДобрый день. Хочу предложить вам небольшую статью о своей работе с кинектом.
Сейчас я делаю небольшую часть рекламного проекта, где используется кинект. Одной из задач является «наложение фильтра» на одного человека в толпе. Об этом и поговорим.
Сейчас я делаю небольшую часть рекламного проекта, где используется кинект. Одной из задач является «наложение фильтра» на одного человека в толпе. Об этом и поговорим.
+33
Анализируем производительность системы
3 min
77KАренда сервера или виртуальной машины в сети становятся все доступнее. На момент написания статьи аренда мощного 4-х ядерного сервера с неограниченным трафиком обходится всего в 70-100 долларов в месяц.
По этой причине многие компании, веб-мастера и разработчики арендуют сервер для нескольких проектов вместо использования разделяемого хостинга.
Преимущества очевидны: больший контроль над работой приложений и полное использование ресурсов сервера для своих проектов.
Как определить, что производительности сервера стало недостаточно и пора производить обновление или замену? Какой из компонентов стал бутылочным горлышком?
Эта статья поможет самостоятельно ответить на вопрос — требуется ли серверу замена? — используя сводные таблицы Microsoft Excel. Применяя описанный метод, для вас не составит труда подготовить красивый иллюстрированный отчет руководству, а также быстро найти узкие места в системе. Картинок будет много!
По этой причине многие компании, веб-мастера и разработчики арендуют сервер для нескольких проектов вместо использования разделяемого хостинга.
Преимущества очевидны: больший контроль над работой приложений и полное использование ресурсов сервера для своих проектов.
Как определить, что производительности сервера стало недостаточно и пора производить обновление или замену? Какой из компонентов стал бутылочным горлышком?
Эта статья поможет самостоятельно ответить на вопрос — требуется ли серверу замена? — используя сводные таблицы Microsoft Excel. Применяя описанный метод, для вас не составит труда подготовить красивый иллюстрированный отчет руководству, а также быстро найти узкие места в системе. Картинок будет много!
+1
Вы еще не авторизуетесь по ключам? Тогда мы идем к вам
3 min
194KЕсть куда более полезная и подробная памятка по ssh от amarao, а эта статья пусть останется в том виде, в котором была написана в далеком 2011.
Этой заметкой я хочу показать, что использовать ключи для авторизации это просто.
Начнем с того, что нам понадобится PuTTY.
Идем на http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html и качаем следующее:
PuTTY — ssh-клиент
Pageant — агент для хранения ключей (зачем объясню позже)
PuTTYgen — генератор ключей
+34
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity