Задать вопрос
  • Максимальная длина кабеля 5e?

    @PjaniyAdmin
    В бытность мою студентом в сетевых картах перепаивали генераторы частоты они вместо 100мегабит начинали давать 50 но кабели начинали работать на 200-230 метров, только надо 2 карты с одинаковым "тюнингом".

    В современном мире если vdsl, shdsl, медиа конверторы. Цена вполне приемлема плюс нормальные железки еще и состояние будут показывать.

    Есть ещё "бомж дешман" способ. Покупаем дешмансий коммутатор. Режем провод где-то в райне средины обжимаем 2 пары 2 пары оставляем в воздухе, обрезаем коннектор от блока питания и припаивае к свободным парам и втыкаем в коммутатор. В другого конца шнурка припаиваем бп к парам идущим на разьем питания и так же 2 пары в коннектор. Такой коммутатор может болтаться в любой ж... :) В первых локалках междомовых они даже в целофанавых пакетах на шнурках между домами болтались :)
    Ответ написан
    1 комментарий
  • Может ли браузер дублировать POST запрос?

    Такое обычно происходит, когда запрос кидается в lifecycle-хуках, которые могут сработать много раз (например, updated), либо в watch. И когда у вас что-то ошибочно повторно перерендерится, то может бахнуть второй запрос. Дабл-клик по кнопке, которую вы не выключаете сразу после первого клика также не исключается.

    Насчёт идентификатора вашего ничего не могу сказать, потому что не вижу, где и как вы его генерируете.

    Дебажить, дебажить, и ещё раз дебажить VUE.

    1. Если есть возможность запустить фронтенд на локалке в development environment, установите в браузер плагин Vuejs devtools, и посмотрите поведение компонента, кидающего запросы, может быть там что-то увидите.

    2. Откройте devtools браузера и на вкладке Network и кликните ссылку в колонке Initiator (не знаю, как по-русски, не пользуюсь русским в браузере) у этих повторяющихся запросов. Если будут показаны разные участки кода, значит, где-то еще в коде затерялся такой же запрос.

    3. Самое простое: прямо перед строчкой с вызовом запроса axios (прямо перед запросом, в этой же функции, не где-то вне её, а прямо в предыдущей строчке) напишите банальный console.log("Gotcha!!!!"). Если сообщение в консоли браузера появится дважды, значит, проблема исключительно в логике вашей программы.

    4. Если ваш ID действительно генерируется прямо рядом с вызовом запроса, прямо в той же самой функции (что исключает баг с тем, что в запрос подставляется где-то сохранённый и кэшированный фреймворком ID), и это действительно подлый Chromium повторяет запросы из-за крайне нестабильного коннекта у пользователя, то тогда генерируйте ID не просто рандомом, который всё же может повториться, а сгенерируйте нормальный UUID, вероятность повторения которого ЗНАЧИТЕЛЬНО ниже. При приходе запроса сохраняете этот UUID на короткое время где вам удобнее, и если придёт такой же запрос с таким же UUID, то не обрабатываете его. Этот же UUID вам может помочь и в других аспектах: например, вы можете его использовать как "Correlation ID" данного конкретного запроса. Его можно отражать в логах, передавать в другие сервисы, если у вас их несколько. И тогда вы сможете без проблем отслеживать жизненный цикл каждого конкретного запроса.
    Ответ написан
    6 комментариев
  • Как определить свой уровень программирования?

    @Everything_is_bad
    твой уровень программирования "школьник 9го класса, изучающий полгода java"
    Ответ написан
    1 комментарий
  • Чем можно заменить сжатый воздух при продувки от пыли?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Не сочтите за дерзость. Идете в аптеку, и ....
    Правильно!
    Покупаете самую большую клизму!
    А лучше три.

    Сила кулака, и никакого мошенничества. И для здоровья полезно :)
    Носик можно немного подрезать, если отверстие маловато.

    ЗЫ. Можно конечно не клизму, а "резиновую грушу для продувки техники", но это все та же клизма, только в 2-5 раз дороже.
    Ответ написан
    Комментировать
  • Компьютер не подает признаков жизни, что делать?

    @tuwkan
    Ну судя по тому, что кнопкой он не выключался, и ей же не включается, кажется что проблема может быть в кнопке. Попробуйте включить закоротив пины включения на материке.
    Ответ написан
    Комментировать
  • Почему все называют TypeScript компилируемым языком программирования?

    1. Если душнить, то никто не называет TypeScript компилируемым языком.
    Вот например что написано на официальном сайте на самом верху:

    TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.


    2. У typescript есть компилятор tsc - его называют компилятором, потому что он по определению им является.

    Но стоп, компиляция - это процесс перевода "человеческого" кода в машинный код.

    Нет. Даже если брать определение из википедии, то будет:

    In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language).

    Никакой речи о "машинном коде" нет, как видишь)

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

    При этом ещё существует какая-то путанница в терминологии:
    1. В русскоязычной литературе действительно принято компилятором называть такой транслятор, который транслирует код с языка высокого уровня в машинный или ассемблер.
    (интересно, в каком тогда месте у таких авторов лежат компиляторы, которые компилируют в какой-нибудь промежуточный язык)
    Получается, что компиляторы - это подмножество трансляторов.

    2. В англоязычном интернете transpiler наоборот являются подмножеством compiler.
    Compiler - такая программа, которая преобразует код с одного языка на другой, причём из одного файла может получиться N файлов.
    А tanspiler - это такая программа, которая берёт исходный код на одном языке, и преобразует его в исходный код на другом языке, причём 1 файл преобразуется ровно в 1 файл.

    Получается, что tsc - это транслятор/транспайлер, а причислять их к компиляторам или нет - это дискуссионный вопрос.
    Ответ написан
    2 комментария
  • Почему появляются со временем ошибки в vendor'е Laravel?

    Sanes
    @Sanes
    Похоже на проблему с файловой системой. Может с правами что-то не так.
    Ответ написан
    Комментировать
  • Как удалить организацию в Яндекс 360 вместе с доменом?

    @nopiveb839 Автор вопроса
    Все просто, воспользоваться интерфейсом коннекта по адресу: https://connect.yandex.ru/portal/profile?noredirect=1
    Ответ написан
    2 комментария
  • Как можно получить белый ip адрес, если нет такой услуги у провайдера?

    @TheBigBear
    СтарОдмины мы
    1. Арендуете VPS или VDS сервер в России или за рубежом
    2. Поднимаете VPN канал между ним в вашим роутером/ сервером
    3. На VPN сервере пробрасываете нужные или все порты
    Всё
    Ответ написан
  • Как получить случайную дату между двумя датами?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ничто не мешает таймстампу быть отрицательным.
    $t1 = (new DateTimeImmutable('1900-01-01T00:00:00'))->getTimestamp();
    $t2 = (new DateTimeImmutable('1950-01-01T00:00:00'))->getTimestamp();
    $t = rand($t1, $t2);
    print (new DateTimeImmutable())->setTimestamp($t)->format(DateTimeInterface::RFC3339);
    // 1915-10-14T19:08:14+00:00
    Ответ написан
    Комментировать
  • В чем преимущества Route Model Binding?

    vfreelancer
    @vfreelancer
    php
    с коллегами не согласен. это магия, затрудняет чтение кода. преимущество в простых случаях - нет лишней строки
    Ответ написан
    5 комментариев
  • Использовать ли геттеры в классе где объявлены приватные свойства?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    геттеры и сеттеры именно для этого и нужны - чтобы далеко далеко в будущем, когда будет много других классов, и которым нужны эти данные, и вдруг тип данных нужно будет поменять (например перейти от int32 к int64), то будет достаточно просто поменять тип приватных данных, поправить геттеры, чтобы они конвертили в int32 для старых зависимостей и сделать два новых 64-битных геттера для новых.
    И потом уже все кто лазили за данными, либо будут потихоньку переходить на новые геттеры, либо сидеть на старых, но с ограничением.

    Если у вас 2.5 класса, можете делать как угодно. Смысл геттеров и сеттеров изначально именно в том, чтобы обеспечить совместимость на десятилетия вперед.

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

    Все зависит от приоритетов. Нужна скорость - делаете одно. Нужна совместимость - делаете другое. Нужно и то и то - ищете архитектурный подход, где от геттеров все зависит мало.
    Ответ написан
    1 комментарий
  • Некоторый вопрос о миграциях c enum Laravel. Что там не так?

    iMedved2009
    @iMedved2009
    Не люблю людей
    Правильно сказал. Через полгода у вас эту модель удалят. Или изменят. Придёт новый человек и попробует у себя развернуть проект и накатить миграции - получит ошибку. Как ее побороть? Искать в миллионе коммитов как эта модель выглядела?

    Правило общее для всех языков и фреймворков. В Гугл вбейте don’t use models in migrations получите ответ.
    Ответ написан
    Комментировать
  • Как узнать диапазон сетей?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Передайте преподавателю, что его задания устарели лет 20 назад.
    Ответ написан
    1 комментарий
  • Можно ли хранить данные не в БД, а в JSON файле?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Можно, но это будет очень глупо, особенно по причине "снизить нагрузку на БД". Не переживайте, пупок у СУБД не развяжется от ваших пяти посетителей в месяц, просматривающих семнадцать товаров. Он не развяжется даже при объёмах на пять порядков больших.
    Плюсов у такого подхода примерно ноль в обычных проектах, а минусы - всё остальное.
    Ответ написан
    5 комментариев
  • Можно ли зделать свою команду в командной строке linux?

    Vindicar
    @Vindicar
    RTFM!
    1. Добавь в начало файла шебанг, т.е. строку вида
    #!/usr/bin/env python
    Чтобы при запуске файла было понятно, чем его открывать
    2. Переименуй файл в add (без расширения) и сделай его исполняемым командой chmod +x add
    3. Либо помести файл в один из каталогов в переменной окружения PATH, либо добавь каталог, в котором файл лежит, в PATH.
    Загляни в скрытый файл .profile в твоём домашнем каталоге, он как раз этим занимается. Он может быть настроен так, чтобы автоматически добавлять в PATH каталог bin в твоем домашнем каталоге, тогда просто создай этот каталог и закинь файл туда.
    Ответ написан
    Комментировать
  • Как написать сайт не веб-программисту без особых усилий?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Не являюсь врачом, однако появилась нужда провести трансплантацию человеческого сердца. Я умею вырезать фигурки из бумаги и зашивать носки, но резать и шить плоть у меня нет желания, получится слишком криво и потрачу много сил. Обращаться в ветеринарки не очень хочется. Может есть какое-нибудь решение. В стиле клиник и подобных вещей.
    Ответ написан
    3 комментария
  • Можно ли на сайте определить, что человек в наушниках?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Самый адекватный вариант - тупо спросите "можно воспроизвести звук?". Уверен что 99,9% пользователей не будут рады левым непрошенным звукам на сайте, через что бы они там не выводились...
    Ответ написан
    Комментировать