Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга

Подключайтесь к митапу об Open Source и ML через час

Ровно через час, в 18:00, вместе с ODS проведем митап с двумя полноценными сессиями. Мы расскажем про инфраструктурный ML, а ODS — про Open Source. Подключайтесь к трансляции!

Доклады

  • Автоскейлинг инференса в k8s

  • ML-платформа на базе ClearML с Dataset Mesh-принципами

  • Эффективный мониторинг территорий: MLOps для семантической сегментации спутниковых снимков

  • MLOps для дата аналитики: автоматизация ETL-процессов c помощью ClearML

  • SVETlANNa = свет + artificial neural network: как физики делали Open Source и что из этого вышло

  • Платформа для обучения нейронных сетей 

  • Проблемы и текущие решения в области real-time feature engineering / data processing в ML. Оpen Source проект Volga

Переходите по ссылке и до встречи в эфире ❤️

Теги:
+2
Комментарии0

Всем привет!

Представляю вам мой новый проект: Terpinal.

Также я называл его "терпи нал".

Это терминальная операционная система для Raspberry Pi Pico. Который выводит на SSD1306.

Вот ссылка:

https://github.com/SystemSoftware2/Terpinal

Прочитайте README.md и узнайте что и как подключить.

Также я называю операционку как PicoOS Firmware (не знаю почему так).

Теги:
-1
Комментарии3

Шеф, всё пропало! Что делать, если Роскомнадзор не работает, лежит, и уже вряд ли поднимется до 30 мая? Не успели зарегистрироваться на сайте? Есть еще два варианта: отправка печатной формы через обычное почтовое отделение и госуслуги.

С 30 мая вступают в силу масштабные поправки в законе о персональных данных №152-ФЗ с 30 мая 2025 года. К слову, я сам узнал об этом не так давно, и успел запрыгнуть в уходящий поезд.

А ещё поправки в законе об административных правонарушениях №420-ФЗ от 30 ноября 2024 года.

Сегодня мне звонят почти все друзья и знакомые из сферы IT. Почему поднялся такой шум? Изменения касаются: граждан – должностных физических лиц, бизнеса: самозанятые, ИП и юридические лица. Т.е. вообще всех, кто так или иначе работает с персональными данными. Даже организации, которые отправляют нулевую отчетность в налоговую, могут попасть под раздачу.

Это касается вообще всего: сайтов, бухгалтерии и отчетности, кадровиков.

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

Кто подпадает под требования:

  • Является работодателем, осуществляет подбор кадров.

  • Имеет базу данных с контактами контрагентов или каким либо образом хранится данная информация (CRM, 1С, ЗУП и т.д.).

  • Размещает на своем сайте форму обратной связи для физических лиц.

  • Получает доход от ведения деятельности посредством сети Интернет, осуществляют продажи онлайн и т.п.

А ответственность уже нешуточная, кроме выросших во много раз штрафов:

  • Административная ответственность;

  • Штраф до 300 000₽ за отсутствие уведомления о начале обработки ПД;

  • Уголовная ответственность (статья 272.1 УК).

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

Забавно, что есть и казусы.
Новые изменения говорят о том, что после увольнения ПД сотрудника должны уничтожаться. Но, штука в том, что: просто удалить файл уже недостаточно. Уничтожение должно быть произведено на специальном оборудовании и ПО, прошедшем оценку соответствия (которых, как вы понимаете, нет).
А вот по ст. 445 Перечня, утв. Приказом Росархива от 20.12.2019 N 236 срок хранения для документов, подтверждающих трудовую деятельность 50/75 лет.

Теги:
0
Комментарии2

Эволюция кибербезопасности: от первых компьютеров до сегодняшнего хайпа

Эксплойты, вирусы, даркнет — сегодня эти слова в новостных лентах появляются чуть ли не каждый день. В СМИ муссируются крупные DDoS-атаки. Невидимый фронт ИБ не спит ни минуты.

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

Рассказывают директор по информационной безопасности РТК-ЦОД Денис Поладьев и директор центра противодействия кибератакам Solar JSOC группы компаний «Солар» Владимир Дрюков.

Ведущий — Александр Соколов

Выпуск можно посмотреть:

Теги:
+1
Комментарии0

Порадуем вас обновами в Kubernetes

А новостей собралось действительно много:

➖ Добавили в маркетплейс дополнений ArgoCD и cert-manager Webhook, который дружит с нашим API. С ними можно автоматизировать деплой приложений и упростить выпуск и обновление TLS-сертификатов в Kubernetes
➖ Открываем новые локации — теперь можно создавать кластеры и во Франкфурте
➖ Обновили публичную документацию API и добавили доки для части аддонов Kubernetes + описание всех новых параметров API
➖ Плюсик к карме и к безопасности — read-only режим для API-токенов, которые выпускаются автоматически при создании кластеров. Никаких случайных изменений или удалений

Забрать все обновы в Kubernetes себе →

Теги:
+7
Комментарии0

Работайте с большими данными в Evolution Data Platform 📊

❓ Что за инструмент? Evolution Data Platform — платформа для обработки больших данных, которая включает в себя несколько PaaS-сервисов. Среди них:

  1. Evolution Managed Trino — массивно-параллельный аналитический SQL-движок Trino с использованием распределенных запросов.

  2. Evolution Managed Metastore — сервис для хранения метаданных таблиц из разных источников. Metastore сообщает клиентским приложениям, где хранятся данные, как к ним обращаться и как их интерпретировать.

  3. Evolution Managed Spark — сервис для развертывания кластерного вычислительного решения на основе Apache Spark для распределенной обработки данных.

  4. Evolution Managed ArenadataDB — аналитическая база данных для хранения большого объема структурированных и полуструктурированных данных.

🖥 Особенности и преимущества. Вы можете выбрать любой сервис, который подходит под определенные задачи, или же комбинировать их. Из плюсов конкретных сервисов:

  1. Evolution Managed Trino способен работать с разными источниками в одном SQL-запросе, есть несколько конфигураций Trino. А еще можно создать приватный инстанс, недоступный из интернета.

  2. Evolution Managed Metastore прямо из интерфейса можно подключить к другим сервисам платформы Cloud.ru Evolution. Создание и обновление инстансов происходит за минуты, а данные для подключения к S3 — в безопасности, так как хранятся в сервисе Secret Management.

  3. Evolution Managed Spark позволяет отслеживать статусы выполнения задач, обрабатывать данные из Object Storage, а также из большинства доступных БД.

  4. Evolution Managed ArenadataDB дает возможность развертывать инстансы без обслуживания инфраструктуры, а кластеры Greenplum разворачиваются автоматически. Доступны конфигурации от 3 до 50 ТБ, что позволяет адаптировать систему под разные задачи.

👨‍💻 Кому будет полезно. PaaS-сервисы платформы Evolution Data Platform найдут применение во всех областях, где работают с большими объемами данных: финансовых учреждениях, ретейле, логистике, крупном и среднем бизнесе — и не только. Также сервисы будут полезны в машинном обучении и разработке. 

✍️ Где, как и для чего использовать. Для обработки структурированных, слабоструктурированных и неструктурированных данных, SQL-аналитики, ML, хранения метаданных таблиц, отправки сложных запросов, проверки гипотез, A/B-тестирований, построения приложений данных, интерактивного специального анализа данных.

В июне Evolution Managed Trino и Evolution Managed Metastore выйдут в коммерческий доступ, а еще станут доступны для тестирования сервисы Evolution Managed Airflow и Evolution Managed BI. Смотрите доклад с конференции GoCloud 2025, чтобы больше узнать о PaaS-сервисах для работы с данными 🌐

Теги:
0
Комментарии0

Кейс. Как Альфа-Лизинг интегрировал в ESM-платформу 9 отделов (ИТ, HR, АХО, бухгалтерию и др.) и повысил эффективность их работы на 33%

Знакома ситуация, когда процессы разных подразделений — разрозненные, неподконтрольные, а сотрудники тратят часы, чтобы просто понять: «к кому обратиться?». HR живёт по одним правилам, ИТ в Service Desk или ITSM — по другим, АХО — вообще в Excel. Вопросы теряются в переписках, задачи дублируются, никто не несёт полной ответственности за сроки или качество внутренней услуги. В итоге страдает не только конечный потребитель услуги — ваш сотрудник или клиент, но и бизнес из-за низкой производительности отделов.

