Pull to refresh
-11
0.6
Send message

Увеличиваем свою производительность в WebStorm / PhpStorm c помощью шаблонов

Level of difficultyEasy
Reading time3 min
Views6.7K

В статье рассмотрим как создавать шаблоны в продуктах Jesbrains (WebStorm, PhpStorm, Intellij, PyCharm).

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

Как настроить сбор статистики и автоматическое отключение пользователей WireGuard в ispmanager с помощью Python и API

Level of difficultyMedium
Reading time12 min
Views5.6K

Привет! Меня зовут Вячеслав, и я руководитель отдела маркетинга. Я поднял VPN-туннель по подписке на базе ispmanager. Однако мне этого было мало: нужно было, чтобы по окончании подписки туннель автоматически отключался и статистика по каждому пользователю собиралась ежедневно.

Поэтому я взял в руки Python, Google Sheets, документацию и начал писать скрипт. В статье рассказываю о том, как я, будучи ламером смог достигнуть нужных себе целей и изучить пару вариантов взаимодействия с ispmamager.

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

Невидимая проблема текстовых редакторов на смартфонах

Level of difficultyEasy
Reading time15 min
Views24K

Когда я рассказываю о своих исследованиях редактирования текста на мобильных в Google, то обычно сталкиваюсь с непониманием и немного враждебным «Разве на телефонах нельзя редактировать тексты? В чём проблема?»

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

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

Как мы распознавали цвета медицинских тест-полосок с помощью ИИ для healthcare стартапа

Level of difficultyMedium
Reading time7 min
Views1.6K

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

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

[SDK и UI-библиотеки] Разделяемые ресурсы и асинхронные блокировки

Level of difficultyMedium
Reading time4 min
Views614

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

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

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

Полный релиз бесплатного интерактивного 700-страничного учебника по тестированию

Level of difficultyEasy
Reading time12 min
Views104K

Гуд ньюз эвриван! Спустя полтора года работы восьми айтишников с суммарным опытом в IT 130 лет достигнут результат в виде учебника по тестированию, которого еще никто и никогда не делал.

Читать далее
Total votes 131: ↑130 and ↓1+158
Comments162

Генерируем простой web интерфейс для просмотра таблиц PostgreSQL

Level of difficultyEasy
Reading time10 min
Views18K

В публикациях на хабре, чаще всего самое интересное в комментариях. Вот и в моем прошлом посте "Сгенерировать web интерфейс из БД или объектной модели не стало проще даже 10 лет спустя" я собрал джекпот из SharePoint, Vaadin и нескольких библиотек либо устаревших, либо поддерживаемых "одним автором".

Что я пытался объяснить читателям, что на этапе проверки идей не нужна дополнительная сложность в виде серверной инфраструктуры только ради этой самой инфраструктуры и нового языка программирования/платформы. Именно поэтому мне не нужны сейчас Yii, Symfony и Laravel, не подойдет ADF. На любое обучение тратится драгоценное время и поэтому надо понимать зачем тратить время на что-то, что потом возможно навсегда придется забыть через неделю-другую игры с прототипом.

В своих эксперементах с помощью лапшекода на JavaScript я быстро разработал вполне функциональный интерфейс. А начиналось все с Java 21, хотя в итоге обошелся без нее!

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

Где бы вы точно не жили и не остановились даже на время, если бы знали и выбирали на основе фактов

Level of difficultyMedium
Reading time31 min
Views20K

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

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

Что общего во всех этих факторах, кроме того что я сгустил краски StableDiffusion? В описаном примере для многих людей есть не только экологическая, но психологически дискомфортная составляющая. В студенчестве, в части диплома, связанной с экологией, были расчеты уровня шума в жилых помещениях от трассы/индустриальных объектов. Главный параметр был - расстояние по прямой от жилья.

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

Я бы не жил в Сочи в этих местах…

Level of difficultyEasy
Reading time6 min
Views30K

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

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

Читать далее
Total votes 33: ↑31 and ↓2+39
Comments78

Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

Level of difficultyMedium
Reading time15 min
Views68K

Эта статья — заключительная (наконец‑то!) из моего огромного цикла про недетектируемые инструменты для обхода блокировок. В предыдущих публикациях я упоминал, что клиенты и серверы XRay (форк V2Ray) и Sing‑box при использовании протоколов VLESS/VMess/Trojan могут работать через веб‑сокеты и gRPC, что позволяет подключаться к даже заблокированным Роскомнадзором прокси‑серверам через CDN (content delivery или content distribution network) и дает дополнительные преимущества. Сегодня мы поговорим об этом поподробнее.

Читать далее
Total votes 62: ↑60 and ↓2+76
Comments148

VimPorn

Reading time6 min
Views57K

На reddit большое комьюнити, которое посвящено vim: neovim, vim, vimplugins, vimporn. И чтобы не пропускать какие-то интересные вещи, которые случаются в мире vim, я накидал bash-скрипт. Скрипт выводит топ-5 лучших постов за год по каждому сабредиту. В статье будет сам скрипт, а также я своими словами расскажу о каждом посте, который попал в топ.

Читать далее, под катом много картинок ...
Total votes 37: ↑35 and ↓2+42
Comments71

Обход блокировок на OpenWRT с помощью HomeProxy (sing-box)

Level of difficultyEasy
Reading time4 min
Views15K

HomeProxy или luci‑app‑homeproxy это часть проекта ImmortalWRT, графическая надстройка для sing‑box позволяющая настроить подключение к shadowsocks, xray, vless, vmess, trojan.

В данной статье будет рассматриваться установка luci‑app‑homeproxy на OpenWRT 23.05.0-rc3 (поддерживаются версии 23.05.0 или SNAPSHOT).

Можно использовать как чистую версию OpenWRT так и от проекта ImmortalWRT.

Потребуется роутер со свободными 30 Мб памяти и минимум 256 Мб ОЗУ (Работающий HomeProxy занимает от 70Мб ОЗУ).

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

Настраиваем двухступенчатый WireGuard для выхода из страны

Level of difficultyMedium
Reading time4 min
Views47K

У Wireguard есть немало прекрасного, включая его простоту реализации, скорость и минималистичные клиенты, которые не вызывают проблем у пользователей.

В начале августа некоторые интернет операторы и провайдеры начали блокировку протокола WireGuard в РФ по его рукопожатию.

Лично испытывал блокировку у Мегафон и Теле2, но не заметил у Ростелеком. VPN по-прежнему работал через последнего.

Очень не хотелось отказываться от Wireguard в пользу прокси-серверов в духе VLESS+TLS-Vision, в виду того, что все наши пользователи уже сильно привыкли именно к Wireguard.
Поэтому вариант с кардинальной сменой клиентского софта не рассматривался.

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

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

Orange Pi Zero 2W: конкурент «малинки» из Китая. На что он способен?

Reading time3 min
Views30K
image

«Убийц» Raspberry Pi создают едва ли не каждый месяц. В итоге «малинка» все равно остается одним из наиболее популярных в мире одноплатников, причем практически любая модель. Но в некоторых случаях сторонние производители выпускают действительно удачных конкурентов. Одним из них является и Orange Pi Zero 2W, появившиеся совсем недавно. О нем и его возможностях сегодня и поговорим.
Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments41

Пишем plugin для IDEA, используя External System API, на примере простой build системы

Level of difficultyMedium
Reading time20 min
Views1.1K

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

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

Всем этим условиям удовлетворяют популярные билд-системы: Gradle, Maven, Sbt и не только, например Docker-compose. IDEA плагины для них построены на External System API. Поэтому для написания своего плагина, я также использовал данное API и хочу рассказать о нем более подробно.

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

Xray на Keenetic / Xkeen

Level of difficultyEasy
Reading time9 min
Views49K

Утилиту для поддержки Xray на роутерах Keenetic — Xkeen.
Весь код написан на чистом shell и открыт на GitHub.

Собирает Xray под Ваш Keenetic на Entware.
Доступны GeoIP и GeoSite от AntiFilter, AntiZapret и v2fly.

Автоматически обновляет в указанное время Xray, GeoIP и GeoSite.

Ознакомиться с Xkeen
Total votes 23: ↑22 and ↓1+30
Comments31

Запуск приложений на .NET в качестве службы на Linux-системе с systemd

Level of difficultyHard
Reading time7 min
Views11K
image

В этом материале будет рассмотрено, как запускать приложение .NET Core / .NET 5 в качестве сервиса под Linux. Мы воспользуемся Systemd, чтобы интегрировать наше приложение с операционной системой, научимся запускать и останавливать наш сервис, а также получать от него логи.

Чтобы организовать атаку на цепочку поставок при помощи .NET, мне потребовалось настроить DNS-сервер, который перехватывал бы те хост-имена, которые ко мне направляются. Давайте возьмём этот кейс для примера.
Читать дальше →
Total votes 29: ↑27 and ↓2+40
Comments18

Заблокирован ли протокол OpenVPN? И как теперь быть?

Level of difficultyEasy
Reading time3 min
Views80K

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

Читать далее
Total votes 30: ↑15 and ↓15+5
Comments50

Anki — настолько круто, что я даже представить не мог

Reading time4 min
Views141K

Если вдруг кто не знает, Anki - это бесплатная opensource программа для запоминания слов (и не только). Есть версии под декстоп и мобилы. Она довольно популярна при этом имеет интуитивно-НЕпонятный интерфейс. Мне понадобилось много лет, чтобы понять, насколько она крута, т.к. базовые статьи и туториалы этого не описывают. А многие люди используют ее даже не понимая ее возможностей.

Впервые про Anki я услышал много лет назад. Может быть 10 или больше, точно сказать сложно. Прочитал здесь на Хабре, что есть такая крутая штука как интервальное повторение, и что Anki как раз такая программа, которая использует этот механизм. Помню что в статье рассказывалось только про версию под декстоп.

Читать далее
Total votes 69: ↑60 and ↓9+66
Comments145

Настраиваем клиент Outline на OpenWRT за 5 минут с помощью tun2socks

Level of difficultyEasy
Reading time6 min
Views11K

Установка клиента Outline (shadowsocks) одним скриптом.

Понадобится любая версия OpenWRT (проверялось на 19.07, 21.02, 22.03 и 23.05-rc1) и установленные пакеты kmod-tun и ip-full, а так же настроенный сервер Outline (shadowsocks).

Рекомендую роутер не меньше чем с 128 Мб ОЗУ, будут показаны варианты установки в ПЗУ и ОЗУ.

Использоваться будет пакет xjasonlyu/tun2socks.

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

Information

Rating
1,779-th
Registered
Activity

Specialization

Fullstack Developer
Middle
C#
.NET Core
ASP.Net
Docker
Git
Linux
Python
English
SQL