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

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

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

Защита Linux-сервера. Что сделать в первую очередь

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

Habib M’henni / Wikimedia Commons, CC BY-SA

В наше время поднять сервер на хостинге — дело пары минут и нескольких щелчков мыши. Но сразу после запуска он попадает во враждебную среду, потому что открыт для всего интернета как невинная девушка на рокерской дискотеке. Его быстро нащупают сканеры и обнаружат тысячи автоматически скриптовых ботов, которые рыскают по сети в поисках уязвимостей и неправильных конфигураций. Есть несколько вещей, которые следует сделать сразу после запуска, чтобы обеспечить базовую защиту.
Читать дальше →
Всего голосов 50: ↑43 и ↓7+52
Комментарии100

10 современных раскладок в одну строку CSS-кода

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

В данной статье рассматривается несколько эффективных строк CSS-кода, которые выполняют серьезную работу и помогают создавать надёжную современную разметку.

Читать далее
Всего голосов 34: ↑33 и ↓1+39
Комментарии12

Использование Nginx FastCGI Cache

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

FastCGI Cache — это система кэширования данных реализованая на уровне HTTP-сервера Nginx.

Преимущество FastCGI Cache заключается в том, что Nginx вернёт закешированный ответ пользователю сразу, как только получит запрос, при этом слой приложения не будет вовсе обрабатывать поступивший HTTP-запрос, если он имеется в кэше Nginx. 

Использование FastCGI Cache — отличный способ снизить нагрузку на вашу систему.

Если на вашем сайте есть страницы, которые изменяются редко или задержка обновления информации на некоторое время не критична, то FastCGI Cache именно то, что нужно.

Читать далее
Всего голосов 8: ↑7 и ↓1+11
Комментарии16

Основы настройки Webpack

Время на прочтение3 мин
Количество просмотров15K
Для начала установим webpack, делается это с помощью команд:

yarn add webpack webpack-cli -D, если используете менеджер пакетов yarn
npm i webpack webpack-cli --save-dev, для менеджера пакетов npm

Настраивается Webpack с помощью конфигурационного файла webpack.config.js, который хранится в корневой директории проекта.

Пример конфигурационного файла:

const path = require('path')
module.exports = {
   watch: true,
   entry: "./src/index.js",
   output: {
       filename: "bundle.js",
       path: path.resolve(__dirname,'build'),
       publicPath: "/"
   }
};

Начальная конфигурация представляет собой следующее:

  • watch — заставляет webpack отслеживать изменения в файлах и заново выполнять сборку;
  • entry — Указывает на точку входа в проект, и откуда нужно начать построение графа внутренних зависимостей проекта;
  • output — Указывает путь, где будет располагаться создаваемый файл и как он будет называться;

Так же необходимо установить webpack-dev-server, который понадобится для разработки и отладки приложения.

yarn add webpack-dev-server для менеджера пакетов yarn или
npm i webpack-dev-server если используется npm

Для настройки webpack-dev-server добавим devServer в нашем конфигурационном файле.

Параметры для webpack-dev-server:

module.exports = {
    //...
    devServer: {
        port: 8000,
        historyApiFallback: true,
        hot: true,
    },
};

Также нам нужно добавить/заменить в нашем package.json файле скрипт запуска проекта:

"start": "webpack-dev-server --mode development",

и скрипт для сборки билда:

"build": "webpack --mode production"

Загрузчики


Загрузчики (loaders) — это специальные модули, которые используются для «загрузки» других модулей. Так же они позволяют предварительно обрабатывать файлы по мере их импорта или «загрузки».
Читать дальше →
Всего голосов 4: ↑2 и ↓2+2
Комментарии0

Как вернуть Windows Photo Viewer в Windows 10

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


Начиная с Windows 10, за открытие файла с изображением отвечает уже не Windows Photo Viewer. Вам предлагают новую программу, Microsoft Photos, в которой полно проблем с быстродействием и надёжностью.

И хотя Windows Photo Viewer ушёл в отставку, это всё же простая и небольшая программа для просмотра цифровых фото на ПК. В отличие от Microsoft Photos, Windows Photo Viewer работает быстрее и облегчает просмотр фотографий, хранящихся у вас на локальных носителях.

Если вы обновляли систему с Windows 7 или 8, тогда вам будет легко вернуть назад Windows Photo Viewer – нужно лишь сменить настройки приложений по умолчанию.
Читать дальше →
Всего голосов 23: ↑12 и ↓11+5
Комментарии41