10 июня на примере Альфа-Лизинг вы узнаете, как компания совершила эволюционный переход от классического ITSM к полноценной ESM-модели, объединив более 9 бизнес-подразделений (ИТ, HR, АХО, бухгалтерию и другие) в единой цифровой среде и повысила операционную эффективность подразделений на 33%окупив внедрение ESM-платформы за 7 месяцев.

Когда: 10 июня в 15:00 (МСК)

  • Почему компании переходят от ITSM к ESM — стратегические цели и выгоды.

  • Как побороть разрозненность процессов и «силосное» мышление между подразделениями.

  • Культурный сдвиг: как ESM меняет подход к работе внутри компании.

  • Как выстроить единую цифровую экосистему внутренних сервисов с участием ИТ, HR, бухгалтерии и других функций.

  • Реальные кейсы внедрения ESM в нетехнических подразделениях.

  • Техническая реализация: архитектура, процессы, автоматизация.

  • Метрики и результаты: скорость обслуживания, удовлетворённость, ROI

🔗 РЕГИСТРАЦИЯ

Теги:
0
Комментарии0

АНБ США рассекретила внутреннее исследование 1988 года под названием: «Пятьдесят лет математического криптоанализа (1937-1987)».

Теги:
+2
Комментарии1

Все, что нужно знать об ИИ-агентах

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

В видео разбираю:

• Почему корпорации и государства инвестируют миллиарды в автономных ИИ-агентов;

• Как работает ИИ-агент: от восприятия до принятия решений и действий;

• Где уже сейчас применяются ИИ-сотрудники;

•  Как избежать ключевых рисков и ошибок при работе с ИИ-агентами;

•  Реальные кейсы от OpenAI, Amazon, Harvey, Artisan и других.

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

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

Теги:
+2
Комментарии0

LLVM IR: что это такое?

Главной особенностью LLVM является промежуточное представление кода (англ. Intermediate Representation, IR), форма, которую использует LLVM для представления кода в компиляторе. LLVM IR был разработан для выполнения функций промежуточного анализа и преобразований внутри оптимизатора компилятора. Ее создание имело целью решение множества специализированных задач, включая поддержку легковесных оптимизаций среды выполнения, кроссфункциональные и межпроцедурные оптимизации, полный анализ программы и агрессивные реструктурирующие преобразования. Промежуточное представление кода определено как язык первого порядка с четкой семантикой.

IR (Intermediate Representation) в контексте LLVM — это промежуточное представление кода. Это низкоуровневое, независимое от платформы и типобезопасное представление программного кода, которое используется в качестве промежуточного языка между интерфейсной частью и серверной частью компилятора.

define i32 @add1(i32 %a, i32 %b) {
entry:
  %tmp1 = add i32 %a, %b
  ret i32 %tmp1
}

define i32 @add2(i32 %a, i32 %b) {
entry:
  %tmp1 = icmp eq i32 %a, 0
  br i1 %tmp1, label %done, label %recurse

recurse:
  %tmp2 = sub i32 %a, 1
  %tmp3 = add i32 %b, 1
  %tmp4 = call i32 @add2(i32 %tmp2, i32 %tmp3)
  ret i32 %tmp4

done:
  ret i32 %b
}

Этот код LLVM IR соответствует следующему коду на языке C, обеспечивающему возможность сложения целых чисел двумя разными способами:

unsigned add1(unsigned a, unsigned b) {
  return a+b;

}
// возможно не самый лучший способ сложения двух чисел
unsigned add2(unsigned a, unsigned b) {
  if (a == 0) return b;
  return add2(a-1, b+1);
}

Как видно из этого примера, LLVM IR — низкоуровневый RISC-подобный набор виртуальных инструкций. Как и настоящий набор инструкций RISC, он поддерживает линейные последовательности простых инструкций (сложение, вычитание, сравнение и ветвление). Эти инструкции имеют трехадресную форму. Это значит, что они берут некоторое количество входных данных и вычисляют результат в другом регистре. LLVM IR поддерживает метки и в целом выглядит как необычная форма языка ассемблера.

Строго говоря, промежуточное представление LLVM является четко определенным и единственным интерфейсом оптимизатора. Это означает, что всё, что необходимо знать, чтобы писать фронтенды для LLVM, это: что такое LLVM IR, как он работает и какие инварианты ему необходимы. Так как LLVM IR имеет текстовую форму, то имеет смысл создавать фронтенд, который выводит LLVM IR в виде текста, а затем отправляет его на оптимизатор и необходимый генератор кода при помощи каналов Unix.

Теги:
+3
Комментарии0

Игра Cyberpunk 2 вышла на стадию предпродакшена, сообщили разработчики из CD Projekt Red. Над тайтлом работают 96 разработчиков, но всего в проекте около 200 сотрудников.

Продолжение Cyberpunk 2077 от CD Projekt Red (CDPR), которое студия теперь называет Cyberpunk 2, перешло из «концептуальной фазы» в стадию подготовки к производству. Игра имела кодовое название «Project Orion» с момента ее анонса в 2022 году.

Теги:
+1
Комментарии0

Летняя школа Surf: учим IT-профессиям на практике

>> Подробности и регистрация <<

Мы запускаем интенсивы в формате школы — онлайн-занятия, которые помогут разобраться, что такое работа в IT и с чего начать. Погрузиться вместе в IТ-профессии: мобильную и фронтенд-разработку, бизнес-анализ и тестирование ПО.

Для кого: для студентов, джунов и всех, кто хочет в IT, но не знает, с какой стороны подступиться

Зачем: чтобы получить крепкую базу по востребованным направлениям. Говорим про разработку, тестирование, бизнес-анализ — и, да, немного про AI тоже. Тем, кто проявит себя, предложим продолжить обучение уже внутри команды Surf.

Чему именно будем обучать:

QA — разберёмся, как искать баги и помогать делать продукты лучше.

BA — научим превращать идеи заказчика в понятные задачи для команды.

Разработка Android, iOS, Flutter (один код — несколько платформ), Frontend.

Можно приходить слушать все занятия и потом выбрать направление, которое откликнется.

Что ещё:

  • Никакой духоты и формальностей, объясняем по-человечески.

  • Примеры — с реальных проектов Surf.

  • Поощряем нейроэнтузиазм: покажем, как AI может помочь, и дадим применить это в заданиях.

  • Если нужно — оформим как учебную или производственную практику, с документами поможем.

Расписание, подробности и форма заявки — на сайте школы.

Если у тебя остались вопросы про школу, пиши нам на Хабре или в Telegram.

Теги:
0
Комментарии0

⚡️Нейросеть Илона Маска Grok стала частью Telegram — об этом объявил Павел Дуров.

Уже в ближайших обновах добавят много крутых фич:
— Можно будет задавать Grok вопросы прямо в поиске;
— Grok сможет менять стиль вашего сообщения и делать его более подробным;
— Можно будет делать выжимки больших сообщений и файлов;
— Grok сможет быть модератором чатов;
— Нейронка сможет проводить фактчеккинг постов из каналов.

Также Telegram получит $300 млн. за партнёрство с Илоном Маском, которое рассчитано на год.

Теги:
+4
Комментарии5

Ближайшие события

Для чего нужен атрибут useglobal в полях форм и как его применять в Joomla 5

В официальной документации есть краткая статья Conditional Field Display Customizing Forms Based on Global Settings, у меня не получилось перевести её дословно, поэтому расскажу своими словами.

Давайте разберёмся что это такое на примере компонента com_contact. Посмотрим настройки компонента.

(Здесь должна была быть картинка, но в посте она может быть только одна.)

Видим что параметр Contact Category в положении Hide (у вас может быть в другом).

Теперь откроем страницу создания/изменения контакта и перейдём на вкладку Display.

Мы видим что параметр Category имеет первый вариант Use Global (Hide). То есть нам не надо помнить значение из общих настроек компонента, оно перед нами. Если мы изменим его в компоненте, то оно изменится и здесь.

Как это использовать разработчику компонентов

У меня есть простой компонент для экспорта товаров из JoomShopping в XML com_wishboxjshoppingxmlexport.

Добавлю в настройки компонента поле test_mode в файле: Root/administrator/components/com_wishboxjshoppingxmlexport/config.xml

<field
		name="test_mode"
		type="list"
		label="COM_WISHBOXJSHOPPINGXMLEXPORT_FIELD_TEST_MODE_LABEL"
		default="0"
>
	<option value="0">JNO</option>
	<option value="1">JYES</option>
</field>

И добавлю такое же поле в сущность (item) в файле: Root/administrator/components/com_wishboxjshoppingxmlexport/forms/item.xml

<field
		name="test_mode"
		type="list"
		label="COM_WISHBOXJSHOPPINGXMLEXPORT_FIELD_TEST_MODE_LABEL"
		default="0"
>
	<option value="0">JNO</option>
	<option value="1">JYES</option>
</field>

Добавим полю в форме Item атрибут useglobal="true"

<field
		name="test_mode"
		type="list"
		label="COM_WISHBOXJSHOPPINGXMLEXPORT_FIELD_TEST_MODE_LABEL"
		default="0"
        useglobal="true"
>
	<option value="0">JNO</option>
	<option value="1">JYES</option>
</field>

Готово! На странице создания/изменения Item‑а экспорта у поля test_mode появилась опция Use Global (Yes). То есть достаточно добавить атрибут useglobal="true".

Из каких глобальных настроек берётся значение

  • из настроек компонента (компонент определяется параметром option в URL, кроме редактирования пункта меню, для меню подставляется компонент из ссылки пункта меню);

  • из общих настроек Joomla если не получили из настроек компонента.

В каких типах полей стандартных полей работает этот атрибут

  • ListField — Добавляется опция Use Global (...);

  • NumberField — Значение из глобальных настроек отображается как placeholder;

  • TextField — Placeholder.

А так же во всех полях, которые наследуют одно их вышеперечисленных.

Теги:
+3
Комментарии0

Управляемые сервисы на базе YTsaurus и Apache Spark, новые возможности DataLens и Yandex Cloud AI Studio — о чём говорили на Data&ML2Business

Собрали самые интересные анонсы с Data&ML2Business, ежегодной конференции Yandex Cloud о практическом применении технологий. Вот что прозвучало на главном докладе 28 мая.

Трек Data

Ранний доступ к Yandex Managed Service for YTsaurus. Платформа Яндекса для хранения и обработки больших данных YTsaurus уже два года в опенсорсе, а с этого дня доступ к ней открывается ещё в двух форматах: в облаке и в инфраструктуре заказчика (on‑premise).

Создать базовый кластер YTsaurus теперь можно в привычной консоли
Создать базовый кластер YTsaurus теперь можно в привычной консоли

Для тестирования работы в этих форматах необходимо подать заявку.

Доступ к сервису Yandex Managed Service for Spark. Новый управляемый сервис на базе опенсорс-решения поможет с загрузкой и обработкой данных, а также задачами машинного обучения в облаке. Протестировать его в режиме Preview можно здесь.

Кроме этого, в публичный доступ вышел сервис управления распределённым аналитическим массивно‑параллельным движком обработки больших данных Trino в облачной инфраструктуре.

Обновления Yandex DataLens. Что появилось в сервисе BI‑аналитики:

  • DataLens Gallery — публичная витрина готовых примеров дашбордов. Теперь любой пользователь может открыть галерею, выбрать нужную отрасль или предметную область и изучить готовые дашборды и модели данных, а также стать автором галереи. При согласии автора дашборд из галереи можно развернуть у себя в качестве примера или стартового дашборда.

  • DataLens Editor — редактор для кастомизации графиков и таблиц с помощью JavaScript. Пользователи смогут создавать продвинутые визуализации и удобно интегрировать данные из нескольких источников (включая внешние API).

  • Собственная программа сертификации Yandex DataLens Certified Analyst. С её помощью специалисты могут официально подтвердить свои навыки работы с DataLens. На экзамене проверяются знания и навыки работы с чартами и датасетами, вычисляемыми полями и параметрами, внешними источниками данных, построения дашбордов и выдачи доступов.

Также на конференции рассказали про OLAP-движок для YDB. Теперь СУБД подходит для самых высоконагруженных сценариев. В последней версии YDB появился неточный векторный поиск, позволяющий использовать YDB для специализированных задач, связанных с ИИ.

Трек ML

Обновления RAG‑пайплайна в AI Assistant API. Доступный на платформе Yandex Cloud AI Studio инструмент для создания умных ассистентов дополнился новым графическим UI — теперь создать виртуального помощника можно не только через API или SDK. Возможности поиска данных по базам знаний также расширились: доступны поддержка новых типов данных (таблицы и pdf‑файлы), дообучение эмбедингов, обогащение чанков метаданными, получение метаданных ответа, а также использование дообученной модели. Также на платформе появился рефразер — отдельная модель, которая может перефразировать запросы пользователя.

Доступ к Yandex Cloud AI Studio on‑premise. AI‑платформа Yandex Cloud внесена в реестр отечественного ПО, что позволяет интегрировать решения как в облаке, так и в своей инфраструктуре.

Эксперты обсудили и уже состоявшиеся запуски: 

  • Инструменты работы с OpenAI Compatible API в облаке. API для языковых моделей в Yandex Cloud AI Studio совместим с OpenAI API. Благодаря этому модели YandexGPT проще интегрировать с популярными решениями для работы с ML, например, AutoGPT или LangChain. В совместимом с OpenAI API поддерживаются Function Calling, работа с эмбеддингами и Structured Output.

  • Смысловые теги Yandex SpeechSense — инструмент умного тегирования и поиска для анализа диалогов в колл‑центрах, доступный отдельно по клиенту и оператору.

  • Доступ к VLM и LLM в режиме Batch Processing и co‑pilot сервис для операторов Yandex Neurosupport — о которых мы рассказывали на Хабре.

На конференции более 20 спикеров представили 15 докладов по направлениям Data и ML. Подключайтесь к трансляции на странице мероприятия или смотрите в записи, чтобы познакомиться с опытом внедрения технологий.

Теги:
+5
Комментарии0

Заработать 150 000 рублей, просто порекомендовав хорошего специалиста?

Ozon Tech ищет опытных экспертов уровня senior+ в Data Science и готов заплатить 150 000 рублей за наводку.

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

1. Вы рекомендуете знакомого (если сами не работаете в Ozon).

2. Его берут на работу, и он успешно проходит испытательный срок.

3. Вы получаете бонус — 150 тысяч рублей.

Важно, чтобы кандидат тоже не работал в Ozon и не проходил интервью как минимум последние 3 месяца. 
Количество рекомендаций не ограничено — чем больше хороших специалистов вы знаете, тем больше можно заработать. Только нельзя рекомендовать самого себя (но можно попросить друга вас порекомендовать 😏).

🔗 Подробнее о вакансиях и условиях.

А если хотите откликнуться на вакансии без участия в реферальной программе, заходите на наш карьерный портал:

Теги:
+1
Комментарии2

26 мая 2025 года в соцсети X появился ролик, про кенгуру, которого не пускают на борт самолёта даже с билетом в лапах. В публикации автор отметил, что видео сгенерировано ИИ, но многие всё равно приняли его за настоящее.

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

Теги:
+3
Комментарии0

Я устал от форматирования JSON файлов

Я много и часто просматриваю JSON-файлы: от конфигураций сервисов до API ответов и логов. Каждый раз, открывая очередной файл, я форматирую содержимое, чтобы было удобнее читать (ведь JSON не только machine-readable, но и human-readable). И каждый раз я грущу, что все сервисы (онлайн, встроенные средства IDE и даже плагины) предоставляют лишь две крайности: форматировать всё или ничего (минифицировать в одну строку).

Но что, если я хочу отформатировать JSON лишь до определённого уровня? Что, если у меня есть огромный список словарей (возможно, даже глубоких), который при форматировании выглядит как-то так:

[
    {
        "id": 1,
        "name": "Alice",
        "birthday": {
            "day": 5,
            "month": 4,
            "year": 1983
        }
    },
    {
        "id": 2,
        "name": "Bob",
        "birthday": {
            "day": 6,
            "month": 2,
            "year": 1945
        }
    },
    {
        "id": 3,
        "name": "Eve",
        "birthday": {
            "day": 10,
            "month": 11,
            "year": 1978
        }
    }
]

Что, если я хочу оставить каждый словарь в более компактном (не совсем минифицированном) виде? Например, таком:

[
    {"id": 1, "name": "Alice", "birthday": {"day": 5, "month": 4, "year": 1983}},
    {"id": 2, "name": "Bob", "birthday": {"day": 6, "month": 2, "year": 1945}},
    {"id": 3, "name": "Eve", "birthday": {"day": 10, "month": 11, "year": 1978}}
]

Или я хочу, чтобы в каждом словаре развёрнуты были только внешние ключи?

[
    {
        "id": 1,
        "name": "Alice",
        "birthday": {"day": 5, "month": 4, "year": 1983}
    },
    {
        "id": 2,
        "name": "Bob",
        "birthday": {"day": 6, "month": 2, "year": 1945}
    },
    {
        "id": 3,
        "name": "Eve",
        "birthday": {"day": 10, "month": 11, "year": 1978}
    }
]

Да, многие текстовые редакторы вроде Sublime Text или VS Code дают возможность свернуть контент до определённого уровня. Но что, если я хочу оставить файл в этом промежуточном виде и просматривать его прямо в терминале, подключившись по ssh? Или я хочу посмотреть файл на гитхабе с телефона? Да, возможно, мои вкусы весьма специфичны, но в существующих реалиях я вынужден грустно довольствоваться лишь полностью развёрнутым вариантом (или делать это вручную). Встроенные средства форматирования JSON в JS или Python также не предоставляют простой возможности ограничить глубину (либо я так и не научился их готовить).

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

Да, он вряд ли подойдёт, чтобы редактировать на лету гигантские JSON файлы. И он уж точно не пытается стать убийцей какого-либо из существующих онлайн сервисов. В первую очередь он призван решить мою проблему: сделать форматирование JSON чуточку более управляемым. А если и вы сталкивались с подобной проблемой, буду рад, если сервис поможет и вам!

Теги:
+7
Комментарии0

Таблица соответствия кодов всех регионов России

Коды регионов зашифрованы повсеместно: в документах, автомобильных номерах, телефонах, адресах. Например, обычно первые две цифры в серии паспорта соответствуют коду ОКАТО. Но есть исключения: так, в паспортах Ямало-Ненецкого АО и ряда других регионов вместо него используется другой индекс.  

Мы подготовили таблицу соответствия кодов по всем регионам России — посмотреть и скачать ее можно здесь.

В таблице отражена связь между:

  • кодами ФНС,

  • кодами подразделений, выдающих паспорта,

  • кодами в серии паспорта,

  • первыми автомобильными кодами,

  • кодами Росстата.

На что обратить внимание

  1. Автомобильные коды быстро меняются, и во многих регионах сразу несколько кодов. В таблице приведены только первые.

  2. Телефоны и почтовые индексы тоже начинаются на свой код региона. Причем один код может использоваться в разных регионах, а в одном регионе может использоваться несколько кодов. 

  3. В серии паспорта могут встречаться два универсальных кода — 09 и 39 — они не привязаны к конкретным регионам России.

  4. В классификаторах Росстата ОКАТО и ОКТМО группы субъектов идут в следующем порядке:

    • края, 

    • области, 

    • автономные округа, 

    • республики,

    • автономные области.

  5. Внутри групп субъекты РФ упорядочены по алфавиту. Но это правило верно не всегда: со временем регионы переименовываются, меняется их статус и появляются новые, а менять каждый раз код было бы неудобно. Поэтому:

    • Камчатский край до 2007 года был областью — в списке регионов он среди областей с кодом 30. Аналогичная ситуация у Пермского края;

    • Республика Алтай в этом порядке считается начинающейся на Р, а не на А, как Адыгея;

    • Часть автономных округов по ОКАТО/ОКТМО относится к другим субъектам.

  6. Интересно, что в 65-й статье Конституции РФ субъекты перечислены в ином порядке: республики, края, области, города федерального значения, автономные области и автономные округа.

 

Теги:
+2
Комментарии1

Павел Дуров рассказал, что количество пользователей Telegram Premium достигло 15 миллионов. Каждые 8 месяцев прибавляется по 5 млн новых пользователей подписки: в январе 2024 года у Telegram Premium было 5 миллионов подписчиков, а в сентябре — уже 10 миллионов.

19 июня 2022 года в мессенджере Telegram стала доступна подписка Premium. По словам разработчиков, эта опция «позволит и дальше развивать и совершенствовать Telegram, чтобы он оставался бесплатным, независимым и ориентированным на пользователя».

Теги:
+1
Комментарии0