• Насколько этично предлагать заказчику переделать сайт, который я же и сделал года 3-4 назад?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Нормальному специалисту свойственно расти. По мере роста открываются новые фичи и ты видишь, что то, чем ты гордился несколько лет назад - на самом деле хрень и рукожопость.
    А подойти - так же как к любому вопросу в бизнесе - показав заказчику потенциальную выгоду, если она конечно есть.
    Ответ написан
    Комментировать
  • Насколько этично предлагать заказчику переделать сайт, который я же и сделал года 3-4 назад?

    hint000
    @hint000
    у админа три руки
    постоянно обращается ко мне с мелко-среднеми доработками, вот я и думаю не странно ли это - просить его подумать над апдейтом
    Нет, не странно. Это нормально. Это будет всего лишь предложение, решать всё равно заказчику. Если хотите, можете сразу предлагать со скидкой.
    Ответ написан
    Комментировать
  • Насколько этично предлагать заказчику переделать сайт, который я же и сделал года 3-4 назад?

    xez
    @xez
    TL Junior Roo
    Предположим, вы 3-4 года назад приобрели телефон.
    Этично ли производителю телефонов продавать вам новый, учитывая что он понимает, что тогда «сделал какую то хрень» и «сейчас офк сделал гораздо лучше» и даже предполагает, что «еще через 3 года будет считать хренью то, что сделал сейчас»?
    Ответ написан
    2 комментария
  • Сайт с доступом только по https. Плюсы и минусы?

    Текущая общепринятая практика это редирект в https на 80м порту и HSTS на 443м. Использование HSTS приводит к тому, что клиент никогда не будет использовать HTTP с сайтом, даже если явно указать http в URL. Дополнительно, можно отправить домен в список HSTS preload В США практика официально закреплена в документе The HTTPS-Only Standard, обязательном для правительственных агентств, в нем есть отдельное упоминание что:

    Allowing HTTP connections for the sole purpose of redirecting clients to HTTPS connections is acceptable and encouraged. HSTS headers must specify a max-age of at least 1 year.
    .

    т.е. разрешать подключения к 80му порту с целью редиректа не толко допустимо, но и желательно.

    Закрытие 80го порта не обеспечивает более высокой защиты чем редирект + HSTS, т.к. в случае MitM атаки атакующий может перехватить запрос к 80му и подменить ответ независимо от того открыт он или нет на сервере назначения. Т.е. закрытие 80го порта приводит к нежелательным эффектам без какого-либо повышения уровня защищенности.
    Ответ написан
    Комментировать
  • Как можно запретить отображение рекламы Quiet Media которая вставляется без моего ведома на сайты через HTTP?

    @maksam07
    Установка ssl-сертификата
    Это единственное верное решение по многим причинам. Есть бесплатные сертификаты, которые ставятся за пару минут, но вместо этого вы пытаетесь придумать метод, на реализацию которого уйдет значительно больше времени или нельзя будет реализовать вообще
    Ответ написан
    1 комментарий
  • Когда можно купить домен?

    @alexalexes
    Должны сойтись все звезды на небе:
    1) Владелец домена не захочет продлевать аренду домена до даты окончания аренды.
    2) Он откажется это делать в период раздумья после даты окончания аренды (обычно, 1 месяц).
    3) Домен высвободится у доменного регистратора, и попадет в каталог высвободившихся доменов у доменного регистратора.
    4) Вы выиграете аукцион/вложите нужную сумму/вовремя перехватите домен по условиям этого каталога у доменного регистратора.
    Ответ написан
    1 комментарий
  • Как учиться быть руководителем?

    @Siberian_Bear
    mba... pmbook...
    Это все уже уровень. если вы менеджер в корпорации, еще и международной, то да.

    Если же в конторе 100+ человек, а вокруг вас вообще не больше 50, то избыточно это всё.
    Тут более подходит Стратоплан - он более приземленный. Даже скиллбоксы всякие и их аналоги более полезны в РФ, чем mba.
    Менеджмент в РФ - он не столь интернационален, как разработка. Тут приходится с другими сферами сталкиваться, более локальными, и зарубежные методики не всегда работают.

    Мне помогло такое: просто на ютубе открывать например канал TeamLead Conf и смотреть видяшки, в рамках факультатива. Включать что нравится по названию. Когда есть небольшой опыт, рассказы и мнения людей с конференций помогли мне дальнейшие векторы строить. Они упоминают, книги, методики, людей.
    Ответ написан
    2 комментария
  • Как учиться быть руководителем?

    Griboks
    @Griboks
    В отличии от программирования и подобных специальностей существуют три базовых способа изучить искусство управления:
    1. вуз
    2. специальные курсы + сертификация
    3. госты+стандарты+книги для расширенного понимания первых двух

    p.s.
    Alexander Lamdan утверждает, что
    Научиться быть руководителем это почти никак. Нужно к этому идти.


    Замечу, что это в корне неправильный подход, который ведёт к самодурству, неэффективной организации труда и коррупции. Вы действительно должны выработать свою точку зрения, но делать это самостоятельно и изолированно от обширных накопленных человечеством знаний займёт слишком много времени и других ресурсов - это путь в никуда для управленца.
    Ответ написан
    7 комментариев
  • Почему php разработчики используют .htaccess как часть системы?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Незачем пытаться охватить все веб-серверы. Для урока авторы, видимо, решили, что «сойдёт и так» – на примере одного из популярных, Apache.

    Вы уже переросли песочницу тех уроков и знаете другие варианты. Значит, сумеете понять и перенести правила из .htaccess в конфиг NGINX. С помощью Google, SO и Habr.QnA )

    Популярен паттерн "front controller" — когда веб-сервер конфигурят, чтобы все запросы падали только на корневой /index.php, а там уже логика внутри PHP узнавала запрошенный URL /section1/page2 и отдавала соответствующий ответ. Такие решения универсальны относительно веб-сервера.

    Файл .htaccess иногда кладут в проект, потому, что это легкий невидимый файл, который не помешает. Но поможет понять ожидаемое поведение веб-сервера. Конфиги NGINX лежат отдельно от проекта, поэтому их не прилагают. Хотя иногда приводят пример в документации.
    Ответ написан
    Комментировать
  • Как запустить приложение на новом компьютере, так, чтобы оно думало, что запущено на старом?

    axifive
    @axifive
    Software Engineer
    Надо изучать само по и смотреть какие параметры проверяет. Да и непонятно под браузерным вы имеете ввиду Electron/CEF приложение или PWA, или расширение в браузере?
    У pwa гораздо меньше возможностей получить конфигурацию системы, они могут опираться на user-agent, местоположение, canvas, cookies, разрешение, особенности движков конкретных браузеров и другие условно уникальные параметры. Можете глянуть fingerprintjs который как раз и комбинирует все эти параметры для генерации идентификатора.
    У расширений чуть побольше, так как добавляется api (к примеру проверка закладок в браузере)
    У Electron/CEF помимо вышеперечисленного возможна проверка любых параметров системы и оборудования.
    Ответ написан
    Комментировать
  • Как запустить приложение на новом компьютере, так, чтобы оно думало, что запущено на старом?

    В общем случае - никак, тк мы не знаем нюансов работы првоерки компьютера контретно у вашего софта (который даже не назван).

    В худшем случае - оно проверяет всякие аппаратные идентификаторы устройств, и чем больше разных - тем сложнее подделать их в совокупности.
    Ответ написан
    2 комментария
  • В чем преимущества TS?

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

    Как там в 2010?

    как мартышка ковыряешься с проставлением типов (а иногда это и не особо очевидно), а потом оказывается что какой-нибудь популярный плагин (условный слайдер) в твоей экосистеме - не типизирован. Ручками писать? Потрошить внутренности плагина? Искать аналог?

    Это уж как вам удобно. Вам в большинстве случаев понадобится типизировать от стороннего плагина несколько, а то и один метод и пару аргументов. Не хотите ручками? Идём на https://www.typescriptlang.org/dt/search/ и ищем готовое. А в большинстве случаев достаточно создать файлик типа modules.d.ts и там прописать строчку declare module 'ldapjs-type-parsers';, где подставить имя пакета, для которого нет типов.

    Вопрос звучит как "уговорите меня использовать TypeScript". В общем вас никто не заставляет. Если лично вам неудобно, то пишите на JS.
    P.S. Я уже молчу про удобство рефакторинга ))
    Ответ написан
    7 комментариев
  • Нормально ли хранить JSON в базе данных?

    @alexalexes
    Если потребуется делать join с одним из параметров внутри JSON, то это и будет показывать, что в данном варианте так делать не нужно.
    Если ни при каких обстоятельствах не возникнет ситуации, что потребуется разбирать JSON, чтобы связать данные таблиц, то храните JSON.
    Ответ написан
    1 комментарий
  • Как отправлять запрос каждые N секунд, пока в ответ не получу нужный статус?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Асинхронная функция, внутри бесконечный цикл, в цикле запрос. Если результат запроса нас устраивает - выходим из цикла. Задержка между итерациями цикла реализуется с помощью промиса, который резолвится по таймауту.

    async function() {
      let result = null;
    
      while (1) {
        result = await fetch(...);
    
        if (result тот, который нужен) {
          break;
        }
    
        await new Promise(r => setTimeout(r, 5000));
      }
    
      return result;
    }
    Ответ написан
    6 комментариев
  • Почему var_dump выводит больше, чем нужно?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Возможно, у вас просто не было приватных свойств.
    Вывод чистого var_dump() в версиях PHP 8.2.0RC4, 8.1.7, 8.0.20, 7.4.30, 5.6.40:
    object(Test)#1 (2) {
      ["name":"Test":private]=>
      string(16) "Васенька"
      ["age"]=>
      int(43)
    }

    Вывод var_dump() с установленным xdebug:
    class Test#1 (2) {
      private $name =>
      string(16) "Васенька"
      public $age =>
      int(43)
    }
    Ответ написан
    2 комментария
  • Допустимо ли сокращать названия переменных до 1 буквы или комбинации символа + буквы?

    Моё мнение - если тебе смысл переменной не очевиден, то нужно делать полноценное имя переменной.

    Короткое, например, имеет смысл для параметра в лямбде (array.filter(x => x % 2 === 0)) или в какой-нибудь функции наподобие
    function sum(a, b) {
     return a+b;
    }


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

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

    Экономить ресурс нажатий на кнопки клавиатуры не надо, как и не надо экономить буквы на экране.
    Ответ написан
    Комментировать
  • Чем в PHP 8.2 теперь заменять функцию mb_convert_encoding()?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Комментировать
  • Как почистить каталог .git от ненужных файлов?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Файл .gitignore не предназначен для удаления файлов из репо, он лишь помогает не добавить случайно лишнее в репо. А если уже закоммитили, то игнор не поможет.

    Самый надёжный способ вычистить репозиторий от файла — использовать скрипт filter-repo
    # клонируем репозиторий в соседний каталог
    # иначе придётся использовать ключ --force
    git clone --no-local . ../clonerepo/
    # переходим в свежий клон
    cd ../clonerepo
    # чистим
    git filter-repo --path "path/to/file" --invert-paths
    # проверим что файл исчез
    git log --oneline --name-status -- "path/to/file"
    Коммиты в гите неизменяемые, но мы можем их пересоздать заново. Фактически получится новый репозиторий, но сохранится история. Всем участникам проекта придётся клонировать новый проект заново.
    Ответ написан
    3 комментария
  • Как можно улучшить модерирование?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Разумеется, он не знает местных заморочек, и накосячил.

    Абсолютно все перед регистрацией ставят галочку, что прочитали и приняли правила.

    А не давать пинка под зад, "Пшёл вон, дурачина", молча удаляя вопрос.

    При удалении вопроса, его автор получает уведомление с указанием причины удаления.
    Ответ написан
    Комментировать
  • Почему кв.матрица — nxn?

    @deliro
    Это троллинг такой? У квадрата все стороны равны, верно? Вот и у квадратной матрицы количество столбцов равно количеству строк. А причём тут индекс — я могу только догадываться. Почему трёхэтажный дом по 3 квартиры на каждом этаже называют девятиквартирным, если у каждой квартиры есть свой номер?
    Ответ написан
    2 комментария