• Как использовать строку в качестве названия функции в GoLang?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Добро пожаловать в мир компилируемых языков программирования и статической типизации, здесь такое не нужно, считается очень плохой практикой и достижимо только через чёрные ходы, вроде рефлексии, что снижает производительность и безопасность кода, а также усложняет его сопровождение.
    Ответ написан
    Комментировать
  • Проверка пополнения TRX кошелька?

    @calculator212
    но как будет вести себя система, когда таких горутин может быть более 10к?
    Для этого есть worker pool, не нужно просто так бесконтрольно запускать горутины для такого. Суть в том, что ты создаешь воркер пул, в котором определяешь число горутин, после при помощи каналов шлешь в него таски на оплату
    Ответ написан
    Комментировать
  • Как cдвинуть слайды в swiper.js?

    @oaksaudio
    Поставьте не целое значение в:
    Пример 1
    slidesPerView: 3.5 // Показать три с половиной слайда, как на примере 1

    Тогда вы увидите половину четвертого слайда. И так же в конце первый будет обрезан на половину.

    Пример 2
    slidesPerView:1.5,
    centeredSlides: true,  //в связке с slidesPerView: 1.5 встанет как на примере 2
    Ответ написан
    7 комментариев
  • В чем смысл использования Golang как веб сервер?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    А теперь возьмите не синтетический тест, а реальную задачу сложнее перекладки json'ов, например, с шифрованием, дайте серьëзную длительную нагрузку и посмотрите латентность по процентилям.
    Ответ написан
    Комментировать
  • Проблема SEO во Vue 3?

    Делать рендеринг VUE на сервере, используя Go, это задача не для слабонервных. Вы можете как-то присобачить гошный JavaScript рантайм и пытаться его использовать для рендеринга VUE, но я и врагу такого не посоветую

    Вот вам рантайм, написанный на чистом Go:
    https://github.com/dop251/goja

    Я не специалист в SEO, но где-то слышал, что поисковики научились индексировать SPA.
    НО!!!

    1. Это не точно) И вам надо провести мини исследование. Найти какие-то популярные SPA сайты и поглядеть архив Гугла и Яндекса по ним.

    2. Если это работает, то самое главное, что вам нужно усвоить, это то, что каждый чих должен отражаться в URL. History API должен стать вашим всем. Выбрали какую-то сортировку или фильтр таблицы с данными или списка статей? Всё это должно ОБЯЗАТЕЛЬНО отражаться в URL, как если бы вы писали какой-то традиционный сайт на PHP. Только в этом случае вам можно надеяться, что контент хоть как-то будет проиндексирован. Это, кстати, даст вам ещё одно преимущество: вы сможете без последствий нажать кнопку перезагрузки страницы, и её содержимое не должно измениться.

    3. Умение сказать заказчику НЕТ, одно из важнейших умений программиста. Пусть он взвесит на весах SEO и Go, и примет решение. Запросите у него космические деньги за сервер-рендеринг на Go, либо скажите, что можно гораздо дешевле сделать это на Nuxt.

    Либо можно пойти на компромисс, и сделать на Nuxt только лишь тупую мини-прослойку между фронтендом и основной бизнес-логикой, которая будет реализована в отдельном сервисе на Go
    Ответ написан
    3 комментария
  • 10к строк по базе размером 500кк?

    @galaxy
    SELECT * FROM base WHERE domain LIKE '%habr%' LIMIT 10000;


    проще всего так, наверно:

    CREATE EXTENSION pg_trgm;
    
    CREATE INDEX trgm_domain_base_idx ON base USING GIST (domain gist_trgm_ops);
    
    EXPLAIN ANALYZE SELECT * FROM base WHERE domain LIKE '%habr%' LIMIT 10000;


    https://www.postgresql.org/docs/current/pgtrgm.html
    Ответ написан
    Комментировать
  • 10к строк по базе размером 500кк?

    @Makcimmm
    А мне первое что приходит на ум, реализовать собственный словарик + табличку в которой будут указаны сопоставления ID слов из словарика и ID из таблицы с текстом в которых встречается данное слово.
    Я так делал, когда на проекте поиск был по большим кускам текста, который был в BLOB-ах. Я разделял текст на слова по пробелам.
    Использовали этот поиск редко, но когда запускали, он висел минут 10-20, люди уходили пить чай наверно :) и всех это устраивало. Но однажды этот поиск повесил БД, и эта проблема оказалась в поле моего зрения. После формирования словарика и добавления функций чтобы по новым записям так же добавлялась инфа в словарик, поиск стал занимать доли секунды :)
    Ответ написан
    Комментировать
  • 10к строк по базе размером 500кк?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Запрос
    SELECT * FROM base WHERE domain LIKE '%habr%' LIMIT 10000;


    Какой это нахрен поиск "по совпадениям"??? Это, блин, поиск по подстроке!!! причём в любом месте строки.

    С таким шаблоном поиска можете с обычными индексами вообще не трахаться, по причине абсолютной бессмысленности действа. Читайте про GIN, GiST, RUM и прочие виды индексов и поиск с их использованием.
    Ответ написан
    Комментировать
  • 10к строк по базе размером 500кк?

    @rPman
    Избавляйся от like '%...%', это худший способ искать, он индексы не использует
    даже поиск с регулярными выражениями работает лучше (правда там лимит на размер строки)

    Если like используется чтобы искать части url, то храни в базе не целиком а разделенную по полям, в идеале чтобы поиск был на равенство (даже если база увеличится и станет сложнее, например тебе нужно искать по параметрам GET url, т.е. потребуется создать еще одну таблицу на них, скорость все равно будет хорошей)
    Ответ написан
    Комментировать
  • 10к строк по базе размером 500кк?

    Fragster
    @Fragster
    помогло? отметь решением!
    индекс по like %login% не будет применяться. нужно добавить колонку типа булево и partial index на неё. При вставке/обновлении и один раз при создании колонки - заполнить её значением true для нужных строк.
    Ответ написан
    1 комментарий
  • 10к строк по базе размером 500кк?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Первое, что приходит в голову - разделить домен и URI. Тогда можно будет сначала поискать по индексу доменов, а потом уже эту выборку по урлу.
    Ответ написан
    1 комментарий
  • Как делать такие скроллбары или слайдеры?

    Делал точно такую штуку как на 2 картинке через скролл бар.
    Пример
    Сначала делал, чтобы на десктопе листали по 1 элементу, потом попросили чтобы как мобильный скролл бар был, через js делал.
    А кнопки листают 1 элементу. Ширина элемента высчитываю при загрузке компонента и от этого исхожу.
    Ответ написан
    Комментировать
  • Изменение цвета иконок при наведении?

    delphinpro
    @delphinpro
    frontend developer
    stroke="currentColor" 
    
    <button class="primary">
    
    .primary {
      background: var(--primary);
      color: #fff;
      &:hover {
        color: #ccc;
      }
    }
    Ответ написан
    4 комментария