Pull to refresh
77
0
Марат Юлдашев @mcconfig

User

Send message

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

Level of difficultyMedium
Reading time18 min
Views8K

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

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

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

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

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

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

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

Reading time5 min
Views15K

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

Читать далее

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

Reading time3 min
Views24K

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

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

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

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

Читать далее

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

Reading time5 min
Views39K

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

Читать далее

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

Reading time3 min
Views167K

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

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

Читать далее

Прошивка 3DS

Reading time8 min
Views34K

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

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

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

Читать далее

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

Reading time3 min
Views72K
Не секрет, что в AD есть операции которые возлагаются лишь на один домен-контроллер в лесу, именуемый мастером операции. Например в AD только один контроллер назначается первичным хранителем схемы каталога.

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

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

Reading time3 min
Views28K
Быстро сказка сказывалась, да долго дело делалось.

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

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

Reading time14 min
Views55K
СДСМ закончился, а бесконтрольное желание писать — осталось.



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

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

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

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

Reading time3 min
Views9.5K


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

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

Reading time7 min
Views20K


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

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

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

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

Reading time3 min
Views19K


Предыстория


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


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


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

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

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

Reading time9 min
Views123K

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



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


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


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

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

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

Reading time3 min
Views13K
Всем привет!

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

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

image

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

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

Reading time4 min
Views12K
image

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

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

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

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

PPTP vs L2TP vs OpenVPN vs SSTP

Reading time6 min
Views452K
Недавно я искал информацию об отличиях существующих VPN-технологий и наткнулся на эту статью. Здесь вкратце описаны преимущества и недостатки основных VPN, очень легко и доступно. Предлагаю сообществу перевод статьи.

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

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


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

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

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

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

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

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

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

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

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

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

Reading time2 min
Views27K
Мы достаточно регулярно рассказываем как о собственных разработках, так и экспертном опыте, связанном с веб-технологиями. Недавно мы рассматривали кейс с масштабированием веб-приложения на Ruby и говорили о том, как можно ускорить загрузку веб-страниц.

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


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

Asterisk: ngrep, sipgrep, sngrep, protocol diagram

Reading time2 min
Views26K
Это небольшая заметка о паре утилит, которые использую время от времени для работы с астериском (для отладки телефонии и просмотра SIP пакетов). Многие коллеги не знают о более простых утилитах, которые могли бы сэкономить минутку-другую рабочего времени.

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

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity

Specialization

System Administration, DevOps
Senior
From 450,000 ₽