Как стать автором
Обновить
3268.84
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15
Сначала показывать

Bash-скрипты: начало

Время на прочтение11 мин
Количество просмотров1.9M
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


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

Почтовый сервер на Linux

Время на прочтение11 мин
Количество просмотров323K
Как наладить работу почтового сервера, умеющего принимать и отправлять электронную корреспонденцию, бороться со спамом, взаимодействовать с клиентами? На самом деле, всё довольно просто.

Сегодня поговорим о почтовых серверах на Linux. Мы расскажем о том, как настроить сервер, о широко распространённом в интернете протоколе SMTP, а также о других протоколах, таких, как POP и IMAP. В итоге вы окажетесь обладателем полноценной системы для работы с электронной почтой.



Начнём с SMTP-сервера на Linux
Читать дальше →

Колокейшн: как, зачем и почему

Время на прочтение16 мин
Количество просмотров25K
Колокейшн (colocation) определяется в Википедии как услуга, состоящая в том, что провайдер размещает оборудование клиента на своей территории (обычно в дата-центре), подключает его к электричеству, обеспечивает обслуживание и доступ к каналам связи с высокой пропускной способностью. Иногда указанное оборудование не принадлежит клиенту, а арендуется им у того же провайдера, в этом случае услуга называется «аренда выделенного сервера».


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

SQL или NoSQL — вот в чём вопрос

Время на прочтение8 мин
Количество просмотров233K
Все мы знаем, что в мире технологий баз данных существует два основных направления: SQL и NoSQL, реляционные и нереляционные базы данных. Различия между ними заключаются в том, как они спроектированы, какие типы данных поддерживают, как хранят информацию.

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

Нереляционные БД устроены иначе. Например, документо-ориентированные базы хранят информацию в виде иерархических структур данных. Речь может идти об объектах с произвольным набором атрибутов. То, что в реляционной БД будет разбито на несколько взаимосвязанных таблиц, в нереляционной может храниться в виде целостной сущности.

Внутреннее устройство различных систем управления базами данных влияет на особенности работы с ними. Например, нереляционные базы лучше поддаются масштабированию.



Какую технологию выбрать? Ответ на этот вопрос зависит от особенностей проекта, о котором идёт речь.
Читать дальше →

Java и Docker: это должен знать каждый

Время на прочтение7 мин
Количество просмотров87K
Многие разработчики знают, или должны знать, что Java-процессы, исполняемые внутри контейнеров Linux (среди них — docker, rkt, runC, lxcfs, и другие), ведут себя не так, как ожидается. Происходит это тогда, когда механизму JVM ergonomics позволяют самостоятельно задавать параметры сборщика мусора и компилятора, управлять размером кучи. Когда Java-приложение запускают без ключа, указывающего на необходимость настройки параметров, скажем, командой java -jar myapplication-fat.jar, JVM самостоятельно настроит некоторые параметры, стремясь обеспечить наилучшую производительность приложения.

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

Топ-5 альтернатив jQuery UI

Время на прочтение10 мин
Количество просмотров28K
Календари, слайдеры, списки, средства для построения графиков и диаграмм — все эти и многие другие компоненты пользовательских интерфейсов находят применение в бесчисленном множестве веб-проектов. Программист, когда ему нужно что-то подобное, может пойти двумя путями. Первый — создать необходимый элемент интерфейса самостоятельно, второй путь — воспользоваться существующими разработками в этой области.

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

Простой, надёжный и удобный мониторинг серверов на Linux

Время на прочтение3 мин
Количество просмотров43K
Если вы администрируете сервера на Linux, наверняка, вы находитесь в состоянии постоянного поиска простых, надежных и удобных инструментов для решения самых разных задач. Одна из них — наблюдение за состоянием машин. И, хотя инструментов для мониторинга предостаточно, найти то, что войдёт в повседневный набор программ, обычно не так уж и просто. Именно поэтому сегодня я хочу рассказать об одной из таких находок, об утилите, которой пользуюсь каждый день.



Программа, о которой пойдёт речь, называется Nigel’s Monitor, или просто nmon. Она, используя простой интерфейс ncurses, умеет выводить, в реальном времени, сведения о различных показателях, характеризующих состояние сервера. Среди них — данные по процессору и памяти, информация о сетевых ресурсах, о дисковых накопителях, о файловой системе и NFS, о процессах. Набор отображаемых показателей можно настраивать. Nmon имеет текстовый интерфейс, поэтому, для работы с ним достаточно подключиться к серверу по SSH.

