Pull to refresh
4
0
ChipsetSV @Chipset89

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

Обхода блокировок много не бывает на роутерах Keenetic

Reading time 23 min
Views 82K
Information Security *Instant Messaging *Python *Network technologies *

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

В данной статье будет описана работа телеграм-бота, написанного на python. С его помощью будет возможна установка данного обхода с небольшими предварительными настройками, а также работа со списками блокировок.

Читать далее
Total votes 41: ↑37 and ↓4 +33
Comments 80

Подключаем новый Xiaomi Gateway 3 к Home Assistant без паяльника и смс

Reading time 5 min
Views 97K
Development for IOT *Gadgets Smart House

Новый хаб от Xiaomi с поддержкой технологий Zigbee 3, Bluetooth Mesh, HomeKit и его подключение к достаточно популярной системе умного дома — Home Assistant, интересует?


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

Бесплатные сервисы для разработчиков — огромный список

Reading time 8 min
Views 46K
Маклауд corporate blog Website development *Open source *Development Management *Software

Бесплатное хранилище артефактов PackageCloud

Удивительно, но в интернете сотни сервисов, которыми разработчик может пользоваться совершенно бесплатно. «Бесконечное» время (пока компания не обанкротится или не изменит условия), без рекламы, пробного периода и других подводных камней.

Недавно мы обсуждали эту тему в статье «Боль разработчика: “Никогда не давайте пользователям бесплатный тариф”». Речь шла о том, что на самом деле бесплатный план вовсе не бесплатен — приходится тратить массу времени и усилий на поддержку этих тарифов.

Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
Читать дальше →
Total votes 83: ↑77 and ↓6 +71
Comments 15

Wi-Fi для мамы

Reading time 11 min
Views 38K
Network technologies *Wireless technologies *Network hardware
Tutorial

Постановка задачи


Сделать Wi-Fi в 2+ комнатной квартире, при этом чтобы скорость в любой локации была не ниже 90Мбит/с на любом современном мобильном устройстве (IEEE 802.11ac).

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

  1. Условный Просто пользователь (используем базовый ЯндексDNS)
  2. Условная Боящаяся интернета бабушка (ЯндексDNS, без мошеннических сайтов и вирусов)
  3. Условный Студент 5 курса, которому нужен Интернет без ограничений (выход в Интернет через VPN в Европу, DNS 8.8.8.8)
  4. Условный Школьник 7 класса, которому по административным причинам надо выключать Интернет в 21:00 час по будням и в 22:00 часа по выходным (используем ЯндексDNS «Семейный» и по расписанию выключаем/включаем SSID).


Радио моделирование


Начну с того, что как правило, если в квартире бетонные стены и количество комнат 2 и более, то одной точкой доступа Wi-Fi будет не обойтись, ведь 20 Мбит/с на диване у окна сегодня нас уже не устраивают, а это значит что минимальный уровень сигнала на клиенском устройстве долже быть не ниже -65дБ.

Вот пример:
Ставим одну точку доступа в прихожей, в 5 ГГц диапазоне зона покрытия до -65дБ выглядит так:

image image
Поэтому надо добавить еще как минимум 2 точки доступа, получаем следующее:

image image
image

Так уже лучше, с количеством и расположением точек доступа определились.
Читать дальше →
Total votes 35: ↑32 and ↓3 +29
Comments 173

Про новинки в .NET 5 и C# 9.0

Reading time 21 min
Views 82K
.NET *
Добрый день.

В нашей компании .NET используется с самого его рождения. У нас в продуктиве работают решения, написанные на всех версиях фреймворка: от самой первой и до последней на сегодняшний день .NET Core 3.1.

История .NET, за которой мы пристально следим всё это время, творится на глазах: версия .NET 5, которую планируют релизить в ноябре, только что вышла в виде Release Candidate 2. Нас давно предупреждали, что пятая версия будет эпохальной: с нею закончится .NET-шизофрения, когда существовали две ветки фреймворка: классический и Core. Теперь они сольются в экстазе, и будет один сплошной .NET.

Вышедший RC2 уже можно начинать полноценно использовать – никаких новых изменений перед релизом больше не ожидается, будет только фикс найденных багов. Более того: на RC2 уже работает официальный сайт, посвящённый .NET.

А мы представляем вам обзор новшеств в .NET 5 и C# 9. Вся информация с примерами кода взята из официального блога разработчиков платформы .NET (а также ещё из массы источников) и проверена лично.
Читать дальше →
Total votes 131: ↑131 and ↓0 +131
Comments 152

Распределенная трассировка запросов в .NET

Reading time 20 min
Views 14K
JUG Ru Group corporate blog Programming *.NET *Conferences


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

Егор Гришечко — работал разработчиком в компании Insolar. Команда Егора делает полностью распределенную систему, и поэтому они сталкиваются с большинством проблем, которые присущи распределенным системам. Сейчас Егор трудится в Uber и занимается разработкой инфраструктуры.

Под катом — текстовая расшифровка и видео доклада Егора с конференции DotNext 2019 Moscow. Доклад будет полезен разработчикам микросервисных систем, которые смогут для себя открыть эти технологии. А также будет интересен бэкенд-разработчикам, интересующимся метриками и мониторингом.
Total votes 27: ↑27 and ↓0 +27
Comments 3

Путеводитель CNCF по решениям Open Source (и не только) для cloud native

Reading time 5 min
Views 17K
Флант corporate blog Open source *DevOps *
8 марта фонд CNCF, созданный при The Linux Foundation, представил значительно обновлённую версию своей «карты ранее неизведанной территории облачных (cloud native) технологий» — Cloud Native Landscape 2.0. Собранная в рамках этого проекта информация ориентирована на компании, которые только начинают свой путь в мир инфраструктуры для cloud native-приложений, и призвана познакомить их с множеством имеющихся решений с открытым исходным кодом и не только.

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

Что такое service mesh и почему он мне нужен [для облачного приложения с микросервисами]?

Reading time 8 min
Views 64K
Флант corporate blog High performance *Open source *Designing and refactoring *Microservices *
Translation
Предисловие от переводчика: Эта неделя ознаменовалась выходом Linkerd 1.0, что является отличным поводом рассказать не только об этом продукте, но и о самой категории такого программного обеспечения — service mesh (дословно переводится как «сетка для сервисов» или «сервисная сетка»). Тем более, что авторы Linkerd как раз опубликовали соответствующую статью.

tl;dr: Service mesh — это выделенный слой инфраструктуры для обеспечения безопасного, быстрого и надёжного взаимодействия между сервисами. Если вы создаёте приложение для запуска в облаке (т.е. cloud native), вам нужен service mesh.

За прошедший год service mesh стал критически важным компонентом в облачном стеке. Компании с большим трафиком, такие как PayPal, Lyft, Ticketmaster и Credit Karma, уже добавили service mesh в свои приложения в production, а в январе Linkerd — Open Source-реализация service mesh для облачных приложений — стал официальным проектом фонда Cloud Native Computing Foundation этот же фонд недавно передали containerd и rkt, а ещё он известен как минимум по Kubernetes и Prometheus — прим. перев.). Но чем же является service mesh? И почему он стал внезапно необходим?


В этой статье я дам определение service mesh и прослежу его происхождение через изменения в архитектуре приложений, произошедшие за последнее десятилетие. Я отделю service mesh от связанных, но отличающихся концепций: шлюза API, edge proxy, корпоративной сервисной шины. Наконец, я опишу, где нужен service mesh, и что ожидать от адаптации этой концепции в мире cloud native.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 4

Букварь по дизайну систем (Часть 1 с дополнениями по микросервисам)

Reading time 37 min
Views 20K
Website development *System Analysis and Design *DevOps *
Translation


Несколько лет назад, для закрытия одного их предметов мне довелось перевести данный букварь. Де-факто этот вариант стал официальным переводом. Но развитию этого перевода мешает, тот факт, что он был написан в Google Drive и закрыт на редактирования. Сегодня я уделил время на переформатирования всего этого текста в MD формат с помощью редактора Хабра, с радостью публикую здесь и вскоре отдам текущим контрибьюторам.


Словарь


Node — нода — узел с каким либо ресурсом
Content — контент — данныe
Traffic — трафик — запрос/ответ, данные которые передаются от сервера клиенту и наоборот
Hardware — железо — аппаратная часть
Instance — инстанс — созданный объект какой либо сущности. Например инстанс сервера API
Headers — хедеры — заголовки (как правило TCP пакета, но может быть и HTTP запроса)



Читать дальше →
Total votes 35: ↑32 and ↓3 +29
Comments 3

Как мы перевели конфигурирование наших сервисов с XML на YAML

Reading time 23 min
Views 6K
United Traders corporate blog .NET *C# *Development for Linux *Development for Windows *

Предыстория вопроса


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

Хочется все эти сервисы перенести под *nix-ОС. Для этого надо отказываться от обёртки в виде Windows-служб и переходить с .NET Framework на .NET Standard.

Последнее требование приводит к необходимости избавиться от некоторого Legacy-кода, который не поддерживается в .NET Standard, в т.ч. от поддержки конфигурирования наших серверов через XML, реализованного с использованием классов из System.Configuration. Заодно таким образом решается и давняя проблема, связанная с тем, что в XML-конфигах мы время от времени ошибались при изменении настроек (например, иногда не туда ставили закрывающий тэг или забывали его вовсе), а замечательная читалка XML-конфигов System.Xml.XmlDocument молча проглатывает такие конфиги, выдавая совсем непредсказуемый результат.

Было решено перейти на конфигурирование через модный YAML. Какие проблемы при этом перед нами встали, и как мы их решили — в этой статье.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 23

Как работает конфигурация в .NET Core

Reading time 9 min
Views 66K
.NET *ASP *C# *
Sandbox

Давайте отложим разговоры о DDD и рефлексии на время. Предлагаю поговорить о простом, об организации настроек приложения.


После того как мы с коллегами решили перейти на .NET Core, возник вопрос, как организовать файлы конфигурации, как выполнять трансформации и пр. в новой среде. Во многих примерах встречается следующий код, и многие его успешно используют.


public IConfiguration Configuration { get; set; }
public IHostingEnvironment Environment { get; set; }

public Startup(IConfiguration configuration, IHostingEnvironment environment)
{
   Environment = environment;
   Configuration = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .AddJsonFile($"appsettings.{Environment.EnvironmentName}.json")
            .Build();
}

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

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

RabbitMQ. Часть 3. Разбираемся с Queues и Bindings

Reading time 8 min
Views 85K
Instant Messaging *.NET *C# *DevOps *Microservices *
Tutorial

Queue (очередь) — структура данных на диске или в оперативной памяти, которая хранит ссылки на сообщения и отдает их копии consumers (потребителям). Queue представляет собой Erlang-процесс с состоянием (где могут кэшироваться и сами сообщения). 1 тысяча очередей может занимать порядка 80Mb.


Binding (привязка) — правило, которое сообщает обменнику в какую из очередей должны попадать сообщения.

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

Полная домашняя автоматизация в новостройке

Reading time 8 min
Views 209K
Configuring Linux *Web design *Open source *Smart House Systems engineering *
🔥 Technotext 2020
Три года назад стал претворять свою давнюю мечту в реальность — максимальная домашняя автоматизация квартиры, купленной в новостройке с нуля. При этом «отделку от застройщика» пришлось принести в жертву умному дому image и полностью переделать, а вся электрика, не связанная с автоматикой приехала с известного китайского сайта. Паяльник не потребовался, но знающих мастеров, электриков и плотников пришлось искать долго.


Панель управления квартирой в феврале 2020 года (Home Assistant)

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


Строительство нашего дома в процессе — ноябрь 2016 года
Умный дом в самом соку...
Total votes 138: ↑135 and ↓3 +132
Comments 515

RabbitMQ. Часть 1. Introduction. Erlang, AMQP

Reading time 4 min
Views 145K
Instant Messaging *.NET *C# *DevOps *Microservices *
Tutorial
Sandbox

Добрый день, Хабр! Хочу поделиться учебником-справочником знаний, которые мне удалось собрать по RabbitMQ и сжать в короткие рекомендации и выводы.

Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 5

Открытие портов 4321 и 9898 на шлюзе Xiaomi Gateway 2

Reading time 3 min
Views 29K
Smart House

Введение


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

После часов поисков я решил, что мне подходит Home Assistant. Строить всё на начальном этапе я решил с использованием Raspberry Pi 4 Model B (2GB) и датчиков от Xiaomi. Купив шлюз (нужна версия с артикулом DGNWG02LM) и включив протокол связи локальной сети, я столкнулся с тем, что порты 4321 и 9898, необходимые для интеграции в Home Assistant, по-прежнему остались закрытыми.
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Comments 33

Что такое быть тимлидом

Reading time 14 min
Views 31K
Development Management *Project management *Agile *Personnel Management *

Интро


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


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


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

Читать дальше →
Total votes 74: ↑71 and ↓3 +68
Comments 48

Ты только посмотри! 20 фильмов о науке и ученых

Reading time 4 min
Views 56K
Человек наук corporate blog Mathematics *Popular science Science fiction Brain
Команда конференции Mieloconf подготовила подборку классных фильмов о науке и ученых для долгих новогодних каникул.

Про свои любимые фильмы рассказали: AI-евангелист ABBYY, автор подкаста «Проветримся» Иван Ямщиков, физик-ядерщик Дмитрий Горчаков, руководитель инфраструктурной команды в «Контуре» Алексей Кирпичников и программист Павел Аргентов.


Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Comments 42

Памятка по борьбе с алкоголем или Как пережить фуршеты

Reading time 20 min
Views 158K
Personnel Management *IT career Popular science Lifehacks for geeks Health
Tutorial
Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на Хабр. Рассказанное — услышит один человек, а написанное — прочитают сотни!

Меня, если честно, достаточно сильно раздражают всевозможные застолья. Потому что гораздо приятнее посидеть с паяльником или читая книгу, а не "… хорохорясь, ерепенясь и валяясь, как колода..." провести выходные. Но традиции-с, будь они неладны, формировались столетиями и не умея пить — бывает достаточно сложно вписаться в коллектив, найти нужный подход и т.д. Особенно грешат этим делом всевозможные руководящие кадры из старого поколения. Что же делать тем, для кого алкоголь и необходимость его употреблять — это просто лишняя головная боль? Самый простой ответ — НЕ ПИТЬ, но на практике полностью это очень сложно реализовать. Эффективнее в наших реалиях принять тезис «алкоголь — просто инструмент» и учиться с ним правильно работать и использовать для решения своих задач с минимизацией ущерба для здоровья.

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

Читать дальше →
Total votes 191: ↑155 and ↓36 +119
Comments 479

Upgrade компа серверным SATA SSD на 1.92TB с ресурсом записи от 2PB и выше

Reading time 3 min
Views 33K
Data storage *Computer hardware Old hardware Data storaging Laptops


Есть люди, которые любят использовать качественные комплектующие из корпоративного сегмента в быту. Они хотят быть уверенными в том, что их SSD не накроется внезапно из-за сбоя по питанию или write amplification при ежедневном скачивании огромных 4K-торрентов на фрагментированный NTFS-раздел с размером кластера 4K или при очередной компиляции Gentoo из исходников.

Конечно, такие опасения редко сбываются на практике, однако очень приятно пользоваться SSD с Power Loss Protection (1, 2, 3), который имеет практически безграничный ресурс записи. И даже когда ёмкость его станет малой для текущих задач, он всё равно может быть использован как флэшка или как дополнительный диск, подарен или продан.

В этой статье приведён список корпоративных SSD ёмкостью 1.92ТБ, которые сейчас подешевели до уровня потребительских SSD (< $300), но обладают ресурсом записи от 2 Петабайт и выше.
Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Comments 96

Многопоточность в .NET: когда не хватает производительности

Reading time 26 min
Views 37K
JUG Ru Group corporate blog .NET *C# *


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

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

Под катом — видео и расшифровка моего доклада с конференции DotNext, где я разбираю несколько примеров, когда использование средств из стандартной библиотеки .NET (Task.Delay, SemaphoreSlim, ConcurrentDictionary) привело к просадкам производительности, и предлагаю решения, заточенные под конкретные задачи и лишённые этих недостатков.
Total votes 49: ↑48 and ↓1 +47
Comments 87

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity