Pull to refresh
-8
Karma
0
Rating
Александр @irbis_al

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

Рецепты Nginx: локализация страниц об ошибках

Nginx *
Tutorial

Для приготовления локализации страниц об ошибках нам понадобится сам nginx и его плагины error_page_inherit и include_server. Конечно, такую локализацию можно сделать и без этих плагинов, но у неё будет несколько недостатков. Во-первых, если в каком-то локейшене задаётся своя страница об ошибке, то все страницы об ошибках из предыдущих уровней не наследуются для этого уровня. Эту проблему решает первый плагин, позволяя наследовать страницы сообщений об ошибках. А, во-вторых, для каждого сервера придётся вручную включать локейшен обработки страницы об ошибке. И эту проблему как раз решает второй плагин, позволяя наследовать подключение файлов из главной конфигурации во все сервера.

Итак
Total votes 11: ↑11 and ↓0 +11
Views 4K
Comments 3

Обзор Linux-телефона PinePhone. Часть 1 — распаковка и первые впечатления

Selectel corporate blog Information Security *IT Infrastructure *Gadgets Smartphones

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

Приобрели у компании-производителя (а еще мы рассказывали об их паяльнике, детальный разбор которого тоже вскоре опубликуем), и вот на днях телефон пришел. В этой части — распаковка и личные впечатления от первых часов работы с устройством. Во второй части будет обзор впечатлений после использования девайса в качестве рабочей станции (это, на мой взгляд, самая полезная его функция). Что же, если вам интересен этот модульный, защищенный от прослушивания и сервисов Google девайс — прошу под кат.
Читать дальше →
Total votes 88: ↑87 and ↓1 +86
Views 44K
Comments 145

Как узнать общий объем физической памяти (RAM) в Linux

FirstVDS corporate blog Configuring Linux *System administration *Server Administration *
Translation
image

1. Краткое содержание


Иногда возникает необходимость проверить общий объём памяти сервера, на котором запущена ОС Linux, или же данные о памяти требуются для сценариев командной оболочки. К счастью, есть множество инструментов, которые нам в этом помогут. В этом руководстве приводятся различные команды и утилиты для определения общего объёма физической памяти.
Читать дальше →
Total votes 30: ↑26 and ↓4 +22
Views 33K
Comments 18

IPv6: некоторые нюансы безопасности

OTUS corporate blog Network technologies *

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

Читать далее
Total votes 14: ↑8 and ↓6 +2
Views 6K
Comments 3

Бесплатные Oracle Cloud серверы и Mikrotik — Site-to-Site VPN

System administration *Oracle *IT Infrastructure *Network technologies *Cloud services *
Sandbox

Предоставление бесплатных серверов от малопопулярного облачного провайдера - это не новость. А новость в том, что теперь Oracle, вдобавок к двум едва живым бесплатным x86_64 серверам, открывает доступ к мощностям на ARM64 - для всех, даром, и пусть никто не уйдет обиженным!© Предложение по ARM значительно более производительное, чем на традиционных процессорах. Добавляя к этому отсальные бесплатные "плюшки", я задаюсь вопросом: а зачем я до сих пор плачу за VPS и держу собственный серверок в подвале?! Все это можно выкинуть если удастся надежно и безопасно связать дата центр с домашней сетью.

Читать далее
Total votes 23: ↑20 and ↓3 +17
Views 36K
Comments 103

Android Studio. Kotlin. Сохранение файла в общедоступной папке Download

Development for Android *Kotlin *
Sandbox

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

Виной всей этой сложности - множество факторов. Языковой барьер: русский - английский, Kotlin - Java. Различия в способах копирования в разных версиях Android. Разобраться было не просто. В итоге - пишу этот гайд, чтобы облегчить жизнь тем, кто пойдет за мной следом...

Читать далее
Total votes 15: ↑14 and ↓1 +13
Views 9K
Comments 11

Как, собственно, работает местная анестезия, и где там можно знатно накосячить

Белая Радуга corporate blog Popular science Health

Электрический инъектор и ампула ультракаина.

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

Сложности начинаются уже на той стадии, когда вместо электротока на мембраны нейронов мы вводим вам в организм химическое соединение. Потому что так куда практичнее и легче. Точнее, мы, наверное, никогда бы не догадались про такой химический эффект, если бы не наркоманы. Когда кокаин ещё был разрешён и активно использовался в разных целях, испытатели заметили характерное онемение слизистых при введении. Это вызвало интерес, в частности, научный. Небезызвестный товарищ Зигмунд Фрейд, будучи студентом, очень увлёкся темой и исследовал местное анестезирующее действие. Дальше выяснилось, что раствор вещества просто изъязвляет слизистую, и спустя годы получилось выделить нужный амин, который, собственно, дальше и создаёт поток ионов Na+. Пропуская ещё несколько шагов на молекулярном уровне — нерв временно инактивируется.

