• Какой сервис выбрать для структуризации идей?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Дополню вариантом, который не зависит от облаков: https://thebrain.com/products/thebrain - отличное десктопное приложение без всяких тяжелых браузеров. Впрочем, мобильные приложения тоже есть, как и поддержка облачной синхронизации. И плюс еще и открытый формат для файлов (экспорт/импорт).
    Ответ написан
    Комментировать
  • Какой сервис выбрать для структуризации идей?

    vabka
    @vabka Куратор тега Веб-разработка
    Токсичный шарпист
    Obsidian или LogSeq - там ты делаешь записи и определяешь связи между ними при помощи ссылок и тегов (потом можно посмотреть получившийся граф)

    Мне видится некое, бесконечное полотно - на которое можно закреплять ссылки, изображения, видео, текст и прочий контент. Естественно все это можно связывать нитями (стрелками).

    Оно просто превратится в нечитабельную кашу.
    Ответ написан
    Комментировать
  • Почему selenium не видит элеманта captcha?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Капча расположена в iframe, это другой контекст, на который вначале необходимо переключиться, выполнить действия внутри этого контекста, затем переключиться (вернуться) на дефолтный контекст:
    import time
    from fake_useragent import UserAgent
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    option = webdriver.ChromeOptions()
    ua = UserAgent()
    option.add_argument(f'user-agent={ua.random}')
    option.add_argument("--disable-infobars")
    
    s = Service(executable_path=r"C:\Python Scripts\валид\Steam Number\chromedriver.exe")
    
    driver = webdriver.Chrome(options=option, service=s)
    driver.maximize_window()
    driver.get('https://help.steampowered.com/en/wizard/HelpWithLoginInfo?issueid=406')
    
    # iframe
    iframe = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/div[7]/div[2]/div[2]/div/div[2]/div[1]/div[3]/form/div[3]/div[1]/div/div/div/iframe'))
    )
    
    # switch to iframe context
    driver.switch_to.frame(iframe)
    
    element_to_click = WebDriverWait(driver, 10).until(
        EC.element_to_be_clickable((By.XPATH, '/html/body/div[2]/div[3]'))
    )
    
    element_to_click.click()
    
    # switch to default context
    driver.switch_to.default_content()
    
    time.sleep(10)
    driver.quit()

    6672812eb9ca8801428501.png

    66728135eeb06375772906.png
    Ответ написан
    7 комментариев
  • Как передать переменную из flask в js?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Комментировать
  • На каком движке создать такой сайт?

    iDx
    @iDx
    DataLife Engine
    Ответ написан
    Комментировать
  • В чем может быть причина аномального всплеска посещений на сайт?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Похоже на 1 из трех вариантов:
    - Кто то случайно ошибся, и добавил ссылку на Ваш сайт в мобильном приложение.
    - Кто то решил протестировать свой ультра-парсер, выбор пал на переходы из этого мобильного приложения на Ваш сайт.
    - Кто то начал крутить в негатив поведенческие факторы на Вашем сайте.

    Если Ваш сайт сильно полагается на SEO, то все случаи выше - необходимо фиксить.
    Ответ написан
    Комментировать
  • Не работают ссылки на страницы сайта на WordPress в хромиум браузерах, в FireFox все отрабатывается корректно. Что сделать?

    re-alter
    @re-alter
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    Вёрстка странная - это раз. Два - у тебя одна ссылка перекрывает собой вторую ссылку, смотри:

    <div class="s6_box">
    	<div class="product_bg _1">
    		<a href="https://put-k-rodam.ru/catalog/podgotovka-k-zachatiyu/" class="product_link product w-inline-block"><div class="btn add">узнать подробнее</div></a>
    		<h3 class="h3 prduct"><a href="#" class="h3_link">Подготовка к зачатию</a></h3>
    	</div>
    </div>


    Вот это чудо
    <h3 class="h3 prduct"><a href="#" class="h3_link">Подготовка к зачатию</a></h3>
    и перекрывает нормальную ссылку. Учитывая это месиво с разметкой, было бы уместно сначала спросить, что ты пытаешься реализовать таким странным образом.
    Ответ написан
    3 комментария
  • При передаче информации в sqlite3 из бота в телеге ошибка near ",": syntax error, в чем причина?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    # cursor.execute(f'INSERT INTO sausages (user_name, product_type, product_type_amount) VALUES ({user_name}, {product_type}, {product_type_amount})')
    cursor.execute('INSERT INTO sausages (user_name, product_type, product_type_amount) VALUES (?, ?, ?)', (user_name, product_type, product_type_amount))

    Почему не стоит использовать f строки в SQL Python запросах?
    Ответ написан
    1 комментарий
  • Как работать с GitHub средствами python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Ответ написан
    Комментировать
  • Что не так с favicon?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Это просто рекомендация или это означает, что с фавиконом все еще есть проблемы?

    Для обновления информации требуется время. В остальных случаях - это просто рекомендация, но с другой стороны - точные алгоритмы ранжирования ПС знают лишь разработчики этой ПС, соответственно, если имеется возможность, то лучше создать фавиконы под все необходимые размеры и платформы.
    Ответ написан
    Комментировать
  • С помощью какого ПО можно организовать разделение и балансировку ТСР траффика?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    Nginx, например, позволяет использовать в качестве параметра разделения не только ip-port, а что уогдно - хоть клиентскую куку, хоть юзерагента.

    Если я правильно понял, вам нужна не балансировка, а решение по равномерной утилизации каналов. Такое умеет, например, MPTCP.
    Ответ написан
    1 комментарий
  • Почему при нажатии на кнопку слайдера картинка пропадает js?

    Elaryks
    @Elaryks
    Картинки переключаются (это видно, если убрать overflow: hidden у .card-list). Просто они расположены в столбик, который ограничен по высоте, при этом неактивные карточки занимают своё положение в документе даже при opacity: 0. Вероятно, вы где-то пропустили часть логики или стилей, чтобы первая картинка заменялась на активную картинку. Поскольку у карточек в вашем примере размеры одинаковые, достаточно заменить position: relative на position: absolute у .card.
    Ответ написан
    1 комментарий
  • Как подключить бд к серверу в docker-compose?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Server=localhost

    Чей локалхост? У каждого контейнера он свой. Тогда какой указывать? Оптимально - по имени.
    https://docs.docker.com/compose/networking/
    Reference containers by name, not IP, whenever possible. Otherwise you’ll need to constantly update the IP address you use.

    Port=6002

    Чья туфля порт? Внутри докер-сети (Вы же указали: networks>postgres-network) контейнеры общаются по внутренним портам (рекомендуется).

    Если резюмировать, то будет примерно так (поправить местами при необходимости):

    "Postgres": "Server=localhost; Port=6002; Database=post; User ID=postgres; Password=passwd; Pooling=true"

    "Postgres": "Server=postgres_db; Port=5432; Database=post; User ID=postgres; Password=passwd; Pooling=true"

    docker-compose.yml:
    version: '3.8'
    
    networks:
      postgres-network:
        driver: bridge
    
    services:
      gchain.posts.api:
        image: gchain.posts.api
        build:
          context: .
          dockerfile: GChain.Posts.Api/Dockerfile
        ports:
          - "80:8080"
        networks:
          - postgres-network
        depends_on:
          - postgres_db
    
      postgres_db:
        container_name: postgres_post
        image: postgres:latest
        environment:
          POSTGRES_USER: ${POSTGRES_USER:-postgres}
          POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-passwd}
          POSTGRES_DB: post
        volumes:
          - postgres-data:/var/lib/postgresql/data
        ports:
          - "6002:5432"
        networks:
          - postgres-network
        restart: unless-stopped
    
    volumes:
      postgres-data:
    Ответ написан
    Комментировать
  • Что из перечисленного является протоколом прикладного уровня?

    vabka
    @vabka
    Токсичный шарпист
    Https тоже должен считаться прикладным, раз это "http но с шифрованием".
    udp точно не прикладной.
    chrome и navigator - браузеры
    jpeg - формат картинок.

    => ответ http, https, ftp.
    Если это неправильный ответ - это уже ошибка составителя теста.
    Ответ написан
    7 комментариев
  • Что означает запись [4]byte в языке Go?

    @calculator212
    а как понять, то что перед типом указано - [4] ?
    В го конкретно в данном случае это будет частью типа, по сути это означает, что массив (именно массив а не слайс) - это отдельный тип, который представляет из себя последовательность из 4 элементов.
    Массив считается отдельным типом сам по себе, т.е. [4]byte, [3]byte, []byte это три разных типа.
    Ответ написан
    1 комментарий
  • Почему при добавление переменно в style, она перестаёт обновляться?

    @drawnofmymind
    Когда scale становится 2 он перекрывает твои кнопки.
    Добавь для примера margin-top: 30px; для div
    Ответ написан
    1 комментарий
  • Как обновить верстку на NEXT.JS c Wordpress?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Надо смотреть конкретный конфиг некста, но предположу, что никак. Скорее всего, фронт живет отдельной жизнью, используя api wp.
    в файловом менеджере на vps, где файлы самого next я нашел скрипт, который надо поменять, поменял его

    Так нельзя делать, т.к. это итоговая компиляция проекта. Вам необходимо вносить изменения в исходники некст проекта, затем билдить и экспортировать (если старый проект) проект как статику.
    Ответ написан
    7 комментариев
  • Почему получается подключить Core в Dockerfile?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Если я правильно понял задачу (использовать одну общую либу Core для нескольких проектов), то я бы использовал 2 варианта:
    - Создание NuGet пакета (если Core изменяется не часто), затем подключаем его в любом проекте.
    - Или docker multi-stage builds (если Core изменяется часто).

    Пример docker multi-stage builds с авто сборкой Core lib + Api proj (поправить пути и наименования директорий при необходимости):
    # Build Core lib
    FROM mcr.microsoft.com/dotnet/sdk:8.0 AS core-build
    WORKDIR /src
    COPY ["../Core/Core.csproj", "./Core/"]
    RUN dotnet restore "./Core/Core.csproj"
    COPY ["../Core/", "./Core/"]
    RUN dotnet build "./Core/Core.csproj" -c Release -o /app/core
    
    # Build API proj
    FROM mcr.microsoft.com/dotnet/sdk:8.0 AS api-build
    WORKDIR /src
    COPY ["Service/API/API.csproj", "./Service/API/"]
    RUN dotnet restore "./Service/API/API.csproj"
    COPY ["Service/API/", "./Service/API/"]
    COPY --from=core-build /app/core /lib
    RUN dotnet build "./Service/API/API.csproj" -c Release -o /app/service
    
    # Create final image
    FROM mcr.microsoft.com/dotnet/aspnet:8.0
    WORKDIR /app
    COPY --from=api-build /app/service .
    ENTRYPOINT ["dotnet", "API.dll"]
    Ответ написан
    1 комментарий
  • Ведётся ли здесь статистика кликов "Отметить решением"? Если да, то каков процент тех вопрошающих, кто НЕ делает это?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Ведётся ли здесь статистика кликов «Отметить решением»?

    Нет, но можно накатить отличное расширение Toster-Comfort, появится процент решений и многое другое. Обезьян можно добавлять в ЧС, но не хватает функции скрытия их вопросов, а так же, удаляю ответы без реакций (предположительно, ответ не помог сообществу).
    Но как мне кажется, куда чаще это происходит из-за наплевательского отношения к статистике и обратной связи. Ответ дан, прочитан, принят к сведению, и гуд-бай! А куда-то там кликать никто никого не обязывал.

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

    Пользуюсь постоянно (вне куратора тега).
    может, можно сообразить какой-нибудь способ принуждения?

    Куратор тега может поместит вопрос решением, но автор вопроса все равно может снять решение.
    Ответ написан
    Комментировать