Pull to refresh
12
0

Пользователь

Send message

Поиск в Mediawiki при помощи Sphinx

Reading time12 min
Views12K
image
Здравствуй, читатель!

Некоторое время назад мне была поставлена задача внедрения MediaWiki в корпоративной сети.
И главной проблемой этого внедрения стал поиск информации, содержащейся в вики.
В этой статье я хотел бы рассказать о том, как подружить поиск Sphinx с MediaWiki.
Причина по которой я хотел бы это написать — отсутствие русскоязычной документации и более-менее приличного руководства или описания, которое помогало бы моим коллегам быстро и просто начать использовать этот прекрасный поисковый механизм.
Возможно, я просто не умею пользоваться гуглом…
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments4

Почему важна SRE документация. Ч. 3

Reading time9 min
Views2.5K
Всем добрый вечер! Спешим поделиться новостью о том, что уже в феврале у нас запускается новый поток по курсу «Devops — практики и инструменты», а это значит, что пора закончить начатое и опубликовать третью часть статьи: «Почему важна SRE документация». Поехали!

Документы для управления командами SRE

Командам SRE для эффективной работы необходима надежная и доступная документация.

Сайт команды

Примечание: Вместо сайта можно использовать отдельный спейс или раздел в Confluence/Wiki.

Сайт команды важен тем, что обеспечивает координацию информации и документации, связанной с командой SRE и ее проектами. Например в Google, многие команды SRE используют g3doc (внутренняя платформа документирования Google, где доки живут в исходном коде вместе со связанным кодом), а некоторые команды используют g3doc и Google Sites: в таком случае страницы g3doc тесно связаны с кодом/деталями реализации.

Устав команды



Команды SRE должны должны поддерживать опубликованный устав, в котором описываются мотивы работы и документируется текущая вовлеченность. Устав необходим для установления идентичности, основных целей и значения команды в рамках всей компании.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments0

Stand-up, Scrum, Daily meetings — что это и для чего

Reading time4 min
Views98K
image

Часто стал замечать, что люди все больше и больше перетягивают методологии и практики из IT сферы в производственные, банковские, сферы услуг и прочие. Одной из самых распространенных «заимствованных» из мира IT практик является проведение Scrum, Daily, Stand-up митингов ( как их только не называют, но везде суть примерно одинаковая). Ниже будет представлено описание этого процесса таким образом, как его провожу лично я.

Общее


Данный пост описывает цель и регламент проведения ежедневного митинга — Стендапа. Основа данного процесса была взята из scrum методологии и является частью процесса разработки, в будущем может быть адаптирована под текущую команду, а так же и процесс разработки. Как и любой инструмент использование и отношение к нему будут определять результаты.

Цель


  • подготовка к рабочему дню и планирование его;
  • оценка предыдущего своего рабочего дня;
  • поделиться информацией и планами с коллегами;
  • получить информацию от коллег, которая может пригодится в течение рабочего дня.
Total votes 34: ↑27 and ↓7+20
Comments28

Ansible для управления конфигурацией Windows. История успеха

Reading time14 min
Views57K

На одной из встреч питерского сообщества .Net разработчиков SpbDotNet Community мы пошли на эксперимент и решили рассказать о том, как можно применять подходы, давно ставшие стандартом в мире Linux, для автоматизации Windows-инфраструктур. Но дабы не доводить всё до голословного размахивания флагом Ansible, было принято решение показать это на примере развёртывания ASP.Net приложения.


Быть спикером вызвался Алексей Чернов, Senior Developer команды, разрабатывающей библиотеки UI-компонентов для наших проектов. И да, вам не показалось: выступать перед .Net аудиторией пошёл JavaScript разработчик.


Кто заинтересовался итогом такого эксперимента, милости просим под кат за расшифровкой.


Total votes 12: ↑12 and ↓0+12
Comments10

Telegram. Безлимитный сетевой диск. Бесплатный

Reading time3 min
Views187K
Привет, Хабр.

Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в TODO. У меня она пролежала примерно год, но таки удалось ее реализовать в виде работающего прототипа.

TgCloud:


  • Виртуальная файловая система с открытым исходным г****кодом.
  • На локальном диске — только метаданные: имена, размер, структура папок и т.д.
  • Данные хранятся в Telegram и загружаются только при работе с файлом
  • Размер и тип файлов не ограничен, можно использовать с любой ОС

Подробности реализации и ссылка на репозиторий под катом.
Читать дальше →
Total votes 211: ↑175 and ↓36+139
Comments232

Ис[пользу]й

Reading time10 min
Views11K
Это – самая полезная статья из всех, что вы читали. Потому что она о пользе и ее получении.

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

Первое и главное

Читать дальше →
Total votes 103: ↑39 and ↓64-25
Comments38

Система управления Ansible

Reading time25 min
Views255K


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

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

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

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

В этой статье мы бы хотели подробно рассказать о его возможностях этого инструмента управления конфигурациями и поделиться собственным опытом его использования.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments49

Производительность сетевых приложений Linux. Введение

Reading time9 min
Views14K
Веб-приложения ныне используются повсеместно, а среди всех транспортных протоколов львиную долю занимает HTTP. Изучая нюансы разработки веб-приложений, большинство уделяет очень мало внимания операционной системе, где эти приложения реально запускаются. Разделение разработки (Dev) и эксплуатации (Ops) лишь ухудшало ситуацию. Но с распространением культуры DevOps разработчики начинают нести ответственность за запуск своих приложений в облаке, поэтому для них очень полезно досконально познакомиться с бэкендом операционной системы. Это особенно полезно, если вы пытаетесь развернуть систему для тысяч или десятков тысяч одновременных подключений.

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

Я пишу эту серию статей в ответ на вопросы молодых разработчиков, которые хотят стать хорошо информированными системными архитекторами. Невозможно чётко понять методы оптимизации приложений Linux, не погрузившись в основы, как они работают на уровне операционной системы. Хотя есть много типов приложений, в этом цикле я хочу исследовать сетевые приложения, а не десктопные, такие как браузер или текстовый редактор. Этот материал рассчитан на разработчиков и архитекторов, которые хотят понять, как работают программы Linux или Unix и как их структурировать для высокой производительности.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments3

Удачная модель ветвления для Git

Reading time10 min
Views994K
Перевод статьи Vincent Driessen: A successful Git branching model

В этой статье я представляю модель разработки, которую использую для всех моих проектов (как рабочих, так и частных) уже в течение года, и которая показала себя с хорошей стороны. Я давно собирался написать о ней, но до сих пор не находил свободного времени. Не буду рассказывать обо всех деталях проекта, коснусь лишь стратегии ветвления и управления релизами.



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments105

Автоматизация для самых маленьких. Часть нулевая. Планирование

Reading time14 min
Views54K
СДСМ закончился, а бесконтрольное желание писать — осталось.



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

Этой статьёй я начну серию о том, как мне видится автоматизация.
По ходу дела разберёмся с этапами автоматизации, хранением переменных, формализацией дизайна, с RestAPI, NETCONF, YANG, YDK и будем очень много программировать.
Мне означает, что а) это не объективная истина, б) не безоговорочно лучший подход в) мой взгляд даже в ходе движения от первой к последней статье может поменяться — честно говоря, от стадии черновика до публикации я переписывал всё полностью дважды.

Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments32

4 толковых канала на Youtube про технические собеседования

Reading time4 min
Views26K
Смотрю разные каналы ребят, которые проходят/проводят интервью в крупных компаниях и рассказывают про это. На русском прям что-то крутое не попадалось, но вот личный топ каналов на английском:


Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments1

Upgrade дисковой подсистемы старого сервера с шиной PCIe 1.0 — 2.0

Reading time7 min
Views15K
Почему темой данной статьи выбран апгрейд дисковой подсистемы
Понятно, что в первую очередь нужно, как правило:

  1. Увеличить оперативную память. Это настолько очевидный ход, что я даже не счёл нужным писать об этом в основной статье
  2. Поставить дополнительный процессор(ы) или заменить оба процессора на максимально производительные версии поддерживаемые сокетами сервера.

Для старых серверов, что память, процессоры, как правило, можно найти по бросовым ценам.

В определённый момент перед любым владельцем собственного сервера становится вопрос — upgrade или новый сервер.

Поскольку цена нового сервера сейчас может измеряться миллионами рублей, то многие идут по пути апгрейда.

Для удачного апгрейда очень важно использовать компромиссы, чтобы за незначительную плату (по отношению к цене нового сервера) мы получили существенный выигрыш производительности.

В статье приведён список серверных SSD PCI-E 2.0 x8, которые сильно подешевели сейчас, указаны рейд-контроллеры с поддержкой SSD-кеширования и испытан SATA III SSD на интерфейсе SATA II.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments6

«Игра престолов»: строим инфографику об убийствах, сексе, путешествиях по Вестеросу и многое другое

Reading time22 min
Views79K



Оригинал поста + Вспомогательные функции и исходные данные

Оглавление


Взаимоотношения персонажей
Кто кого родил
Кто кому брат или сестра
Кто кого убил
Кто кому служит
Кто с кем женат или помолвлен
У кого с кем был секс
Все отношения на одном графе
Связь персонажей по сценам
Кто самый «популярный» персонаж Игры престолов?
Количество экранного времени у персонажей
Сколько персонажей было в сериях?
Кто из персонажей был в самом большом количестве серий «Игры престолов»?
Самые популярные локации «Игры престолов»
Карта локаций «Игры престолов»
Перемещения персонажей «Игры престолов» от серии к серии
Кто больше всего «путешествовал» из персонажей «Игры престолов»?
Самые популярные локации «Игры престолов» (по экранному времени)
В каких фильмах ещё играли актёры Игры престолов и насколько они знакомы?
Фильмы, в которых играли самые «востребованные» актёры «Игры престолов»:
Актёры «Игры престолов» в «Гарри Поттере»
Актёры «Игры престолов» в «Звёздных войнах»
Актёры «Игры престолов» в «Пиратах карибского моря»
В каких фильмах/сериалах много актёров «Игры престолов»
Как тесно связаны между собой актёры «Игры престолов»
Разговоры в «Игре престолов»
Пол персонажей «Игры престолов»: кого больше, мужчин или женщин?
В этом посте я расскажу о том, как применять язык Wolfram Languge в анализе и визуализации данных на примере базы данных по «Игре престолов». В этой статье не уделяется особого внимания парсингу данных, об этом я расскажу отдельно. Вместо этого пост целиком посвящен интересной инфографике и её созданию.

Надеюсь, что построенные визуализации заинтересуют тех, кому нравится этот замечательный сериал).
Total votes 148: ↑134 and ↓14+120
Comments77

Как экипаж самолёта готовится к вылету

Reading time7 min
Views77K


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

Эти данные приходят от авиакомпании. Авиакомпания имеет договор со специальными фирмами, специализирующимися на навигации, которые полностью рассчитывают маршрут. Получается 10–15 листов А4 на английском языке (некоторые компании имеют только электронный план полёта, так сказать, минимизируют бумажный документооборот) на маршрут из Москвы в Екатеринбург. Могут посчитать и из Москвы в Гонолулу, у них одинаково софт отработает. Потом рядом отдельно — пакет информации по аэродромам: спецификация по оборудованию, радиотехнические данные, ремонты полос, рулёжных дорожек и т. п. Если известен конкретный борт, то мы уже имеем основной объём информации, какой самолёт, все его особенности отмечены.

В СССР могли сразу дать решение вроде: «Погода нелётная». Сейчас решение всегда — за командиром, и он опирается на прогнозы и фактическую погоду, может требовать залить больше топлива и так далее.

Потом мы едем на работу.
Читать дальше →
Total votes 151: ↑150 and ↓1+149
Comments148

Слушаем музыку и лекции с Youtube с заблокированным экраном смартфона и без рекламы с помощью Telegram

Reading time2 min
Views84K
Возможность слушать аудио с Youtube с заблокированным экраном смартфона — это полезная функция, например, если вы слушаете музыку или лекции. Это удобно, исключает случайные нажатия на экран, к тому же — заблокированный, неактивный экран смартфона потребляет меньше энергии.

К сожалению, официальное приложение Youtube (по крайней мере без платной подписки) такой функции не имеет. Решение я обнаружил случайно и помог мне в этом Telegram. Сама идея не нова, но с Telegram это решение первое. К тому же, оно не отображает (и, соответственно, не озвучивает) рекламу.
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments139

Инструменты для хорошего Wi-Fi. Ekahau Pro и другие

Reading time23 min
Views62K


Если вы занимаетесь построением средних и крупных Wi-Fi сетей, где самое меньшее число точек доступа это несколько десятков, а на больших объектах оно может исчисляться сотнями и тысячами, вам нужны инструменты для планирования такой внушительной сети. От результатов планирования/проектирования будет зависеть работа Wi-Fi на протяжении жизненного цикла сети, а это, для нашей страны, порой около 10 лет.

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

Если вы ошибетесь (или перестрахуетесь) и заложите больше точек доступа, то заказчик сильно переплатит и проблемы, возможно, получит сразу, от избыточной интерференции (CCI и ACI), созданной своими же точками, ибо на ПНР инженер решил доверить настройку сети автоматике (RRM) и не проверил радиообследованием, как эта автоматика отработала. Сдадите ли вы вообще сеть в таком случае?

Как и во всех аспектах нашей жизни, в Wi-Fi сетях нужно стремиться к золотой середине. Точек доступа должно быть ровно столько, чтобы обеспечить решение поставленной в ТЗ задачи (ведь вы не поленились написать добротное ТЗ?). При этом хороший инженер обладает видением, которое позволяет объективно оценивать перспективу жизни сети и закладывать адекватный запас прочности.

В этой статье я поделюсь своим опытом построения Wi-Fi сетей и подробно расскажу об инструменте №1 который уже давно помогает мне решать самые трудные задачи. Этот инструмент Ekahau Pro 10, ранее известный как Ekahau Site Survey Pro. Если вам интересна тема Wi-Fi и вообще, добро пожаловать под кат!


Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments10

Английский и айтишник: английскую сову на русский глобус?

Reading time4 min
Views15K
image

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

“Кто виноват?”


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

К сожалению, в общепринятой практике изучения английского языка не все так просто. Обучают языку и пишут пособия гуманитарии с иным, чем у технических специалистов, складом ума. Условно создателей представленных на сегодняшнем рынке программ и пособий по изучению английского можно разделить на две категории:
Читать дальше →
Total votes 47: ↑37 and ↓10+27
Comments126

PostgreSQL: Приемы на продакшене

Reading time9 min
Views90K
Можно прочитать много книг по базам данных, написать кучу приложений на аутсорс или для себя. Но при этом невозможно не наступить на грабли, при работе с действительно большими базами/таблицами особенно, когда downtime на большом проекте хочется свести к минимуму, а еще лучше совсем избежать. Вот здесь самые простые операции, как например изменение структуры таблицы может стать более сложной задачей. Наиболее интересные случаи, проблемы, грабли и их решения из личного опыта с которыми нам на проекте Pushwoosh пришлось столкнуться описаны под катом. В статье нет красивых картинок, зато есть много сухого текста.

image
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments18

IVR с распознаванием голоса на Астериск — быстро, просто, бесплатно

Reading time5 min
Views13K
Создание IVR на базе Астериск, с распознаванием DTMF и имён сотрудников (на базе Voicer от уважаемого antirek) и подключение к существующей АТС.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments6

Тестирование PostgreSQL с HugePages в Linux

Reading time4 min
Views16K

Ядро Linux предоставляет широкий спектр параметров конфигурации, которые могут повлиять на производительность. Главное — выбрать правильную конфигурацию для вашего приложения и рабочей нагрузки. Как и любой другой базе данных, PostgreSQL необходима оптимальная настройка ядра Linux. Неправильные настройки могут привести к снижению производительности. Важно проводить сравнительный анализ производительности базы данных после каждого сеанса настройки. В одном из своих предыдущих постов под названием "Tune Linux Kernel Parameters For PostgreSQL Optimization" я описал некоторые из наиболее полезных параметров ядра Linux и то, как они помогают повысить производительность базы данных. Теперь я поделюсь результатами сравнительного тестирования после настройки HugePages в Linux под различными нагрузками PostgreSQL. Я провел полный набор тестов под множеством различных нагрузок PostgreSQL с различным числом параллельных клиентов.


image

Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments0

Information

Rating
Does not participate
Registered
Activity