• Как отсортировать массив по значению?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нужно преобразовать твой объект в массив, тогда можно сортировать штатной функцией.
    spoiler
    var data = {
        "ID": "414",
        "ELEMENT": {
            "5333": {
                "ID": "5333",
                "sort": 300,
            },
            "5334": {
                "ID": "5334",
                "sort": 500,
            },
            "5335": {
                "ID": "5335",
                "sort": 100,
            }
        }
    }
    
    // Преобразование объекта в массив
    var elementsArray = Object.keys(data.ELEMENT).map(function(key) {
        return data.ELEMENT[key];
    });
    
    // Сортировка массива по sort
    elementsArray.sort(function(a, b) {
        return b.sort - a.sort;
    });
    
    // Выводим массив в консоль
    console.log(elementsArray);

    А сортировка объекта просто не имеет смысла, т.к. порядок ключей (например, при переборе) там не гарантирован.
    Ответ написан
    Комментировать
  • Берут ли вап вап?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По поводу ПЛР. Тут надо подумать с другой стороны. А потянешь ли ты работу в спринтах в современной корпорации? Это тоже нагрузка. И здоровые иногда психуют.

    Знаешь как иногда хочется взять клавиатуру! Подойти к соседу и как уе... короче ударить его по башке. А потом еще. И приговаривать при этом - За-чем-ты-сво-им-ком-ми-том-от-ка-тил-мои-из-ме-не-ния. Вот сколько слогов - столько раз по башке.
    Ответ написан
    1 комментарий
  • После установки и пользование программой для повышения ФПС что-то случилось с системными настройками, что делать?

    @Komandir_Bublik
    To reset your PC, go to Start > Settings > Update & Security > Recovery > Reset this PC > Get Started.
    Ответ написан
    Комментировать
  • После установки и пользование программой для повышения ФПС что-то случилось с системными настройками, что делать?

    Mi11er
    @Mi11er
    A human...
    Ну раз была инициатива поставить такое левое ПО - то мой совет, чистая система с нуля. Судя по всему, вам нравится тратить время на такую дичь.
    Ответ написан
    Комментировать
  • Какие можно использовать технологии/форматы для хранения бинарных пользовательских данных в десктопном приложении?

    @alexalexes
    sqlite - для хранения метаданных файлов и виртуальных путей расположения (с точки зрения внутренней логики приложения).
    Плюс физический каталог media для сохранения содержимого файлов в одном или нескольких подкаталогах, рассортированных по расширению (виду контента), с именем в виде уникального хеша (хеш записывается в метаданные в качестве ссылки на media).
    По-моему, это самое распространенное решение, если взглянуть на внутренности популярных мессенджеров.
    Ответ написан
    Комментировать
  • Как организовать поиск в БД с 1000 таблиц?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Даю совет: базу данных, в которой "есть очень много таблиц (>10.000), в каждой от 1 до 50 строк" нужно удалять, а того, кто её проектировал, увольнять с позором.
    Ответ написан
    4 комментария
  • Странный дизайн Rust?

    @DoumanAsh
    >Во первых, почему указатели в Rust называются ссылками?
    Во первых референс это не указатель.
    Указатели это *const _ и *mut _
    То что референсы имеют разыменование не делает их указателями, да и пользоваться этим не надо обычно.

    Такой вопрос уже задавался если тебе интересно почитай https://users.rust-lang.org/t/solved-why-do-refere...

    Во вторых ты можешь почитать о референсах
    https://doc.rust-lang.org/1.10.0/book/references-a...
    https://doc.rust-lang.org/1.4.0/nomicon/references.html
    Ответ написан
    Комментировать
  • Два IP на одном домене. Как настроить переадресацию?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Возможно ли на стороне DNS регистратора настроить "переадресацию" на тот айпи к котому подключен на момент запроса сервер ?


    да, через API делается на раз-два
    берешь нормального DNS "регистратора" (CloudDNS, Cloudflare + думаю много их), с API и мутишь:

    1) отсылаешь IP только работающего сервера
    2) отсылаешь IP обоих серверов, в порядке [работающий, не работающий]

    есть мнение, что во втором случае для Хромиума (ну и если повезет всей группы бразерров на нем) получишь дешманский "DNS балансер"

    проблема хирой схемы (1), да и схемы (2) - в хитрых и ленивых провайдерах, которые хотели ложить на твои потуги и для локальных клиентов держат ДНС кеши

    поэтому, как написал Василий Банников и коллеги - по-нормальному схему строят через HTTP load balancer

    но - если требований к критичности нет (а их нет, судя по задаче, или они несколько, скажем так, специфичные) - сойдет и вариант (2)
    Ответ написан
    Комментировать
  • Уход во время испытательного срока, нормально ли это?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    это обычные деловые взаимоотношения с людьми. тебе никто не скажет как можно, а как нет. что будет если сделаешь так, а если по другому.
    сообщаешь на нынешнем месте о новом предложении и в зависимости от ответа отталкиваешься.
    к примеру, если ты уже показал себя хорошо - тебе могут предложить столько же денег, сколько тебе предлагают на новом месте.
    Ответ написан
    Комментировать
  • Уход во время испытательного срока, нормально ли это?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Нормально уходить с испытательного срока, если что-то не понравилось. Испытательный ведь не только для сотрудника, но и для компании. Однако, уход из-за того, что появилось более интересное предложение - это сомнительный с позиции морали и профессиональной этики поступок. Кроме того, не рекомендую прыгать в первые пару-тройку лет работы. Особенно не стоит спрыгивать с первого места работы.
    Ответ написан
    5 комментариев
  • Как купить код на themeforest в текущей обстановке?

    Использовать посредников или иметь иностранную карту.
    Ответ написан
    Комментировать
  • Можно ли постить свои фриланс работы?

    an-tar
    @an-tar
    Full stack web developer
    Правило хорошего тона - спрашивать. Кто-то согласится, а другой будет против. Также может зависеть от юридической стороны вопроса -содержание договоров, NDA и т.п.
    Ответ написан
    Комментировать
  • Провайдер которая тянет выделеннку по физу?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Любой крупный провайдер. Просто это стоить будет некоторые деньги :) Берете список провайдеров, которые напрямую участвуют в обмене на MSK-IX (это явно магистральщики), звоните в абонентский отдел, описываете ситуацию. К Вам выезжают люди, осматривают место, делают проект. В проекте обычно учитываается все - и стоимость кабеля (а это только оптика) и стоимость работ и стоимость оборудования и стоимость согласования со всеми инстанциями.
    И еще не забудьте вписать в смету провайдерскую лицензию и согласование оной с ФСБ.
    Ответ написан
    Комментировать
  • Провайдер которая тянет выделеннку по физу?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Дело не в провайдере. Это не их дело - кабель тянуть. Они заказывают это подрядчикам - всяким СМУ и т.п.
    Но провайдеру делать для вас это не выгодно, не окупится.

    spoiler
    Прокладка не слишком толстого кабеля в грунт сейчас стоит где-нибудь от 200 тыс./км., включая материал, проект, оформление, стандартные согласования.

    Но если по дороге возникают: жадные собственники участка; автодороги; ж/д; газ/нефть… то это на полгода-год получения ТУ, согласований, платежей за выдачу ТУ, за согласования, за проверку выполнения ТУ и т.п. И не всегда удается порешать, иногда «нет технической возможности» и всё. Естественно, это за отдельные деньги, причем суммы могут быть любые вообще.

    Но вот если вы думаете, что прокладка кабеля это и всё, вы ошибаетесь. С одной стороны кабель закончится у провайдера, а это - вход в его кабельную канализацию, аренда канализации, аренда места на кабельросте (полка такая) и стойке в кроссе, где кабель будет расшит на соединительную панель.

    Если вы протанцуете этот танец, то вы получите темные волокна от провайдера до второго конца вашего кабеля.

    Со стороны провайдера вам надо подать в кабель сигнал. 10 Гбит, так-то это не мало, и для работы с таким гарантированным трафиком у провайдера должно быть соответствующее оборудование с соответствующим портом в вашу сторону и соответствующим аплинком «наверх». Если такового нет - добавляйте стоимость такого оборудования, его шеф-монтаж, настройку. Со своей стороны тоже в комп оптику просто так не воткнете. Тоже стойка, патч-панель оптическая, медиаконвертер, преобразующий оптику в медь (и не забываем про 10 Гбит, это сильно удорожает железо, да и медь тоже).

    И вот счастливый момент - вы протянули оптику, всё согласовали, всё настроили, заключили договоры аренды на землю, на канализацию, на место в стойке и место вашего кабеля на полках у провайдера. Заключили договор на поставку трафика, оплатили все затраты провайдера по подключению. Стали беднее на 5-6 миллионов, но зато обладатель канала связи.
    Всё, можно насладиться.

    Как же…

    Вот тут-то и начинается самая мякотка.
    Почему сигнал слабый? Почему со сбоями? Где мои 10 Гбит? Или вовсе пропала связь.

    Провайдер отвечает: «ничего не знаю, с моей стороны всё норм».

    Вы едете 20-40 км., чтобы убедиться, что да, с их стороны всё норм, а вот где и почему проблемы - неизвестно. Может, таки провайдер обманывает; может, где-то повреждение кабеля; может, плохой оптический контакт в разъеме; кот у вас дома перегрыз патчкорд; клали канализацию и порвали ваш кабель. И т.п.

    Вот поэтому провайдер не хочет связываться с прокладкой вам такого кабеля. Ему это не выгодно - эксплуатация не окупится, вы столько не будете платить, чтобы он мог выдерживать SLA по договору с вами.
    Ответ написан
    2 комментария
  • Как воспользоваться LLamaSharp?

    @rPman
    Оригинальные веса llama были выложены кажется на github
    magnet:?xt=urn:btih:ZXXDAUWYLRUXXBHUYEMS6Q5CE5WA3LVA&dn=LLaMA

    получаешь что то типа
    7B/checklist.chk
    7B/params.json
    7B/consolidated.00.pth
    13B/...
    ...
    tokenizer_checklist.chk
    tokenizer.model

    тебе нужны все tokenizer* файлы в корне и один из каталогов, соответствующий размеру модели (7B и 13B не знают русского и слабоваты)

    Этот c# проект - это биндинг к оригинальному проекту llama.cpp, там есть python скрипт convert.py (зависимости ставь сам, недостаточно requirements.txt нужен еще pytorch и еще что то, сам разберешься, в windows я не помогу) для конвертации из huggingface формата в суперэффективный ggml (этот формат постоянно меняется, где то раз в месяц, поэтому бессмысленно качать готовые, так как они будут привязаны к конкретной версии llama.cpp), его главная фича - mmap, веса не грузятся в память приложения а остаются в файловом кеше ОС, т.е. повторный запуск приложения моментальный.

    Будь готов к нескольким конвертациям, модели большие, особенно 65B, на диске тебе потребуется как минимум один раз хранить f16 версию (2 байта на вес, т.е. 130Gb для 65B модели) после его можно (но не обязательно) сконвертировать в формат с квантизацией (на вес будет требоваться к примеру 4 бита или 8), это значительно ускоряет работу ценой незначительного ухудшения качества.

    python convert.py --outtype f16 --outfile llama-7b-q4_0.ggml /torrents/LLaMA/7B
    вместо f16 можешь поставить f32, требования к памяти взлетят до 4 байт на вес но в теории это может быть тоже быстро (если критично, проведи бенчмарки), мои тесты показывают что f16 медленнее q4_0

    Опционально можешь провести квантизацию:
    ./quantize llama-7b-f16.ggml llama-7b-q4_0.ggml 2
    тут 2 это тип квантизации
    usage: ./quantize model-f32.bin [model-quant.bin] type [nthreads]
      type = "q4_0" or 2
      type = "q4_1" or 3
      type = "q5_0" or 8
      type = "q5_1" or 9
      type = "q8_0" or 7
    Очевидно что q4_... потребуют половину байта на вес (требования к 64b модели будут примерно 42+5GB ram), разница версий квантизации в скорости и качестве (q4_0 быстрее и чуть хуже q4_1 но я уверен что без синтетических тестов эту разницу на практике не заметишь даже между q16 и q4, она там единицы процентов, но вот скорость значительно отличается).

    Для работы llama.cpp нужен один файл .ggml (внутри и веса и токенизер) его и пиши в путь до модели.

    Поэкспериментируй с количеством threads в настройках, их нужно писать меньше чем позволяет процессор (тем более с гипертреадингом), так же я хз как у него с поддержкой gpu, она появилась относительно недавно, оптимизация по какому то одному конкретному тяжелому расчету.
    Ответ написан
    Комментировать
  • Есть ли статьи, которые приводят наглядные примеры того, как код на rust превосходит код на других языках?

    @AHMED_RAPIRA
    Надо скорее не статьи, а исследования искать, по критериям своего "превосходит". Такие, скучные pdf-ки с графиками и формулами, стирающие глаза в кровь, их можно найти на: ресерчгейт киберленинка и тд

    Так же можно поискать инфу в самом репозитории Rust по issues

    Тут можно посмотреть что во что компилируется и посравнивать:
    https://godbolt.org/
    Ответ написан
    Комментировать
  • Где учить алгоритмы и структуры данных?

    includedlibrary
    @includedlibrary
    Вот хорошая книга Алгоритмы: построение и анализ
    "Грокаем алгоритмы" слишком поверхностная книга, читать её не имеет никакого смысла.
    Ответ написан
    3 комментария