Как стать автором
Обновить
0
0

Cloud Engineer

Отправить сообщение

Основы компьютерных сетей. Тема №9. Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP

Время на прочтение51 мин
Количество просмотров263K


Всем привет! Спустя продолжительное время возвращаемся к циклу статей. Долгое время мы разбирали мир коммутации и узнали о нем много интересного. Теперь пришло время подняться чуть повыше и взглянуть на сторону маршрутизации. В данной статье поговорим о том, зачем нужна маршрутизация, разберем отличие статической от динамической маршрутизации, виды протоколов и их отличие. Тема очень интересная, поэтому приглашаю всех-всех к прочтению.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

Развертывание Office 2019 в корпоративной среде (для ИТ-специалистов)

Время на прочтение4 мин
Количество просмотров63K
Для настройки и развертывания корпоративных версий Office 2019 в вашей организации, включая Project и Visio (и других программ), используйте средство развертывания Office Deployment Tool (ODT).
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии10

Кластер Hyper-v из двух нод, без внешнего хранилища или гиперконвергенция на коленке

Время на прочтение6 мин
Количество просмотров65K
Давным-давно, в далекой-далекой галактике…, стояла передо мной задача организовать подключение нового филиала к центральному офису. В филиале доступно было два сервера, и я думал, как было бы неплохо организовать из двух серверов отказоустойчивый кластер hyper-v. Однако времена были давние, еще до выхода 2012 сервера. Для организации кластера требуется внешнее хранилище и сделать отказоустойчивость из двух серверов было в принципе невозможно.

Однако недавно я наткнулся на статью Romain Serre в которой эта проблема как раз решалась с помощью Windows Server 2016 и новой функции которая присутствует в нем — Storage Spaces Direct (S2D). Картинку я как раз позаимствовал из этой статьи, поскольку она показалась очень уместной.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии18

Шифрование в EXT4. How It Works?

Время на прочтение12 мин
Количество просмотров24K
image Паранойя не лечится! Но и не преследуется по закону. Поэтому в Linux Kernel 4.1 добавлена поддержка шифрования файловой системы ext4 на уровне отдельных файлов и директорий. Зашифровать можно только пустую директорию. Все файлы, которые будут созданы в такой директории, также будут зашифрованы. Шифруются только имена файлов и содержимое, метаданные не шифруются, inline data (когда данные файла, не превышающие по размеру 60 байт, хранятся в айноде) в файлах не поддерживается. Поскольку расшифровка содержимого файла выполняется непосредственно в памяти, шифрование доступно только в том случае, когда размер кластера совпадает с PAGE_SIZE, т.е. равен 4К.
Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии24

MeteorJS, Nginx, mongodb, iptables… продакшен

Время на прочтение15 мин
Количество просмотров15K

Здравствуйте, меня зовут Александр Зеленин, и я веб-разработчик сисадмин.


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


Разворачивать будем на Ubuntu 16, но в целом схема на 99% совпадает и для Debian 8.

Читать дальше →
Всего голосов 46: ↑36 и ↓10+26
Комментарии69

Подборка: 115 полезных почтовых рассылок о технологиях, на которые стоит подписаться

Время на прочтение6 мин
Количество просмотров39K


В нашем блоге мы много пишем о создании почтовых рассылок — их верстке, дизайне и интересных статистических фактах. К сожалению, до сих пор многие пользователи сети рассматривают рассылки, как нечто плохое — инструмент, который маркетологи используют для того, чтобы «впарить» людям то, что они не просили, и что вообще им не нужно. На самом же деле email-рассылки — это мощный информационный канал, который может быть исключительно полезным и с профессиональной точки зрения. В доказательство этого факта сегодня мы представляем вашему вниманию подборку из 115 полезных почтовых рассылок о самых разных технологиях.
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии4

DevTips: Советы веб-разработчику (49-64)

Время на прочтение6 мин
Количество просмотров36K
Привет, Хабр! В этот прекрасный пятничный день предлагаем вам ознакомиться с очередной частью цикла переводов советов для веб-разработчиков. Предыдущие части: 1-16, 17-32, 33-48.

