Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
kellas

Alex Step

веб-разработчик
  • 34
    вклад
  • 11
    вопросов
  • 55
    ответов
  • 47%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Юзерскрипт выгружается из памяти, что делать?

    kellas
    Alex Step @kellas
    веб-разработчик
    https://qna.habr.com/q/1086670
    Ответ написан 05 апр.
    1 комментарий
    1 комментарий
  • Как найти Arabic (Hijri) jquery DateRangePicker?

    kellas
    Alex Step @kellas
    веб-разработчик
    да, пришлось поправить существующий плагин
    тоже не нашел ничего с полной поддержкой
    код https://replit.com/@AlexStep2/Arabic-Hijri-jquery-...
    демо https://arabic-hijri-jquery-daterangepicker--alexs...
    Ответ написан 04 апр.
    2 комментария
    2 комментария
  • Как возможно разрешить столь непростую механику транзакции?

    kellas
    Alex Step @kellas
    веб-разработчик
    Сначала игроки депозитят деньги на контракт, по очереди, каждый закидывает по 21$ как в вашем примере.

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

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

    Сервер получает все те же 2 рандомные строки от игроков, загоняет их в хеш функцию для получения рандома, и отправляет победителю подписанную дату, которую победитель передает в вызове метода контракта.
    Контракт проверяет подписи и распределяет деньги игроков.

    В общем мало чем отличается от обычного multisig. В Solana попроще с offchain транзакицями и несколькими сигнерами для одной транзы, если не критичен блокчейн binance/ethterum присмотритесь к ней. +маленькие коммисии за отправку транз.

    Пример получения любого количества чисел из одной строки на js и solidity - https://replit.com/@AlexStep2/RNG - в принципе можно прям на контракте проверять кто выиграл
    Ответ написан 04 апр.
    1 комментарий
    1 комментарий
  • Какой путь деривации электрум?

    kellas
    Alex Step @kellas
    веб-разработчик
    m/84'/0'/0'
    https://learnmeabitcoin.com/technical/derivation-paths
    Ответ написан 02 апр.
    Комментировать
    Комментировать
  • Я поламала Brackets. В какой папке в Brackets на Windows размещены плагины?

    kellas
    Alex Step @kellas
    веб-разработчик
    Win+R - выполнить команду
    Там вводите %AppData%

    Запомните - %AppData% в windows это переменная с адресом папки в которой почти все приложения хранят свои настройки

    Конкретно плагины brackets лежат в AppData\Roaming\Brackets\extensions\user

    https://github.com/adobe/brackets/wiki/Extension-L...
    Ответ написан 02 апр.
    Комментировать
    Комментировать
  • Ребят, как реализовать Диаграмму по вот такому условию?

    kellas
    Alex Step @kellas
    веб-разработчик
    https://codepen.io/kellas/pen/oNpojEd

    Добавьте ячейку с блоком с шириной равной вашим процентам
    <td class="bar"><div style="width:62%"></div></td>
    Ответ написан 02 апр.
    Комментировать
    Комментировать
  • Каким методом выключить уведомления в беседе вк?

    kellas
    Alex Step @kellas
    веб-разработчик
    Никаким.
    Ответ написан 02 апр.
    Комментировать
    Комментировать
  • Как конвертировать blob в mp4?

    kellas
    Alex Step @kellas
    веб-разработчик
    Я так понимаю у вас вот такая проблема как тут - https://codepen.io/Zedak/pen/JNZLda - скачивается txt
    Потому что в blob не указан тип файла

    В тег video вместо простого blob, нужно передавать File(c указанным type) - https://developer.mozilla.org/ru/docs/Web/API/File

    Вот так https://codepen.io/kellas/pen/XWVzJvG
    video.src = URL.createObjectURL(new File([arrayBuffer], f.name, {
      type: f.type, // вот тут тип скачиваемого файла
    }));
    Ответ написан 01 апр.
    Комментировать
    Комментировать
  • Как посмотреть баланс наиболее известных токенов ERC20 юзера?

    kellas
    Alex Step @kellas
    веб-разработчик
    Адреса контрактов токенов можно посмотреть тут https://etherscan.io/tokens - там около 1000 самых популярных
    const erc20Contracts = [
      { address: '0xdac17f958d2ee523a2206206994597c13d831ec7', name:'Tether USD' , ticker:'USDT'}
        ];
    
    for (let token of erc20Contracts) {
            const contract = new web3.eth.Contract(erc20AbiJson, token.address);
            const tokenBalance = await contract.methods.balanceOf(myAddress).call();
            console.log(token.name+': '+  web3.utils.fromWei(tokenBalance));
        }
    Ответ написан 01 апр.
    1 комментарий
    1 комментарий
  • Как сделать такой сложный слайдер?

    kellas
    Alex Step @kellas
    веб-разработчик
    Круг, крутим, слайды двигаем. Ничего сложного нет. Просто верстка.
    https://developer.mozilla.org/ru/docs/Web/CSS/transform

    На js определяем текущий активный элемент, ему устанавливаем сдвиг на нужное количество пикселей.
    Ответ написан 01 апр.
    Комментировать
    Комментировать
  • Как обработать ошибку выборки элемента (что делать если элемент не найден)?

    kellas
    Alex Step @kellas
    веб-разработчик
    Вот так
    const company = await CompanyModel.getById(228);
    if (!company) throw new Error('Такой компании не существует');

    getById не должен выбрасывать исключение если запись не найдена пусть просто возвращает null
    Ответ написан 01 апр.
    5 комментариев
    5 комментариев
  • Как вывести вывести ширину каждого элемента из списка?

    kellas
    Alex Step @kellas
    веб-разработчик
    Это можно сделать только после отрисовки.
    Сначала нужно получить в js ссылки на эти span - https://v3.ru.vuejs.org/ru/guide/migration/array-r...

    Вместо вывода от одного до 10 сделать массив объектов, с номером и флагом show и проходится циклом по этому массиву

    Потом в цикле перебираете их и смотрите ширину
    this.$refs.items[0].clientWidth , меняете соответствующему элементу массива флаг show
    Ответ написан 01 апр.
    3 комментария
    3 комментария
  • Как правильно отобразить header для авторизованного пользователя?

    kellas
    Alex Step @kellas
    веб-разработчик
    Все ссылки в массив объектов, те что для авторизованного пользователя пометить флагом auth:true
    В меню при выводе фильтровать массив, по признаку авторизованности пользователя.

    Или если разные не только ссылки и хедеры сильно отличаются, то сделать 2 компонента, один для авторизованного другой для нее авторизованного пользователя.
    Ответ написан 01 апр.
    3 комментария
    3 комментария
  • Gulp, webpack или prepros для новичка и есть ли другие альтернативы?

    kellas
    Alex Step @kellas
    веб-разработчик
    vitejs, parcel, только там учить нечего )
    Хороший сборщик потому и хороший, что его запустил и работаешь. Это же инструмент, для разработчика, а не технология какая-то.
    Ответ написан 01 апр.
    2 комментария
    2 комментария
  • Как при поиске отфильтровать документы в mongoose?

    kellas
    Alex Step @kellas
    веб-разработчик
    В любом случае придется перебирать документы в цикле и проверять токен.
    Рекомендую вам во-первых разобраться, как работает функция validateToken, как она понимает что токен не протух. Может там только время имеет значение, это поможет понять, что ещё можно записывать в бд , чтобы потом по этому признаку фильтровать.

    В коллекцию, дополнительно записывайте created_at. И по "крону" вытаскивайте токены старше суток например, перебирайте в цикле , валидируйте и удаляйте.
    Ответ написан 01 апр.
    1 комментарий
    1 комментарий
  • Что эффективнее использовать css || js?

    kellas
    Alex Step @kellas
    веб-разработчик
    Эффективнее будет реализовать на css
    Ответ написан 01 апр.
    Комментировать
    Комментировать
  • Как исправить ошибку при отправке транзакции через кошелек Phantom?

    kellas
    Alex Step @kellas
    веб-разработчик
    publicKey = resp.publicKey.toString();
    вот тут .toString() убери

    или в других местах(fromPubkey, feePayer) используй new solanaWeb3.PublicKey(publicKey) вместо publicKey
    Ответ написан 22 мар.
    Комментировать
    Комментировать
  • Как можно разрезать аудиофайл на части?

    kellas
    Alex Step @kellas
    веб-разработчик
    ffmpeg

    ffmpeg -i input.mp3 \
      -ss 00:00:00 -to 00:00:30 -c copy part1.mp3 \
      -ss 00:00:30 -to 00:01:00 -c copy part2.mp3 \
      -ss 00:01:00 -to 00:01:30 -c copy part3.mp3
    Ответ написан 29 авг. 2021
    Комментировать
    Комментировать
  • Не опухнет ли web worker от JSONP?

    kellas
    Alex Step @kellas
    веб-разработчик
    Чтобы воркер не рос, я в своем проекте создаю для каждого jsonp запроса отдельный воркер и потом убиваю его. Норм работает, там по 3 запроса в секунду к ВК улетает.

    function getJSONP (script_url, callback) {
        // Создаём веб-воркер, который импортирует нам скрипт с коллбэком(jsonp)
        const worker = new Worker(window.URL.createObjectURL(new Blob([
          'let cb=function(val){postMessage(val)};' +
          'importScripts(\'' + script_url + '&callback=cb\');'],
        { type: 'text/javascript' }
        )))
    
        // Слушаем ответ от воркера
        worker.onmessage = (e) => {
          worker.terminate()
          callback(e.data)
        }
    
        // Убиваем воркер  если долго нет ответа 
        setTimeout(() => { worker.terminate() },10000)
    }
    Ответ написан 29 авг. 2021
    1 комментарий
    1 комментарий
  • Как из audioBuffer сделать mp3?

    kellas
    Alex Step @kellas
    веб-разработчик
    Примерно вот так https://stackoverflow.com/questions/61264581/how-t...
    По сути это копия кода из либы lamejs

    Пример который вам нравится, отправляет файл на сервер
    Ответ написан 29 авг. 2021
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • Следующие →
Самые активные сегодня
  • russeljo
    • 19 ответов
    • 0 вопросов
  • Drno
    • 11 ответов
    • 1 вопрос
  • rPman
    • 9 ответов
    • 0 вопросов
  • sergey-gornostaev
    Сергей Горностаев
    • 8 ответов
    • 0 вопросов
  • firedragon
    Владимир Коротенко
    • 8 ответов
    • 0 вопросов
  • Dr. Bacon
    • 6 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации