Pull to refresh
0
0
JackRowsen @JackRowsen

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

Send message

Как мы внедрили скрытие аккаунтов в Telegram или #ДуровДобавьДвойноеДно

Reading time8 min
Views200K

Если анимация не воспроизводится, смотрите её здесь.

Здравствуйте, Павел Дуров! Мы надеемся, что Вы нашли время ознакомиться с данным открытым письмом. Мы разработали решение для Telegram-клиента, которое позволяет скрывать аккаунты и открывать их только через уникальный код-пароль (см. анимированное превью). Нет никаких следов присутствия скрытых аккаунтов. Невозможно узнать, есть ли в мессенджере скрытые аккаунты и какое их количество. Решение именуется как «Двойное дно».

Все нюансы были тщательно нами продуманы, а сам Telegram-клиент с точки зрения интерфейса и пользовательского опыта никак не изменился. Практически никаких доработок со стороны команды Telegram не требуется. «Двойное дно» сделано полностью «под ключ», Вам нужно лишь принять наш «Pull Request» в Вашем репозитории. Перед тем как отправить «Pull Request», мы возьмем несколько дней на сбор обратной связи от пользователей, чтобы исправить мелкие недочеты. Для ознакомления Вы можете установить нашу сборку через TestFlight, а если под рукой нет iOS-устройства, то посмотреть видео. Исходный код сборки доступен на GitHub.
Читать дальше →
Total votes 212: ↑202 and ↓10+192
Comments213

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

Reading time10 min
Views45K
     «Любишь Hyper-V – люби и PowerShell»
     Первое правило Сообщества Hyper-V в Телеграм 

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

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

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

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

Базовые команды Linux для тестировщиков и не только

Reading time24 min
Views241K

Предисловие


Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обычно от кандидата на позицию QA инженера требуют знание основных команд (если, конечно, подразумевается работа с Linux), но как понять, про какие команды стоит почитать во время подготовки к собеседованию, если опыта работы с Linux мало или вовсе нет?

Поэтому, хоть про это уже и много раз написано, я всё же решился написать ещё одну статью «Linux для новичков» и перечислить здесь базовые команды, которые нужно знать перед любым собеседованием в отдел (или компанию), где используют Linux. Я подумал, какие команды и утилиты и с какими параметрами я использую чаще всего, собрал фидбек от коллег, и скомпоновал это всё в одну статью. Статья условно делится на 3 части: сначала краткая информация об основах ввода-вывода в терминале Linux, затем обзор самых базовых команд, а в третьей части описывается решение типовых задач в Linux.
Читать дальше →
Total votes 75: ↑63 and ↓12+51
Comments50

Как добавить индекс на нагруженной системе 24/7 без простоя?

Reading time5 min
Views15K
Друзья, в конце января у нас стартует новый курс под названием «MS SQL Server разработчик». В преддверии его запуска мы попросили преподавателя курса, Кристину Кучерову, подготовить авторскую статью. Эта статья будет вам полезна, если у вас есть очень популярная таблица на проде с доступом 24/7 и вдруг неожиданно вы поняли, что срочно нужно добавить индекс и ничего не сломать в процессе.

Итак, что же делать? Традиционный способ CREATE INDEX WITH (ONLINE = ON) вам не подходит, потому что, например, вызывает падение системы и сердечный приступ вашего ДБА, все топы пристально следят за response time вашей системы и в случае увеличения оного приходят к вам и вашему ДБА на разговор по поводу завышенных цифр вашей компенсации за труд.

Скрипты и описанные приёмы были использованы на системе с нагрузкой 400К requests per minute, версии SQL Server 2012 и 2016 (Enterprise).

Есть два очень разных подхода создания индекса, которые используются в зависимости от размера таблицы.

Кейс № 1. Маленькая, но очень популярная таблица


Таблица 50 тыс. записей (небольшая), но очень популярная (несколько тысяч обращений в минуту). Вам нужен новый индекс и минимальное время простоя и блокировок на таблице.
В приложении весь доступ к БД только через процедуры.

При ошибке приложение сделает повторную попытку обратится к таблице.


Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments25

Качество воздуха в доме зимой

Reading time4 min
Views85K
image

Зимой воздух в помещении хуже всего. Духота, сухость. Работает отопление, проветривать часто нельзя, потому что замерзнешь. Особенно актуально, когда дома есть маленькие дети.
Как соблюсти баланс? Возможно ли это?

В статье я приведу цифры и расчеты. А еще свой вариант решения проблемы и устройство, собранное для этого. Кому интересно, прошу под кат…
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments411

Тестовый сервер для команды разработчиков

Reading time9 min
Views17K
Привет, Хабр! В данной статье я хочу поделиться опытом разворачивания тестового сервера для команды разработчиков. Вкратце суть проблемы — есть команда разработки и несколько проектов на php. Пока нас было мало и проект был по сути один, то использовался 1 тестовый сервер и чтобы показать задачу заказчику — разработчик «столбил» сервер на определенное время. Если «окон» по времени не было, то приходилось ждать. Со временем рос коллектив и сложность задач, соответственно увеличивалось время проверки и занятость тестового сервера, что негативно влияло на сроки выполнения и премию. Поэтому пришлось искать решение и оно под катом.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments12

Как правильно бекапить SQL Failover кластер

Reading time8 min
Views8.1K

Не люблю, когда в сети нет простых пошаговых инструкций без умных слов, показывающих, как делать не самые очевидные вещи. Поэтому без лишних вступлений сегодня расскажу, как правильно бекапить отказоустойчивый (Failover) кластер SQL. Да-да, именно кластер, а не отдельно стоящий SQL сервер. Как раз про них написано много, а кластера почему-то избегают.
И без долгих предисловий рассмотрим нашу лабу:


  • Windows кластер с Windows Server 2012 r2 под капотом и неким количеством нод. Для удобства в моей лабе их всего две. Возникает законный вопрос: а зачем ставить кластер на кластер? Объясню чуть ниже.
  • К кластеру по iSCSI зацеплено три диска: кворум, диск с базой (базами), диск для логов. Можно больше, можно меньше, тут кому как нравится. Иногда нравится так: два локальных диска (один для системы, второй для установки самого SQL), диск для кворума, совмещённый диск для root и system database, диск для базы, диск для логов, диск для TempDB и диск для Backups. Системщики говорят, что так тоже правильно. Но я считаю, что сколько у вас будет дисков — совершенно никакой роли не играет. Если именно у вас работает, значит вы правы и молодец.
  • На каждой ноде установлен инстанс SQL, понимающий, что он часть SQL кластера, а Windows кластер видит роль SQL Server.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments6

Перенос базы данных в более старую версию MS SQL Server

Reading time5 min
Views36K


У вас есть база данных MS SQL Server, которую нужно перенести на другой физический комп. Вы уже сделали бэкап и радостно приступаете к восстановлению. Но тут обнаруживается, что на том компе, куда нужно перенести базу, установлена более старая версия MS SQL Server. Stack Overflow уверяет вас, что всё плохо. Но так ли это на самом деле?
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments22

Контейнеры для взрослых (Часть 03): 10 вещей, которые не надо делать с контейнерами

Reading time4 min
Views31K
Вы, наконец, сдались на милость контейнеров и обнаружили, что они решают массу проблем и имеет массу преимуществ:

  1. Контейнеры незыблемы: ОС, библиотеки, папки и приложения – поскольку все это хранится прямо в контейнере, вы на 100 % уверены, что в продакшн всегда пойдет именно тот образ, который тестировался в QA. И работать он при этом будет абсолютно аналогично.
  2. Контейнеры легковесны: Контейнер не ест память впустую. Вместо сотен мегабайт и гигабайт контейнеру нужна память лишь под основной процесс.
  3. Контейнеры быстрые: Контейнер запускается так же быстро, как и обычный Linux-процесс. Не минуты, а буквально считанные секунд.



Однако, многие до сих пор считают, что контейнеры – это виртуальные машины, и забывают про важнейшее их свойство…
Читать дальше: 10 вещей, которые не надо делать с контейнерами
Total votes 38: ↑35 and ↓3+32
Comments194

Кривые развития программиста и немного об эффекте Даннинга — Крюгера

Reading time9 min
Views54K
image

Существует два основных пути становления топ-менеджмента в IT-компаниях:

  1. Менеджерский — когда менеджер проекта начинает управлять другими менеджерами.
  2. Технарский — когда разработчик начинает управлять другими разработчиками и количество управляемого им персонала увеличивается.

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

Второй путь является более долгим и не гарантирует успеха, так как является противоречащим сути интроверта-программиста. Однако, на этом пути я бы хотел заострить внимание и поделиться опытом и знаниями.
Читать дальше →
Total votes 81: ↑71 and ↓10+61
Comments180

Прозрачная авторизация для приложения на Oracle Weblogic Server

Reading time6 min
Views12K
В данной статье расскажу, как мы перешли с NTLM на Kerberos авторизацию для приложений на Oracle Weblogic Server, тем самым упростив пользователям вход, убрав необходимость вводить пароль. Все пользователи, а также сервер приложения находятся в одном домене, так же ранее была настроена доменная авторизация для приложений Weblogic сервера. Все конфигурации были проверены на WLS 12.1.2.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Релиз неофициального MTProto прокси на Python, особенности протокола

Reading time6 min
Views25K
image

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

В данной статье хотелось бы, во-первых, рассказать о малоизвестных особенностях протокола общения прокси-сервера с внешними серверами и, во-вторых, рассказать о собственной разработке — реализации прокси-сервера на Python, которая только что достигла релиза и доступна всем желающим под свободной лицензией MIT.
Читать дальше →
Total votes 54: ↑53 and ↓1+52
Comments86

Запуск LAMP и сотен других веб-приложений в несколько кликов

Reading time5 min
Views13K

image В прошлой публикации я рассказал как SSHeller помогает быстро и легко развернуть OpenVPN сервер. В версии 1.1.0 был добавлен еще один плагин — Docker.
Хочу сразу предупредить, что если у вас руки заточены под консоль, а управление Docker через командную строку кажется удобным и интуитивно понятным, — не нужно читать дальше, не нужно писать ничего в комментариях, я и так знаю, что SSHeller вам не нужен.


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


Как это работает


Нужен сервер с практически любым современным Linux дистрибутивом. Но, в отличии от OpenVPN, для Docker я бы порекомендовал Debian 9 либо Ubuntu 18.04. С Fedora и Centos дела обстоят чуть хуже, так как требуется ставить больше пакетов, дополнительно настраивать автозапуск, немного иначе построена работа с хранилищем.


Самое главное — это должна быть либо физическая либо виртуальная машина, но никак не контейнер (LXC, OpenVZ не подойдут). И нужен доступ по SSH. В прошлой публикации есть подробное описание, как зарегистрироваться и запустить сервер в DigitalOcean, а в конце — чуть менее подробная инструкция для Linode. Оба этих сервиса предлагают простые машины за $5/месяц и бонусы при регистрации по реферальной ссылке. Для начала этого будет вполне достаточно.


Как только у нас есть IP, логин и пароль к серверу, можно устанавливать SSHeller. Скачать его можно из релизов на GitHub, есть версии для macOS, Windows и Linux. После запуска добавляем наш сервер, подключаемся к нему и переходим к плагину Docker.

Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments3

Новый MTProto-прокси сервер от Telegram

Reading time5 min
Views159K
Прокси-сервер является посредником между клиентом и сервером. Для обхода ограничений прокси-сервер должен быть установлен там, где нет ограничений доступа к требуемой информации, при этом не должно быть таковых ограничений и между клиентом и прокси-сервером.

image

Обновлённая поддержка прокси-серверов в клиентах Telegram


  • Новый MTProto-прокси. Работает с родным для Telegram протоколом MTProto
  • Открытый исходный код сервера на GitHub
  • Docker-образ на DockerHub
  • В мобильных клиентах появилась возможность добавлять несколько прокси-серверов каждого типа. Пользователь может выбрать наиболее подходящий
Читать дальше →
Total votes 106: ↑98 and ↓8+90
Comments261

Хватит терпеть жару в квартирах

Reading time6 min
Views119K

Предисловие:
На написание данной публикации меня вдохновила, ставшая культовой, статья "Прекратите скручивать". Скрутки — это бич современности, которые не смотря на то, что они давным давно запрещены, все еще повсеместно используются электриками, особенно электриками из ЖЭКа. Поскольку я являюсь членом правления в нескольких ТСЖ, то мне приходится много контактировать с представителями рабочего класса, обслуживающими наши многоквартирные дома. И если в электрике бич — это скрутки, то в сантехнике, таким бичом являются полипропиленовые трубы! Но, обо всем по порядку.


Последние несколько недель многие жители нашей необъятной Родины умирали от жары. Днем на улице тепло, а отопление еще не выключили. Знакомая ситуация? Невозможно спать, нечем дышать, воздух сухой. Мало того, что это самая большая статья расходов в платежках за коммунальные услуги, так и при этом мы вынуждены жить в антисанитарийных условиях, когда температура воздуха в квартирах достигает 30 градусов жары. По нормативам СанПиН 2.1.2.2645-10 максимальная температура в жилых комнатах не должна превышать 24 градуса:


image


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

Читать дальше →
Total votes 92: ↑85 and ↓7+78
Comments530

Нужно ли собирать NAS?

Reading time28 min
Views169K

image


Как в блогах, так и в журналах есть множество статей о том, как собрать NAS своими руками.
И с первого взгляда кажется, что при наличии прямых рук, свой NAS по всем пунктам бьёт покупное решение.
"Фигак, фигак и в продакшн", — и вот уже быстро, дёшево и качественно реализованное хранилище радует вас высокой производительностью и надёжностью.

Читать дальше →
Total votes 46: ↑39 and ↓7+32
Comments289

Установка OpenVPN в несколько кликов

Reading time6 min
Views56K

imageПривет, Geektimes!


Не так давно мне пришла в голову мысль, что подключение к Linux-серверу по SSH, установка пакетов, запуск скриптов — все это однотипная рутина, для которой не нужно участие человека, ее может сделать робот. Конечно, я пользуюсь Ansible, но он ведь тоже "не для всех".


В результате была написана программа "для всех" в которой просто есть одна кнопка "сделать хорошо". Программа с открытым исходным кодом и доступна для изучения и скачивания на GitHub.


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


Всего нужно выполнить 4 простых шага:


  1. Создать сервер (обычно достаточно просто нажать кнопку "Создать")
  2. Установить и запустить приложение SSHeller
  3. Нажать кнопку Install и дождаться завершения установки
  4. Скачать ovpn файл и подключиться к VPN с его помощью
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments61

Диабет, деменция и даже мигрени. Кетогенная диета оказывается эффективнее лекарств

Reading time15 min
Views40K
Чарли, сын американского кинопродюсера Джима Абрахамса, страдал тяжелой формой резистентной эпилепсии. Количество ежедневных припадков измерялось десятками и даже сотнями, и лекарства почти не помогали. Хуже того, если без лекарств Чарли мог между припадками побыть нормальным ребенком, то с ними он превращался в «зомби, живущего на кресле машины».

Чарли спасла диета, придуманная в 1920-х годах, но ушедшая в забытие после широкого распространения антиконвульсанта фенитоина в конце 30-х. Уже через два дня припадки, не дававшие ему жить и развиваться целый год, полностью прекратились. Почти мгновенно Чарли превратился в обычного ребенка. Приступы больше не возвращались — даже после прекращения диеты через 5 лет.

Это было в начале 1990-х. С тех пор его отец основал фонд, снял фильм, и даже Малышева рассказала об этом по первому каналу. Но эпилепсию, как и другие болезни, почти всегда начинают лечить с медикаментов.
Читать дальше →
Total votes 42: ↑37 and ↓5+32
Comments69

Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

Reading time11 min
Views139K

Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».


Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.


После того, как в комментариях к одной из статей на Хабре я сказал, что готов помочь пострадавшим с настройкой схемы обхода, ко мне обратились несколько человек с просьбой о такой помощи. Когда у них всё заработало, один из них порекомендовал описать методику в статье. Поразмыслив, решил нарушить свое молчание на сайте и попробовать в кои-то веки написать что-то промежуточное между проектом и постом в Facebook, т.е. хабрапост. Результат — перед вами.

Читать дальше →
Total votes 124: ↑120 and ↓4+116
Comments303

Гибридное хранилище для дома «из коробки» и возможности High Availability от Synology

Reading time9 min
Views75K
Несколько лет назад, при выборе первого хранилища для дома, я смотрел в сторону «коробочных решений» по причине не особой осведомлённости в построении системы хранения на базе открытого ПО и обычного ПК. В тот раз выбор пал на 2-дисковую NAS — Shuttle KD20. Хранилище было компактным и тихим. RAID1 обеспечивал необходимую надёжность, а потребности в высокой производительности и расширенном функционале на тот момент не было. Этот NAS проработал почти 4 года, пока в один прекрасный момент не накрылась линия питания вентилятора. Диски раскалились до 60 градусов и чудом выжили. Я запаял вентилятор напрямую к материнке, но стал подбирать вариант на замену. В качестве второй NAS я выбрал 4-дисковую Synology. Задачи оставались те же, поэтому в функционал DiskStation Manager (DSM) я особо не вникал. Это продолжалось до тех пор, пока я не решил установить домашнее видеонаблюдение на несколько каналов. Не смотря на то, что Synology имеет собственный сервис видеонаблюдения, я остановился на Macroscop — была потребность в расширенном функционале и серьёзной аналитике. На своё счастье, я обнаружил в DSM новый пакет Virtual Machine Manager — гипервизор, с помощью которого я создал виртуальную машину и установил на неё Windows и Macroscop. На запись система работала нормально, встроенный Pentium 1,6 ГГц с трудом, но успевал отрабатывать задачи СХД и виртуальной машины. Но как только активировалась какая-либо аналитика — сервис отваливался по перегрузке процессора. В результате, я был вынужден начать поиски отдельного бюджетного Windows-девайcа с адекватной производительностью для реализации сервера видеонаблюдения, так как Synology необходимого уровня стоит недёшево. В тот самый момент я в очередной раз наткнулся в сети на статьи, посвящённые установке DSM на обычное железо и мой проект XPenology начался…
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments16
1
23 ...

Information

Rating
3,917-th
Location
Atacama, Atacama, Чили
Date of birth
Registered
Activity