Pull to refresh
6
0

Специалист по БД

Send message

Best Practices по подключению к сторонним API в проекте

Level of difficultyMedium
Reading time6 min
Views13K

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

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

Узнать лучшие практики
Total votes 27: ↑26 and ↓1+25
Comments6

Установка и настройка Samba с доменной авторизацией и аутентификацией (файловый сервер)

Level of difficultyEasy
Reading time4 min
Views9.3K

Статья чисто для того, чтобы молодые коллеги, которые столкнутся с подобной задачей, могли быстрее с ней справиться. Всю информацию по развёртыванию брал почти только из оф. документации Samba, ибо русскоязычные статьи скудны и неинформативны.

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

Новичкам и критикам, как говорится, welcome!

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments7

От xWiki к static-HTML. Как мы документацию на Material for MkDocs «переезжали»

Level of difficultyMedium
Reading time8 min
Views2K

До недавнего времени мы и для внутренней, и для внешней документации использовали xWiki. И если для внутренней документации ее применение оправдано, то для внешней xWiki не самое оптимальное решение: внешнюю документацию создают максимум два–три человека, регистрация дополнительных пользователей не нужна, на xWiki постоянно идут атаки спам-ботов, а изменение структуры документации, переименование, масс-правки, изменение оформления и некоторые другие вещи требуют или правок непосредственно в базе данных, или достаточно много телодвижений. Из плюсов — визуальный редактор, возможность импорта/экспорта статей в формате OpenDocument и гибкая настройка прав. Поэтому было решено для внешней клиентской документации переехать на новый движок, и выбор пал на Material for MkDocs.

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

Эволюция системы разработки на SQL

Level of difficultyEasy
Reading time9 min
Views5.2K

Мы — SQL команда Срочного рынка Московской Биржи, занимаемся разработкой и сопровождением бэкофиса торгово-клиринговой системы Spectra с момента ее возникновения. Срочный рынок Московской Биржи — это более 500 фьючерсных и 30000 опционных инструментов, несколько миллионов сделок в день.

Торгово-клиринговая система Срочного рынка (ТКС Spectra) изначально строилась на основе MS SQL, и за пару десятков лет прошла сложный путь от нескольких серверов БД до огромной системы с сервис-ориентированной архитектурой. Долгое время вся бизнес-логика системы разрабатывалась в программном слое на серверах MS SQL: и матчинг заявок, и расчет обеспечения, и управление клиентами были реализованы на T-SQL.

На сегодняшний день весь высоконагруженный функционал вынесен в отдельные сервисы, но в базах данных остаются сотни таблиц и тысячи программных объектов. Особенностью кода является высокая когнитивная и цикломатическая сложность. Управлять этим кодом с учетом всех требований по надежности и быстродействию – очень интересная задача.

В этой статье мы хотим рассказать об эволюции нашей системы разработки на SQL.

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

Самый простой способ обхода блокировок доступа к сайтам любых стран

Level of difficultyEasy
Reading time4 min
Views121K

Я понимаю, что пока, за использования VPN, аннонимайзеров и/или tor не применяют уголовные статьи, поэтому гораздо проще скачать какое нибудь приложение из магазина приложений и бесплатно воспользоваться им. Но где гарантия, что завтра они будут работать?

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

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

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

Интересно?

Читать далее
Total votes 107: ↑78 and ↓29+49
Comments412

Делаем домашний VPS для тестовых и пет проектов

Level of difficultyMedium
Reading time7 min
Views17K

Привет, Хабр! Меня зовут Васьен, я – .NET backend разработчик. До этого момента я несколько месяцев проходил увлекательней жизненный квест по поиску работы, выполняя одни и те же задания – расскажи рекрутеру кем ты себя видишь через 5 лет, реши тестовое, не получи ответ. И задумавшись о том, как же повысить вероятность попасть на тех собес после решения тестового и выделиться на фоне остальных кандидатов, я пришел к идеи развернуть на компьютере окружение, в котором я смогу его запустить и отправить ссылку для взаимодействия.

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

Читать далее
Total votes 14: ↑12 and ↓2+10
Comments20

Как писать более чистый CSS: дюжина советов от банальных до неочевидных

Level of difficultyEasy
Reading time9 min
Views15K

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

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

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

Сто паттернов для разработки корпоративных программ. Часть 2.1

Level of difficultyMedium
Reading time7 min
Views5.2K

В этой статье представлены такие паттерны, как Abstract Document, Monad, Object Mother, Object Pool, Step Builder. Примеры приведены на .NET 7 и C#. Приятного чтения.

Продолжение в статье "Сто паттернов для разработки корпоративных программ. Часть 2.2".

Читать далее
Total votes 12: ↑2 and ↓10-8
Comments59

Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp

Level of difficultyMedium
Reading time27 min
Views112K

> С 10 апреля 2024, 3 месяца спустя,
> данная статья заблокирована РКН на территории РФ,
> но доступна с IP других стран, а также через веб-архив.

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

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

Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).

Если у вас ещё нет личного прокси для обхода цензуры — это знак.

Читать далее
Total votes 113: ↑111 and ↓2+109
Comments284

Публикация локального сервера из дома в интернет

Level of difficultyEasy
Reading time10 min
Views38K

Приветики. Надеюсь, все отошли от новогодних, и можно писать и читать дальше. Как хозяин умного дома, я состою в чатике по Home Assistant, там прекрасное ответчивое комьюнити,
но периодически задаётся вопрос по тому, как собственно выставить свой веб сервис в интернет. И оказывается, что в двух словах тут не ответишь, а вменяемой инструкции на которую можно дать ссылку - нет. Так что теперь она будет здесь.

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

Мы рассмотрим здесь несколько сценариев - статический белый айпи, динамический белый айпи, и серый. Для серого рассмотрим варианты с готовыми сервисами, с помощью Keenetic и с помощью ssh туннеля. Погнали!

Читать далее
Total votes 66: ↑64 and ↓2+62
Comments95

JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6

Level of difficultyMedium
Reading time15 min
Views29K

Переход от базовых приложений к более сложным требует использования Spring Security для обеспечения безопасности. Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутентификацию и авторизацию с помощью Spring Boot 3 и Spring Security 6, чтобы помочь начинающем разработчикам разобраться и начать пользоваться базовым функционалом этой библиотеки. Цель данной статьи - показать, как использовать JWT-аутентификацию с API-интерфейсами.

Читать далее
Total votes 16: ↑13 and ↓3+10
Comments10

Производственный календарь в PostgreSQL

Level of difficultyEasy
Reading time6 min
Views11K

Новый Год уже совсем на носу, а значит нужен свежий производственный календарь в базе данных PostgreSQL. Но как совершенно обленившийся IT-шник, заводить его руками не хочется. Хочется, чтобы вызовом одной функции он сразу появился. Ну а уж из этой функции можно его сохранить в табличку и спокойно использовать до следующего Нового Года. А тогда опять просто вызвать вызвать функцию и с чистой совестью отрапортовать о выполненной работе. Цель статьи - показать возможности COPY ... FROM PROGRAM и простейшие приемы парсинга XML в PostgreSQL.

Читать далее
Total votes 22: ↑21 and ↓1+20
Comments20

Строим свой SSO. Часть 4: Vue.js, Регистрация, Сброс пароля

Level of difficultyMedium
Reading time44 min
Views8.5K

Всем привет!
Мы продолжаем строить собственный SSO Server. Сегодня мы детально разберем Vue.js приложение, а также спроектируем и реализуем долгожданные механизмы регистрации и сброса пароля. Как всегда, дополнительно мы разберём ряд интересных общесистемных решений, которые наверняка Вам пригодятся в дальнейшем.

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

Кастомизируем VS Code для веб-разработки

Level of difficultyEasy
Reading time10 min
Views27K

Visual Studio Code — это бесплатный, шустрый (что важно на больших проектах) и глубоко кастомизируемый редактор кода.

В статье расскажу, какие настройки и плагины VS Code использует наша команда фронтенда в KTS. Материал может быть полезен для JavaScript- и React-разработчиков, а ещё для тех, кто уже давно пользуется VS Code, но не знает о некоторых полезных плагинах и фичах для повседневного использования. 

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

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

Читать далее
Total votes 46: ↑42 and ↓4+38
Comments17

Создание пользовательского типа поля Form в Joomla 5 на примере Modal Select

Reading time14 min
Views1.4K

В панели администратора Joomla встречаются поля, которые нужно заполнить данными из других компонентов: указать материал, пункт меню, контакт, товар и т.д. Обычно такие поля оформляются в виде выпадающего списка select option, могут оформляться в виде input type="text" с datalist, но есть и удобные поля, показывающие список искомых сущностей, с фильтрацией, поиском, пагинацией и т.д.

Все мы видели эти поля в действии при выборе материала в пункте меню типа "Материалы - Материал", "Контакты - Контакт", или при создании алиаса (псевдонима) пункта меню - "Системные - Псевдоним".

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

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

Как интегрировать авторизацию через Госуслуги (ЕСИА) с помощью Docker и Typescript

Reading time6 min
Views33K

Привет, Хабр! В одном из постов блога мой коллега Иван писал о нашем блокчейн-сервисе для онлайн-голосований WE.Vote. Он подробно разобрал, как работает WE.Vote с точки зрения технологий. Но чтобы сервисы удаленного голосования можно было использовать для принятия официальных решений юрлиц, не хватает еще одного важного компонента — достоверной верификации участников. В России для этого можно провести интеграцию с ЕСИА (Единой Системой Идентификации и Аутентификации) — проще говоря, с Госуслугами. Интеграция эта заметно отличается от интеграции с другими oauth2-сервисами, как, например, Google или VK. В этом посте мы постараемся помочь тем, кто захочет интегрировать ЕСИА в свой сервис через стек, подобный нашему, а также дадим несколько полезных ссылок по ЕСИА в принципе.

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments9

Переделка мини компьютера в мобильный NAS

Level of difficultyMedium
Reading time9 min
Views33K

Что если взять готовый мини компьютер и установить в него несколько SSD дисков для того чтобы получить мобильный NAS?

В статье рассмотрена возможность доработки готового мини ПК на процессоре RK3568 до мобильного NAS с помощью дополнительного модуля дисков.

Рассказывается как собрать почти полный прототип мобильного NAS на основе мини ПК и приводится пример разработки своего модуля дисков.

Доработать можно всё, но...
Total votes 42: ↑42 and ↓0+42
Comments66

[SDK и UI-библиотеки] Backend-Driven UI

Level of difficultyMedium
Reading time3 min
Views1.7K

Это глава 46 раздела «SDK и UI-библиотеки» моей книги «API». Второе издание книги будет содержать три новых раздела: «Паттерны API», «HTTP API и REST», «SDK и UI‑библиотеки». Если эта работа была для вас полезна, пожалуйста, оцените книгу на GitHub, Amazon или GoodReads. English version on Substack.

В предыдущей главе мы обсудили, каким образом можно упростить разработку сложных компонентов с использованием паттерна «модель». Другой способ обойти сложность «переброса мостов» между несколькими предметными областями, которые нам приходится сводить в рамках одного UI-компонента — это убрать одну из них. Как правило, речь идёт о бизнес-логике: мы можем разработать компоненты полностью абстрактными, и скрыть все трансляции UI-событий в полезные действия вне контроля разработчика.

В такой парадигме код поиска предложений выглядел бы так:

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments8

Два студента опровергли широко известную математическую гипотезу

Reading time10 min
Views18K

Саммер Хааг и Клайд Кертцер возлагали большие надежды на свой летний исследовательский проект. Нанести неожиданный удар в слабое место целой области математики не входило в их число.

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

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

Читать далее
Total votes 54: ↑45 and ↓9+36
Comments23

Александров Павел Сергеевич: советский математик, чьи труды высоко оценило мировое научное сообщество

Level of difficultyEasy
Reading time7 min
Views4.1K

Александров Павел Сергеевич был советским математиком, профессором МГУ и исследователем топологии. В этом материале мы рассказали о его раннем интересе к науке, первых наставниках, поражении, из-за которого он ушел из профессии и пошел работать в театр, и последующем возвращении в математическое сообщество.

Читать далее
Total votes 30: ↑26 and ↓4+22
Comments5
1
23 ...

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Database Developer
ASP.NET Web API
PostgreSQL
Git