Предлагаю установить nmon и поговорить о том, как им пользоваться.
Читать дальше →

Превращаем Ubuntu Server в контроллер домена с помощью samba-tool

Время на прочтение5 мин
Количество просмотров67K
Как быть, если и контроллер домена нужен, и сэкономить хочется? Сегодня мы представим вашему вниманию один из ответов на этот вопрос. Речь пойдёт о пакете Samba, об Ubuntu Server, и о том, как всё это быстро и правильно настроить.

С помощью Samba можно превратить сервер, работающий под управлением ОС семейства Linux, в контроллер домена (Domain Controller, DC) Active Directory. Тот DC, который мы собираемся поднять, сможет работать как контроллер домена Windows NT4. Он подойдёт для централизованного хранения данных учётных записей пользователей и компьютеров.

Надо отметить, что мы не будем говорить о задаче создания основного контроллера домена (Primary Domain Controller, PDC) Active Directory, хотя связка Ubuntu Server/Samba, рассмотренная здесь (с добавлением OpenLDAP) вполне может играть и такую роль.
Читать дальше →

История о том, как мы перевели проект в почти четверть миллиона строк на TypeScript и остались в живых

Время на прочтение10 мин
Количество просмотров32K
В 2016-м статически типизированный JavaScript оказался крайне востребованным. Теми или иными средствами, позволявшими устранить недостатки динамической природы JS, воспользовались многие компании. Нас тоже привлекла перспектива задействовать огромный потенциал статической типизации в своих разработках.


Выбирая инструменты, мы предварительно остановились на TypeScript и Flow. Хотя проекты эти и различаются, направлены они на решение одной и той же задачи. А именно, позволяя контролировать типы данных, они обеспечивают более совершенную, в сравнении с чистым JS, организацию кода, улучшают возможности рефакторинга, позволяют программистам работать быстрее и увереннее.
Читать дальше →

Самые полезные приёмы работы в командной строке Linux

Время на прочтение5 мин
Количество просмотров157K
Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

image

Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
Читать дальше →

React или Vue? Выбираем библиотеку для фронтенд-разработки

Время на прочтение7 мин
Количество просмотров84K
На чём делать фронтенд? Самый верный способ найти ответ – попробовать лучшие библиотеки самостоятельно. В идеале, хорошо бы начать с самого простого и понять, как таинственные для непосвящённого конструкции превращаются в готовые к выводу страницы. Дальше же, вооружившись пониманием основ, можно осмысленно читать документацию и усложнять собственные эксперименты до тех пор, пока ответ не покажется очевидным.



Сегодня мы поговорим о React.js и Vue.js. Это – одни из самых популярных JavaScript-библиотек в мире. Взгляните на этот список, посмотрите их репозитории на GitHub. И та, и другая обладают впечатляющими возможностями и служат для создания пользовательских интерфейсов. Работать с ними довольно просто, главное – сразу понять, что к чему, сделать правильный первый шаг. Собственно говоря, этому вот первому шагу в разработке с использованием React и Vue и посвящён данный материал.
Читать дальше →

JavaScript без циклов

Время на прочтение13 мин
Количество просмотров42K
Однажды я писал о том, что отступы можно считать показателем сложности кода (хотя и довольно грубым). Сами по себе отступы нейтральны, так как они – лишь средство форматирования текста, но всё дело в том, что они используются для выделения особых блоков программ, например – управляющих конструкций. Читая код и натыкаясь на отступ, программист вынужден принимать во внимание то, на что указывает отступ, держать в памяти контекст, в котором существует выделенный блок. Это, естественно, повторяется, если в выделенном отступами участке кода появляется ещё один особый фрагмент.

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


Чем больше отступов – тем сложнее обычно и код
Читать дальше →

Веб-хостинг: Windows или Linux?

Время на прочтение7 мин
Количество просмотров37K
Итак, вы, наконец, решили, что вам нужен аккаунт для хостинга веб-сайта, и теперь задаетесь вопросом: «Linux или Windows?» К счастью, разница между ними невелика, и оба варианта подходят для большинства клиентов. Linux и Windows – доминирующие операционные системы в хостинге веб-сайтов, причем, хотя Linux лидирует с заметным отрывом, в плане функций и приложений различия между ними минимальны, так что выбор не очевиден. Чтобы окончательно убедиться в его правильности, нужно исходить из того, как вы строите свой сайт, размещенный у поставщика услуг хостинга, какие именно инструменты планируете использовать.


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

О структуре и масштабировании сложных приложений для Node.JS

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



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

Вот основные темы, которые мы здесь раскроем:

  • Разработка хорошо масштабируемых приложений, которые легко поддерживать.
  • Качественное разделение конфигурационных данных и основного кода приложения.
  • Использование в Node.js-приложениях процессов различных типов.

Здесь мы, иллюстрируя различные концепции, будем пользоваться приложением-примером, полный код которого можно найти на GitHub.
Читать дальше →

Самые худшие технологические прогнозы за последние 150 лет

Время на прочтение4 мин
Количество просмотров29K
Существует давняя традиция. Под новый год учёные, инженеры, бизнесмены, да все, кому не лень, пытаются предсказать будущее. Блокчейн – это серьёзная технология, или очередное модное словечко? Убьют ли боты в 2017-м мобильные приложения? Перестанет ли в этом году погружение в виртуальную реальность вызывать морскую болезнь?


Телеграф убивает живое общение
Читать дальше →

Как рекламировали компьютеры в 1990-е

Время на прочтение3 мин
Количество просмотров25K
В наши дни никого не удивишь жёстким диском. Терабайтный HDD можно взять за 50 долларов. Но были времена, когда и реклама диска на 10 мегабайт казалась чем-то вроде отрывка из фантастического романа. Вот, скажем, весьма выгодное летнее предложение из 1980-го года. Нашли это чудо участники проекта vintagecomputing.


Если вы, с мыслью: «надо брать», спешите на объявление откликнуться, прочтите сначала то, что напечатано мелким шрифтом. $3495 – это за не совсем новый диск. 10-мегабайтник, которым ещё никто не пользовался, обойдётся немного дороже, в $4495. Но, честно говоря, оно того стоит.

DDoS-атаки: нападение и защита

Время на прочтение12 мин
Количество просмотров95K
Заголовки новостей сегодня пестрят сообщениями о DDoS-атаках (Distributed Denial of Service). Распределенным атакам «отказ в обслуживании» подвержены любые организации, присутствующие в интернете. Вопрос не в том, атакуют вас, или нет, а в том, когда это случится. Государственные учреждения, сайты СМИ и электронной коммерции, сайты компаний, коммерческих и некоммерческих организаций – все они являются потенциальными целями DDoS-атак.

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

Веб-анимация: где, зачем и почему

Время на прочтение6 мин
Количество просмотров51K
Качественная и уместная анимация веб-страниц радует глаз и помогает в работе. Это – одна из основ веб-дизайна наших дней. Взаимодействие пользователей с современными веб-сайтами серьёзно завязано именно на анимации. Она способна сообщать о неких состояниях страницы, направлять внимание. Анимация помогает пользователю увидеть результат его действий и может влиять на его поведение.

image

Когда анимация способна улучшить впечатления пользователя от работы со страницами? Что именно стоит «оживить» для того, чтобы взаимодействие с ресурсом стало бы более удобным, понятным, увлекательным?
Читать дальше →

Подписывание идентификаторов ресурсов и защита API от DDoS-атак

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



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

Let’s Encrypt и Express. Каждому серверу – по зелёному замку́

Время на прочтение6 мин
Количество просмотров50K
HTTPS становится всё более сильным трендом современного интернета. И это хорошо, особенно, когда клиенты, взаимодействуя с серверами, обмениваются с ними конфиденциальными данными. Для того, чтобы пользоваться HTTPS, нужен SSL-сертификат, который применяется для проверки подлинности сервера. Проект Let’s Encrypt значительно упростил процесс получения SSL-сертификатов. До его появления всё было гораздо сложнее.

image

Let’s Encrypt использует Certbot от Electronic Frontier Foundation для автоматизации процесса получения SSL-сертификата. Поддерживаются разные типы веб-серверов (Apache, nginx, и другие), которые работают на Unix-подобных ОС. Если ваш сервер соответствует системным требованиям Let’s Encrypt, это значит, что вы сможете получить сертификат в практически полностью автоматическом режиме. К сожалению, связку Node.js/Express.js Let’s Encrypt не поддерживает. То есть, в данном случае автоматически получить сертификат от Certbot не получится. Однако, не всё потеряно. Используя Let’s Encrypt и Certbot, сертификат не так уж и сложно получить вручную.
Читать дальше →

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds