Pull to refresh
-5
0

Пользователь

Send message

Валидация полей формы в андроид приложении и не только

Reading time15 min
Views1.2K

Регулярно возникают задачи проверять, что пользователь вводит в поля и сообщать ему если он что-то сделал не правильно.

Ничего в этом сложного нет,

напишем парочку регулярных выражений

const val SNILS_PATTERN = "[0-9]{3}-[0-9]{3}-[0-9]{3}\\s[0-9]{2}"

const val LATIN_NAME_WITH_COMMA = "[${LATIN_LETTERS}0-9\\-`'.,()\\s]*"

и маски

const val SNILS_MASK = "[000]-[000]-[000] [00]"

применим DataBinding и будет норм..

Если вы так считаете, дальше можно не читать.

Другим путём, пойдём мы

Как я научил
 буфер обмена думать

Level of difficultyEasy
Reading time5 min
Views16K

Я научил буфер обмена думать, и теперь всё вокруг стало быстрее. А что если выделенный текст мгновенно станет грамотным, переведётся на нужный язык или расшифрует картинку? Одно нажатие — и ИИ исправляет ошибки в Telegram, объясняет код в VS Code или переводит иностранные мемы.

Читать далее

Как мы зарегистрировали компанию в Вайоминге для работы с App Store

Reading time7 min
Views4.2K

Привет, Хабр! После предыдущего поста о запуске платного приложения в App Store из России я получил множество реакций и вопросов. В этом посте я постараюсь подробно рассказать, как мы зарегистрировали юрлицо в США онлайн, не покидая Москвы, какие нюансы о работе в Штатах узнали во время получения услуги, какие документы понадобились и с какими сложностями столкнулись. Удивительно, но процесс оказался гораздо проще, чем мы ожидали.

Открыть бизнес в США можно двумя путями…

Читать далее

Как стать iOS-разработчиком в 2025 году: подробный гайд для новичков

Level of difficultyEasy
Reading time8 min
Views3.4K

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

Почему стоит выбрать iOS-разработку?

iOS-разработка остается одним из самых востребованных направлений в IT. Спрос на специалистов растет, зарплаты остаются высокими, а сам процесс разработки комфортный благодаря экосистеме Apple. Не стоит бояться разговоров о том, что рынок перегрет, главное знать зачем вы это делаете и просто дойди до конца.

💰 Сколько зарабатывают iOS-разработчики в России в 2025 году?

• Junior – 120 000–180 000 ₽

• Middle – 250 000–350 000 ₽

• Senior – от 400 000 ₽ и выше

Но чтобы получить первый оффер, нужно освоить Swift, UIKit, сетевое взаимодействие, архитектуры (у вас должно быть понимание, для чего та или иная архитектура, основные сущности, не обязательно глубоко разбираться) и основы хранения данных. Давай разберемся, с чего начать.

1. Изучение Swift и основ программирования

Swift – это современный язык программирования от Apple. На нем пишут приложения для iOS, macOS, watchOS и tvOS.

📌 Что нужно изучить в первую очередь?

✅ Основы (переменные, типы данных, операторы)

✅ Управляющие конструкции (if, switch, for, while)

✅ Коллекции (Array, Set, Dictionary)

✅ Опционалы (Optional, nil, guard let, if let)

✅ Основы ООП (классы, структуры, наследование, протоколы)

✅ Управление памятью (ARC, weak, strong, unowned)

Читать далее

Установка и настройка принт-сервера CUPS на Ubuntu-сервере

Reading time3 min
Views4.9K

Для начала необходимо установить пакет CUPS (Common UNIX Printing System), который служит для управления принтерами и заданиями на печать. Выполните следующие команды в терминале:

sudo apt update  - обновляем список доступных пакетов.
sudo apt install cups -y  - устанавливаем CUPS без запроса подтверждения.
sudo systemctl start cups - запускаем CUPS-сервис.
sudo systemctl enable cups - добавляем CUPS в автозагрузку.

Читать далее

Квантизация

Level of difficultyEasy
Reading time5 min
Views2.4K

Если вы кликнули на данную статью, то скорее всего вы знаете, что в последнее время появляется огромное количество нейронных сетей. Они находят применение везде: и в задачах компьютерного зрения (Computer Vision, CV), и в обработке естественного языка (Natural Language Processing, NLP), распознавания и генерации речи (Speech-To-Text, STT; Text-To-Speech, TTS). Но есть что-то, что объединяет их все: у любой нейронной сети есть веса. И нам их, очевидно, нужно хранить и применять. Так как мы это делаем?

Если вы хорошо слушали и не забыли школьную информатику, вы скажете: в битах! И будете абсолютно правы. А сколько бит надо на хранение? Если мы возьмем какую-то стандартную библиотеку для обучения нейронных сетей (например PyTorch) и будем обучать модель самым простым образом, мы будем использовать тип данных FP32, он же Single precision. На каждое число мы будем выделять 32 бита. Тем не менее, сейчас стремительно набрали популярность большие языковые модели (Large Language Model, LLM), и в них огромное количество параметров. Недавно вышедшая модель от DeepSeek содержит порядка 671 млрд параметров. Можно оценить количество памяти, которая нам понадобится, если хранить все эти числа в FP32:

Читать далее

Postgres Pro OpenTelemetry Collector

Level of difficultyMedium
Reading time5 min
Views3.3K

Всем привет, меня зовут Алексей, я люблю мониторинг, немного в нем разбираюсь, а в этом посте расскажу про pgpro-otel-collector который 31 января выпустили в публичное использование.

TLDR: pgpro-otel-collector - opentelemetry-коллектор (агент мониторинга) для сбора метрик и журналов Postgres от PostgresPro.

Продолжить

Как «Писец» на Тотальный диктант ходил

Reading time17 min
Views2K

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

Я — Иван Бондаренко, старший преподаватель и научный сотрудник Новосибирского государственного университета. Спикер и член ПК конференции AiConf 2024. Сооснователь стартапа «Сибирские нейросети». Вместе с коллегами я реализовал систему, которая помогает в расшифровке живых бесед на русском языке. Мы назвали её «Писец» и протестировали на Тотальном диктанте. В этой статье расскажу, что у нас получилось: как выбирали модели, наборы данных, инструменты, как использовали Wav2Vec2 и Whisper в пайплайне распознавания, файнтюнили Whisper. Ещё коснусь вопросов робастного обучения, парадигмы минимизации инвариантного риска и понятия среды (environment) в распознавании речи.

Читать далее

Конфигуратор. Как подготовиться к развертыванию инфраструктур компаний по одной кнопке (Ansible)

Level of difficultyEasy
Reading time4 min
Views4.1K

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

Основная идея — в удобном инструменте (WEB-portal). Желательно в GUI рисовать схему цифровой инфраструктуры и передавать ее в систему развертывания (Deployer).

Читать далее

Автоматизация обработки видео на YouTube с ChatGPT: пошаговое руководство

Level of difficultyEasy
Reading time4 min
Views5.9K

Устали тратить часы на просмотр и анализ YouTube-видео? В нашем новом руководстве мы покажем, как с помощью ChatGPT и специального расширения для браузера автоматизировать обработку содержимого видео. Узнайте, как быстро получать транскрипции, создавать саммари, формировать таймкоды и генерировать полезные материалы из любого ролика на YouTube. Экономьте время и повышайте продуктивность с нашими пошаговыми инструкциями и практическими советами!

Что вы узнаете:

Как установить и настроить необходимое расширение.

Как интегрировать ChatGPT для автоматического анализа видео.

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

Советы по оптимизации процесса обработки контента.

Не пропустите возможность сделать работу с видео более эффективной и удобной!

Читать далее

Пишем Realtime для Multiple-page application в микросервисной архитектуре

Level of difficultyHard
Reading time8 min
Views4.7K

⌚️Пишем Realtime для Multiple-page application в микросервисной архитектуре

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

В статье описывается, как отправить пропущенные во время переподключения события WebSocket повторно в порядке очередности поступления

Читать далее

Как мы форкнули Uniswap v2: гайд, как сделать это быстро и просто

Level of difficultyEasy
Reading time6 min
Views1.6K

Привет, Хабр! Что если мы скажем, что сделать форк смарт-контрактов известного протокола не такая сложная задача, как может показаться? В этой статье я расскажу, как мы форкнули смарт-контракты Uniswap v2 и задеплоили их в Polygon zkEVM.  

Читать далее

Полезные чипсы с Vue 3 Composition API: Создание адаптивного компонента с фильтрацией и множественным выбором

Level of difficultyMedium
Reading time6 min
Views3.3K

Современные пользовательские интерфейсы требуют высокой интерактивности и удобства взаимодействия. В этой статье поговорим о том, как реализовать мощный, адаптивный компонент мульти‑выбора на основе Vue 3 Composition API. ChipsMultiSelect — это компонент, который объединяет возможности выпадающего списка, визуализации выбора в виде «чипсов» и встроенной фильтрации.

Выбранные элементы отображаются в виде «чипсов».

Читать далее

Обнаружение «шумных соседей» с помощью eBPF

Level of difficultyMedium
Reading time11 min
Views4.2K

Команды подразделения Netflix Compute and Performance Engineering регулярно анализируют происшествия, связанные с падением производительности программ, работающих в нашей многоарендной среде. Первый шаг такого анализа заключается определении того, что является источником проблемы: приложение или инфраструктура. Надо отметить, что подобные изыскания часто усложняет одна неприятность, известная как проблема «шумного соседа» («noisy neighbor»). На нашей многоарендной вычислительной платформе Titus «шумный сосед» представляет собой контейнер или системный сервис, который интенсивно использует серверные ресурсы, что приводит к падению производительности близких к нему контейнеров. Обычно мы уделяем особое внимание использованию CPU, так как именно за этот ресурс чаще всего борются наши рабочие нагрузки и их «шумные соседи».

Читать далее

Контур + GFS = Kanso. История развития файловой системы

Level of difficultyMedium
Reading time10 min
Views2.6K

Привет! Я Антон, работаю в команде базовой инфраструктуры Контура и занимаюсь развитием распределенной системы хранения данных Kanso. Это наш форк GFS (Google File System). Мы развиваем Kanso уже более 15 лет, в статье я расскажу про это подробнее.

Читать далее

DPDK на динозаврах и гаишниках

Reading time5 min
Views6.5K

Как часто менеджерам, дизайнерам и UX-исследователям приходится вникать в проблемы сетевого стека Linux-ядра? Подозреваю, что не часто. Но если вам пришлось это сделать, у меня хорошая новость! Я уже прошла этот путь, полный админских терминов и бесконечных аналогий, и подготовила краткое содержание в комиксах. Теперь вам не нужно будет переводить с технического на дизайнерский!

Меня зовут Наташа, я UX-исследователь в Selectel. В тексте расскажу о DPDK: что это и какую проблему решает, а также зачем потребовалось юиксеру. 🙂
Читать дальше →

Обзор и архитектура протокола LayerZero v2

Level of difficultyMedium
Reading time23 min
Views1.8K

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

Читать далее

Автоматизация сетевого оборудования на Python. Работа через jump-host

Reading time18 min
Views2.4K

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

Читать далее

Что ищет он в краю далёком? Как найти смысл жизни с PostgreSQL

Level of difficultyMedium
Reading time31 min
Views7.2K

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

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

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

Откроем скрытые смыслы

Information

Rating
Does not participate
Location
Россия
Registered
Activity