Обновить
56
0.1
Alexander@speshuric

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

Отправить сообщение

Так и я. Если есть класс NP-h, есть класс "объяснять сложные вещи простыми словами", который много хуже. А есть следующая итерация сложности.

Ну как не бывает? После объяснения простыми словами "высоким начальникам" надо еще и сделать так, чтобы они думали, что это их идея и пошли на неё инициативно выделять бабло. По пути не растеряв мысль.

Объяснять сложные вещи простыми словами — трудная задача.

3 секунды искал буквы NP.

А значит это то, что у ссылки нет автоинкремента, потому как GUID имеет условно случайную структуру – они так задумывались. Даже если использовать Time-Based GUIDs для первичных ключей, они получаются более сгруппированными (GUID’ы выдаются пулом по 32 штуки для каждого сеанса), но всё равно не последовательными. Некоторое ускорение при вставке в кластерный индекс Time-Based GUID даёт, но в целом индекс получается плохо кластеризован и как сказал сам Б.Нуралиев: «Механизм генерации ссылок обеспечивает только их уникальность. Возрастающая последовательность при их генерации не обеспечивается.».

  1. Ссылка для СУБД в первую очередь это binary(16). SQL Server про её "гуидообразность" как бы не в курсе совсем. На стороне 1С своим (не очень обычным) преобразованием эта binary(16) преобразуется из/в GUID.

  2. Из-за этого ссылаться на "GUID имеет условно случайную структуру – они так задумывались" некорректно. У нас в СУБД это не GUID, и 1С ссылки не генерит как GUID ОС, а пользуется своим движком.

  3. В рамках одной ИБ, в рамках одного сервера ссылки, созданные по умолчанию, в виде binary(16) в целом близки (очень близки) к монотонным. Если их генерировать сторонними средствами и генерацией гуидов, то, конечно, это нарушается. Если генерировать в разных ИБ на разных серверах 1С:Предприятия, то это будут разные серии.

  4. Time-Based GUID генерируемый ОС или SQL Server имеет не ту же структуру, что механизм "новая ссылка". И по умолчанию они друг к другу отношения не имеют.

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

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

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

Ха. Да потому что нанять нового инженера стоит примерно от полугодовой его зарплаты. На поиск, на собеседования, на обучение, на притирку, на исправление проблем при притирке. Если сотрудник сделал что-то не очень хорошее, но последствия предотвратили и объяснили, что это было плохо и есть надежда, что он понял, то оставить будет дешевле, чем через год ловить такую же ошибку у следующего.

Люди гибнут за металл.
Сатана там правит бал, там правит бал,

Понимаю, что тут автор, конечно, комментарий не увидит, но по fraction использование как раз понятно в финансовых, торговых и экономических программах: "Decimal type, based on Fraction type with explicit precision" (цитата из описания). Писать вычисления денег (цен, количества, стоимости, котировок и т.п.) на флоатах и интах больно.

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

Счётчик написан криво, некорректно отрабатывает количество более 2^{53}.

Обратил внимание. У вас в asm используются команды в нотации, которую я обычно видел для Z80: мнемоника LD для загрузки регистра, а в классической интелской используется MOV. Мне нотация Z80 чуть больше нравится (потому что даные не move, а load).

Хм. Если посмотреть на скорость в символах в секунду, то самый быстрый вариант оригинала статьи в его замерах ищет со скоростью порядка 100к симв/сек. Про улучшенный вариант Kranar/a_e_k пишут, что они "быстрее в 10 раз". Миллион символов строк в секунду (если я нигде множитель не пропустил).
Это ж, блин, соревнование улиток какое-то. Скорее всего почти всё время уходит на интерпретатор и движок Python, потому что на C/C++/Rust/C#/Java я бы ожидал скорости порядка 100М-1G симв/сек на реализациях без SIMD и 1-10G для SIMD.

Чего-то я не понял, как строки считались.

import json

with open('data.json') as file:
    data = json.load(file)

print(data['key'])  # Доступ к данным

Количество строк: 5.

import org.json.JSONObject;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;

public class JsonParser {
    public static void main(String[] args) {
        try {
            String content = new String(Files.readAllBytes(Paths.get("data.json")));
            JSONObject jsonObject = new JSONObject(content);
            System.out.println(jsonObject.getString("key"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Количество строк: 14.

Как ни считаю, 5 и 14 не получается.

Одним из крупнейших наших клиентов — банк «Открытие» — с помощью роботов освободил около 1 000 штатных единиц (FTE).

Отличная шутка.

Похожие вроде бы процессы в осыпании сыпучего склона.

Если это в запросе СУБД на миллиард строк, то, наверное, может стать важным.
Другой вопрос, что возникает много оговорок. Во-первых, даже для манипуляций с датами в чистом виде эта функция не очень нужна. Во-вторых, в классической OLTP СУБД будет гораздо больше накладных расходов на доступ к полю (в колоночных аналитических может и есть какой-то смысл).

"Добавить дней/секунд к дате" можно выполнять в удобном для хранения формате, храня смещение относительно какой-то точки (собственно, отсюда же системный формат unix и растёт). А преобразование в человеческую дату и обратно требует другой задачи - сколько високосных лет (29.02) прошло до этого момента. И "добавить N месяцев/лет" проще делать конвертацией сначала в структуру годы-месяцы-дни, потому что всё равно 29.02 отдельно обрабатывать.

Ну я как раз про случаи, когда инструментов нет под рукой.

Совет, который мало где попадается. Если надо наскоро посмотреть, насколько ровные лады у только что взятой гитары (в магазине или при покупке с рук, например), то обычно специального инструмента под рукой нет. Но можно воспользоваться пластиковой картой (банковской или аналогичной по формату). Ставим её между струнами вдоль грифа перпендикулярно плоскости накладки грифа так, чтобы она накрывала 3 лада (1 в середине и 2 по краям) - если она ощутимо качается (с характерным тактильным тык-тык), то этот лад будет звенеть. Конечно, что надо проверять и по краям ладов и в середине. Наверху грифа прикладываем длинной стороной, внизу, где интервал между ладами меньше - короткой. Примерно за 10-20-30 секунд легко проверить весь гриф.

а изменение одного пикселя требует модификации 4х байт

Если рисовать в одной "странице", то 8 пикселов за команду. Для игр можно статические спрайты делать полноцветными, а движущиеся фигурки брать элементарных цветов. Кажется там большая часть игр примерно так и выживала. И еще кажется это не они сами придумали, а откуда-то еще подсмотрели (потому что часть игр явно была где-то ранее написана). Ну и зато в отличие от Спектрума можно каждый пиксель в свой цвет красить.

1
23 ...

Информация

В рейтинге
4 033-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность