Pull to refresh
-7
0
Сергей @hamnsk

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

Send message

Борьба за ресурсы, часть 2: Играемся с настройками Cgroups

Reading time 5 min
Views 19K
Мы начали изучать Control Groups (Cgroups) в Red Hat Enterprise Linux 7 – механизм уровня ядра, позволяющий управлять использованием системных ресурсов, кратко рассмотрели теоретические основы и теперь переходим к практике управления ресурсами CPU, памяти и ввода-вывода.


Однако, прежде чем что-то менять, всегда полезно узнать, как все устроено сейчас.
Читать дальше: Играемся с настройками Cgroups
Total votes 12: ↑11 and ↓1 +10
Comments 0

10 самых распространенных ошибок безопасности в Python и как их избежать

Reading time 8 min
Views 19K
Всем привет!

Наша очередная группа по Python успешно запустилась в понедельник, но у нас остался ещё один материальчик, который мы не успели разместить до старта. Исправляем нашу оплошность и надеемся, что он вам понравится.

Поехали!

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

Total votes 33: ↑31 and ↓2 +29
Comments 6

Научитесь создавать собственные команды bash менее чем за 4 минуты

Reading time 4 min
Views 21K
В этой статье я научу вас создавать собственные псевдонимы команд bash, а также как одновременно запускать несколько команд с помощью одной команды bash.

TL;DR В первой части описывается, почему псевдонимы — это так важно, сколько времени они экономят и т.д., но, если вы просто хотите узнать, как создать собственные псевдонимы, то перейдите к шагу 1.


Читать дальше →
Total votes 37: ↑21 and ↓16 +5
Comments 29

Пакетная обработка фотографий в Blender

Reading time 3 min
Views 17K


Всем привет!

Свободно-распространяемый 3D-редактор Blender обладает потрясающими возможностями по созданию трехмерной графики, но это далеко не все, что он умеет делать. В данном туториале я хочу показать как с помощью этой замечательной программы делать быструю и качественную пакетную обработку фотографий для последующего использования их в создании анимации вращения (облет объекта, демонстрация со всех сторон, фото-360).

В данном уроке мы не станем углубляться в детальные настройки и будем использовать предварительно созданный шаблон. Никаких специальных знаний потребоваться не должно, будет достаточно небольшого опыта в обработке изображений.
Total votes 38: ↑35 and ↓3 +32
Comments 10

Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP

Reading time 4 min
Views 46K
Скорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)

Цели


  1. Использовать текущий на момент написания статьи софт
  2. Чтоб разграничить локальные домены, будем использовать специальный домен .loc
  3. Переключения версий PHP реализуем через поддомен c помощью fast-cgi
  4. Автоматическое создание хоста с помощью vhost_alias и dnsmasq

Что имеем в итоге. При переходе на
56.test.loc
Apache запустит c версией PHP 5.6.36
/var/www/test.loc/public_html/index.php
Поменяв поддомен на
72.test.loc
будет запущен тот же файл но уже с версией PHP 7.2.7

Другие версии доставляются аналогичным описанным ниже способом.

Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта

Вот собственно и все. Как без дополнительных мучений, перезапусков, и редактирований конфигов имеем автоматическую систему для работы с сайтами.
Читать дальше →
Total votes 13: ↑8 and ↓5 +3
Comments 14

Настройка домашней среды для разработки (docker + gitlab + DNS)

Reading time 5 min
Views 34K

Intro


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


У большинства из нас есть какие-нибудь мелкие личные поделки, которые не выходят за рамки наших домов. Кто-то хостит их на рабочем компьютере, кто-то — на Heroku, кто-то — на VPS, а у кого-то есть домашний сервер. На реддите даже есть сообщество r/homelab, в котором люди обсуждают разные железки и софт для т.н. домашней лаборатории.


Я не настолько увлечен этим вопросом, но у меня дома стоит Intel NUC, который проигрывает музыку с NAS с помощью MPD. Помимо MPD на нем крутятся мои мелкие поделки, которые помогают мне с ним работать: ныне мертвый бот для телеграма, HTTP API на синатре и корявенький фронтенд для него.


В посте я без особых подробностей (многих из которых сам не понимаю) опишу процесс установки DNS-сервера для работы с доменными именами для сервисов, схему одновременной работы нескольких сервисов с помощью Docker и установку Gitlab с CI. Ничего нового вы не узнаете, но вдруг кому-нибудь пригодится этот "гайд". К тому же я бы хотел услышать предложения по поводу того, как можно было бы сделать это проще/элегантнее/правильнее.

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

Кластер kubernetes HA с containerd. Или есть ли жизнь без docker?

Reading time 16 min
Views 12K

Развертываение kubernetes HA с containerd



Добрый день уважаемые читатели Хабра! 24.05.2018 г. в официальном блоге Kubernetes была опубликована статья под названием Kubernetes Containerd Integration Goes GA, в которой говорится, что интеграция containerd с Kubernetes готова к production. Также ребята из компании Флант в своем блоге разместили перевод статьи на русский язык, добавив немного уточнений от себя. Почитав документацию проекта на github, я решил попробовать containerd на "собственной шкуре".


У нас в компании есть несколько проектов в стадии "до продакшена еще очень далеко". Вот они и станут нашими подопытными; для них мы решили попробовать развернуть отказоустойчивый кластер Kubernetes с использованием containerd и посмотреть, есть ли жизнь без docker.


Если Вам интересно посмотреть, как мы это делали и что из этого получилось, — добро пожаловать под кат.

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

Создание management commands в Django

Reading time 5 min
Views 49K
Management commands — команды, выполняемые из командной строки с помощью скрипта manage.py.

Наиболее частые сферы применения — это действия, выполняемые разово или периодически, но для которых почему-либо недоступен запуск через планировщик. Например, отправка пользователям разовых сообщений, получение выборки данных из БД, проверка наличия необходимых файлов и папок перед накатыванием обновлений, быстрое создание объектов модели при разработке и т.д.
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Comments 6

Алгоритм определения ботов и офферов во Вконтакте

Reading time 7 min
Views 38K
Под катом не будет нейросетей и сложных формул, будут лишь описаны признаки, по которым я на коленке ловил ботов, сравнение результата фильтрации по этим признакам с фильтрацией одним рекламируемым сервисом и ссылка на страницу с реализацией на js, по которой любой может испытать фильтр на своем собственном списке либо протестировать последних вступивших в свое сообщество.

Картинка для привлечения внимания:


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

Работа с массивами в bash

Reading time 8 min
Views 102K
Программисты регулярно пользуются bash для решения множества задач, сопутствующих разработке ПО. При этом bash-массивы нередко считаются одной из самых непонятных возможностей этой командной оболочки (вероятно, массивы уступают в этом плане лишь регулярным выражениям). Автор материала, перевод которого мы сегодня публикуем, приглашает всех желающих в удивительный мир bash-массивов, которые, если привыкнуть к их необычному синтаксису, могут принести немало пользы.

image
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 5

Как выучить английский, занимаясь UX: история бразильского дизайнера

Reading time 5 min
Views 11K


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

Немного обо мне: я родился и вырос в Сан-Паулу, Бразилия, где прожил больше 20 лет. В Бразилии мы говорим на португальском, каждый день, в любом месте. Меньше 3% бразильцев бегло говорят на английском.

Уроки английского языка обязательны для всех учеников средней школы, но по ряду причин, включая не лучшую систему образования и отсутствие возможности общаться на английском регулярно, у нас не получается выучить его достаточно хорошо. Мы думаем, что учим, но это не совсем так. Стандарты образования настолько низкие, что даже успешный ученик школы с углубленным изучением языка, попадая в англоязычную среду, быстро понимает, что не знает практически ничего.
Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Comments 0

Безопасный SOCKS5 прокси для Telegram за 1 Евро и 10 минут

Reading time 3 min
Views 133K
Не все прокси одинаково полезны. На волне новостей о блокировке мессенджера Телеграмм стало актуально поднимать свой SOCKS5 прокси, так как чужой использовать не безопасно — неизвестно, кому принадлежат серверы, какое ПО на них используется, и какие в нем присутствуют уязвимости. Кроме того, публичные прокси часто очень медленные, поскольку большое число клиентов одновременно «пытаются» его использовать, перегружая ресурсы сервера. Под катом инструкция по быстрой настройке приватного SOCKS5 прокси с аутентификацией за 1 евро и 10 минут времени и возможностью в дальнейшем расширить защиту сервера при помощи усиленной аутентификации.
Читать дальше →
Total votes 71: ↑45 and ↓26 +19
Comments 142

Автоматизация действий атакующего, используя metasploit и Python

Reading time 5 min
Views 14K
Известно, что метасплойт написан на Ruby и не поддерживает скрипты, написанные на Python. Несмотря на это у метасплойта есть двусторонний RPC–интерфейс, при помощи которого можно запускать задачи.

Есть две библиотеки, позволяющие взаимодействовать с remote procedure call (RPC) metasploit — это pymetasploit от allfro и python-msfrpc от SpiderLabs. В данной статье используется первая. В интернете и репозитарии github pymetasploit есть примеры запуска эксплойтов и взаимодействия с установленными сессиям, однако мне не удалось найти примеров запуска сканеров и получения вывода для дальнейшей обработки результатов. Один из вариантов будет рассмотрен далее.
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Comments 5

Global site tag (gtag.js) в Google Analytics. Что это такое и нужен ли он вам?

Reading time 4 min
Views 27K

Если недавно вы добавляли код отслеживания Google Analytics на сайт, то заметили совершенно другой код счётчика, который выглядит так:



Сложилась какая-то путаница вокруг этого gtag.js кода. Эта статья должна всё прояснить. Вы поймете, нужен вам gtag.js или нет.


Что такое Global Site Tag или gtag.js?


За последние годы Google Analytics выпускала несколько обновлений своей библиотеки JavaScript, каждая из которых добавляла новые функции и её рекомендовали использовать.


Однако, это не совсем то же самое. Это не просто еще одно обновление библиотеки. Global Site Tag создан, чтобы упростить и сделать рациональнее отслеживание для всех продуктов Google.

Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 0

Иллюстрированное руководство по устройству сети в Kubernetes. Части 1 и 2

Reading time 6 min
Views 52K
Прим. перев.: Автор статьи — Amanpreet Singh — называет себя «всё ещё начинающим в мире сетей», однако именно это и побудило его разобраться в их базовом устройстве в Kubernetes (который он использует в production), а затем — поделиться с сообществом очень доступным материалом с наглядными иллюстрациями. В оригинале он разбит на две части, однако в этом переводе мы объединили их в одну статью.



Вот вы запустили множество сервисов в кластере Kubernetes и пожинаете плоды… или хотя бы собираетесь это сделать. Однако, даже несмотря на существование ряда утилит для настройки кластера и управления им, вам всё же интересно, как всё работает «под капотом». Куда смотреть, если что-то сломается? По себе знаю, что это важно.
Читать дальше →
Total votes 38: ↑38 and ↓0 +38
Comments 3

Введение в Postman

Reading time 12 min
Views 597K

image


“Разработка API сложна, Postman делает её лёгкой” © Postdot Technologies, Inc

Когда видишь описание инструментов Postman — захватывает дух, просыпается чувство всевластия над своим будущим детищем. Кажется, что и взрощенные в прошлом "монстры" наконец-то падут перед тобой!


В этой статье мы расскажем о Postman и попробуем написать свой первый скрипт.

Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 43

Как написать одностраничное приложение (SPA) с использованием Vue.js

Reading time 7 min
Views 127K
Одностраничные приложения

Одностраничные приложения (SPA) имеют мнжество преимуществ, таких как скорость, по-настоящему хороший UX, и полный контроль HTML-разметки. Становится всё больше и больше сайтов SPA; всё больше инструментов, которые упрощают процесс разработки SPA. Вы, вероятно уже читали о молодом и перспективном фреймворке Vue.js. Предлагаю вам глубже погрузиться в Vue и на конкретном примере разобраться с простым SPA.

Мы напишем клиент-серверное приложение простейшего блога. Приложение будет отображать список записей а также полный текст каждой отдельной записи. И само собой, всё это будет происходить без перезагрузки страницы.

Ознакомившись с примером этого приложения, вы научитесь извлекать данные в Vue, создавать роуты и разберётесь с интересной особенностью Vue — однофайловыми компонентами.
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Comments 28

Операционные системы с нуля; Уровень 0

Reading time 11 min
Views 132K

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


Чем этот курс отличается от прочих других? Большая часть кода пишется самостоятельно и выполняется на вполне реальном современном железе. В качестве целевой платформы выбран Raspberry Pi 3 model B. Т.е. достаточно актуальная архитектура AArch64. ARMv8 Cortex-A53, четыре ядра, 64-бита и вот это всё. В качестве основного языка программирования выбран Rust. Который безопасный, быстрый, без GC и так далее. Его, Rust, предполагается изучать во время курса.


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

Читать дальше →
Total votes 80: ↑78 and ↓2 +76
Comments 55

Начинающему веб-мастеру: делаем одностраничник на Bootstrap 4 за полчаса

Reading time 15 min
Views 207K
Фреймворк Bootstrap — это свободный набор инструментов для создания интерфейсов сайтов и веб-приложений. Его возможности ориентированы исключительно на фронтенд-разработку. Bootstrap — проект весьма популярный, о чём, например, говорит то, что он занимает (по состоянию на начало марта 2018-го года) второе место по количеству звёзд на GitHub.


Если вы хотите освоить Bootstrap, в частности, его самую свежую, четвёртую версию, значит, этот материал подготовлен специально для вас. Здесь, на небольшом сквозном примере, который реально освоить за полчаса, будут продемонстрированы основы Bootstrap, разобравшись с которыми вы вполне сможете сделать что-то своё, использовав этот фреймворк.
Читать дальше →
Total votes 40: ↑31 and ↓9 +22
Comments 42

Шпаргалка для технического собеседования

Reading time 8 min
Views 205K


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

Читать дальше →
Total votes 81: ↑68 and ↓13 +55
Comments 85

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity