• Как настроить слежение за внешней веткой Git, чтобы сделать git pull?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Я сделал новую ветку от dev ( к примеру ветка test ) и хотел через git pull забрать изменения с удаленной основной ветки dev

    Зачем создавать ветку от старого состояния dev, а потом обновлять? Не лучше ли сначала скачать к себе всё, а потом создавать тематическую ветку от актуальной dev? Распаковывать локально ветку dev смысла нет, если вы напрямую в неё коммитить не будете.
    Я бы делал так:
    git fetch # скачать всё новое с внешнего репо
    git checkout -b origin/dev # создаем ветку от актуальной dev


    There is no tracking information for the current branch

    Логично же? Вы не связали новую ветку ни с какой внешней и как Git поймет, откуда скачивать?
    У команды Pull в таком случае должно быть два дополнительных параметра, указывающие из какого репозитория и из какой ветки обновляться
    git pull origin dev

    забирать с dev но пушить в свои ветки
    это возможно организовать, но вам это не нужно. А вдруг вы захотите поработать на другом компе? Как тогда будете забирать обновления своей ветки? Не усложняйте.
    Ответ написан
    2 комментария
  • Как исправить ошибку worktree при удалении ветки с локального пк?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Не пили сук, на котором сидишь ©
    Нельзя удалить ветку, которая в данный момент распакована в рабочем каталоге. Перед удалением ветки всегда переключите рабочий каталог на другую ветку.
    Ответ написан
    Комментировать
  • Как исправить ошибку worktree при удалении ветки с локального пк?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    git говорит тебе о том, что ветка которую ты хочешь удалить вычекнута в отдельный рабочий каталог. Если она тебе действительно не нужна, удали рабочий каталог (git worktree remove C:/Projects/web_test), после чего повтори команду удаления ветки.
    Ответ написан
    3 комментария
  • Почему функция в объекте может иметь значение "undefined"?

    szQocks
    @szQocks
    а почему ты тут возвращаешь объект, внутри которого идёт вызов функции ? + которая возвращает вообще jsx

    { col.map((coll) => (
                    {coll.render('qewqr')}
                ))}


    может так хотел ?
    { col.map((coll) => coll.render('qewqr'))}
    Ответ написан
    Комментировать
  • Как обойти вложенный массив объектов и вывести объекты как дерево?

    szQocks
    @szQocks
    const recursy = (item) => {
       if(item.children){
          return <Route path={item.path} element={item.element}>{item.children.map(recursy)}</Route>;
        }
        
        return <Route path={item.path} element={item.element} />;
      };
    
    
    array.map(recursy)


    С ключами сам разберешься, и убери строки за место компонентов, строки на сколько я знаю в jsx не компоненты
    Ответ написан
  • Как при нажатии кнопки выводить поэтапно строки которые значение увеличивается на 1?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Для начала забудем о react и поговорим о javascript: javascript риусет ui в одном потоке, потому while - это атомарная операция. На экране ничего не отобразится пока while не закончит своё действие. Т.е. выведя 10 строк через while - ты сразу увидишь их на экране, они не будут появляться по одной. Если, конечно, не подключишь асинхронность с async и await внутри цикла.

    Теперь к react: отображение нескольких строк осуществляется с помощью массива:
    const lines = [1, 2, 3];
    
    return lines.map(line => (
      <p> {line} </p>
    ));


    Если ты хочешь, чтоб при клике добавлялась строчка, то состояние этого массива надо отслеживать, т.е. напримр положить его в state:
    function Component() {
      const [lines, setLines] = useState([1, 2, 3]);
      const addLine = useCallback(() => {
        setLines(lines => [...lines, lines.length+1])
      });
    
      return(
        <>
          <button onClick={addLine} className="button">
            addLine
          </button>
          {lines.map(line => (
            <p> {line} </p>
          ))}
        </>
    }


    Если ты хочешь, чтоб при клике постепенно добавлялась 10 строчек с задержкой, то это можно сделать с помощью setTimeout(тут я обернул его в Promise для простоты и наглядности):
    const delay = (ms) => new Promise(r => setTimeout(r, ms))
    
    function Component() {
      const [lines, setLines] = useState([]);
      const addLines = useCallback(async () => {
        let i = 0;
        while(i++ < 10) {
          await delay(1000);  
          setLines(lines => [...lines, i])
        }
      });
      return(
        <>
          <button onClick={addLines} className="button">
            addLine
          </button>
          {lines.map(line => (
            <p> {line} </p>
          ))}
        </>
      );
    }
    Ответ написан
    Комментировать
  • Как сделать фильтрацию столбика таблицы с чекбоксами?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    import React, {useState, useEffect} from 'react';
    
    function SuperComponent() {
        // хранилище для пунктов
        const [checkedLanguages, setCheckedLanguages] = useState([]);
        const [displayData, setDisplayData] = useState([]);
    
        const languagesData = [
            { id: "1", name: "Javascript" },
            { id: "2", name: "Python" },
            { id: "3", name: "Java" },
            { id: "4", name: "Kotlin" },
            { id: "5", name: "Dart" },
            { id: "6", name: "C#" }
        ];
    
        // фильтруем пункты
        useEffect(() => {
            if (checkedLanguages.length > 0) {
                const newData = languagesData.filter(language => checkedLanguages.includes(language.name));
                setDisplayData(newData);
            } else {
                setDisplayData(languagesData);
            }
        }, [checkedLanguages]);
    
        function handleCheckboxChange(event) {
            const languageName = event.target.value;
            if (event.target.checked) {
                setCheckedLanguages([...checkedLanguages, languageName]);
            } else {
                const newCheckedLanguages = checkedLanguages.filter(language => language !== languageName);
                setCheckedLanguages(newCheckedLanguages);
            }
        }
    
        return (
            <div>
                {checkedLanguages.map(language => (
                    <div key={language} className="selected-language">
                        <p>{language}</p>
                    </div>
                ))}
    
                {languagesData.map(language => (
                    <div key={language.id} className="checkbox-wrapper">
                        <input
                            type="checkbox"
                            value={language.name}
                            onChange={handleCheckboxChange}
                        />
                        <label>{language.name}</label>
                    </div>
                ))}
    
                // отображаем отфильтрованные пункты
                <div className="languages-list">
                    {displayData.map(language => (
                        <div key={language.id}>
                            {language.name}
                        </div>
                    ))}
                </div>
            </div>
        );
    }
    
    export default SuperComponent;
    Ответ написан
    1 комментарий
  • Как сделать двойную аутентификацию отправляя код на почту?

    petermzg
    @petermzg
    Самый лучший программист
    1. Пользователь ввел логин/пароль.
    2. Выдайте ему JWT, только в payload пропишите состояние "No2FA"
    3. Отправьте 6 цифр на почту, сохранив в базе значение.
    4. Отобразите форму получения кода.
    5. Пользователь вводит код, который вы отправляете на эндпоинт вместе с токеном.
    6. Проверили соответствие с БД.
    7. Сгенерили новый токен.

    Так же можно с Cookies и сохранением состояния сессии
    Ответ написан
    2 комментария
  • Как сформировать 12 столбцов, каждые 3 которые привязаны к значению другого столбца?

    tsklab
    @tsklab Куратор тега SQL Server
    Здесь отвечаю на вопросы.
    Соедините таблицу саму с собой 4 раза, задав необходимые фильтры.
    DECLARE @Temp TABLE ( [Name] VARCHAR(100), [Event] INT, Gold INT, Silver INT, Bronze INT )
    INSERT @Temp VALUES
    ( 'Илья', 1, 5, 3, 4 ),
    ( 'Алексей', 1, 6, 3, 7 ),
    ( 'Илья', 2, 3, 5, 6 ),
    ( 'Илья', 3, 8, 3, 1 ),
    ( 'Алексей', 2, 5, 1, 1 ),
    ( 'Алексей', 3, 3, 4, 2 )
    SELECT E1.[Name], 
           E1.Gold event_1_gold, E1.Silver event_1_silver, E1.Bronze event_1_bronze,
           E2.Gold event_2_gold, E2.Silver event_2_silver, E2.Bronze event_2_bronze,
           E3.Gold event_3_gold, E3.Silver event_3_silver, E3.Bronze event_3_bronze
      FROM @Temp AS E1
        JOIN @Temp AS E2 ON E1.[Name] = E2.[Name]
        JOIN @Temp AS E3 ON E1.[Name] = E3.[Name]
      WHERE E1.[Event] = 1
        AND E2.[Event] = 2
        AND E3.[Event] = 3
    Ответ написан
    1 комментарий
  • Как открыть SQLConnection для всего приложения, если для авторизации использую логин и пароль для подключения к SQL server?

    Не нужно делать авторизацию в каждой форме. Просто передавайте объект, через который вы работаете с БД, в конструкторе новой формы.
    В случае получения ошибки (exception) при попытке выполнить sql команду, выдавайте окно подключения к бд.
    Ответ написан
    4 комментария
  • Какие команды, будут выводить png картинку без рамок на экран, поверх окон?

    Привет! Хорошая идея! И простая в реализации:
    5a43d88969473687406952.png

    Для начала нужно установить PyGame:
    pip install pygame

    Начнем? Допустим картинка у тебя будет лежать в одной директории со скриптом, иначе придется писать полный путь до картинки. Ниже весь листинг простого скрипта, который выводит картинку во весь экран (проверено на win10)
    import pygame
    
    _PNG_IMAGE = 'kitten-and-puppy.png'
    
    pygame.display.init()
    img = pygame.image.load(_PNG_IMAGE)
    screen = pygame.display.set_mode(img.get_size(), pygame.FULLSCREEN)
    screen.blit(img, (0, 0))
    pygame.display.flip()
    input()
    pygame.quit()
    Ответ написан
    Комментировать
  • Почему у тега a отступ справа?

    Kurokq
    @Kurokq
    Наполни смыслом каждое мгновенье

    во флекс оберни
    Ответ написан
    Комментировать
  • Почему у тега a отступ справа?

    AntonLitvinenko
    @AntonLitvinenko
    HTML coder
    Это не у тега a. Это особенности inline-block. Отступ справа около 4х пикселей.
    https://css-live.ru/articles/zagadochnye-otstupy-m...
    Ответ написан
    Комментировать