Содержание:

   49   Циклическое переключение между панелями при помощи шорткатов
   50   Проверка и активация CSS media queries, а также нахождение этих правил в коде
   51   Предустановка разрешения нового устройства
   52   Улучшения полоски хлебных крошек в панели Elements
   53   Печать стектрейса в консоли
   54   Детектирование долгих фреймов (не путать с iframe)
   55   Продвинутая фильтрация запросов в панели «Network»
   56   Поиск по проекту с возможностью указания файла
   57   Новый экспериментальный редактор раскладки страницы
   58   Дублирование DOM-элементов
   59   Просмотр скриншотов поведения страницы
   60   Редактирование html-кода в панели «Console»
   61   Простые клавиатурные трюки для управления панелей «Стили»
   62   Выбор цвета, сгенерированного палитрой
   63   Инкремент и декремент чисел в DOM-атрибутах
   64   Сетевые запросы в панели «Timeline»
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии2

Как работает реляционная БД

Время на прочтение51 мин
Количество просмотров544K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →
Всего голосов 232: ↑229 и ↓3+226
Комментарии134

Памятка пользователям ssh

Время на прочтение13 мин
Количество просмотров1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Всего голосов 360: ↑352 и ↓8+344
Комментарии148

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

Время на прочтение10 мин
Количество просмотров994K
Перевод статьи Vincent Driessen: A successful Git branching model

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



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

Читать дальше →
Всего голосов 180: ↑171 и ↓9+162
Комментарии105

В поисках пути — царь Салтан осваивает лапласиан

Время на прочтение11 мин
Количество просмотров21K
… Молвит он: «Коль жив я буду, чудный остров навещу, у Гвидона погощу».



В царстве Салтана не без изьяна. Принят закон — не лезть за кордон, да тут князь Гвидон.
Опять прислал поклон, да приглашение на угощение,- надо принимать политическое решение.

Дворцовые интриганки, похожие на поганки, встали стеной — «мол, скажи, что больной». Но прослышал Салтан про Гвидонов кальян, про изумрудную белку, да богатырскую стрелку. А главная новинка — молодая жинка. В общем, ехать решено — «Я не был за морем давно».

Было однако одна проблема,- нужен был маршрут или схема. Поскольку никто (кроме Врангеля барона) не знал, как добраться до острова Гвидона. Корабельщики дали карту,- пришлось сесть за парту. Над картой склонился Салтан, — где тут остров Буян? Задача была как будто знакома — проложить путь к острову Гвидона. Но как найти дорогу, когда путей слишком много?

До ночи решал Салтан задачку, в итоге свалился в спячку. Снились ему матрицы и точки, да на болоте кочки. На кочку прыгнул Нео с острова Борнео.
— Если хочешь добраться ко сроку — плыви по максимальному потоку.
— Чего? — Салтан почти проснулся. Но Нео уже в зайца обернулся.
Плывем дальше
Всего голосов 36: ↑31 и ↓5+26
Комментарии6

Преемптивность: как отнять процессор

Время на прочтение6 мин
Количество просмотров13K
Эта статья не имеет смысла без предыдущей, в которой описывались основные механизмы переключения контекстов в многозадачной ОС.

Здесь я расскажу, как кооперативная многозадачность превращается во враждебную преемптивную.

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

Но, как обычно, есть нюансы. См. код для интела.

Сам «отъём» процессора делается как в рамках обычного хардверного прерывания, обычно — по таймеру, так и в рамках «софтверного» прерывания — которое, собственно, такое же прерывание, но вызванное специальной инструкцией процессора. Такой способ переключения контекста нужен, если мы (например, в рамках примитива синхронизации) явно останавливаем нить и не хотим ждать, пока прилетит таймерное прерывание.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии20

Делаем мультизадачность

Время на прочтение6 мин
Количество просмотров15K
Я стараюсь чередовать статьи про разработку ОС вообще и специфические для ОС Фантом статьи. Эта статья — общего плана. Хотя, конечно, я буду давать примеры именно из кода Фантома.

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

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

Шедулер — это функция, которая отвечает на вопрос «какой нити отдать процессор прямо сейчас». Всё. Простейший шедулер просто перебирает все нити (но, конечно, готовые к исполнению, не остановленные) по кругу (RR алгоритм). Реальный шедулер учитывает приоритеты, поведение нити (интерактивные получают больше, чем вычислительные), аффинити (на каком процессоре нить работала в прошлый раз) и т.п., при этом умеет сочетать несколько классов приоритетов. Типично это класс реального времени (если есть хотя бы одна нить этого класса — работает она), класс разделения времени и класс idle (получает процессор только если два предыдущих класса пустые, то есть в них нет нитей, готовых к исполнению).

