Обновить
11
0
Mastak@mastak

Создаю и развиваю собственные интернет-проекты

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

Деплоймент нескольких ASP.Net Core-приложений на VPS сервере и настройка доступа к ним по доменному имени 3-го уровня

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

Деплоймент нескольких ASP.Net Core-приложений на VPS сервере с Ubuntu и настройка доступа к ним по доменному имени 3-го уровня.

Читать далее

Обзор возможностей для разработчиков при работе с VK Mini Apps

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

В 2025 году аудитория ВКонтакте достигла 92,5 млн пользователей в месяц. Пользователи ВКонтакте активно используют все внутренние сервисы, в том числе мини-приложения и игры, которые любой внешний разработчик может представить многомиллионной аудитории с помощью VK Mini Apps.

Меня зовут Никита Васюков, руководитель команды спецпроектов в направлении разработки игр и приложений. И в этой статье я расскажу, что такое VK Mini Apps, какие возможности предоставляет платформа и как мы её используем для своих задач.

Читать далее

ASP.NET MVC — Entity Framework, MySQL и использование Dependency Resolver для выбора репозитория

Время на прочтение7 мин
Охват и читатели8.8K
Legacy технологии
Предупреждение: ASP.NET MVC уже устарел. Рекомендуется использовать ASP.NET Core. Но если вам интересно, то читайте.

Решил немного расширить предыдущую статью про ASP.NET MVC и MySQL. В ней речь шла про работу с MySQL в ASP.NET MVC не через практически стандартный ORM Entity Framework (EF), а с помощью прямого доступа к СУБД через ADO.NET. И была приведена реализация этого метода доступа. И хотя метод устаревший и не рекомендуемый к использованию, но иногда полезен: например, в высоконагруженных приложениях или когда разработчик сталкивается с ситуацией, когда ORM не может сгенерировать корректно работающий SQL-запрос. И иногда можно совмещать в приложении оба способа — и через ORM и через ADO.NET. В итоге я подумал, и решил дописать приложение: добавив в него реализацию репозитория для Entity Framework и сделать выбор из них зависимым от параметра приложения с помощью Dependency Resolver.

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

ASP.NET MVC – работаем с MySQL через ADO.NET

Время на прочтение34 мин
Охват и читатели19K
Legacy технологии
Предупреждение: и ASP.NET MVC устарел и ADO.NET тоже. Рекомендуется использовать ASP.NET Core с современным ORM. Но если вам интересно, то читайте.

Уже, наверное, раза три подбираюсь к ASP.NET MVC. После десяти лет с ASP.NET WebForms немного сложно переходить именно к технологии MVC, поскольку отличий столько, что скорее проще перечислить, что у этих технологий общего – это разве что библиотеки .NET Framework. Я не буду писать тут – лучше или хуже MVC чем WebForms, просто они обе хороши, и на обеих технологиях можно построить хорошее приложение. Свои мысли по поводу необходимости TDD я тоже пока оставлю при себе, хотя их есть у меня.

А сейчас я буду говорить о стандартнейшей задаче – обычной работе с данными: просмотре в табличном виде списка записей, добавлении, изменении и удалении данных (операции CRUD). Однако практически во всех книгах и во многих решениях в интернете для ASP.NET MVC почему-то рассматривается вариант исключительно через ORM (Object Relation Mapping): или Entity Framework (EF) или LINQ для SQL. Технологии отличные, спору нет, наконец-то программист может и не разбираться – а как вообще эта самая реляционная СУБД (которой он, скорее всего, пользуется) вообще работает, и даже SQL, по идее, знать уже необязательно: прокладка в виде EF и коннектора для СУБД разберутся между собой. «Вот оно счастье – нет его краше». Но тем программистам, которые не боятся прямой работы с базой данных через механизм ADO.NET, зачастую непонятно – а с чего вообще начинать в ASP.NET MVC и надо ли.
Читать дальше →

Гладкое бритье: Razor Pages для разработчиков веб-форм

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

Если вы, будучи разработчиком ASP.NET Web Forms, сомневаетесь в переносимости своих навыков на более современную платформу .NET (например, .NET Core или .NET 6), то спешу вас успокоить — все не так уж и плохо. Хоть Microsoft и не планирует переносить Web Forms, приобретенные вами навыки вполне применимы в аналогичном фреймворке под названием Razor Pages. Да, вам все равно придется адаптировать свое мышление к этой новой платформе, но если вы не пожалеете на это время, ты вы откроете для себя такой же мощный и простой в использовании инструмент для создания веб-приложений.

Читать далее

Авторизация через VK: что под капотом и как это тестировать

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

Авторизация в приложениях через сторонние сервисы уже давно стала привычной. Это и правда удобно. Не нужно запоминать, как именно ты вписал свой юзернейм — Va$ya или Vassssya? — и какой пароль выбрал — 123 или 321? Нажимаешь волшебную кнопку «Войти с помощью….» и попадаешь в личный кабинет.

И раз эта фича появилась, значит это кто-то тестирует. 

Несколько лет назад мы разработали для наших учеников тренажёр в виде игры «Битва покемонов». Мы постоянно развиваем и дополняем его: не так давно добавили авторизацию через VK ID. Давайте на конкретном примере разберём, как работает такая авторизация и как её можно протестировать. 

Авторизация через VK: что под капотом?

Теория тестирования сообщает нам, что прежде чем что-то тестировать, нужно определиться с требованиями. Дополним от себя: прежде чем что-то тестировать, нужно понять, как именно оно работает.

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

Читать далее

Как я подружил Yandex Cloud и Gemini API без миграции на зарубежные сервера

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

Когда я начинал писать Node.js-сервис, который должен был интегрироваться с LLM-моделью, я уже понимал, что доступ к некоторым зарубежным API из России может быть проблемой. Именно поэтому моим первоначальным выбором была модель от Yandex Cloud — Yandex GPT.

Но после того как я и мои товарищи немного пообщались с ней, стало ясно, что Yandex GPT нам не подходит. Её ответы были слишком неестественными, «нечеловеческими» — особенно это было заметно в нашем конкретном кейсе. Поэтому пришлось искать альтернативу среди зарубежных моделей. Вариант обучать собственную модель отпал сразу — опыта у меня в этом не было, а искать кого-то, кто сможет это сделать, не было времени, так как хотелось быстро запустить. Так выбор пал на Gemini API от Google, о котором было много позитивных отзывов.

Однако это означало, что нужно было как-то решить проблему доступа из России, ведь мой сервис размещён именно в Yandex Cloud.

Читать далее

Эффективный фингерпринтинг через кэш фавиконов в браузере

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

Демо

Фавикон сайта — маленький значок .ico размером 16*16 или 32*32 пикселей на вкладке браузера. Помогает ориентироваться в сотнях вкладок. У твиттера синяя птичка, у Gmail красный символ почты, у Википедии жирное W.

Но оказывается, что эти значки представляют собой уязвимость, через которую можно выполнять фингерпринтинг — идентифицировать юзера даже через VPN и режим инкогнито в браузере (см. демо).
Читать дальше →

Как работает Evercookie в 2023 году

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

В 2010 году Сами Камкар написал скрипт, который позволял идентифицировать пользователя сайта, если тот ранее посещал его. Решение было названо эверкукой (суперкукой). Данная статья рассматривает механизм восстановления куки и отвечает на вопрос работает ли это в 2023 году. В конце статьи приводится реализация части evercookie для Angular.

Читать далее

Отучиваем Google Chrome убивать ресурс SSD накопителя

Время на прочтение4 мин
Охват и читатели117K
Предыстория

Как-то примерно год назад (в 2010 г.) появился у меня компьютер, который можно было брать с собой на диван — ноутбук то есть. Ноутбук выбирался чисто для работы, одним из требований при выборе была неплохая производительность. Процессор Intel Core i3 показался достаточным по производительности.

Но, поначалу шустрый ноутбук все больше и больше начинал меня нервировать своей медлительностью. Не то чтобы он тупил, подвисал и тому подобное — нет, он просто равномерно медленно работал. Особенно это было хорошо заметно если поработаешь за «полноразмерным» компьютером с шустрым винчестером, а потом пересядешь за ноутбук. Виной тому был медленный винчестер ноутбука. Причем это проблема не конкретно моего ноутбука, это проблема всех ноутбуков, потому что в них стоят медленные винчестеры со скоростью вращения 5400 об/мин.
Читать дальше →

User-боты в Telegram: Простая автоматизация с Python (Pyrogram). Первые шаги

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

Давно хотел рассказать вам о такой интересной теме, как User-боты в Telegram, и, наконец-то, мои руки дошли до этого. Сегодня мы разберемся, что это за зверь такой, как его приручить, и, самое главное, познакомимся с мощным Python фреймворком для работы с юзер-ботами – Pyrogram.

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

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

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

Читать далее

Маркировка рекламы в ОРД ВК для digital-агентства по доходному договору

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

Пошаговая инструкция как маркировать рекламу для digital-агентства (посредника) с использованием платформы ОРД ВК (ОРД Вконтакте | ORD VK) с получением токенов (erid), оформлением актов и статистики, решением вопроса по разаллокации насчет изначального договора и креативов (площадок). Данный материал обозначает системный путь оформления отчетности для интерфейсного решения, а для его применения в отчетности с помощью API есть руководство от ОРД ВК.

Читать далее

IPv6 или противостояние занижению скорости Youtube

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

Если Вы являетесь счастливым обладателем маршрутизатора Mikrotik и у Вас белый IP адрес, а также надоело занижение скорости Youtube, то статья для Вас. Добро пожаловать!

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

Читать далее

Как я апнул «чумадан»

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели19K
Картинка Stockking, Tawatchai07, Freepik

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

Но есть некоторые из самоделок, которые в корне отличаются от этого всего, и каждый раз, когда их вспоминаешь, говоришь себе «как же хорошо, что когда-то я уделил этому своё время!», так как подобного рода самоделки отличаются крайней полезностью и являются весьма применимыми в жизни. Они могут быть по своей сути и не особо сложными, но польза от их наличия весьма велика. И в этой статье будет рассказ как раз об одной из таких.
Читать дальше →

Автоматический обход блокировок

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

Описание работы программы для автоматического обхода блокировок в интернете, код программы лежит на репозитории antiblock.

Читать далее

Расширение для скачивания видео с VK в один клик. Теперь и для desktop-а

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

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

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

Читать далее

Точечная маршрутизация по доменам на роутере с OpenWrt

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

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

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

Настроить роутер можно с помощью скрипта. Если вдруг не заведётся сразу, то другим скриптом можно найти, что не работает. Настройка с помощью Ansible никуда не делась, только модифицировалась и стала лучше.

Помимо инструкций по настройке туннелей Wireguard и OpenVPN, написал инструкцию по использованию технологий, которые помогут в обходе блокировок по протоколу: Shadowsocks, VLESS и прочими.

Читать далее

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

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

Иметь свой VPS для VPN довольно выгодно. Нет ограничений по количеству клиентов, можно обеспечить VPN подключением всех своих родных, друзей и знакомых. При этом можно за это платить 160-300 рублей в месяц. И если общедоступные VPN вовсю банятся по DNS и IP, то личные VPN пока что избегают этой участи.

Минусы есть, это администрирование сервера и отсутствие разнообразия географии.

Для VPN нужен зарубежный сервер, а с зарубежными сервисами в России уже больше года есть проблемы с оплатой. Но есть российские компании, которые предоставляют зарубежные сервера и при этом им можно платить с помощью российской карточки.
Я зарегистрировался в дюжине провайдеров, до покупки VPS дошёл у пяти. А после тестов остались только трое.

Читать далее

Telegram.Такси за 200 строк кода

Время на прочтение2 мин
Охват и читатели27K
Телеграм Такси

Сегодня из пустых пивных банок и старых покрышек мы соберём телеграм-бота для такси. С его помощью можно будет вызывать такси нажатием всего лишь двух кнопок. Вернее так: при первом использовании потребуется нажать три кнопки, а затем всегда — только две. Код написан на Node.js (т.е. ECMAScript, aka JavaScript), без использование каких-либо бот-фреймворков или бот-библиотек — только натуральный продукт — Telegram Bot API. Количество кода указано в названии статьи, выполняется он в Яндекс.Облаке, а точнее в Cloud Functions, а состояния и данные хранятся в Firebase, вернее в Cloud Firestore. Ну а заявки на такси наш скромный бот отправляет в CRM Битрикс24. Как видите — задействованы все! На самого бота можно посмотреть на комиксах ниже, а кликнув по картинке-ссылке под комиксами — открыть и проверить в деле.
Читать дальше →

Сбор статистики viber

Время на прочтение5 мин
Охват и читатели12K
Возник интерес как получить статистику по чату в вайбере. По информации на сайте viber.com статистика предоставляется только для сообществ, в которых не менее 1000 участников.
Далее опишу инструкцию как я получал статистику для чата viber используя файл резервной копии.
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность