Задать вопрос
  • Как расти джуну?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Получать проекты, делать задачи (чем сложнее тем лучше), изучать новые технологии, общаться с более опытными программистами и перенимать опыт. Потом переходить в более престижную фирму, которая занимается бОльшими проектами и всё по новой
    Ответ написан
    Комментировать
  • Как обновлять url в адресной строке или что делать?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Ответить на ваш вопрос может следующий фрагмент кода (моё творение):

    window.updateColours = () => {
        const colours = document.querySelectorAll('[data-href]')
        colours.forEach(colour => {
            const href = $(colour).data('href')
            const hrefParts = href.split('/')
            const id = hrefParts[hrefParts.length - 1]
    
            // ...
    
            $(colour).on('click', () => {
                history.replaceState(null, '', href) // pay attention here
                
                // ...
    
                $.ajax({
                    url: ...,
                    method: 'get',
                    success: (response) => { ... },
                    error: (response) => { ... }
                })
            })
        })
    }


    В этом коде data-href это кастомный аттрибут, в котором я сохраняю данные, которые мне нужны в дальнейшем для обработки

    Очень важно обратить внимание на строчку кода:

    history.replaceState(null, '', href)

    Это позволит вам изменять url без перезагрузки страницы и подгружать необходимые данные
    Ответ написан
  • Как сделать такую БД?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Что значит, что юзер входит в другие таблицы, а не другие таблицы входят в юзера? Какой-то контент 18+ получается))

    Какая разница, как это изображено, главное, что вы сами не понимаете сути таблиц и самой базы данных. У вас юзер может ИМЕТЬ много постов, много поставленных лайков и т.д. Не вижу тут проблемы

    С другой стороны, как вы можете объяснить систему "подписок" юзера на других юзеров, и что будет, если удалить из БД какого-то юзера? Изменится ли отношения или нет? Как вообще база данных будет реагировать на такое событие? А если туда ещё и лайки прикрутить, а потом удалить юзера? Как вообще в таком случаете вы будете настраивать саму таблицу на чистом Sql?

    Вот когда дадите ответ сами себе на этот вопрос, тогда и сможете нормально проектировать такие ситуация без вхождения юзера в кого-то там
    Ответ написан
    Комментировать
  • Как настроить CORS .NET 8?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Вместо AddPolicy(...) используйте AddDefaultPolicy, а так же просто app.UseCors()
    Ответ написан
  • Так ли сложно найти место начинающему фронтенду?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Ответ написан
    Комментировать
  • Существуют ли эталонно красиво написанные программы?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Просто код-конвенции изучите + литература по эффективному коду. Архитектура это дело отдельного проекта
    Ответ написан
    Комментировать
  • Я и есть тот самый джун с 3мя годами опыта?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Ну вообще, это зависит от компаний. Если маленькая конторка, тогда да - только джун. Почему? Потому, что сама компания будет брать проекты на небольшое количество человек где от каждого из них будут требовать выполнения всех задач по всем направлениям. Соответственно, вы со знаниями Ruby не сможете выполнять задачи по Python

    Если это более менее большая или средняя компания, вы можете это уточнить при собеседовании. В таком случае, для вас могу найти задачи, которые вы можете выполнять по общему стеку технологий, с которым вы имели уже дело, и который требуется. А так же вам могут предоставить возможность для повышения квалификации в требуемых направлениях
    Ответ написан
    Комментировать
  • Как передать массив Refs в другой компонент?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Попробуйте вот так:
    import { useState, useRef, forwardRef } from "react";
    import "./ScrollToNextSection.css";
    
    const ScrollToNextSection = forwardRef(({ visibleSection }, ref) => {
      const scrollToSection = () => {
        const currentIndex = ref.current.findIndex(
          (sectionRef) => sectionRef && sectionRef.id === visibleSection
        );
        const nextSection = ref.current[currentIndex + 1];
    
        if (nextSection) {
          nextSection.scrollIntoView({ behavior: "smooth" });
        } else if (ref.current[0]) {
          ref.current[0].scrollIntoView({ behavior: "smooth" });
        }
      };
    
      return (
        <button onClick={scrollToSection} className="scroll-btn">
          Вниз
        </button>
      );
    });
    
    export default ScrollToNextSection;
    Ответ написан
    Комментировать
  • Как генерировать палитру всех 24бит цветов в изображении размером 4096х4096 чтобы был плавный переход цвета?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    содержимое файла - некрасивое, как сделать плавный переход цвета?

    Файл отображает абсолютно всё то, что вы туда записали. Если хотите сделать красивый переход создайте алгоритм, а ещё лучше математическую модель, по которой ваша программа будет сама выбирать, куда вставить тот или Инной цвет

    Второе. Понятие содержимое файла - некрасивое достаточно относительное. Для каждого своя красота)) Соответственно, нет какого-то готового способа сделать то, что вы сами себе видите

    UPD:
    Для плавного перехода цвета вам нужно, что бы пиксели с цветами записывались не только в одну строку с переносами (Ну как лично я понимаю это, потому что нет никакой картинки, но кода генерации), а вам нужно ещё и по вертикали, и по диагонали записывать такие пиксели, что бы полоса градиента была во все стороны от начальной точки генерации
    Ответ написан
    Комментировать
  • Можно ли отслеживать get / post / patch запросы с моего аккаунта на определенный сайт?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    С вашего аккаунта чего? Доты или КС? Сессии в универе?

    У вас стандартная модель http запросов - отслеживайте сколько хотите

    Но если вы имеете ввиду программу для перехвата трафика, то это уже задачка со звёздочкой, потому что весь трафик шифруется. Даже по стандарту вам не нужно сильно заморачиваться, поскольку стандартный протокол https уже шифрует данные и соединение

    UPD:
    Из комментариев узнал, что нужно что-то из этого (Если что-то нарушил, сообщите, пожалуйста, исправлюсь ^_^):
    Снифферы
    Wireshark
    Поиграться вручную
    tcpdump

    Как написать вручную это уже совсем другой вопрос. Ответ конкретно на этот вопрос я дал
    Ответ написан
    1 комментарий
  • Как правильно спроектировать БД услуги с изменяемой ценой в зависимости от выбранных опций?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Причём тут это к проектированию БД? Если ваша цена зависит от чего-то там сверхъестественного, то это слой бизнес-логики, который будет высчитывать цену в зависимости от каких-то параметров. В БД вы эту информацию только храните и всё

    Проектирование больше относится к тому, как правильно хранить данные и распределять между многими таблицами. Правильно спроектированная БД имеет своё отражение на объектах в используемом вами языке программирования, когда вы будете эти таблицы маппить в типы.

    Всё что дальше, это уже бизнес-логика

    UPD:
    Для этой задачи SKU (артикулы) могут быть не совсем подходящим решением, поскольку у вас динамическое ценообразование. По таблицам будет примерно следующая ситуация (Накидал на коленках):

    services:
     - id:uuid
     - name:varchar
     - description:varchar
    
    options:
     - id:uuid
     - name:varchar
     - price:float
    
    orders:
     - id:uuid
     - duration:integer
     - total_price:float
     - service_fk:uuid
    
    order_options:
     - order_fk:uuid
     - option:fk:uuid
    Ответ написан
    2 комментария
  • Remix js, что происходит с типами?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Вот сюда копайте
    Ответ написан
    Комментировать
  • Как написать скрипт, который автоматически будет нажимать на кнопку покупки на сайте?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Попробуйте SeleniumWebDriver для Python. Можете интегрировать его в свой код и вызывать при нужных условиях
    Ответ написан
    Комментировать
  • Как лучше всего хранить данные о группах в бд?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Вот такой вариант есть

    task
        id:guid unique
    
    groups
        id:guid unique
        task_fk:guid <--
    
    manager:
        id:guid unique
        group_fk:guid unique
    
    worker
        id:guid unique
        group_fk:guid <--


    Обратите внимание на строку, где указана стрелочка. Отсутствие ключевого слова unique даёт возможность нескольким записям в этой таблице быть связанным с другой таблицей (groups) либо, другими словами, связь one-to-many. Наличие unique в таблице managers явно указывает, что только один менеджер может быть привязан в конкретной группе, другими словами, это связь one-to-one, где внешний ключ (foreign key) находится в таблице managers.

    Группы нужно формировать из 1 управляющего и из 1-3 рабочих.

    Это уже часть бизнес-логики, это не имеет отношения к проектирования БД
    Ответ написан
  • По какой формуле можно высчитать делитель, с нужным остатком от деления?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Возьмём за базу вот такую систему
    N % d >= 10
    d >= 10


    Запишем формулу операции деления по модулю простой математикой. Результат деления N на d - q запишем вот так:
    m = N / d - целая часть деления
    q = N - m * d - остаток от деления N / d


    Проверка:
    17 % 15 = 17 - (17 / 15 * 15) = 17 - 15 = 2

    Теперь у нас есть равенство:
    N - m * d = q, q >= 10

    Отсюда:
    10 < q < d

    Получаем:
    N > m * q + 10

    Выводим зависимость N и d:
    N - 10 > m * q
    (N - 10) / q > m


    Проверяем:
    193 и 19
    m = 193 / 19 = 10
    (193 - 10) / 19 > 10
    9.63 > 10 false ¯\_(ツ)_/¯


    193 и 20
    m = 9
    (193 - 10) / 19 > 9
    9.63 > 9 true
    Ответ написан
    Комментировать
  • Как сгенерировать 404 из view в asp.net core?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    В asp.net core ЧТО? Blazor Server? Blazor Web Assembly? Razor Pages? Web Api?

    Какие исключения? Вы понимаете, что такое исключение на уровне приложения? Это когда программа "отвалилась", произошла ошибка, сервер накрылся, базу данных физически украли, свет отключили или что-то подобное

    Ваш HttpException это по факту ошибка работы с протоколом Http, ошибка передачи информации или подобное. И то, даже школьники уже понимают, что ошибки нужно обрабатывать, а не специально генерировать. Если у вас программа будет на сервере, а вас просто сервер накроется из-за такого кода и вам нужно будет лезть и всё заново запускать

    Ошибка 404 это просто статус ответ от сервера, который уведомляет вас о том, что запрашиваемый ресурс не найден. Если у вас всё же стоит Web Api, тогда просто в контроллере делаете return NotFound()

    Если у вас Razor Pages или MVC, просто сделайте return RedirectToAction("NotFound", "Home") предварительно создав страницу NotFound в контроллере Home
    Ответ написан
    4 комментария
  • Как организовать хранение покупок при продаже услуг с разными характеристиками?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Самый простой способ просто вынести общие параметры, такие как [конец действия] в отдельную таблицу [услуг]. А далее все таблицы, что нужно соединить с ней в формате one-to-many

    customizations
     - id:uuid unique
     - image_name:varchar
     - image_extention:varchar
     - site_url:varchar
     - service_fk:uuid unique
    
    coupons
     - id:uuid unique
     - discount:float
     - ticket_count:integer
     - restaurant_fk
     - service_fk:uuid unique
    
    accesses
     - id:uuid unique
     - file_url:varchar
     - service_fk:uuid unique
    
    services:
     - id:uuid unique
     - date_start:timestamp
     - date_end:timestamp


    При выборке делаете просто JOIN и получаете нужные таблицы в связке
    Ответ написан
    3 комментария
  • Как преобразовать из char массива в string массив в си шарп?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Что вот это вот такое?
    string[] strArr = new string[charArr.Length];
    Если вы уже пытаетесь с массива что-то собрать, то сначала изучите, как работают массивы. Операция [ ] это доступ по индексу. Вы пытаетесь достучаться к новой строке по индексу, или как?
    Вторая проблема, что нет явного преобразования char -> string, т.е. вот такой код работать не будет:
    string a = charArr[0];
    Рабочие варианты:
    string a = charArr[0].ToString();
    string a = $"{charArr[0]}";
    string a = string.Join(charArr[0]);

    Короче говоря вам нужно сначала каждый элемент char[] пересобрать в string, а потом запихнуть это всё в string[]. Тут есть два варианта, что бы долго не играться - через простые циклы или через linq. 1й вариат:
    string word = Console.ReadLine();
    char[] charArr = word.ToCharArray();
    
    string[] strArr = new string[charArr.Length];
    for (int i = 0; i < charArr.Length; i++)
    {
        strArr[i] = charArr[i].ToString(); // Или другой из методов
    }


    2й вариант:
    string word = Console.ReadLine();
    char[] charArr = word.ToCharArray();
    string[] strArr = charArr.Select(c => c.ToString()).ToArray();


    А вообще не уверен, что вы делаете именно то, что вам нужно. В плане, на начальных этапах такое бывает, что не понимаешь как задачу решить и начинаешь лепить что угодно)
    Ответ написан
    Комментировать
  • PHP Почему выполнение cURL-запроса блокирует все другие запросы cURL?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Где ты вы с асинхронностью проиграли) Скорее всего, вы выполняете запрос синхронно что приводит к блокировке основного потока выполнения программы
    Ответ написан
    Комментировать