Pull to refresh
41
0
sergeyfast @sergeyfast

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

Send message

Golang RPC и все-все-все…

Reading time6 min
Views8.7K

Disclaimer: this is not another one gRPC hate article... Oh, wait...

Начнем издалека - знаете, всегда было интересно, а почему, собственно, для golang существует такое большое разнообразие библиотек, для каких-то часто используемых сущностей, как-то - роутеры http (fasthttprouter забыли, как подсказали в коментах) или cache?

С выбором RPC вроде все просто, gRPC - наше всё (вы, кстати, в курсе, что g здесь - это не Google внезапно). Но не тут-то было...

Все просто без ума от Мэри gRPC (нет).

Читать далее
Total votes 18: ↑16 and ↓2+14
Comments3

Зачем работадатели требуют наличие ВО и почему это оправданно

Reading time3 min
Views116K

Наткнулся на днях на данный пост, который срывает покровы и всячески критикует высшее образование (на постсоветском пространстве), и решил описать ситуацию со своей колокольни, как начальник IT-отдела.

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

И при виде вакансии по типу этой народ недоумевает и начинает задавать вопросы, мол, неужели для ответа на звонки, заказа билетов и протирки принтеров требуется высшее образование? Зачем?

Читать далее
Total votes 305: ↑196 and ↓109+87
Comments573

Что такое техрадар и почему он сбережёт ваши нервы

Reading time8 min
Views17K

Техрадар обычно бывает двух видов: или труп, или сделан неправильно. Я Олег Федоткин, Head of PaaS СберМаркета. Хочу рассказать, почему это так и как заставить техрадар работать.

Это текстовая версия моего выступления на Podlodka TechLead Crew. Если вам больше нравится смотреть видео, то оно здесь.

Читать далее
Total votes 21: ↑16 and ↓5+11
Comments10

Как упавший продакшен делает нас лучше

Reading time8 min
Views5.5K
Неважно, сколько раз ты упал. Важно — сколько раз ты поднялся.
© Мой домашний сервер

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

image
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments4

Linux & Desktop — как жить и выжить

Reading time11 min
Views50K

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

Читать далее
Total votes 57: ↑56 and ↓1+55
Comments311

Часто забываемые правила безопасности Docker: заметки энтузиаста ИБ

Reading time7 min
Views14K

Последние пару лет я помогаю клиентам нашего облака внедрять DevOps-практики и делюсь своим опытом инженера DevOps. К сожалению, вопросы про информационную безопасность возникают у клиентов зачастую тогда, когда уже что-то произошло. У меня как у любителя киберзащиты постепенно накопилась целая подборка ИБ-кейсов, которыми хочется поделиться. 

В статье собрал правила безопасности контейнеров, о которых часто забывают, но потом снова вспоминают на поучительных примерах.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments3

Тинькофф, Я вас люблю и ненавижу…

Reading time15 min
Views58K

В 21 веке, кто-то боится экосистем, кто-то их ненавидит, кто-то боготворит. Каждому предстоит самому делать выбор готов ли он жертвовать безопасностью ради удобства, складывая все яйца в одну корзину. Я пользуюсь Тинькофф уже несколько лет. Начал со счёта для ИП, как андроид разработчик, попробовал многие сервисы для физических лиц... И хотел бы рассказать о том, как банк сам не даёт себя любить. Ну серьёзно, в доме 31 градус - работать просто невозможно, почему бы не осчастливить Хабр очередным личным опытом?

Читать без соблюдения банковской тайны
Total votes 110: ↑101 and ↓9+92
Comments175

Карманная книга по TypeScript. Часть 8. Модули

Reading time6 min
Views15K

image


Мы продолжаем серию публикаций адаптированного и дополненного перевода "Карманной книги по TypeScript".

Другие части:



Обратите внимание: для большого удобства в изучении книга была оформлена в виде прогрессивного веб-приложения.


Определение модуля


В TS, как и в ECMAScript2015, любой файл, содержащий import или export верхнего уровня (глобальный), считается модулем.


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


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

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

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

Reading time9 min
Views64K

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

Total votes 205: ↑205 and ↓0+205
Comments229

Как root-права и альтернативные прошивки делают ваш android смартфон уязвимым

Reading time54 min
Views124K

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

Часто для этого рекомендуется получение прав суперпользователя в системе (root-права), удаление системных приложений от Google и от производителя устройства, или даже полная замена стандартной ОС на альтернативные сборки, чаще всего LineageOS (бывший CyanogenMod). При этом первым шагом в этом процессе всегда будет так называемая "разблокировка загрузчика". Во время её выполнения устройство несколько раз покажет нам страшные предупреждения о том, что теперь оно станет более уязвимо для злоумышленников, но мы смело нажимаем "подтвердить" и шьём root или самую свежую сборку кастомной прошивки, не задумываясь о том какие проблемы создаёт нам незаблокированный загрузчик. 

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

Интересующихся приглашаю под кат.

Читать далее
Total votes 127: ↑123 and ↓4+119
Comments210

SQL миграции в Postgres. Часть 1

Level of difficultyMedium
Reading time15 min
Views30K

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

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

На эти и другие вопросы, возникающие при проведении миграций схемы и данных в PostgreSQL, постараемся дать ответы в виде практических советов.
Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments17

Лучшее в мире видео-объяснение нейронных сетей, глубокого обучения, градиентного спуска и обратного распространения

Reading time1 min
Views56K
image

Видео от 3Blue1Brown отличаются поразительной понятностью и лаконичностью. Делать конспект видеоуроков по нейронным сетям у меня не получилось, ибо это была бы просто раскадровка, да и особая магия динамики именно видео непросто передать.

Из комментариев к прошлым публикациям мне стало понятно, что есть большое количество людей, кто не знает про канал, поэтому хочу поделиться четырьмя видео (+ русские субтитры и дубляж) и сэкономить время школьникам, родителям и учителям, чтобы они могли иметь быстрый доступ к самому интересному и качественному объяснению одной из самых важных тем современности.
Total votes 65: ↑61 and ↓4+57
Comments24

Четыре простые настройки терминала Kubernetes, которые повысят вашу продуктивность

Reading time4 min
Views10K

Я управлял эксплуатацией больших Kubernetes-кластеров более трёх лет, и хочу поделиться своим минималистичным подходом к настройке терминала kubectl terminal, которая доказала свою высокую эффективность в повседневной работе. Хорошо настроенный терминал с командной строкой может значительно повысить вашу продуктивность. Это как хлеб и масло — волшебное сочетание.

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

Вот четыре мои простых дополнения к терминалу kubectl. С этой конфигурацией я каждый день управляю 20 большими Kubernetes-кластерами на 400 машин.
Читать дальше →
Total votes 57: ↑57 and ↓0+57
Comments7

Как устроена графика в Linux: обзор различных сред оформления рабочего стола

Reading time13 min
Views105K
Эта статья о том, как устроена графика в Linux и из каких компонентов она состоит. В ней много скриншотов с различными реализациями сред рабочих столов. 

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

Тема может заинтересовать и продвинутых пользователей при настройке удаленного доступа и при реализации тонкого клиента. Часто встречаю вполне матерых линуксойдов с утверждениями «на сервере только командная строка, и графику подробнее изучать не планирую, так как это всё нужно для простых пользователей». Но даже знатоки Linux с большим удивлением и радостью открывают для себя опцию «-X» у команды ssh (а для этого полезно понимать работу и функции X-сервера).

Источник
Читать дальше →
Total votes 141: ↑141 and ↓0+141
Comments162

Гайд по Flight Simulator от пилотов: учимся управлять самолетом

Reading time9 min
Views61K

Всем привет! В связи с выходом нового Microsoft Flight Simulator я и мои друзья решили написать для вас гайд по полетам в симуляторе.



Учиться мы будем на Cessna 152 – одном из самых востребованных самолетов. Он прост в управлении, прощает многие ошибки и весьма популярен в летных школах – сам автор учился летать именно на нем. Что немаловажно, встроенное в Microsoft Flight Simulator обучение также использует этот самолет.


Мы не будем грузиться теорией (поначалу), а перейдем сразу к практике. Статьи будут дополнять встроенные в MFS уроки.

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

Проект «часов Уизли» с демонстрацией местоположения членов семьи

Reading time6 min
Views28K


Я хотел удивить жену на Рождество. Она – рыжая, фанат «Гарри Поттера», а ещё и мать; всё это вдохновило меня на создание «часов Уизли». Идею я придумал в феврале, поэтому у меня было 10 месяцев на разработку и создание проекта.

Для людей, незнакомых с Гарри Поттером и семейством Уизли, поясню, что у семьи магов Уизли есть волшебные часы, которые показывают не время, а местоположение членов семьи, для каждого из которых есть своя стрелка. Вот отрывок из книги «Гарри Поттер и Кубок огня» (Дж. Роулинг, 2000):
Миссис Уизли взглянула на напольные часы, стоявшие в углу. Гарри они понравились. Если вы хотели узнать, который час, они бы вам совсем не пригодились – однако оказывались весьма полезными для кое-чего другого. У них было девять золотых стрелок, на каждой из которых было выгравировано имя одного из членов семейства Уизли. На циферблате были не цифры, а описания мест, где мог находиться каждый из членов семьи. Там были «дом», «школа», «работа», а также «в пути», «потерялся», «больница», «тюрьма»; в том месте, где у обычных часов должна была быть цифра «12», значилось «смертельная угроза». Восемь стрелок указывали на «дом», а стрелка мистера Уизли, самая длинная, всё ещё показывала на «работу».

«О, а вот и ваш отец едет!» – внезапно сказала она, вновь посмотрев на часы. Стрелка мистера Уизли вдруг начала крутиться, переходя от «работы» к «в пути», а через секунду вздрогнула и остановилась на отметке «дом» вместе со всеми остальными, и все услышали, как он зовёт их с кухни.
Читать дальше →
Total votes 127: ↑125 and ↓2+123
Comments32

Kubernetes tips & tricks: удобные заготовки для kubectl

Reading time5 min
Views15K
Внутри компании мы активно делимся между собой полученными знаниями: не только в виде формальных wiki-инструкций, но и сообщениями в Slack (а чтобы ничего не терялось, предусмотрена умная система поиска, но это уже отдельная история…). У нас накопилось уже большое количество разнообразных заготовок для консольных операций в Kubernetes с kubectl. Про них и пойдет речь в этой статье.



Какие-то команды могут оказаться повседневной обыденностью для некоторых читателей, но если найдутся и те, кто откроет для себя новое, улучшив тем самым свою эффективность, — цель статьи будет достигнута.
Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments5

Выбираем канал для точки доступа Wi-Fi. Исчерпывающее руководство

Reading time9 min
Views289K
2,4 ГГц — это плохо. 5 ГГц — это хорошо. 6 ГГц — это ещё лучше, но послезавтра. Все это знают, кого я тут учу, в самом деле. Всё это хорошо, только делать-то что, когда ты такой, как умный, открываешь какой-нибудь Wi-Fi Explorer, а там сатанизм и этажерки, как на скриншоте?



Шаг первый — поплакать. Шаг второй — нырнуть под кат. Вопрос простой, а ответ — нет.
Когда это нас останавливало?
Total votes 111: ↑110 and ↓1+109
Comments234

Ускоряем деплой на продакшен канарейками и самописным мониторингом

Reading time6 min
Views8.8K
Привет, меня зовут Лёша, я работаю в SEMrush в команде SRE, которая занимается обеспечением бесперебойной работы нашего сервиса. Эта история о том, как мы разогнали деплой в 6 раз и сократили затраты на мониторинг в 3 раза. И все это через приручение канареек и самописные инструменты.

Я расскажу, как мы улучшали релизный пайплайн с помощью канареечного деплоя. Так, за пару лет мы прошли путь от «надо бы попробовать» до самописного тулинга.

image

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

Рецепты для хворающих SQL-запросов

Reading time7 min
Views51K
Несколько месяцев назад мы анонсировали explain.tensor.ru — публичный сервис для разбора и визуализации планов запросов к PostgreSQL.

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



Прислушивайтесь к ним, и ваши запросы «станут гладкими и шелковистыми». :)

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

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



Давайте чуть подробнее рассмотрим эти кейсы — как они определяются и к каким рекомендациям приводят.
Total votes 23: ↑23 and ↓0+23
Comments28
1
23 ...

Information

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