Обновить
19
0.2
Максим@SabMakc

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

Отправить сообщение

Проксируем OpenVPN с помощью Cloak

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели123K

Cloak — это подключаемый транспорт, который расширяет возможности традиционных прокси-инструментов, таких как OpenVPN, Shadowsocks и Tor для обхода сложной цензуры и дискриминации данных.

Руководство будет включать:

1. Предисловие

2. Описание работы Cloak

3. Настройку сервера Cloak

4. Настройку клиента Cloak на OpenWRT

5. Настройку клиента OpenVPN

Читать далее

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

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели16K

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

Читать далее

Блокировка Trello и Jira? Ничего страшного, поднимаем свой сервер

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели40K

Redmine и Plane — опенсорсные альтернативы Jira на своём хостинге

Компания Atlassian в рассылке для пользователей предупредила, что все аккаунты в России и Беларуси будут принудительно отключены. Клиентам дают 30 дней на перенос своих данных.

Из опыта прошлых блокировок других сервисов, самый надёжный вариант в таком случае — поднять собственный сервер с аналогичной системой (но опенсорсной и бесплатной), чтобы ни от кого не зависеть.
Читать дальше →

День толстой полярной лисички: как построены наши кризисные группы

Время на прочтение10 мин
Охват и читатели13K

Это пиесец, да

Привет! Как-то так получилось, что я сначала торговал настолками и разбирал зверей, а последние три года занимаюсь кризисным реагированием. По привычке. Среди прочего.

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

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

Итак, в ту субботу примерно в 3 часа ночи наши безопасники (которые не ИБ, а более прикладные) вежливо порекомендовали обратить внимание на ситуацию. Около 5:40 утра глава Липецкой области порекомендовал не ездить в Воронеж, а губернатор Ростовской области — не ездить в Ростов. Информационный поток — это на мне, поэтому я решил, что это не локальная ситуация, нажал на большую красную кнопку и запустил полноценный процесс обработки кризиса.
Читать дальше →

Network protocols posters как отдельный вид искусства

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9K

Всем привет. Сегодня у нас замечательный праздник — день системного администратора. А значит, самое время немного облагородить основную среду нашего обитания. Нет, ёлку выкидывать не будем, Новый год не за горами. Также оставим прежними обои, их всё равно за окошками терминалов не видно. Предлагаю украсить стены рабочих кабинетов настоящими сисадминскими плакатами.
Читать дальше →

Я бы пересмотрел вообще всё

Время на прочтение4 мин
Охват и читатели78K

В программировании нет вообще никаких непреложных истин. Даже самые очевидные правила могут иметь контекст, в которых их применять нельзя. К сожалению в 99% организаций есть прям заповеди, обязательные к исполнению. И есть правила, которые считаются правилами хорошего тона (как не сморкаться в занавеску). Однако всегда бывают ситуации, когда лучше все-таки сморкаться.


Вот примеры.


1) Например, DRY — don’t repeat yourself. Хорошее полезное правило, но его можно довести до маразма. Из того что я встречал на практике: есть два разных по бизнес-смыслу раздела, которые начинались с простого CRUD, и многие части (и фронта и бека) выглядели во многом абсолютно одинаково. Если их объединить с помощью общей высосанной из пальца абстракции и тем самым избавиться от небольшого дублирования кода, то потом (очень скоро) можно будет сойти с ума, потому что эти две вещи скоро разъедутся, обрастая кастомными фичами, и абстракция будет только вредить. Нельзя абстрагировать неабстрагуемое, даже если DRY нарушен.


«[Немного] дублирования обходится гораздо дешевле, чем неправильная абстракция» — Сэнди Мец

Т.е. DRY — хороший принцип, но бывают исключения.

Читать дальше →

KeyDB и Redis: в поисках серебряной пули — in-memory replicated DB (Replicated IMDB)

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели21K

На кластерах клиентов, которые мы обслуживаем, есть как «одноголовые» инсталляции Redis (обычно для кэшей, которые не страшно потерять), так и более отказоустойчивые решения — Redis Sentinel или Redis Cluster. По нашему опыту, во всех трех вариантах можно безболезненно переключиться с Redis на KeyDB и получить прирост производительности. Точнее, избавиться от бутылочного горлышка Redis в одно ядро. Хотя в новых версиях Redis(r) появилась обработка I/O в отдельных тредах, иногда этого бывает недостаточно.

В то же время, если мы хотим использовать отказоустойчивые решениями вроде Sentinel и Cluster, нам понадобится поддержка этих технологий на уровне библиотеки, которую приложение использует для подключения в Redis. Причем лишь немногие библиотеки умеют читать из реплик Redis — в обоих вариантах (Sentinel и Cluster) чтение, как правило, происходит с мастеров. И запись, естественно, тоже происходит в мастеры. 

В итоге у нас есть несколько реплик довольно дорогого in-memory-хранилища, а в рабочем процессе используется только часть из них. Остальные — на подхвате. Хотя в большинстве кейсов операции с in-memory NoSQL DB — это именно операции чтения.

Однако если посмотреть в сторону KeyDB, то можно увидеть, что там есть киллер-фича — и даже две: я говорю о режимах Active Replica и Multi-Master. Использование этих режимов позволяет получить распределенный отказоустойчивый KeyDB, совместимый с Redis, писать в любую ноду, читать из любой ноды. И все это с точки зрения приложения выглядит как один экземпляр Redis без всяких Sentinel — то есть в коде приложения ничего менять не придется. 

Звучит как фантастика?

Читать далее

Как на самом деле работает Java ClassLoader system? (с картинками) — Часть 1/3, Загрузка

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели47K

Так ли на самом деле работает процесс загрузки классов, как его описывает Wikipedia и Baeldung? ClassNotFoundException — это откуда и чье? Какие виды загрузчиков классов актуальны в Java 20?

Объясняем подпроцесс загрузки, из системы Java ClassLoader, на приятных Excalidraw диаграммах, со ссылками на оригинальные источники.

Читать далее

9 аналогов известных сервисов (Google Analytics, Slack, GitHub, ChatGPT) с открытым исходным кодом

Время на прочтение3 мин
Охват и читатели13K

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

Читать далее

Монолит или микросервисы — это не вопрос технологических предпочтений, это про time-to-market

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели14K

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


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


Поехали.


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


Одна команда


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

Читать дальше →

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели273K

Привет, Хабр!

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

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

Читать далее

Scrum не нужен. Нужно лишь правильно использовать Kanban

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели9.5K

Почему вы выбрали фреймворк Scrum, а не метод управления проектами Kanban? Не можете ответить? Значит — лично вы Scrum и не выбирали. Кто-то сделал это за вас.

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

Читать далее

Создаем самоорганизующуюся команду: пошаговый алгоритм

Время на прочтение10 мин
Охват и читатели22K

Меня зовут Андрей Булов. Я простой питерский технарь, архитектор, разработчик, DevOps технический менеджер. Сейчас работаю в Quantori.

Я не буду описывать самоорганизующиеся команды, а расскажу про алгоритм их создания. Это мой личный опыт — я так работаю с командами (их было 30+). Он перекликается с Management 3.0, моделью Херши-Бланшар, LeSS, Sсrum и даже SAFe, а также со многими другими софтовыми областями. И в нем есть конкретика на уровне действий.

Для ленивых: я исследую окружение, проектирую дизайн культуры, объясняю правила и делегирую задачи команде. Я не поддерживаю внедрение самоорганизации через фреймворк. Видео моего выступления об этом на конференции TeamLead Conf 2021 можно посмотреть здесь.

Читать далее

Code Review. 80 lvl

Время на прочтение4 мин
Охват и читатели22K

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

Основными критериями качественного кода являются следующие: простота восприятия, гибкость для модификаций, возможность обновления, понятность, тестируемость. Однако зачастую работа над проектом ведется в спешке, под давлением и код пишется людьми с разным уровнем квалификации (с разным мышлением). И даже опытные разработчики не всегда пишут код самого высокого качества. Поэтому для повышения качества кода проводится процедура code review.

Читать далее

В поисках альтернативы Jira

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели73K

Наша команда как и многие другие работала с облачными продуктами Atlassian: Jira и Confluence. Осенью прошлого года, Atlassian отправила нам письмо счастья.

Читать далее

[Личный опыт] Главное о вопросах на собеседовании: каких ждать от HR и какие задать самому

Время на прочтение6 мин
Охват и читатели23K

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

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

Читать далее

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

Время на прочтение5 мин
Охват и читатели7K
Для основателей-одиночек не любой бизнес будет хорошим выбором. Среди них есть и такие, которые одному поднять практически невозможно. Как же найти тот бизнес, который без труда можно вести в одиночку или силами небольшой команды?

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

К сожалению, сам я осваивал эту науку с трудом и потратил на нее около десяти лет. И сейчас постоянно вижу, как люди повторяют мои ошибки – в основном из-за естественного побуждения копировать то, что делают крупные компании.
Читать дальше →

Как заставить программистов пахать? 5 неочевидных советов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели80K

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

Меня зовут Слава. Я создал и развалил сеть ночных клубов, прошел 300 собеседований на маркетолога, проработал как подрядчик и сотрудник в более 50 компаниях. Сейчас занимаюсь системным маркетингом.

Там, где я работал, были разные системы управления, но всегда работал один и тот же принцип.

Читать далее

Бизнес хочет свой блог. Стоит ли начинать? Наша прощальная статья на Хабр

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели16K

Мы в Quadcode мечтали сюда попасть целых 8 лет, но все не находилось времени, а 3 года назад компания наняла бренд-менеджера (меня), чтобы сдвинуть желание иметь свой блог с мертвой точки. Так мы и начали свою блогерскую карьеру на Хабре на русском языке. Это наша финальная статья, где мы не только подводим итоги нашего Хабр-путешествия, но и рассказываем про то, как начать вести собственный корпоративный блог и что вас ждет на этом пути. В статье будет много рефлексии, поэтому, если ваше настроение располагает, – добро пожаловать под кат! 

Читать далее

Хотите практиковать навыки руководителя? Попробуйте роль Dungeon Master

Время на прочтение5 мин
Охват и читатели6.3K
Вы никогда не узнаете всего о руководстве, и это нормально!


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

Чтобы прощупать почву, мы начали с ваншота (one-shot) — законченного приключения, прохождение которого занимает 3-4 часа. Я играл роль владыки подземелья (Dungeon Master), задача которого заключается в организации приключения (скорее всего, теперь я навечно останусь DM).

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

В конце концов, я управлял целым игровым миром, находящимся в нём NPC (персонажами), позволив трём непредсказуемым приключенцам отрываться по-полной, ограничивая их правилами и развивая некое подобие истории. Всё это позволяло практиковать навыки менеджера и директора, что в мире бизнеса даётся потом и кровью.
Читать дальше →

Информация

В рейтинге
2 899-й
Откуда
Россия
Зарегистрирован
Активность