Pull to refresh
0
0
Send message

Регулярные выражения простыми словами. Часть 1

Level of difficultyEasy
Reading time7 min
Views28K

Разработчики делятся на два типа: тех, кто уже понимает регулярные выражения и порой решает сложные задачи одной строкой, и тех, кто все еще боится и всячески их избегает. Эта статья специально для вторых, чтобы им было проще стать первыми. Она либо поможет преодолеть «регекспофобию», либо усугубит ее. В любом случае, добро пожаловать под кат.
Читать дальше →
Total votes 150: ↑149 and ↓1+174
Comments54

«Пиратим» Google Chrome для Microsoft Windows 7

Level of difficultyMedium
Reading time6 min
Views60K

Привет, Хабр!
Возможно, здесь стоило написать какое-то длинное лирическое вступление или порассуждать о морально-этической части «пиратства» продукции крупнейших корпораций, ну или хотя бы просто сказать что это моя первая статья в Вашем сообществе. Но, к сожалению, даже не задумывался над всем этим и поэтому переедем сразу к делу и по существу.

На абордаж!

Читать далее
Total votes 107: ↑95 and ↓12+107
Comments123

Система font fallback: что происходит, когда шрифт не может найти нужный символ

Reading time21 min
Views19K
image

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


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


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


Или вы разобрались, как использовать эти шрифты в Twitter, но кто-то попросил вас подумать о читателях или жаловался, что видит только пустые квадраты.
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments15

Необычные приёмы отладки, которые браузер от вас скрывает

Level of difficultyMedium
Reading time8 min
Views14K

Список неочевидных, но при этом полезных хаков, которые позволят использовать отладчик вашего браузера1 более полноценно. Для понимания материала статьи потребуется как минимум средний уровень владения инструментами разработчика.
Читать дальше →
Total votes 72: ↑71 and ↓1+96
Comments12

FPC/Lazarus и Android

Level of difficultyMedium
Reading time8 min
Views7K

Всем привет, кто не знает меня зовут Сергей! И в очередной статье я задену разработку на Object Pascal.

В настоящее время и Delphi и FPC/Lazarus (FPC - free pascal compiler, Lazarus - IDE) поддерживают сборку под разные платформы.

В данной статье ознакомлю вас с возможностями разработки Android-приложений средствами FPC/Lazarus, в том числе и игр. И так же немного добавлю информации по Delphi, чтоб проще было искать нужную вам информацию, если вы используете данную среду разработки, но по самой разработке в Delphi не смогу вам ни чего дать на данный момент.

интересно
Total votes 35: ↑33 and ↓2+39
Comments30

Перехват трафика мобильных приложений

Level of difficultyMedium
Reading time7 min
Views25K

Часто случается так что на необходимом сайте установлена защита от ботов. Например: QRATOR, Cloudflare, Akamai Bot Manager и пр. Можно потратить множество ресурсов на обход этих систем, но если у вашего ресурса есть мобильное приложение, то можно пойти другим путём. В подавляющем большинстве случаев мобильное приложение остается без защиты т.к. методы актуальные в браузерной разработке в мобильной не актуальны. В этой статье мы совершим атаку MITM на приложение [скрыто], узнаем эндпоинты по которым приложение получает данные и получим данные сами.

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

Launcher для GoodbyeDPI – понятный способ обойти все блокировки и восстановить YouTube в России

Level of difficultyEasy
Reading time2 min
Views273K

Сейчас опишу интуитивно понятный способ восстановления работоспособности YouTube и обхождения любых блокировок провайдера на Windows компьютере. Уверен, что статью по указке РКН быстро удалят, так что если тема вам интересна, дочитайте до конца, сразу скачайте себе программу, даже если планируете использовать после. Заносить в закладки особого смысла нет. Ну и ставьте лайк. Отдельно также следует повысить карму ValdikSS - Пользователь / Хабр (habr.com) автору уникального решения GoodbyeDPI, который публиковал статью с описанием своего решения пару недель назад тут: Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу, теперь там банер РКН и слова «Эта интернет-страница удалена из публичного доступа по юридическим причинам».

Я не буду заново описывать техническое решение GoodbyeDPI, кратко это программа (или служба ОС Windows) позволяющая обнаруживать «заглушки» созданные провайдерами по указанию РКН для блокировки небогоугодных сайтов. Программа бесплатно распространяется на GitHub, является консольной утилитой мало понятной рядовому пользователю. Полное описание и ссылки есть на NNMClub ⚡ Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу. GoodbyeDPI и ReQrypt + Blockcheck – ресурс, конечно же, заблокирован у вас, если еще не установлен какой-либо способ обхода блокировок.

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

Восстановите YouTube и запрещенные сайты
Total votes 207: ↑194 and ↓13+217
Comments182

Как искусственный интеллект  помогает лечить рак почек. Патология, диагностика, прогноз (часть 2)

Level of difficultyHard
Reading time23 min
Views42K

Привет, это команда МедТех ИИ и дирекции по искусственному интеллекту и цифровым продуктам билайна и врачи-учёные из Сеченовского университета. И это вторая часть нашей статьи из журнала  Biomedicines про применение искусственного интеллекта в диагностике рака почки. Первую часть можно прочитать тут.

Дифференциальный диагноз почечно-клеточной карциномы

Для достоверной диагностики и наблюдения за пациентами с различными типами почечно-клеточной карциномы (ПКК) необходимо точно определить гистологический вариант опухоли. Задача представляет собой дифференцирование между основными типами рака почки. Эту проблему тоже можно решить с помощью цифровой патологии. Внедрение искусственного интеллекта в рутинную гистопатологию позволит использовать дополнительные методы анализа для определения гистологического типа рака еще до того, как патологоанатом поставит точный диагноз, что значительно ускорит диагностический процесс. 

Читать далее
Total votes 16: ↑15 and ↓1+21
Comments1

Как в приложении получить список файлов, переданных из проводника посредством Drag-and-Drop

Reading time8 min
Views20K

О чем данная статья:


Множество программ позволяют пользователю открывать файлы посредством перетаскивания их из проводника в окно приложения. Как правило это более удобно для пользователя, в отличии от стандартной модели открытия посредством выбора меню «Файл -> Открыть» или нажатия соответствующей кнопки на панели инструментов, так как в данном случае пользователь пропускает этап работы с диалоговым окном.
Добавление данной возможности в ваше приложение сделает его более «профессиональным».

Как это работает:


Есть два основных пути добавления данного функционала в Windows приложение.
Первый способ заключается в использовании стандартных Windows Drag-and-Drop API функций и обработке сопутствующих оконных сообщений.
Вторым методом является использование технологии OLE (COM), который предоставляет расширенные методы передачи данных между приложениями.
В данной статье будет рассмотрен первый и самый простой способ.

Краткий обзор:


По умолчанию, поддержка перетаскивания и приема файлов в Windows приложениях отключена.
Для включения данной возможности мы должны сказать Windows о том, что мы хотим получать уведомления о перетаскивании, а так-же указать окно, отвечающее за обработку данных уведомлений.
Данное окно должно уметь обрабатывать сообщение WM_DROPFILES, приходящее ему в тот момент, когда пользователь завершил операцию перетаскивания.
Это сообщение предоставляет нам возможность реализовать обработчик события Drop, из которого мы может вызвать различные API функции, для получения информации о том, что именно нам было передано.
По завершении обработки данного сообщения, хорошим тоном будет уведомить Windows о том, что мы обработали данную операцию и больше не хотим получать уведомления о ней.

Читать дальше →
Total votes 23: ↑14 and ↓9+5
Comments20

Полуфабрикат Windows-службы

Reading time16 min
Views7.7K
Один из способов доморощенной классификации служб основывается на времени их жизни: некоторые из них запускаются сразу же при старте ОС, оставаясь активными постоянно (сюда, скажем, можно отнести веб-серверы и СУБД), другие же запускаются лишь при необходимости, делают свои архиважные дела и сразу завершаются; при этом, ни один из вариантов сам по себе не делает реализацию службы сложнее, однако второй требует от разработчика как минимум ещё и умения программно стартовать, а при необходимости и досрочно останавливать её работу. Именно указанный аспект управления службой, плюс добавление некоторых отсутствующих в штатной поставке Delphi возможностей, и сподвиг автора на данный опус.

Чтобы статья воспринималась максимально полезной и практичной, в ней предлагается заготовка (почти готовый к употреблению шаблон) службы, обрабатывающей очередь неких задач (или заданий – кому как больше нравится); после того, как все из них обработаны, служба тут же завершается. Если представить графически, то читатель познакомится со следующей конструкцией:

Взаимодействие службы с очередью и управляющим приложением
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments6

Обучение разработке чат-ботов Telegram: топ-15 курсов

Level of difficultyEasy
Reading time10 min
Views16K


Чат-боты Telegram — одна из новых модных технологий, которые сейчас на хайпе. Маркетологи внедряют чат-ботов в CRM и в мессенджеры. Все фирмы хотят использовать LLM, поувольнять «лишних» сотрудников и сэкономить. В общем, сейчас это востребованная фишка, на которую большой спрос.

Чат-боты выполняют рутинную работу, привлекают клиентов и разгружают труд владельцев и работников бизнеса. Каждая организация нуждается в собственном боте. Таких организаций миллионы, а разработчиков не хватает катастрофически.
Читать дальше →
Total votes 21: ↑17 and ↓4+20
Comments14

Кроссплатформенный фреймворк FireMonkey, Delphi

Level of difficultyEasy
Reading time6 min
Views4.6K

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

Ну, говори
Total votes 22: ↑21 and ↓1+25
Comments60

Где жить в городе именно вам? Персонализированный сервис подбора идеальных домов

Level of difficultyEasy
Reading time40 min
Views9K

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

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

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

Узнать подробнее
Total votes 22: ↑21 and ↓1+28
Comments22

Chrome Headless против cloudflare JS challenge

Level of difficultyMedium
Reading time41 min
Views24K

Автоматизация сбора информации с различных ресурсов - обычная задача для людей разных сфер деятельности. Жаль, что не всегда бывает достаточно сделать простой GET запрос и разобрать полученный html. Веб-сайты, с которых собираются данные, принимают защитные меры для предотвращения автоматизированных запросов. Одной из таких мер является использование cloudflare. Сегодня мы посмотрим, как cloudflare выявляет ботов через javascript и коснёмся темы деобфускации скриптов.

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

Как написать свой клиент для YouTube, не привлекая внимания санитаров

Level of difficultyEasy
Reading time3 min
Views23K

Привет, Хабр! Когда‑то давно я наткнулся на ролик, где парень писал консольный клиент для YouTube. Идея была просто потрясающей!

Написать свой минималистичный и быстрый клиент, который не будет надоедать
лентами рекомендаций, рекламой, комментариями и т. д. Но вот беда, автор, не найдя возможности использовать YouTube API, решил спарсить одну из фронтенд обёрток над YouTube.

Стоит ли говорить о том, что такое решение сильно теряет в производительности и абсолютно нежизнеспособно на какой‑либо длительный период времени?

Читать далее
Total votes 16: ↑16 and ↓0+21
Comments54

Производительность Windows 11 «комически низкая», в интерфейс внедряют рекламу. Люди возвращаются на Windows 10

Level of difficultyEasy
Reading time8 min
Views60K


На рынке операционных систем происходит странное. Доля Windows 11 не растёт, как положено для новинки, а снижается. Согласно апрельской статистике Statcounter, после достижения рекордного показателя 28,16% в феврале 2024 года доля Windows 11 упала до 26,19% в апреле.

Тем временем доля Windows 10 за тот же период приблизилась к 70%. И это после того, как Microsoft объявила о завершении поддержки Windows 10 в октябре 2025 года.

Что вообще происходит?
Читать дальше →
Total votes 86: ↑80 and ↓6+100
Comments456

Llama 3.1-70b в своем Телеграм боте — бесплатно, безлимитно и всего 20 строк кода

Level of difficultyEasy
Reading time2 min
Views39K

Да, всего 20 строк кода и бот:

1) по качеству ответов будет соизмерим с ChatGPT-4o;
2) будет отвечать очень быстро т.к. подключим мы его через Groq который в среднем в 10 раз быстрее других аналогичных сервисов;
3) будет поддерживать диалог и запоминать последние сообщения.

Читать далее
Total votes 50: ↑40 and ↓10+38
Comments102

Как начать писать на Java в VSCode

Level of difficultyEasy
Reading time11 min
Views29K

Давайте признаемся: подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно интегрируется с Spring Framework и знает его особенности.

Тогда зачем пробовать что‑то другое?

Привет, Хабр! Меня зовут Константин Шибков, я Java‑разработчик в CDEK.

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

Но если у вас есть трудности с доступом к Ultimate версии, а Community вариант не достаточно функционален — самое время попробовать современную альтернативу — Visual Studio Code.

В статье делюсь опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».

Перейти на VSCode
Total votes 65: ↑64 and ↓1+69
Comments60

Игра в безопасность Android-приложений

Level of difficultyMedium
Reading time20 min
Views8K

Давайте в общих чертах рассмотрим вопросы взлома и защиты Android-приложений. 

В рамках статьи нас интересуют сами процессы взлома и защиты, а не конкретные методики работы с конкретными инструментами. Поэтому разберёмся с этими процессами и постараемся сделать выводы. Чтобы читать было интереснее, я решил попеременно ставить себя и на место нападающего, и на место защищающего приложение человека. Что-то вроде шахмат: сначала ход делает нападающий, а затем защищающийся. Пока кто-то не победит. Пройдём путь, постепенно наращивая сложность, от простого вроде HTTPS — к более сложному, вроде обфускации и деобфускации, изменению поведения. И под конец перейдём к C++ и просмотру его Assembler кода.

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

А в чем проблема работать с файлами?

Level of difficultyMedium
Reading time53 min
Views32K

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

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

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как это этого защититься

Читать далее
Total votes 141: ↑140 and ↓1+169
Comments23
1
23 ...

Information

Rating
Does not participate
Registered
Activity