The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"79% встроенных в код сторонних библиотек никогда не обновляю..."
Отправлено Ordu, 27-Июн-21 18:20 
Подскажи мне, в какой версии какой системной библиотеки можно найти реализацию perfect hash table? Да такую, чтобы она в качестве ключей принимала бы строку заданную указателем на кусок памяти + длина строки, не полагаясь бы на наличие терминатора \0. И чтобы с C'шным API, без всех этих няшностей сиплюсплюса.

А ещё, что-нибудь маааленькое, C'шное, для парсинга url'ов в подстроки совместимые с perfect hash table выше?

А ещё, да, что-нибудь такое, для генерации выборок случайных чисел, подчиняющихся заданному распределению. Чтобы там было бы распределение Гаусса, распределение Пуассона, может ещё парочку каких. И да, неплохо было бы, если бы оно умело пару десятков статистических методов сравнения выборок. В смысле, вот те стандартные которые включают любой курс статистических методов, типа хи-квадрат, anova, T-вилкоксона, t-Стьюдента, U-манна-уитни, и тп. Желательно при этом, чтобы я тупо туда скармливал семпл за семплом, потом вызывал бы что-то типа finish, и получал бы результат -- значение параметра, p-значимость, и тп.

Ещё было бы неплохо иметь всяких библиотечек для извлечения данных из /proc. Там блин синтаксисы простейшие, но так задалбывает с ними разбираться, обрабатывая на ходу всевозможные ошибки ввода-вывода, что прям ппц. Причём, местами -- это не просто синтаксис, это надо взять открыть директорию, перечислить там все поддиректории с именами определённого вида, залезть в эти поддиректории, найти файлы с определённым именем, распарсить их в соответствии с определённым синтаксисом, и собрать всё это в одну сводную табличку. Ипааать. И это же на фоне того, что любой вызов open или read может вернуть ошибку, которую либо надо заигнорить и повторить операцию, либо вернуть её как ошибку наверх. Начинаешь задумываться, почему бы ядру не освоить sql в качестве языка запросов, да?

Или, скажем, библиотечку для рисования табличек в терминале. В смысле, чтобы не мухой на стекле выёживаться с printf("| %03.7d | %.25s |"... , ох блин, надо ж не фиксированные размеры полей, а подобрать их по содержимому таблички и под ширину терминала... А с переносами по словам в ячейке что делать? Есть ли какие алгоритмы, позволяющие легко и быстро получить достаточно хороший результат в 99% случаев? Ух ты ёкарный бабай, хрен с ними с няшной псевдографикой типа
    ╔═════════════════════════╗
    ║ НЯШНАЯ ПСЕВДОГРАФИКА ║
    ╚═════════════════════════╝

(сорри, не ипу как тут в комментах получить fixed-width шрифт, чтобы действительно няшно вышло, в маркдаун форум не хочет, а все эти bb-коды, насколько я вижу, не работают).

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

row1: value1,
row2: value2,
...
rowN: valueN.

кстати так парсить проще будет, если чо.

Но с другой стороны, можно ведь взять что-нибудь типа [1], что в достаточно простых случаях позволяет получать достаточно хороший результат, а потом просто озаботиться тем, чтобы не создавать слишком сложных случаев? М? Но есть ли что-нибудь такое среди "системных библиотек"?

[1] https://crates.io/crates/term-table

Нет. Среди системных библиотек есть только старпёрство 80 уровня. Никакой няшности. Никаких послаблений. Если библиотека не была предложена в 80-х годах лично Керниганом, то это ересь, а не библиотека. За такие библиотеки надо сжигать на костре. Либо, альтернативы вида "gnome в депендансах". Которые тоже не решают всех проблем, потому что туда тоже не так то и просто включить свою библиотечку, которая няшно рисует таблички в терминале, или реализует H-краскала-уоллеса, делая сомнительные и неоднозначные допущения о том, в каком формате данные будут загружаться туда.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру