Pull to refresh
0
0
Send message

Все что вы хотели знать о мастерах операций, но боялись спросить

Reading time27 min
Views92K

Большинство системных администраторов в своей корпоративной среде для обеспечения системы идентификации и доступа своих пользователей к ресурсам предприятия используют доменные службы Active Directory, которые смело можно назвать сердцем всей инфраструктуры предприятия. Как многие из вас знают, структура доменных служб в организациях может включать в себя как один, так и несколько лесов (набор доменов, включающих описание сетевой конфигурации и единственный экземпляр каталога), в зависимости от таких факторов как ограничение области доверительных отношений, полное разделение сетевых данных, получение административной изоляции. В свою очередь, каждый большой лес для упрощения администрирования и репликации данных должен разделяться на домены. В каждом домене для управления доменными службами и выполнения таких задач как проверка подлинности, запуск службы «Центр распределения ключей Kerberos» и управления доступом используются контроллеры домена. А для управления сетевым трафиком между офисами разрабатываются сайты.
Читать дальше →
Total votes 85: ↑68 and ↓17+51
Comments32

Алгоритм сортировки Timsort

Reading time6 min
Views156K
Timsort, в отличии от всяких там «пузырьков» и «вставок», штука относительно новая — изобретен был в 2002 году Тимом Петерсом (в честь него и назван). С тех пор он уже стал стандартным алгоритмом сортировки в Python, OpenJDK 7 и Android JDK 1.5. А чтобы понять почему — достаточно взглянуть на вот эту табличку из Википедии.



Среди, на первый взгляд, огромного выбора в таблице есть всего 7 адекватных алгоритмов (со сложностью O(n logn) в среднем и худшем случае), среди которых только 2 могут похвастаться стабильностью и сложностью O(n) в лучшем случае. Один из этих двух — это давно и хорошо всем известная «Сортировка с помощью двоичного дерева». А вот второй как-раз таки Timsort.

Алгоритм построен на той идее, что в реальном мире сортируемый массив данных часто содержат в себе упорядоченные (не важно, по возрастанию или по убыванию) подмассивы. Это и вправду часто так. На таких данных Timsort рвёт в клочья все остальные алгоритмы.
Читать дальше →
Total votes 292: ↑285 and ↓7+278
Comments63

Скрипт резервного копирования через rsync

Reading time3 min
Views28K
Возникла необходимость как-то и куда-то бэкапится. Причём чтобы процессоры не грузились и место не занималось, а бэкапы ротэйтились и удобно доставались. Раньше всегда пользовался fsbackup, но захотелось отказаться от архивирования. Для решения задачи была использована rsync и механизм жёстких ссылок (так называемых хардлинков) файловой системы.

Архитектура: есть отдельно стоящий сервер с большим винтом — на нём и работает скрипт. Есть много разных серверов с доступом по ssh, на которых в ~/.ssh/authorized_keys добавлен публичный ключ пользователя, под которым работает скрипт резервного копирования.
Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments36

Юзабилити как опиум для народа

Reading time4 min
Views6.4K
Слово «Юзабилити» будоражит умы. Тут и там слышно «неюзабельно», появилось много рекомендаций на тему повышения юзабилити ресурсов, множество адептов культа юзабилити, множество молодых будущих юзабилистов. Слово окутано пеленой таинственности. Мистическое знание о том, как делать юзабилити, хотят получить все больше людей. Возникают вопросы о том, как продавать юзабилити, как внедрять юзабилити, как юзать юзабилити.

У меня возникают другие вопросы. Что такое юзабилити, как его потрогать? В чем мерить юзабилити? Как верифицировать оценочные суждения «юзабельно-неюзабельно» помимо тестирования результатов на респондентах? В какой точке процесса разработки находится этап юзабилити? Почему лучшая из прочитанных мной книг по юзабилити не использует этот термин и называется «Веб дизайн»? Вот на них я и попытаюсь ответить, заодно перевернув все с ног на голову. Или наоборот.

Читать дальше →
Total votes 110: ↑85 and ↓25+60
Comments80

Попытка просто объяснить сложные, для новичков, вещи в javascript