Боль — это информация, и, блокируя информационный обмен через нерв, мы обезболиваем какой-то участок тела.

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

И, конечно, анестезия анестезии рознь. Давайте расскажу, в чём там ещё подводные камни.
Читать дальше →
Total votes 124: ↑119 and ↓5 +114
Views 34K
Comments 93

Создание красивых градиентов на CSS

CSS *Vector graphics *Graphic design *Design
Translation
Вот линейный градиент на CSS, идущий от чисто жёлтого до чисто синего цвета:


Заметили, что в центре он становится бледным и грязным?

Это явление Эрик Кеннеди назвал «мёртвой зоной серого». Если вы тщательно не выбираете цвета для своих градиентов, то в ваших градиентах на CSS часто возникает такая обесцвеченная часть посередине.

Однако, как оказалось, можно полностью избавиться от мёртвой зоны серого. В этом посте я расскажу, почему она возникает, и о том, как можно использовать теорию цвета для создания насыщенных, ярких градиентов, «живых» по всей своей длине.
Читать дальше →
Total votes 67: ↑63 and ↓4 +59
Views 17K
Comments 30

Golang-дайджест № 12 (1 – 31 декабря  2021)

Go *

Свежая подборка новостей и материалов

Интересное в этом выпуске

Выпущены Go 1.17.5 и Go 1.16.12, GoLand 2021.3, доступна первая бета-версия Go 1.18 (с дженериками), monovania 2D платформер-головоломка, созданный с помощью Ebiten, zinc альтернатива Elasticsearch, Map-Reduce в Go

Приятного чтения!

Читать далее
Total votes 11: ↑10 and ↓1 +9
Views 4.7K
Comments 4

Простейший сервер на Gorilla WebSocket

Go *
Tutorial
Sandbox

В этом небольшом туториале, мы чуть подробнее разберем использование Gorilla WebSocket для написания своего websocket сервера, на примере чуть более функциональном, чем базовый пример и более легком для понимания, чем пример чата.

Читать далее
Total votes 5: ↑4 and ↓1 +3
Views 12K
Comments 7

Кунг-фу стиля Linux: делиться — это плохо

RUVDS.com corporate blog Configuring Linux *System administration **nix *
Translation
В детском саду вы узнали о том, что делиться — это хорошо. Но, если речь заходит о компьютерной безопасности, часто оказывается, что не всё так однозначно. Концепция пространств имён (namespaces) появилась в ядре Linux начиная с версии 2.6.24. Это случилось много лет назад, но использование пространств имён не стало массовым явлением, несмотря на то, что существуют инструменты для работы с ними. Разумеется, задумываться о пространствах имён нужно далеко не всегда. Но это одна из тех вещей, которые, если в них возникает необходимость, дают нам просто бесценные возможности. Если описать эти возможности в двух словах, то получится, что пространства имён позволяют предоставить процессу его собственные, приватные ресурсы, и, что важнее, запретить процессу доступ к ресурсам из других пространств имён.



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

Поговорим о том, как в Linux организована работа с пространствами имён, и о том, что они скрывают.
Читать дальше →
Total votes 48: ↑46 and ↓2 +44
Views 28K
Comments 4

Автореконнекты к RabbitMQ в Go

Go *

Брокер сообщений RabbitMQ уже давно активно используется в микросервисах. Он используется, когда требуется асинхронная обработка сообщений от клиентов или при аналогичном межсервисном взаимодействии.

Практически нет языка, под который не была бы сделана соответствующая клиентская библиотека. Для Go такой библиотекой является github.com/streadway/amqp (далее по тексту библиотека amqp). Она имеет широкий функционал, можно подключаться к RabbitMQ, создавать каналы, настраивать очереди и exchange. Не хватает только самой малости – реконектов. А именно автоматических реконнектов при потери связи.

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

Читать далее
Total votes 17: ↑14 and ↓3 +11
Views 9.4K
Comments 6

Простой SMS-шлюз на Raspberry Pi

RUVDS.com corporate blog Programming microcontrollers *Development for Raspberry Pi *
Tutorial
Translation
Иногда случается так, что надо отправлять откуда-нибудь SMS-сообщения. При этом неважно — откуда именно. Речь может идти о домашней системе, объединяющей кучу устройств (эти системы называют «homelab»), из которой надо отправлять уведомления. Это может быть система сигнализации, информирующая своего владельца о разных событиях, требующих его внимания. Возможно это — программный комплекс, которому нужно подтверждать правильность телефонных номеров, вводимых его пользователями. Во всех этих случаях, да и во многих других, SMS-сообщения были и остаются наилучшим способом передачи неких уведомлений по инициативе отправителя.

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

Очевидное решение всех этих проблем заключается в поддержке собственного SMS-шлюза.

Результат этого проекта: устройство, поддерживающее полнофункциональный REST API, способное отправлять и получать сообщения

Как, с минимальными затратами, самостоятельно сделать такой шлюз?
Читать дальше →
Total votes 52: ↑48 and ↓4 +44
Views 17K
Comments 36

Видеоcъемка и фотосъёмка на Raspberry pi в облако

Python *Data storage *Development for Raspberry Pi *
Tutorial
Recovery mode

Здравствуйте дорогие читатели моего блога.

Сегодня статья посвещана организации процесса фото - и видиосъёмки с микрокомпьютера Raspberry pi с последующим сохранением данных в облако в атоматическом режиме.

У меня стояла задача создать систему фото- и видеонаблюдения за птицами у кормушки. 

Так как кормушка у меня находилась во дворе дома, то я решил собрать устройство на базе raspberry pi с подключённым проводным интернетом.

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

В качестве оборудования я использовал:

Raspberry pi 3 B +

7 дюймовый сенсорный дисплей для микрокомпьютера

Pi camera

клавиатура, мышь

LAN провод 20 метров

удлинитель и блок питания (преобразователь 5В и 2А)

Читать далее
Total votes 15: ↑10 and ↓5 +5
Views 7.7K
Comments 16

Сбербанк или туда и обратно

System Programming *Debugging *
Sandbox


ГЛАВА 1. Нежданные гости


Все началось в то злополучное утро, когда Project Manager сообщил, что сроки реализации проекта должны быть быстро и решительно сокращены на месяц. Точнее говоря проект должен быть готов через 4 дня. Нет, наш PO не зверь, и ничуть не похож на сову (разве что чуть-чуть на ворона), просто так сложилось. Ну раз надо, так надо, тем более что команде (а я являюсь ведущим разработчиком команды «С») было обещано что-то вкусное. На часах и календаре был четверг, 11:00, к понедельнику проект должен быть готов.

Для начала, чем мы вообще занимаемся. Мы занимаемся автоматизацией кинотеатров — автоматическим и дистанционным управлением оборудования, автоматизацией кинопоказа, мониторингом, видеопанелями, а теперь еще и терминалами продажи билетов и бара. Конкретно последнему пункту и посвящена данная статья.
Читать дальше →
Total votes 102: ↑96 and ↓6 +90
Views 58K
Comments 108

Настраиваем свой почтовый сервер в docker-compose

FirstVDS corporate blog System administration *Network technologies *Server Administration *
Tutorial


Недавно мне потребовалось собрать свой почтовый сервер. В принципе, дело-то простое. Берёшь и ставишь сервер. Postfix, dovecot, letsencrypt, roundcube, spamassasin, clamav. Всё это — уже известные дела. Колея проторена. Иди и делай.

Но мне нужно было наплодить этих серверов. И я подумал, а почему бы не настроить всё на контейнерах? Такое можно сделать. Для этого надо скачать все вышеописанные контейнеры и написать .env файл века с более чем сотней разных параметров. Ну и, конечно же, сконфигурировать nginx. Там всё просто. С полдесятка хостов, и система заработает.

Я тяжело вздохнул и решил, что наверняка есть решение попроще. И оно нашлось. Mailu. Всё просто и из коробки, но всё-таки и в нём есть свои подводные мины.

Под катом — подробности того, как установить Mailu без боли и проблем, а также описание компонентов и рассказ о том, что и как можно менять и использовать.
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 24K
Comments 21

Работаем с XML как с массивом, на PHP

PHP *
Recovery mode

Всем привет. Хочу поделиться своим опытом в парсинге XML, хочу рассказать об инструменте который мне в этом помогает.

XML ещё жив и иногда его приходиться парсить. Особенно если вы работаете со СМЭВ (привет всем ребятам для которых "ФОИВ" не пустой звук :) ).

Цели у такого парсинга могут быть самые разные, от банального ответа на вопрос какое пространство имён используется в xml-документе, до необходимости получить структурированное представление для документа вцелом.

Инструмент для каждой цели будет свой. Пространство имён можно найти поиском подстроки или регулярным выражением. Что бы сделать из xml-документа структурированное представление (DTO) - придётся писать парсер.

Для работы с XML в PHP есть пара встроенных классов. Это XMLReader и SimpleXMLElement.

Читать далее
Total votes 23: ↑11 and ↓12 -1
Views 13K
Comments 15

Исследуем .NET 6. Часть 3. Рассматриваем код WebApplicationBuilder

.NET *C# *
Translation

Часть 1. ConfigurationManager
Часть 2. WebApplicationBuilder

В предыдущем посте я сравнивал новый WebApplication с универсальным хостом. В этом посте я рассмотрю код, лежащий в основе WebApplicationBuilder, чтобы увидеть, как он обеспечивает более чистый, минимальный API хостинга, при этом обеспечивая ту же функциональность, что и универсальный хост.

Читать далее
Total votes 5: ↑5 and ↓0 +5
Views 7.4K
Comments 5

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity