Как стать автором
Поиск
Написать публикацию
Обновить
77
0
Марат Юлдашев @mcconfig

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

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

Приложение от проекта до релиза: этапы реализации

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров9.9K

С чего начинать писать новое приложение? Когда приложение должно заработать? Когда оно должно быть покрыто тестами? Зачем использовать интерфейсы? Что важнее - бизнес-сущность или табличка в базе данных?

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

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

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

В статье ниже мы разберём основные этапы разработки приложения, их детали и особенности.

Перейти к сути

Рабочий пример использования ArgoCD

Время на прочтение5 мин
Количество просмотров18K

В Сети довольно мало хороших рабочих примеров, на которые можно опираться и строить собственные решения. Данная статья основана на статье из блоги компании Nortal, и предназначена для небольших проектов и команд, т.к основной акцент сделан на Application.

Читать далее

10 инструментов ИИ с бесплатным тестовым доступом, которые пригодятся в работе

Время на прочтение3 мин
Количество просмотров24K

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

Всем привет! Меня зовут Маруся, я аналитик данных, веду блог в телеграме Аналитика и growth mind-set.

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

Первую часть с инструментами можно почитать тут.

Читать далее

Запускаем собственный VPN сервер с биллингом

Время на прочтение5 мин
Количество просмотров44K

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

Читать далее

Личный сервер shadowsocks за 10 минут без затрат (часть 3)

Время на прочтение3 мин
Количество просмотров200K

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

В этот раз всё будет намного проще: регистрация, импорт, запуск. Три шага.

Читать далее

Прошивка 3DS

Время на прочтение8 мин
Количество просмотров40K

Сразу отмечу, что автор статьи не несет ответственности за работоспособность Ваших девайсов! Помните: все, что Вы делаете - Вы делаете на свой страх и риск!

Мне удалось заполучить 3DS в 2022 году, ко мне в руки она попала уже взломанная, но мне было интересно как же можно обновить прошивку и как это работает. В этот момент я начал смотреть видео гайды на ютубе и везде была одна и та же проблема, за основу брался некий архив, в котором уже было что-то установлено. Автор предлагает скачать архив, закинуть все содержимое в корень флеш карты и забыть об этом. Меня этот подход не очень устроил, поэтому я решил попытался разобраться что же находится в этом загадочном архиве, а за одно расписать по пунктам как же делается прошивка.

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

Читать далее

Принудительный захват ролей умершего мастера операций

Время на прочтение3 мин
Количество просмотров73K
Не секрет, что в AD есть операции которые возлагаются лишь на один домен-контроллер в лесу, именуемый мастером операции. Например в AD только один контроллер назначается первичным хранителем схемы каталога.

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

Самонадеянный NAS

Время на прочтение3 мин
Количество просмотров29K
Быстро сказка сказывалась, да долго дело делалось.

Более полутора лет назад, захотелось собрать собственный NAS, а началом, для сбора NASа, послужило наведение порядка в серверной комнате. При разборе кабелей, корпусов, а также, переселении лампового 24 дюймового монитора от HP на свалку и прочего, прочего, был найден кулер от Noctua. Из которого, путём неимоверных усилий, изъял два вентилятора – 120 и 140 мм. 120 мм вентилятор почти сразу же, уехал в домашний сервер, так как, тихий и мощный. А вот, что делать со 140 мм вентилятором, мыслей пока не было. Поэтому, отправился он прямиком на полку – в запас.
Читать дальше →

Автоматизация для самых маленьких. Часть нулевая. Планирование

Время на прочтение14 мин
Количество просмотров57K
СДСМ закончился, а бесконтрольное желание писать — осталось.



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

Этой статьёй я начну серию о том, как мне видится автоматизация.
По ходу дела разберёмся с этапами автоматизации, хранением переменных, формализацией дизайна, с RestAPI, NETCONF, YANG, YDK и будем очень много программировать.
Мне означает, что а) это не объективная истина, б) не безоговорочно лучший подход в) мой взгляд даже в ходе движения от первой к последней статье может поменяться — честно говоря, от стадии черновика до публикации я переписывал всё полностью дважды.

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

Фотограмма без фотобумаги

Время на прочтение3 мин
Количество просмотров9.5K


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

Живут ли базы данных в Kubernetes?

Время на прочтение7 мин
Количество просмотров21K


Как-то так исторически сложилось, что IT-индустрия по любому поводу разбивается на два условных лагеря: которые «за» и которые «против». Причем предмет споров может быть абсолютно произвольным. Какая ОС лучше: Win или Linux? На смартфоне Android или iOS? Хранить все в облаках или заливать на холодные RAID-хранилища и класть винты в сейф? Имеют ли PHP-шники право называться программистами? Эти споры носят, временами, исключительно экзистенциальный характер и не имеют под собой никакой прочей, кроме спортивного интереса, базы.

Так уж получилось, что с появлением контейнеров и всей этой любимой нами кухни с докером и условным k8s начались и споры «за» и «против» использования новых возможностей в различных сферах бэкэнда. (Заранее оговоримся, что хотя чаще всего в данном рассуждении в качестве оркестратора будет указываться Kubernetes, принципиального значения выбор именно этого инструмента не имеет. Вместо него можно подставить любой другой, какой вам кажется наиболее удобным и привычным.)

И, казалось бы, был бы это простой спор о двух сторонах одной медали. Такой же бессмысленный и беспощадный, как извечное противостояние Win vs Linux, в котором адекватные люди вполне себе существуют где-то посередине. Вот только в случае контейнеризации не все так просто. Обычно в таких спорах не бывает правой стороны, но в случае «применять» или «не применять» контейнеры для хранения БД все становится с ног на голову. Потому что в определённом смысле правы и сторонники и противники подобного подхода.
Читать дальше →

Локальный (offline) npm репозиторий

Время на прочтение3 мин
Количество просмотров20K


Предыстория


Решив продаться задорого, я оказался у работодателя, где интернета нет не только в пром-контуре, но и в деве (ситуация на самом деле нередкая во многих, так сказать, "энтерпрайзах"). Есть IE в консоли, где ты, мой дорогой читатель, можешь конечно посмотреть на Хабр или stackoverflow, но не более. В целом, повторюсь, ситуация не исключительная, с ней можно жить — вот он, мой личный ноут, на котором я это пишу, стоит на столе… wifi ли, поднимаемый многими сотрудниками, сотовый ли как модем, в целом, если это не оборонка/всякие службы из трех букв (тут я советую идти официальными-дорогими путями, о чем будет пара слов ниже) и нет службы радиоконтроля, то вы вольны со своим личным ноутом делать все что угодно (в рамках допустимого :) ), ну по-крайней мере, так это выглядит у нас. Возможность перетащить файлики в dev-среду худо-бедно есть, но мне очень не понравилось решение держать node_modules в кодовой базе и я засучил рукава (рукава я засучивал много раз и по поводу переезда с TFS на git, и по поводу локального nuget-репо, но это отдельные истории, тоже не лишенные драматизьму, но о них как-нибудь в следующий раз). Есть несколько довольно дорогих решений вопроса, вполне возможно, что я смог бы протолкнуть даже какой-нибудь Artifactory, но когда я представил сколько этой займет сил и самое главное, как долго это будет решаться, согласовываться и внедряться, было решено поступить дешево и сердито.


Дисклеймер: поскольку у меня была windows-среда, то и описываю я детально именно работу в виндовой консоли, однако по сути отличия будут только в конце, когда вы захотите окончательный результат поднять в виде сервиса/демона.


Не томи, задушевенник, как?

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

Как защитить своего ребенка от мусора на YouTube и сделать кастомный плеер с белым списком каналов

Время на прочтение9 мин
Количество просмотров123K

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



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


К сожалению, я очень быстро уяснил, что детский ютуб — это просто АДОВЫЙ ТРЕШ. Про это даже на Хабре уже был перевод статьи. Детские каналы — это какие-то бездонные клоаки, наполненные вырвиглазными видео типа "разворачиваем сто киндер-сюрпризов", "дурацкие стишки с убогой 3д графикой под крикливую музыку" и "гоняем машинки в Beam NG под дурацкие комментарии". По какой-то причине все это является очень привлекательным для маленьких детей, которые бросаются кликать на такие видео как только увидят их в рекомендованных. А YouTube не позволяет управлять рекомендациями. Даже дав своему сыну планшет с включенными "нормальными" мультиками, я уже через пару минут наблюдаю, как он за два клика по рекомендациям опять находит эти чертовы шоколадные яйца и снова начинает в них залипать.


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

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

Регистратор на Bash для камер с rtsp

Время на прочтение3 мин
Количество просмотров14K
Всем привет!

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

Но денег не особо много, чтобы покупать какие-то специализированные решения, поэтому решено было поскрести по завалам хлама в серверной и с разрешения руководства утащить домой IP-камеру Xblitz iSee P2P IP WiFi.

image

Камера Xblitz iSee P2P IP WiFi
Читать дальше →

Asterisk. На этот раз в качестве системы трансляции фоновой музыки с возможностью экстренного оповещения

Время на прочтение4 мин
Количество просмотров13K
image

Добрый день, уважаемые жители хаба Asterisk.

Не знаю, как вам, а мне в последнее время безумно интересно применение Asterisk не в качестве стандартной АТС.

В предыдущем посте Asterisk исполнял обязанности охранника на парковке. На этот раз Asterisk в моей конфигурации проигрывал фоновую музыку в торговом павильоне и в случае возникновения экстренной ситуации (или при необходимости сделать какое-то объявление) выступал в роли системы оповещения.

Подробности под катом.

PPTP vs L2TP vs OpenVPN vs SSTP

Время на прочтение6 мин
Количество просмотров462K
Недавно я искал информацию об отличиях существующих VPN-технологий и наткнулся на эту статью. Здесь вкратце описаны преимущества и недостатки основных VPN, очень легко и доступно. Предлагаю сообществу перевод статьи.

VPN-провайдеры обычно предлагают на выбор несколько типов подключения, иногда как часть различных тарифных планов, а иногда в составе единого тарифного плана. Цель этой статьи – провести обзор доступных вариантов VPN и помочь понять основы используемых технологий.

Заметка про длину ключа шифрования


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

Сейчас почти невозможно найти VPN-шифрование с использованием ключа длиной менее 128 бит и все сложнее найти 256-битное шифрование в предлагаемых OpenVPN-решениях, ключи которых бывают даже 2048 бит. Но что означают эти цифры на практике, 256-битное шифрование действительно более безопасное, чем 128-битное?
Читать дальше →

Отстрел чужих DHCP-серверов на коммутаторе MikroTik CRS

Время на прочтение4 мин
Количество просмотров54K
О проблеме отсутствия функции полноценного DHCP-snooping в устройствах MikroTik уже было сказано и написано слишком много. И везде для отлова злодейских DHCP предлагают нагружать CPU. Я же расскажу, как убить чужой DHCP-сервер с помощью свитч-чипа интегрированного в коммутаторы MikroTik CRS.
Читать дальше →

Лёгкая настройка Asterisk + Fail2Ban

Время на прочтение1 мин
Количество просмотров40K
В сентябре 2013 я опубликовал крайне популярную статью с таким-же названием. Однако с тех пор всё радикально поменялось со стороны fail2ban — добавлена поддержка asterisk «из коробки», а также с версии 0.9 радикально изменился формат конфигурационных файлов. Поэтому я публикую новую статью на эту тему, так как действия по настройке теперь тоже радикально иные.

До момента появления лога security в Asterisk 10-й версии fail2ban не мог корректно защищать asterisk от популярного вида атак — подбора sip пароля к экстеншенам, т.к. в обычных логах asterisk ip-адрес атакующего не отображался.
С появлением лога security эта проблема решена.

Если у вас Asterisk 10 и новее, его успешно можно использовать на пару с fail2ban. Настройка довольно простая.

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

Минута теории: Разбираемся с RESTful-приложениями

Время на прочтение2 мин
Количество просмотров27K
Мы достаточно регулярно рассказываем как о собственных разработках, так и экспертном опыте, связанном с веб-технологиями. Недавно мы рассматривали кейс с масштабированием веб-приложения на Ruby и говорили о том, как можно ускорить загрузку веб-страниц.

Сегодня мы решили разобраться с терминологией и рассмотреть термин, который всем хорошо знаком. Речь идет о RESTful-приложениях. В этом нам помог материал Лорен Лонг (Lauren Long), которая работает в компании Recurse Center.


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

Asterisk: ngrep, sipgrep, sngrep, protocol diagram

Время на прочтение2 мин
Количество просмотров27K
Это небольшая заметка о паре утилит, которые использую время от времени для работы с астериском (для отладки телефонии и просмотра SIP пакетов). Многие коллеги не знают о более простых утилитах, которые могли бы сэкономить минутку-другую рабочего времени.

Далее речь пойдет о ngrep, sipgrep, sngrep, js-sequence-diagrams
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Системный администратор, DevOps-инженер
Старший
От 450 000 ₽