Настройка GUI WSL Kali Linux & Ubuntu. Выход в графическую оболочку

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


Здравствуйте. Установив WSL и скачав из Microsoft Store Kali Linux & Ubuntu я столкнулся с тем, что передо мной терминал, а я абсолютно ничего не понимая в Linux, хотел бы хоть как-то ориентироваться в системе через графическую оболочку. Я неделями гуглил команды и в итоге написал скрипт для настройки. Делюсь, может кому поможет
Читать дальше →
Всего голосов 10: ↑6 и ↓4+5
Комментарии24

CSS Grid понятно для всех

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

Что такое Grid?


Grid представляет собой пересекающийся набор горизонтальных и вертикальных линий — один набор определяет столбцы, а другой строки. Элементы могут быть помещены в сетку, соответственно строкам и столбцам.

Поддержка браузерами


В 2020 году поддержка браузерами достигает 94 %



Grid контейнер


Мы создаем grid контейнер, объявляя display: grid или display: inline-grid на элементе. Как только мы это сделаем, все прямые дети этого элемента станут элементами сетки.

<body>
 <div class="row">
  <div class="row__item header">
   <h1>Header</h1>
  </div>
  <div class="row__item nav">
   <h1>Navbar</h1>
  </div>
  <div class="row__item article">
   <h1>Article</h1>
  </div>
  <div class="row__item ads">
   <h1>Ads</h1>
  </div>
 </div>
</body>

.row {
 display: grid;
 margin: auto;
 grid-template-rows: 60px 1fr ;
 grid-template-columns: 20% 1fr 15%;
 grid-gap: 10px;
 width: 1000px;
 height: 1000px;
 justify-items: center;
 justify-content: space-between;
 grid-template-areas:
 "header header header"
 "nav article ads"; 
}

grid-template-rows — это CSS свойство, которое определяет названия линий и путь размера функции grid rows.

CSS свойство grid-row определяет с какой строки в макете сетки будет начинаться элемент, сколько строк будет занимать элемент, или на какой строке завершится элемент в макете сетки. Является сокращенным свойством для свойств grid-row-start и grid-row-end.

Свойство CSS grid-gap является сокращенным свойством для grid-row-gap и grid-column-gap, определяющего желоба между строками и столбцами сетки.

Свойство grid-template-areas определяет шаблон сетки ссылаясь на имена областей, которые заданы с помощью свойства grid-area.

Повторение названия области приводит к тому, что содержимое охватывает эти ячейки. Точка означает пустую ячейку. Сам синтаксис предоставляет визуализацию структуры сетки.

С помощью свойства grid-area мы можем назначить каждой из этих областей свое собственное имя. Именование областей еще не создает никакого макета, однако теперь у нас есть именованные области, которые мы можем в нем использовать.
Читать дальше →
Всего голосов 12: ↑7 и ↓5+9
Комментарии7

Еще раз про живую миграцию: как перенести виртуальные машины Hyper-V, да побыстрее

Время на прочтение10 мин
Количество просмотров49K
     «Любишь Hyper-V – люби и PowerShell»
     Первое правило Сообщества Hyper-V в Телеграм 

     «А если любишь VMware ESXi, то люби PowerShell на пару с ESXi CLI и REST API»
     Дополнено мной

Живая миграция (live migration) – популярная функция в Hyper-V. Она позволяет переносить работающие виртуальные машины без видимого простоя. В сети много инструкций по переносу ВМ, но многие из них устарели. Вдобавок не все заглядывают в расширенные настройки и правильно используют возможности Live Migration. 

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

Дисклеймер: Все описанные шаги желательно сделать ДО ввода сервера Hyper-V в прод. Hyper-V никогда не прощает ошибок проектирования и подведет вас при первом удобном случае. То есть уже на следующий день.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии3

Любовь, смерть, роботы и Пелевин

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

В прошлом году, вернувшись с тренировки, я засел перед компьютером, чтоб посмотреть пару забавных мемов про котиков. И, обнаружив новость о выходе нового сериала Любовь, смерть и роботы– «Love, Death & Robots», я лениво потрогал её мышкой — глянуть одним глазком.

Пришел в себя я под утро. С красными глазами, затекшим, от сидения в кресле телом — но совершенно счастливым.

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

При пересмотре сериала, мои впечатления, впрочем, были уже не столь радужны — во мне проснулась писательская зависть. «Почему такое не снимают в России — возмущенно бормотал я, — я бы подобрал рассказы для сериала ничуть не хуже!»

«Я сниму свой сериал! — сказал я, чтоб справиться с завистью, — точнее, соберу 18 рассказов, ничуть не уступающих подборке сериала».
Читать дальше →
Всего голосов 53: ↑42 и ↓11+44
Комментарии58

Обзор графических интерфейсов для Kubernetes

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


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

В прошлом году мы публиковали перевод небольшого обзора web UI для Kubernetes, приуроченного к анонсу веб-интерфейса Kubernetes Web View. Автор той статьи и самой утилиты — Henning Jacobs из компании Zalando — как раз позиционировал новинку в качестве «kubectl для веба». Он хотел создать инструмент с удобными возможностями для взаимодействия в формате техподдержки (например, быстро показать проблему веб-ссылкой) и для реакции на инциденты, поиска проблем во многих кластерах одновременно. Его детище развивается и в настоящее время (в основном, силами самого автора).

Обслуживая множество Kubernetes-кластеров разных масштабов, мы тоже заинтересованы в возможности предоставлять клиентам инструмент визуальной работы. При выборе подходящего интерфейса ключевыми для нас были следующие возможности:
Читать дальше →
Всего голосов 42: ↑41 и ↓1+51
Комментарии28

Как перенести файлы с одного облака на другое минуя свой ПК

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

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


— Андрюх, я из дома ухожу, помоги с переездом, ко мне всё не влезет:(
— Хорошо, а много там?
— Тонн* 7-8…
*Тонна (жарг.) — Терабайт.


Недавно, в процессе интернет-сёрфинга, я обратил внимание на то, что несмотря на доступность на Хабре и на аналогичных ему ресурсах множества материалов о способах и моделях миграции различных типов данных, в сети всё ещё появляются вопросы по этой теме. Которые, почему-то, не всегда удостаиваются обстоятельных ответов. Этот факт и сподвиг меня однажды собрать заметки о реализации похожего решения и оформить их в виде отдельного поста.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+44
Комментарии16

Возможно ли использовать Linux Desktop в Windows инфраструктуре?

Время на прочтение9 мин
Количество просмотров20K
Всем привет! На Хабре неоднократно поднимались вопросы о том, как подготовить дистрибутив Linux для ввода в Active Directory, а также для интеграции с некоторыми другими серверами Windows. При этом, до сих пор не было написано статьи о том, стоит ли вообще этим заниматься, и будет ли конечный результат стоить затраченных времени и усилий.

Почему возник этот вопрос? Меня попросили настроить Linux для ребят, которые утомились от обновлений и прожорливости Windows 10 (особенно на компьютере без SSD и с оперативной памятью DDR2). Кроме того, одним из неоспоримых плюсов Linux (и его признают даже его ярые противники) является его открытость бесплатность. Это тоже значимый аргумент.

Обычный пользователь в среднестатистической компании, компьютер использует для Word и Excel, браузера, плюс в редких случаях, работает с каким-либо удаленным приложением, например через RDP. Необычный пользователь, типа целого программиста, без значительных сложностей может попросить админов найти требуемую IDE, Jenkins, git, и что там еще нужно программистам? Мессенджеры, на отсутствие которых в Linux в соседней статье жалуются, в дистрибутиве имеются во всевозможном изобилии. Skype, Viber, ICQ, даже заблокированный в РФ клиент, полностью в наличии на официальных сайтах, прекрасно поддерживаются и в полной мере идентичны по UI с клиентами предназначенными для Windows.

Итак, смотришь на требования пользователей к системе, сравнишь их с возможностями Linux и думаешь, сплошные плюсы, а еще и экономия четко прослеживается. Почему же возникают какие-либо возражения к такой прекрасной идее как перевод пользователя с Windows, на Linux? Только лишь вредные привычки?
Читать дальше
Всего голосов 21: ↑19 и ↓2+25
Комментарии0

Как снизить расходы на рекламу в Яндекс.Директе и Google Ads: 9 лайфхаков

Время на прочтение13 мин
Количество просмотров31K
Как снизить расходы на рекламу в Яндекс.Директе и Google Ads: 9 лайфхаков

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


Разбираем на примерах, что можно сделать, чтобы не переплачивать за рекламу.

Читать дальше
Всего голосов 5: ↑3 и ↓2+5
Комментарии3

Как создать сайт? Структура и контент

Время на прочтение19 мин
Количество просмотров58K
Итак, вы решили быть последовательными и начать разработку сайта с самого важного и фундаментального этапа — со структуры (visual sitemap) и контента. Ок, значит, вы попали в правильное место, где мы собрали для вас инструкции и эффективные советы как это лучше всего сделать и с чего начать. Да пребудет с вами сила, так как такой фундаментальный гид за один присед вряд ли удастся осилить.

Пример структуры веб-сайта Octopus.do

Пример структуры веб-сайта (Блоки кликабельны)

Какие разделы включить? Что по поводу контента? Мы серьезно все продумали, потратили более месяца на исследования и собрали в этом гиде весь наш 18-летний опыт по созданию сайтов. Дочитав эту статью, вы обретете исчерпывающее представление о том, почему именно так должен быть структурирован сайт компании или продукта, мы также немного коснемся фундаментальных принципов SEO и планирования контента.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии4

Автоматическая настройка и оптимизация сервера MySQL для повышения производительности

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

Хочу обсудить с сообществом наш проект, с помощью которого можно за 1 минуту создать конфигурационный файл MySQL, оптимизированный под производительность (тюнинг MySQL). Таким образом можно достаточно быстро создавать конфигурационный файл для первичной оптимизации производительности MySQL.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии50

Intersection Observer API: примеры использования

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


Доброго времени суток, друзья!

Обзор


Intersection Observer API (IOA) позволяет приложению асинхронно наблюдать за пересечением элемента (target) с его родителем (root) или областью просмотра (viewport). Другими словами, этот API обеспечивает вызов определенной функции каждый раз при пересечении целевого элемента с root или viewport.

Примеры использования:

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

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

Большая подборка материалов для изучения Google Tag Manager

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров29K
Материалы статьи провалидированы и обновлены автором 26.05.2023


Привет, Хабр!

Меня зовут Артём Сайгин, я веду телеграм-канал «Growth Lab», в котором делюсь опытом роста IT-продуктов.

Cделал для вас большую подборку материалов для самостоятельного изучения Google Tag Manager. В статье вы найдете всю необходимую информацию по работе GTM — от самых базовых вещей (что такое GTM, какие бывают типы триггеров) до работы с dataLayer и CSS-селекторами.

Добавляйте в закладки, чтобы не потерять.

image

Если я не добавил стоящий материал, свяжитесь со мной, добавлю.

Приступим!
Читать дальше →
Всего голосов 7: ↑6 и ↓1+9
Комментарии1

10 отличных Github репозиториев, которые должен знать каждый веб-разработчик

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

Кроме огромных репозиториев с источниками для подготовки к интервью, здесь много чего интересного


Я собрал список из десяти отличных репозиториев на Github, которые помогут вам существенно расширить свои знания.


image


А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
Читать дальше →
Всего голосов 63: ↑56 и ↓7+62
Комментарии8

Перенос всех баз данных MS SQL Server на другую машину

Время на прочтение8 мин
Количество просмотров21K
Недавно возникла необходимость переноса всех БД (>50 на одном экземпляре SQL Server) из dev-окружения на другой экземпляр SQL Server, который располагался на другом железе. Хотелось минимизировать ручной труд и сделать всё как можно быстрее.

Disclaimer


Скрипты написаны для одной конкретной ситуации: это dev-окружение, все базы в простой модели восстановления, файлы данных и журналы транзакций лежат в одной куче.

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

В скриптах не используются новомодные STRING_AGG и прочие приятные штуки, поэтому работать всё должно начиная с SQL Server 2008 (или 2008 R2, не помню где появилось сжатие бэкапов). Для более старых версий нужно убрать WITH COMPRESSION из команды бэкапа, но тогда разницы по времени с копированием файлов может уже и не быть.

Это не инструкция — «как надо» делать такой перенос. Это демонстрация того, как можно использовать метаданные в dynamic SQL.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии27

Современная сборка 2020 для frontend. Gulp4

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

Начало


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


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


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

Читать дальше →
Всего голосов 11: ↑9 и ↓2+12
Комментарии31

Информация

В рейтинге
Не участвует
Откуда
Ревда (Свердловская обл.), Свердловская обл., Россия
Зарегистрирован
Активность