#типы_данных — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #типы_данных, aggregated by home.social.
-
Тест для «сеньора»: в каком типе данных хранить номер паспорта?
Простой вопрос, который разделяет инженеров и «операторов фреймворков» Дисклеймер для опытных: если вы знаете ответ – внутри реальный кейс, как этот баг сломал мой паспорт в проде, и история с собеседования, от которой хочется плакать.
https://habr.com/ru/articles/1012950/
#базы_данных #проектирование_бд #собеседование_it #типы_данных #ошибки_разработчиков
-
Kotlin для новичков: переменные и базовые операции — полный гайд 2026
Продолжаем серию статей для тех, кто начинает изучать Kotlin с нуля. Во втором уроке детально разбираем фундамент языка: ▪️Неизменяемые ( val ) и изменяемые ( var ) переменные ▪️Базовые типы: Int , Double , String , Boolean , Char ▪️Строковые шаблоны и многострочные строки ▪️Арифметические операции, целочисленное и вещественное деление ▪️Преобразование типов (явное и неявное) ▪️Ввод данных с консоли через readln() ▪️Символы и Unicode (коды символов) ▪️Особенности остатка от деления с отрицательными числами ▪️Инкремент и декремент (префиксная и постфиксная формы) Все примеры кода — из реальной практики, доступны в открытом репозитории на GitHub (ссылка в статье). Материал подготовлен на основе опыта преподавания в OTUS и работы в FinTech. Статья поможет вам быстро войти в тему и избежать типичных ошибок новичков. Идеально для первого знакомства с языком или для систематизации знаний.
https://habr.com/ru/companies/otus/articles/1008352/
#Kotlin #Программирование #Обучение #JVM #Переменные #Типы_данных #Основы_программирования
-
Перестаем бороться с компилятором TypeScript и начинаем писать безопасный и строго типизированный код
Система типов в TypeScript может творить чудеса, но на практике многие используют ее едва ли на десять процентов. Признайтесь, мы все хотя бы раз лепили any просто чтобы компилятор отстал и дал собрать проект. Проблема в том, что такие компромиссы рано или поздно приводят к неожиданным падениям в рантайме. В этой небольшой статье мы разберем несколько полезных практик, которые помогут писать более чистый код и будут реально отлавливать баги еще до того, как они попадут в продакшен.
https://habr.com/ru/articles/1003342/
#typescript #программирование #типы_данных #javascript #satisfies #type_guard
-
Окончательно разбираем списки в питоне
Какая структура данных стоит за list ? Как быстро отрабатывает операция append ? Эти вопросы часто задают на собеседованиях, и чтобы на них отвечать, нужно понимать, как список работает под капотом. В этой статье разберём, как же устроен список в питоне, копнём на уровень CPython и позапускаем код. После прочтения вы будете знать о списках больше, чем ваши коллеги. Разобраться в списках
https://habr.com/ru/articles/989942/
#python #подготовка_к_собеседованию #бэкенд #списки #типы_данных #типы_данных_в_python #структуры_данных #динамический_массив #массивы #питон
-
Окончательно разбираем списки в питоне
Какая структура данных стоит за list ? Как быстро отрабатывает операция append ? Эти вопросы часто задают на собеседованиях, и чтобы на них отвечать, нужно понимать, как список работает под капотом. В этой статье разберём, как же устроен список в питоне, копнём на уровень CPython и позапускаем код. После прочтения вы будете знать о списках больше, чем ваши коллеги. Разобраться в списках
https://habr.com/ru/articles/989942/
#python #подготовка_к_собеседованию #бэкенд #списки #типы_данных #типы_данных_в_python #структуры_данных #динамический_массив #массивы #питон
-
Окончательно разбираем списки в питоне
Какая структура данных стоит за list ? Как быстро отрабатывает операция append ? Эти вопросы часто задают на собеседованиях, и чтобы на них отвечать, нужно понимать, как список работает под капотом. В этой статье разберём, как же устроен список в питоне, копнём на уровень CPython и позапускаем код. После прочтения вы будете знать о списках больше, чем ваши коллеги. Разобраться в списках
https://habr.com/ru/articles/989942/
#python #подготовка_к_собеседованию #бэкенд #списки #типы_данных #типы_данных_в_python #структуры_данных #динамический_массив #массивы #питон
-
Окончательно разбираем списки в питоне
Какая структура данных стоит за list ? Как быстро отрабатывает операция append ? Эти вопросы часто задают на собеседованиях, и чтобы на них отвечать, нужно понимать, как список работает под капотом. В этой статье разберём, как же устроен список в питоне, копнём на уровень CPython и позапускаем код. После прочтения вы будете знать о списках больше, чем ваши коллеги. Разобраться в списках
https://habr.com/ru/articles/989942/
#python #подготовка_к_собеседованию #бэкенд #списки #типы_данных #типы_данных_в_python #структуры_данных #динамический_массив #массивы #питон
-
[Перевод] Мы научили ИИ писать настоящий код для Postgres (и выложили в open source)
Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене. В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.
https://habr.com/ru/companies/otus/articles/993542/
#Postgres #миграции #индексы #типы_данных #LLMагенты #best_practices #postgresql
-
[Перевод] Мы научили ИИ писать настоящий код для Postgres (и выложили в open source)
Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене. В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.
https://habr.com/ru/companies/otus/articles/993542/
#Postgres #миграции #индексы #типы_данных #LLMагенты #best_practices #postgresql
-
[Перевод] Мы научили ИИ писать настоящий код для Postgres (и выложили в open source)
Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене. В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.
https://habr.com/ru/companies/otus/articles/993542/
#Postgres #миграции #индексы #типы_данных #LLMагенты #best_practices #postgresql
-
[Перевод] Мы научили ИИ писать настоящий код для Postgres (и выложили в open source)
Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене. В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.
https://habr.com/ru/companies/otus/articles/993542/
#Postgres #миграции #индексы #типы_данных #LLMагенты #best_practices #postgresql
-
Типизация данных в PHP, надо ли оно? Прирост скорости JIT
Влияет ли типизация данных на скорость работы PHP? Варианты конфигурации JIT. Не самые комплексные тесты, но результат понятен.
-
[Перевод] Ранняя история алгебраических типов данных
Это началось со статьи "Алгебраические типы данных на самом деле не такие страшные". Мы знаем о типах-суммах и типах-произведениях. Но задумывались ли вы когда-нибудь о том, откуда они получили такие имена, и как вообще были открыты они и их свойства? Я провел последнюю неделю в кроличьей норе истории, и я просто обязан поделиться тем, что я нашёл.
https://habr.com/ru/articles/962522/
#алгебраические_типы_данных #история_it #история #типизация #типсумма #типы_данных
-
[Перевод] Как хранить деньги в базах данных и почему это не так просто, как кажется
Хранение денежных сумм в базах данных и API: анализ подходов платежных систем Хранение денег — вещь только на первый взгляд простая, а на деле содержит множество подводных камней. Выбрав не тот тип данных, можно получить неточности в расчётах, возможна путаница при переводе суммы из одной валюты в другую. А если ещё и подключать внешние API, у каждого из которых своя точность для одних и тех же валют, уследить за совместимостью еще труднее. Разбираем, как решают эти проблемы Stripe, PayPal, Google Wallet и другие платежные системы. Сравниваем три основных подхода: Integer minor units, Decimal base units и String base units.
https://habr.com/ru/articles/924838/
#валюты #валюты_мира #финансовые_системы #decimal #bigint #типы_данных #float #double #хранение_данных #платежные_системы
-
Типы данных для хранения вещественных чисел в PostgreSQL
В статье рассматриваются особенности типов данных для хранения вещественных чисел в PostgreSQL. Типы данных PostgreSQL для работы с вещественными числами: 1) float4, синоним real, синоним float(1..24) 2) float8, синоним float, синоним double precision, синоним float(25..53) 3) numeric синоним decimal. Диапазон для этого типа значительный: 131072 цифр до точки и 16383 цифр после точки. Но если при определении типа указать numeric(точность, масштаб), то максимальные значения точности и масштаба 1000. numeric можно объявить с отрицательным масштабом: значения могут округляться десятков, сотен, тысяч. Кроме чисел и null поддерживаются значения Infinity, -Infinity, NaN. Поля типов данных фиксированной длины не могут вытесняться в TOSAT-таблицу, переменной длины (numeric) могут. float4 обеспечивает точность 6 разрядов (значащих чисел в десятичной системе счисления), float8 обеспечивает точность 15 разрядов. Последний разряд округляется:
-
Типы данных для хранения вещественных чисел в PostgreSQL
В статье рассматриваются особенности типов данных для хранения вещественных чисел в PostgreSQL. Типы данных PostgreSQL для работы с вещественными числами: 1) float4, синоним real, синоним float(1..24) 2) float8, синоним float, синоним double precision, синоним float(25..53) 3) numeric синоним decimal. Диапазон для этого типа значительный: 131072 цифр до точки и 16383 цифр после точки. Но если при определении типа указать numeric(точность, масштаб), то максимальные значения точности и масштаба 1000. numeric можно объявить с отрицательным масштабом: значения могут округляться десятков, сотен, тысяч. Кроме чисел и null поддерживаются значения Infinity, -Infinity, NaN. Поля типов данных фиксированной длины не могут вытесняться в TOSAT-таблицу, переменной длины (numeric) могут. float4 обеспечивает точность 6 разрядов (значащих чисел в десятичной системе счисления), float8 обеспечивает точность 15 разрядов. Последний разряд округляется:
-
Типы данных для хранения вещественных чисел в PostgreSQL
В статье рассматриваются особенности типов данных для хранения вещественных чисел в PostgreSQL. Типы данных PostgreSQL для работы с вещественными числами: 1) float4, синоним real, синоним float(1..24) 2) float8, синоним float, синоним double precision, синоним float(25..53) 3) numeric синоним decimal. Диапазон для этого типа значительный: 131072 цифр до точки и 16383 цифр после точки. Но если при определении типа указать numeric(точность, масштаб), то максимальные значения точности и масштаба 1000. numeric можно объявить с отрицательным масштабом: значения могут округляться десятков, сотен, тысяч. Кроме чисел и null поддерживаются значения Infinity, -Infinity, NaN. Поля типов данных фиксированной длины не могут вытесняться в TOSAT-таблицу, переменной длины (numeric) могут. float4 обеспечивает точность 6 разрядов (значащих чисел в десятичной системе счисления), float8 обеспечивает точность 15 разрядов. Последний разряд округляется:
-
Типы данных для хранения вещественных чисел в PostgreSQL
В статье рассматриваются особенности типов данных для хранения вещественных чисел в PostgreSQL. Типы данных PostgreSQL для работы с вещественными числами: 1) float4, синоним real, синоним float(1..24) 2) float8, синоним float, синоним double precision, синоним float(25..53) 3) numeric синоним decimal. Диапазон для этого типа значительный: 131072 цифр до точки и 16383 цифр после точки. Но если при определении типа указать numeric(точность, масштаб), то максимальные значения точности и масштаба 1000. numeric можно объявить с отрицательным масштабом: значения могут округляться десятков, сотен, тысяч. Кроме чисел и null поддерживаются значения Infinity, -Infinity, NaN. Поля типов данных фиксированной длины не могут вытесняться в TOSAT-таблицу, переменной длины (numeric) могут. float4 обеспечивает точность 6 разрядов (значащих чисел в десятичной системе счисления), float8 обеспечивает точность 15 разрядов. Последний разряд округляется:
-
[Перевод] Руководство по эффективной локализации в Unreal Engine
Локализация — один из ключевых, но часто недооценённых аспектов разработки игр. По мере роста глобальной аудитории игроки ожидают видеть игры на своём родном языке, и локализация становится не роскошью, а необходимостью. Однако локализация — это не просто перевод текста. Она включает в себя решение технических задач, учёт культурных особенностей и оптимизацию рабочего процесса, чтобы обеспечить плавный и комфортный игровой опыт на нескольких языках. В этой статье я расскажу о сложностях локализации в Unreal Engine, опираясь на свой опыт работы над Wizard of Legend 2 . Мы разберём сбор и управление текстом, а также проблемы с форматированием, гендерно‑зависимым языком и обработкой шрифтов. Также я расскажу о ключевых аспектах, которые могут вызвать задержки, и о том, как их минимизировать.
https://habr.com/ru/companies/otus/articles/923968/
#геймдев #unreal_engine #Гендерная_локализация #шрифты #типы_данных #FText #unicode #Пайплайн_локализации
-
Как устроены переменные в Python: глубокое погружение в память и типы данных
В мире Python существует много мифов о том, как работают переменные. Одни говорят, что "всё передаётся по ссылке", другие утверждают обратное. Правда, как обычно, лежит где-то посередине и гораздо интереснее простых объяснений. В этой статье мы детально разберём механизмы работы с памятью в Python 3.13, изучим различия между mutable и immutable объектами, и поймём, когда Python создаёт новые объекты, а когда переиспользует существующие. Дабы статье пожить подольше - рассмотрю только версию 3.13. Жми, если не Гей
-
Нужно ли «развитие» языкам программирования
TL;DR: Нет. Хорошо спроектированный язык в развитии не нуждается. Попробую объяснить, что меня, человека с тридцатилетним стажем в разработке, свободно пишущем на более дюжины языков, привело к такому абсурдному — на первый взгляд — выводу. Более того, ниже я постараюсь уложиться в нескольких абзацев, чтобы рассказать, какие требования лично я предъявляю языку программирования в 2025 году, и почему этому «идеалу» просто некуда «развиваться». Опять школота против ООП и ФП
-
Нужно ли «развитие» языкам программирования
TL;DR: Нет. Хорошо спроектированный язык в развитии не нуждается. Попробую объяснить, что меня, человека с тридцатилетним стажем в разработке, свободно пишущем на более дюжины языков, привело к такому абсурдному — на первый взгляд — выводу. Более того, ниже я постараюсь уложиться в нескольких абзацев, чтобы рассказать, какие требования лично я предъявляю языку программирования в 2025 году, и почему этому «идеалу» просто некуда «развиваться». Опять школота против ООП и ФП
-
Нужно ли «развитие» языкам программирования
TL;DR: Нет. Хорошо спроектированный язык в развитии не нуждается. Попробую объяснить, что меня, человека с тридцатилетним стажем в разработке, свободно пишущем на более дюжины языков, привело к такому абсурдному — на первый взгляд — выводу. Более того, ниже я постараюсь уложиться в нескольких абзацев, чтобы рассказать, какие требования лично я предъявляю языку программирования в 2025 году, и почему этому «идеалу» просто некуда «развиваться». Опять школота против ООП и ФП
-
Нужно ли «развитие» языкам программирования
TL;DR: Нет. Хорошо спроектированный язык в развитии не нуждается. Попробую объяснить, что меня, человека с тридцатилетним стажем в разработке, свободно пишущем на более дюжины языков, привело к такому абсурдному — на первый взгляд — выводу. Более того, ниже я постараюсь уложиться в нескольких абзацев, чтобы рассказать, какие требования лично я предъявляю языку программирования в 2025 году, и почему этому «идеалу» просто некуда «развиваться». Опять школота против ООП и ФП
-
[Перевод] Парсер JSON в 500 строках Rust
За время прошлого семестра в универе я прошёл курс «Инструменты и компиляторы на основе синтаксиса». В рамках курса мы создавали сканер, парсер, компилятор и прочие инструменты для языка Plo. Писали мы их на Python, но тогда меня серьёзно заинтересовал Rust. В итоге я решил заняться очередным хобби-проектом, и на сей раз создать парсер JSON на Rust. Мне хотелось проверить полученные на курсе навыки и, наконец-то, реализовать проект на этом языке, что я откладывал уже не один год.
https://habr.com/ru/companies/ruvds/articles/884262/
#ruvds_перевод #парсинг_json #rust #программирование #plo #типы_данных
-
Шпаргалка по типам Julia для инженеров и не только
Статья-шпаргалка о типах данных в Julia: от примитивных, до параметрических абстрактных. Рассказывается, почему range умеет работать как массив, почему Vector{Int64} не является подтипом Vector{Real}, но является подтипом Vector{<:Real}, чем отличается неизменяемая структура от изменяемой структуры с неизменяемыми полями
https://habr.com/ru/companies/etmc_exponenta/articles/882178/
#julia #julia_language #типы_данных #интерфейсы #engee #шпаргалка
-
Типы данных в Python для самых маленьких
Продолжим наш экскурс для начинающих в основы и особенности либертарианского языка программирования, самого, пожалуй, популярного и востребованного среди тех, кто сегодня пытается войти в… да вы и сами знаете какая тут должна быть рифма. Сегодня поговорим про типы данных в Python и их иерархию. В иерархии типов упорядочение отражается в том, что существуют общие операции для типов, принадлежащих к типу более высокого уровня.
https://habr.com/ru/articles/877410/
#Python #Типы_данных #Иерархия_данных #Обучение #книга_на_русском
-
«Непонятки» в изучении программирования
Однажды, в ходе очередной попытки освоить программирование, мне попалась переводная книга, где автор на первых страницах обещал научить программировать даже тех, кто никогда этого не делал. И в качестве примера приводил собственного сына 8 лет, которого он как бы научил тоже. Воодушевлённый таким началом я бодро взялся за чтение. И вот, где-то на первых страницах, при обсуждении типов данных, автор ничтоже сумняшеся сообщает, что целое число, которое Int, может быть Int16, Int32 и т.д., со всеми вытекающими подробностями. И в эту минуту я чувствую как начинают шевелиться волосы на моей голове. От шока, что не понимаю, что это такое. Потом подумал, что он, наверное, это где-то объяснил, а я пропустил. Проверил предыдущие страницы, не нашёл. Может он потом объяснит, бывают же такие преподы, сначала что-то скажет, а потом разберёт. Посмотрел вперёд, не нашёл тоже. В общем, сильно загрустил. Мечта стать программистом разбилась о стену как хрустальный шар. И далее, по цепочке, знакомые всем мысли о собственной непригодности. С тех пор, если встречается в книге, что автор научит всех, даже тех, кто “никогда не программировал”, то невольно вздрагиваю, как от легкого удара электрическим током. И самое смешное, что недавно, на современном курсе по изучению программирования, услышал то же самое. Преподаватель, как только зацепился за тип Int, тут же начал рассуждать все о тех же Int16, Int32, Int64 и т.д. Как будто он попадает в разъезженную колею и уже не может из нее выбраться. К чему я все это говорю? - К тому, что нередко преподаватели программирования не замечают и не осознают, что новички, которые раньше действительно не программировали, реально не понимают ряд вещей, которые людям с опытом кажутся сами собой разумеющимися.
https://habr.com/ru/articles/870576/
#обучение_программированию #непонятки #типы_данных #рекурсия #делегат #переменная #возвращаемое_значение #массивы_с_дырками
-
Я не запоминаю имена или логика и данные
Знакомьтесь, загадка памяти: почему мы помним всё, кроме имени? В статье исследуется феномен, знакомый многим: как можно детально запомнить беседу и характеристики нового знакомого, но совершенно забыть его имя спустя считанные минуты? Мы погружаемся в работу мозга, чтобы понять, почему имена оказываются такими непослушными для нашей памяти. От анализа логики работы мозга до рассмотрения других видов личной информации, таких как фамилия, отчество и возраст.
https://habr.com/ru/articles/865286/
#данные #логика #математика #типы_данных #околонаучные_течения #мозг
-
[Перевод] Охота на недостающий тип данных
Направленный граф — это набор узлов, связанных стрелками (рёбрами). Как узлы, так и рёбра могут содержать данные. Вот несколько примеров: Все графы созданы с помощью graphviz ( источник ) В сфере разработки ПО графы используются повсеместно: Зависимости пакетов, как и импорт модулей, формируют направленные графы. Интернет — это граф, состоящий из ссылок между веб-страницами. При проверке моделей анализ выполняется путём изучения «пространства состояний» всех возможных конфигураций. Узлы — это состояния, а рёбра — это допустимые переходы между ними. Реляционные базы данных — это графы, в которых узлы являются записями, а рёбра — внешними ключами. Графы — это обобщение связанных списков, двоичных деревьев и хэш-таблиц. 1 Кроме того, графы также широко используются в бизнес-логике. Научные работы со ссылками формируют графы цитат. Транспортные сети представляют графы маршрутов. Социальные сети — это графы связей. Если вы работаете в сфере разработки, то рано или поздно встретитесь с графами. Я вижу графы повсюду и использую их для анализа всевозможных систем. В то же время я побаиваюсь использовать их в коде. Какой из популярных языков программирования ни возьми, поддержка графов в них практически отсутствует. Ни в одном её нет в виде встроенного типа, очень мало где они прописаны в стандартной библиотеке, и у многих языков нет для этой функциональности надёжного стороннего пакета. Чаще всего мне приходится создавать графы с нуля. Существует большой разрыв между тем, как часто инженерам ПО могут понадобиться графы и тем, в какой степени экосистема их поддерживает. Где все графовые типы?
https://habr.com/ru/companies/ruvds/articles/799849/
#ruvds_перевод #графы #алгоритмы #sql #sparql #nosey_parker #типы_данных #python
-
Глубокий JS. В память о типах и данных
Всех нас учили, что в JavaScript есть примитивные и ссылочные типы данных. Исчерпывающая информация есть в официальной документации, а на просторах интернета полно статей на этот счет. Теория теорией, однако, JS-код исполняется не в теории, а на практике. Точнее, его компилирует и исполняет движок JS. Таких движков существует несколько, разрабатывались они разными людьми и для разных целей. Было бы наивно предполагать, что все они полностью идентичны друг другу. А значит, время разобраться, как же на самом деле хранятся вполне конкретные данные на вполне конкретном движке JS V8.
#javascript #v8 #типы_данных
https://habr.com/ru/articles/774548/