Reading time8 min
Views24K
Я попытаюсь просто объяснить, как работают замыкания в Javascript, как работает this, как создавать конструкторы для своих классов и чем различаются различные подходы к их созданию.
Статья не претендует на новаторство, но достаточно доступные объяснения how it works для новичков я не видел, и на мой взгляд — это три самых узких места в Javascript (не привязанному к какому либо контексту, серверу или браузеру, например).
Читать дальше →
Total votes 82: ↑73 and ↓9+64
Comments34

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

Reading time4 min
Views23K
Как-то незаметно для себя, я решил отойти от возни с классами и паттернами, и разобраться с самыми обычными Js функциями. Думал, что будет достаточно скучно, но ошибся — оказалось очень даже интересно.

В этой статье я расскажу об особенностях объявления функций, и некоторых полезных паттернах (кхе-хе, да, они есть и тут)

Читать дальше →
Total votes 106: ↑99 and ↓7+92
Comments43

Настройка Database Mail в MS SQL Server 2005 и старше

Reading time8 min
Views72K
Все описанное в этом посте будет актуально для Microsoft SQL Server 2005 и старших версий (2008, 2008 R2, Denali). Так же, в рамках этого поста, словосочетание «SQL Server» будет обозначать только Microsoft SQL Server, исключая MySQL, PostgreSQL, FireBird и прочие СУБД, которые, теоретически, можно назвать SQL Server.

Что это за штука такая, Database Mail?


Database Mail появился в SQL Server 2005, заменив собой компонент SQLMail. Database Mail (как ранее SQLMail) используется для отправки сообщений электронной почты самим SQL Server'ом (точнее, его компонентом Database Engine). Коренным отличием Database Mail от SQLMail является то, что последний, для отправки сообщений, использовал стороний клиент (Microsoft Outlook), который должен был быть установлен на машине с SQL Server'ом, а Database Mail сам общается с почтовым сервером по протоколу SMTP.

Для чего это надо?

Читать дальше →
Total votes 23: ↑16 and ↓7+9
Comments7

Алгоритмы LZW, LZ77 и LZ78

Reading time8 min
Views155K

Хочется продолжить свою предыдущую тему об алгоритмах сжатия. В этот раз я расскажу об алгоритме LZW и немного об его родственниках алгоритмах LZ77 и LZ78.

Алгоритм LZW


Алгоритм Лемпеля — Зива — Велча (Lempel-Ziv-Welch, LZW) — это универсальный алгоритм сжатия данных без потерь.
Читать дальше →
Total votes 72: ↑65 and ↓7+58
Comments15

HTML5-консоль от Google

Reading time1 min
Views3.2K
HTML5-консоль, который вы могли видеть в одном из выступлений на майской конференции Google I/O, работает в онлайне (судя по всему, только в браузере Chrome).



Презентация HTML5 Wow целиком была создана для демонстрации возможностей HTML5. Все демонстрационные примеры, в том числе консоль, выложены с открытыми исходниками.
Читать дальше →
Total votes 70: ↑60 and ↓10+50
Comments23

Семь причин, по которым ваши коллеги вам не доверяют

Reading time2 min
Views7.5K
Замечания от переводчика: текст написан для американской действительности, но, на мой взгляд, приводимые положения универсальны, и справедливы для Российских коллективов.

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

Каких-таких шагов?
Total votes 77: ↑55 and ↓22+33
Comments28

Еще немного про P и NP

Reading time7 min
Views30K
image

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

Чтобы проиллюстрировать центральную роль этого понятия, можно вообразить пять различных возможных миров (возможных — потому что еще не доказано, что они нереальны, и наш может оказаться любым из них) и посмотреть как условия в них будут влиять на информатику и жизнь вообще.
Читать дальше →
Total votes 99: ↑91 and ↓8+83
Comments23

Маркерная доска своими руками

Reading time5 min
Views212K
Доброго времени суток дорогой читатель.

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



Подкатом картинки — примерно три мегабайта.
Читать дальше →
Total votes 281: ↑262 and ↓19+243
Comments155

Шаблонная библиотека cxxtools

Reading time1 min
Views1.7K
Начиная рабочий проект под Linux, я застрял в поисках С++ библиотеки, которая бы 1) была free, 2) умела работать с сокетами и можно быстро было поднять свой сервер, 3) нужна была оббёртка над потоками для плюсов. Сперва я наткнулся на Qt, но через некоторое время Qt стал слишком тяжелым для поставленной цели. В итоге поиски подтолкнули к cxxtools.

Кратко
Кратко о том, что умеет делать библиотечка:
  • умеет работать с TCP сокетами и поднимать на их основе слушающий сервер;
  • умеет парсить http запросы и отдавать ответы;
  • умеет работать с SSL;
  • реализован быстрый механизм сигналов (как раз похожий на Qt);
  • имеется похожий на boost-овский, но более удобный шаблон Function / Method; необходим для callback-функционала
  • умеет работать с потоками (threads): attached и detached threads;
  • удобный шаблон пула (pool);
  • гораздо удобнее smart pointer (ну имхо конечно), чем тот же std::smart_ptr и auto_ptr. Позволяет использовать разные политики управления классом и подсчёта ссылок, что удобно и необходимо для многопотоковых реализаций
  • удобный механизм логирования
  • ini-парсер
Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments33

Простой сервер на Qt/C++

Reading time3 min
Views128K
В последнее время очень часто приходится слушать определенный порт, получать данные от клиента и отправлять соответствующий ответ. Решил поделиться с новичками, как же создать такой сервер и решить некоторые поставленные вопросы.
В этой статье мы рассмотрим:
— Создание tcp сервера.
— Подключение нескольких клиентов к серверу параллельно.
— Отключение клиентов (отключение сокетов).
— Получение и отправку данных.

Исходники: https://github.com/valualit/QTcpServer01

image

Читать дальше →
Total votes 67: ↑45 and ↓22+23
Comments27

C++11 — removed and deprecated

Reading time3 min
Views15K

Все уже в курсе выхода нового стандарта С++11, на Хабре уже было несколько статей о его фичах. А я вот решила написать о том, что из С++ в новой версии было исключено и по каким причинам. Оно, может быть, кажется и не таким важным, как новые возможности, но, как говорится: «Тот, кто не знает истории, обречён на повторение ошибок».
Читать дальше →
Total votes 182: ↑177 and ↓5+172
Comments46

Ещё более современный C++

Reading time6 min
Views49K
“C++11 feels like a new language.” – Bjarne Stroustrup

Не так давно Герб Саттер открыл на своём сайте новую страничку — Elements of Modern C++ Style, где он описывает преимущества нового стандарта и то, как они повлияют на код.
А под катом прячется вольный перевод содержимого этой странички.
Total votes 141: ↑135 and ↓6+129
Comments166

REST vs SOAP. Часть 1. Почувствуйте разницу

Reading time6 min
Views479K
Некоторое время назад я гуглил интернет по поводу “REST vs SOAP”, прочитал пару статей и вроде бы все понял, но не почувствовал от этого никакого удовлетворения. Что-то было не так, то ли я не почувствовал основную идею, то ли просто читал, одновременно слушая новый музон и думая о новой фиче в проекте. Как появилось время, решил восполнить этот пробел, заодно написав полезную статью по этому поводу.
Читать дальше →
Total votes 117: ↑106 and ↓11+95
Comments101

SQL Server 2008: бэкапим с умом. Часть 1: Теория

Reading time6 min
Views107K
Добрый день, друзья. В этой статье я хотел бы рассказать, о чем стоит задуматься, прежде чем настраивать систему резервного копирования баз данных. Несмотря на то, что в первую очередь рассматривается использование данного подхода с MS SQL Server, принципы, изложенные здесь, легко проецируются на любую другую технологию. Ну что ж, поехали.

Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments17

Примеры работы с разными map API

Reading time6 min
Views82K

Есть много статей на тему знакомства с Google Map Api и Yandex Map Api, но про остальные картографические сервисы не так много практического материала. В недавнем времени работал с Api:
  1. Google map
  2. Yandex map
  3. Yahoo map
  4. Bing map
  5. OpenStreet map

И хотел обобщить работу с вышеупомянутыми сервисами, а именно инициализация карты и установление маркеров по клику мышки. Материалы в статье представлены в виде Html кода, javascript и результата — скриншота, а так же исходники на vs 2010 MVC3.
Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments22

Information

Rating
Does not participate
Registered
Activity