• Какой стек выбрать, если я захочу запилить твиттер?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Начали они с Ruby on Rails и MySQL. Сейчас там чрезвычайно сложная распределённая инфраструктура с использованием множества технологий. Солидная часть кода написана на Scala.

    Как вам справедливо заметили в комментариях, функционал ленты твиттов сам по себе примитивен и написать его можно на чём угодно, но Twitter работает в условиях высоких нагрузок, что в корне меняет подходы к разработке и требования к разработчикам.
    Ответ написан
    Комментировать
  • Как убрать адрес из спама навсегда?

    wisgest
    @wisgest
    Не ИТ-специалист
    сообщение->мой домен->редирект r01->гугл(спам)

    Последовательно отмечать такие сообщения как «не спам» — возможно, со временем поможет.

    Если не помогает или не хватает терпения, то в настройках Gmail создать фильтр «не помещать в спам» письма, содержащие в Кому полный адрес в своём домене или его часть (например, только домен). Если вы, как и я, предпочитаете упрощённый интерфейс Gmail, то создание такого фильтра в нём недоступно и для этого надо временно переключится на «стандартный». Письма будут помещаться во Входящие, но в своём большинстве будут содержать пометку, что не помещены в спам из-за соответствующего фильтра. Эту пометку убрать нельзя и явным образом дать понять Google, что это не спам тоже нельзя.

    Можно также попробовать воспользоваться двумя ящиками в Gmail. Пересылать из своего домена на первый. Для него настроить ничего не помещать в спам, пересылать на второй и удалять, и больше в него не заходить. По моему опыту доля попавших в спам писем во втором (основном) ящике при таком двойном перенаправлении будет меньше, а их уже можно попробовать помечать как не спам вручную для обучения Google.
    Ответ написан
    1 комментарий
  • Как зарегистрировать свой qr код?

    trapwalker
    @trapwalker
    Программист, энтузиаст

    Сразу хочу предупредить что я знаю что такое qr код и для чего он нужен. И знаю что есть куча генераторов qr кодов.

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

    Судя по вопросу вы слишком самоуверены в своём "знании".
    Вы путаете. Не сайт привязывается к QR-коду, а QR-код создаётся из ссылки на сайт, из номера телефона или из email, или параметров подключения к wifi.

    Вот сейчас подумал, что, возможно, вы хотели по одному и тому же QR-коду ходить на со временем изменяющуюся страницу? Можно нарисовать QR-код для ссылки, полученной с помощью любого сервиса сокращения URLов, а потом подменять там целевой адрес для редиректа. Это даст вам заодно еще и статистику переходов по ссылке.
    Ответ написан
    4 комментария
  • Нахождение строк в массиве объектов Javascript?

    twobomb
    @twobomb
    if(users.some(u=>u.user == user && u.password == password)){
    //Как бы авторизация
    }
    Ответ написан
    Комментировать
  • The property ... is not readable because it is typed "string". Но почему?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    If a typed property does not have a default value, no implicit null default value is implied (even if the property is nullable). Instead, the property is considered to be uninitialized. Reads from uninitialized properties will generate a TypeError
    https://wiki.php.net/rfc/typed_properties_v2#unini...
    Ответ написан
    Комментировать
  • Каким методом можно заменить приведённый ниже код?

    @McBernar
    Вы же можете сами проверить

    const arr = [true, false, true, false, false];
    const f = (item) => item === true;
    const fn = (f, list) => list.filter(f);
    const res = fn(f, arr);
    console.log(res);
    Ответ написан
    Комментировать
  • Почему нет опции смотреть в 2K, 4K и 8K на YouTube?

    PolarBearGG
    @PolarBearGG
    I know that I know nothing
    4к в ютубе VP9 а на маке только H.264, скачаю хром мб поможет а так на сафари 100% проблема в кодировке
    Ответ написан
    2 комментария
  • Почему некорректно отображается страница сайта при просмотре в консоли разработчика?

    @L1nks
    У вас на странице есть псевдоэлемент, у которого ширина 1200px, поправьте это и все будет ок
    5e81a3d69e85b338360132.png
    Ответ написан
    1 комментарий
  • Зачем использовать готовые решения?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - готовый код - он разный. В частности данное утверждение подразумевает "готовое обкатанное, проверенное на многих использованиях, все основные косяки и грабли уже найдены и пофиксены".

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

    В третьих - готовое распространенное решение проще поддерживать, завтра вы уйдете / перестанете поддерживать свое "творение", и другой разработчик вынужден будет разбираться в вашем произведении, матюкаясь что в одном месте "все прибито гвоздями", в другом "собрано из г**на и палок", в третьем "эти 30 строк пишутся одной тренарной операцией, кто это вообще писал???"... И вам потом икать, оно вам надо?

    То есть, если вы уверены, что ваш код безглючен, выполняет то что надо и в 4 раза короче "готового решения" - вперед на мины, а если важнее надежность и фидбэк, вкупе со скоростью разработки - лучше взять популярное рабочее решение.

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

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    Для таких случаев придумали docblock (а начиная с php 8 - union типы):

    # PHP 7+

    declare(strict_types=1);
    
    /**
     * @param int|string|float $a
     * @param int|string|float $b
     * @return string
     */
    function summ($a, $b): string {
        return bcadd((string)$a, (string)$b);
    }


    # PHP 8+

    declare(strict_types=1);
    
    function summ(int|float|string $a, int|float|string $b): string {
        return bcadd((string)$a, (string)$b);
    }


    P.S. Помимо этого можно кастовать результат к инту, если он в пределах допустимого int32/int64 (зависит от ОС и сборки пыха) значения
    return $result > \PHP_INT_MAX ? $result : (int)$result;
    Ответ написан
    Комментировать
  • Как в Laravel построить отношения одной дочерней модели с другой через родительскую?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    Очень легко.

    Client:
    
    hasMany(Metric::class, 'project_id', 'project_id')
    
    Metric:
    
    hasMany(Client::class, 'project_id', 'project_id')
    Ответ написан
    1 комментарий
  • Что быстрее mysql, mysqli или pdo?

    fonclub
    @fonclub
    php developer
    Php 7 мне явно не нужен, не вижу смысла

    А вот насчёт перехода на php 7 стоит подумать. Прирост в производительности впечатляющий, посмотрите тесты. Так что смысл в этом есть.
    Ответ написан
    Комментировать
  • Почему продолжилось нормальное выполнение после выброса исключения?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    можно так интерполировать:

    когда Есть исключение в блоке try - то выполнение продолжиться В ближайшем блоке catch.
    строки идущие после ошибки, в блоке try, не выполнятся

    когда Нет исключения в блоке try - то выполнение продолжиться За последним блоком catch выполнятся все инструкции в блоке try и выполнение продолжиться за блоком catch

    вне зависимости было или нет исключение, выполнение продолжиться после конструкции try...catch
    Ответ написан
  • Можете объяснить эту строчку кода?

    @HoorayHeroes
    document.execCommand("copy");
    Копирует выделенное в буфер обмена. Возможность такого поведения отличается от браузера к браузеру и расширяется со временем. Следует проверить таблицу совместимости, чтобы убедиться в возможности использования.

    Погуглил за вас: первая же статья на MDN. - Не умею гуглить
    Ответ написан
    2 комментария
  • Как подключить файлы, лежащий на другом сервере?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Вообще, обычно для задач подобных тем, что Вы описали - используют Git и другие системы контроля версий, который рассылают уведомления о том, что исходный код на источнике обновился, зависимые серверы получив такое уведомление (оно ещё называется "пуш") - они скачивают обновление и развораичвают его локально, подобный процесс так же иногда называется "сборкой".

    Но, насколько я понимаю, у Вас случай несколько проще и не требует "тяжелой артилерии". В этом случае, может быть актуально использовать программы типа sshfs или ftpfs и прочие подобные штуки.

    Почитать можно например тут или тут.

    Если простой вариант Вас не устроит - можете попробовать использовать такие сервисы как например GitHub или BitBucket, там есть такая штука как "Веб-хуки", именно она как раз таки рассылает уведомления о том, что исходный код был изменен, можете попробовать написать простенький скрипт, например на том же PHP, который бы стягивал изменения из удалённого репозитоиря и проводил прочие манипуляции подобного толка.
    Ответ написан
    1 комментарий
  • Как подключить файлы, лежащий на другом сервере?

    mahmudchon
    @mahmudchon
    МБ организовать API?
    Ответ написан
    Комментировать
  • Почему b == number?

    potapchino
    @potapchino
    потому что на самом деле ваш код выглядит вот так:
    var b;
    
    if(true) {
      let a = b = 200;
    }
    
    console.log( typeof a ); // undefined
    console.log( typeof b ); // number


    чтобы было как вы ожидаете, нужно сделать вот так:
    if(true) {
      let b;
      let a = b = 200;
    }
    
    console.log( typeof a ); // undefined
    console.log( typeof b ); // undefined
    Ответ написан
    Комментировать
  • Как парсить HTTP Запросы/Ответы на уровне байтов?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Низкоуровневый код и должен быть большим.
    Ответ написан
    5 комментариев
  • Как обработать исключения в xUnit.net?

    ch1sel
    @ch1sel
    probability is extremely small
    [Fact]
            public void Test2()
            {
                Assert.Throws<ShapeException>(() =>
                    {
                        var rect = new Rectangle
                        {
                            Height = -5,
                            Width = 3
                        };
                        rect.Area = rect.Height * rect.Width;
                    }
                );
            }
    Ответ написан
    2 комментария
  • Как сейчас лучше делать - один файл css и js или много мелких файлов?

    dom1n1k
    @dom1n1k
    Искать баланс. Обе крайности не очень хороши.
    Всё россыпью - слишком много запросов (про http/2 слышали, но в реальной жизни небольших/средних проектов че-то пока не встречали).
    Объединять всё - риск получить огромный бандл, который тащит кучу лишнего и потому замедляет первичную загрузку.
    Обычно имеет смысл CSS разбивать на небольшое количество бандлов по областям применения. Условный пример: глобальные стили, стили для главной и для внутренних - чтобы на главной не тянуть лишнее, но закэшировать нужное в дальнейшем. Со скриптами что-то похожее. В спрайт совать только иконки.
    Ещё распространенная практика - если у вас есть критичные стили и/или скрипты, которые должны быть загружены максимально быстро, то их инклюдят прямо в тело страницы (не более нескольких КБ).
    Ответ написан
    Комментировать