На сём пока про шедулер закончим.

Перейдём к собственно подсистеме, которая умеет отнять процессор у одной нити и отдать его другой.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии17

Более чем 80 средств мониторинга системы Linux

Время на прочтение12 мин
Количество просмотров320K
Ниже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.



1. первый инструмент — top

Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
читать дальше
Всего голосов 94: ↑82 и ↓12+70
Комментарии68

Несколько полезных кейсов при работе с массивами в JavaScript

Время на прочтение5 мин
Количество просмотров39K
Очень часто на тостере вижу вопросы вида «Как отсортировать массив в JavaScript по определенному правилу?», «Как сделать с массивом в JavaScript <действие>?» и т.д.

Под катом собраны некоторые манипуляции над массивами.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии36

Универсальный скрипт переключения 2-х каналов интернета Mikrotik

Время на прочтение8 мин
Количество просмотров67K
Около 2,5 лет назад писал статью на тему автоматического переключения канала Интернет на резервный. Скрипт, конечно, и по сей день работает «на отлично», но его внешний вид и некоторые нюансы…

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

image
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии34

Бюджетная самодельная ПТС «НА КОЛЕНКАХ» (Передвижная телевизионная станция). Часть 1

Время на прочтение3 мин
Количество просмотров16K
image

Предисловие 1:
Данная статья не является рекламой какого либо устройства или продукта. Но, чтобы не заставлять желающих реализовать эту идею гуглить «похожие устройства», — все фирмы и модели называем здесь открыто.

Предисловие 2:
Изначально в планах было сделать только видеоверсию. Однако позднее возникла мысль опубликовать материал и здесь в виде статьи. Тем не менее рекомендую ознакомится и с видеоверсией. Она размещена внизу статьи. Итак, поехали!

1. Введение.


Периодически у нас возникает потребность отснять в несколько камер какое либо событие (и получить «смонтированное видео» сразу), при этом не иметь высокий уровень, но и не использовать высокий бюджет и не арендовать профессиональную ПТС (Передвижную телевизионную станцию). Для таких целей мы собрали «ПТС на коленках».
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии25

Бюджетная самодельная ПТС «НА КОЛЕНКАХ» (Передвижная тв-станция). Часть 2: расположение камер и работа команды

Время на прочтение5 мин
Количество просмотров11K
image

Часть вторая.


<<<перейти к первой части

Предисловие 1:
Напомним, что здесь мы делимся исключительно ЛИЧНЫМ опытом, на конкретном примере.
Данное решение не может дать вам коммерческого результата. Для этого воспользуйтесь профессиональной ПТС. Однако же, когда нет бюджета, и ваше событие вот-вот уйдёт бесследно, не оставив ничего, кроме воспоминаний — всё же лучше воспользоваться такой самодельной ПТС «из того, что было», чем остаться вообще без памятного видео.

Предисловие 2:
Как всегда, в тексте присутствует «ВИДЕОВЕРСИЯ». В которой, мы постарались максимально наглядно всё визуализировать. Надеемся, если возникнут сложности при прочтении, — видеоверсия поможет расставить всё на свои места. Итак, поехали!
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии6

Лучшие инструменты для JavaScript-разработчика

Время на прочтение8 мин
Количество просмотров52K


Регулярно появляется какая-нибудь JS-библиотека, которую начинают шумно обсуждать на всевозможных форумах. Сначала постепенно нарастает энтузиазм, а затем сообщество быстро делится на противоборствующие лагери, по-разному относящиеся к новинке. Было бы просто невероятным подвигом рассмотреть все распространённые JS-фреймворки и библиотеки, поэтому хотим предложить вам список самых популярных и оказавших наибольшее влияние инструментов для фронтенд-разработки. А заодно дадим некоторые рекомендации по их использованию.

Но прежде чем перейти к делу, хотим уточнить:

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

Читать дальше →
Всего голосов 40: ↑23 и ↓17+6
Комментарии12

Какие фильмы запомнились нам своей музыкой

Время на прочтение5 мин
Количество просмотров32K


Фото Simon Bonaventure CC BY-SA

Музыка должна делать фильм запоминающимся, придавать ему пикантности, душевности, то есть выделять в фильме самые главные моменты, впечатления от которых остаются с вами надолго.
Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии144

Информация

В рейтинге
Не участвует
Откуда
Днепр, Днепропетровская обл., Украина
Дата рождения
Зарегистрирована
Активность