• Как автоматизировать выполнение sql-запросов?

    @alexalexes
    Зависит от СУБД, а не от IDE. Есть ли в СУБД планировщик запросов по расписанию.
    А универсальный способ - это наличие любой среды выполнения, способной вызывать скрипт по расписанию - хоть shell, хоть cron + php/python, хоть планировщик windows + любой exe со скомпилированным запросом.
    Ответ написан
    7 комментариев
  • В какой стране лучше хостить сайт с аниме для меньшего шанса блокировки?

    @maksam07
    Говорят, на хостингах, где разрешено публиковать гомосексуальный контент, там проблем не должно быть (шутка)

    Есть еще такие сервисы, как "абузоустойчивый хостинг". Удовольствие может быть несколько дороже обычного хостинга, но если действительно важна стабильная работа сайта, то как вариант не плохой. И как еще один вариант, попробовать узнать в каких странах располагаются сервера на этих абузоустойчивых хостингах и арендовать обычный хостинг с датацентом в такой стране. Ну это так, не 100%-й вариант, а как на подумать
    Ответ написан
    4 комментария
  • Как избавиться от слежки СМС?

    suffix_ixbt
    @suffix_ixbt
    https://www.babai.ru/
    Если "нехороший человек" работает на ФСБ, ГРУ, АНБ, ЦРУ, ФБР, МОССАД, АМАН, ШАБАК, МИ-6 или СИГУРАНЦА и тупо "сидит" на оборудовании ОПСОСА (Оператор Сотовой Связи) - то никак не избавитесь от его мониторинга СМС вашей подруги.
    Ответ написан
    Комментировать
  • Как избавиться от слежки СМС?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Ну, начать надо с бессмертной фразы "какие ваши доказательства?" Ну то есть, пусть продемонстрирует, что кто-то может что-то читать, а не просто блаблакать.
    Разумеется, такие возможности есть, причем вполне себе легитимные. Например "МТС.Поиск" - сервис такой. В базовой версии отслеживает передвижение по городу, при установке агента на телефон - позволяет полностью удалено управлять им (в том числе прослушивать окружение через микрофон телефона). Для подключения к сервису достаточно бросить незаблокированный телефон - придет смс с запросом на согласие, ответить да - и вуаля :)
    Как проверить? Посмотреть, нет ли на телефоне агента. Если агента вроде нет, а доступ есть - сделать полный сброс телефона. Если не было рута, этого будет достаточно. Если рут был - лучше его перешить.
    Ответ написан
    4 комментария
  • Как использовать сессию для всех клиентов одновременно?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Единственно правильный ответ - никак.

    Такой вопрос можно задать только от безграмотности. От непонимания того, как работают сессии.
    Потому что сессия в обязательном порядке блокирует файл с данными на время работы с ним. И именно отсюда возникают многочисленные вопросы "а почему у меня долгий процесс в одной вкладке блокирует сайт во всех остальных вкладках?". А теперь представим, что один и тот же файл блокирует не один юзер, а все по очереди. Таймаут будет постепенно накапливаться, и в итоге сайт у всех пользователей сначала начнет ощутимо подтормаживать, а потом и вовсе встанет колом.
    Поэтому такая вещь, как "сессия сразу для всех пользователей" заведомо является бессмыслицей.

    Если под "сессией" имелось в виду общее хранилище для всех пользователей, то оно называется "база данных". И в этом смысле "БД не предлагать" выглядит беспочвенным капризом. Как правильно заметил N в комментарии, такое заявление звучит как "Как кушать суп? Ложку не предлагать."
    Такие заявления надо всегда подробно обосновывать. И в этом случае вам либо действительно подскажут, как обойтись без БД, либо объяснят, что это просто блажь.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Postgresql - более консервативен. Его можно брать почти для любых проектов. Есть partitioning что свидетельствует о зрелости системы и об Enterprise-ready. Единственное что может быть не очень - это некий кумулятивный эффект от частых inserts/updates который требует вакуума. И со счетчиками транзакций там есть нюанс. Но скорее всего в твоём сегменте разработки PHP/Laravel - тебе будет просто безразлично сущестование вакуума.

    MySQL это лейбл под которым на самом деле могут работать различные engines таблиц. И если анализировать какой-то performance-инцедент то нужно в первую очередь спрашивать с какой опцией таблица создавалась. MyISAM/Innodb/e.t.c. Потому что выбор этого двигателя влиял на какие-то опции скорости и транзакций. Я заменял например в создающих скриптах InnoDb на MyISAM для того чтобы просто быстрее прогрузить 1Тб CSV файл.

    В более современных версиях типа MariaDb (я уже не следил за этими новостями) есть более умные двигатели которые учитывают дефекты старых и по идее они должны быть универсальнее. Тоесть можно их брать смело.

    Что лично меня раздражает в диалекте My/SQL - так это странного вида кавычки-апострофы. Никогда не понимал зачем это.
    Ответ написан
    Комментировать
  • Зачем надо закрывать курсор при работе с БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дело в том что курсор может потреблять ресурсы. Например вы захотели взять первые 10 строк из 10000000 выборки но предварительно отсортировали. Выбрали 10 строк и не сделали финализирующие протокольные действия в Python. База данных будет удерживать в памяти алгоритмы и структуры данных для снапшота результата этого запроса до тех пор пока не придет явный CLOSE с вашей стороны либо интеллекуальный драйвер который еще и обладает логикой уборки мусора сам не догадается что Statement уже вышел из scope вашего использования и может быть удалён GC.

    Я был свидетелем ситуации когда крупное ent-приложение Java/Oracle переполняло память из-за неверной обработки Exception и плодила много незакрытых курсоров в БД. Java от этого не сильно страдала (GC всё убирал) но страдал Oracle. Потому что уборка происходила слишком поздно. Пофиксилось тогда переписыванием с try на try-with-resources.

    Поэтому если вы неряшливо обращаетесь с курсорами (явными и неявными (обычный select к примеру может прождать неявный курсор)) то не ваше приложение а база данных почувствует себя плохо. Как быстро и какие ошибки вы будете получать - зависит от настроек вашей БД.
    Ответ написан
    Комментировать
  • Как сохранять и сокращать ОЧЕНЬ большие числа типа int?

    vabka
    @vabka
    Токсичный шарпист
    Варианта три:
    1. Использовать double - тогда максимум у тебя будет примерно 1e308 (1 с 308 нулями)
    2. Хранить число в виде двух чисел - значение и степень десятки Точность на больших числах будет низкая, но предела по сути нет - можно будет хранить числа вплоть 2^64*10^(2^64) (если использовать два long). Эту же методику можно и с double реализовать - получится ~10^308*10^(10^308), что ещё больше
    3. Можно попробовать BigInteger - по памяти не эффективно, медленно, но зато точность идеальная.

    Чтобы прямо весь код не переписывать - свое "особое" число ты можешь реализовать как структуру со всеми нужными операторами и операторами приведения типов.

    Вот пример, без реализации операторов

    struct ExponentialInteger
    {   
        private readonly int value;
        private readonly int exp;
        
        //.ctor
        // operator +
        // operator -
        // operator *
        // operator /
        // operator implicit
        // operator explicit
        // IEquatable, IComparable, IFormattable
        // итд
        private static string[] suffix = new[]
        {
            "", "K", "M", "t", "q", "Q", "s", "S", "o", "n", "d", "U", "D", "T", "Qt", "Qd", "Sd", "St", "O", "N", "v", "c"
        };
    
        public override string ToString()
        {
            if (exp >= suffix.Length || exp < 0)
            {
                return $"{value}*10^{exp}";
            }
            else
            {
                return $"{value}{suffix[exp]}";
            }
        }
    }

    Ответ написан
    3 комментария
  • Активная блокировка VPN провайдером, решения нет?

    CityCat4
    @CityCat4 Куратор тега VPN
    Внимание! Изменился адрес почты!
    Есть очень простой способ блокировать любой VPN независимо от того, какой там протокол вообще. Это анализ количества трафика. Когда по непонятному порту (да даже и по понятному) на непонятный сервак (даже если там есть сайт с котиками) идет жирный поток трафика - это сразу наводит на подозрения.
    Проблема большинства "защищенных" протоколов в том, что они считают противостоящую сторону дураками. А если там сидят не дураки, тоже неплохо представляющие себе, как работают сети?
    Мне видится один способ "обойти" блокировку - завести трактор :)
    Ответ написан
    2 комментария
  • Зачем нужны роутеры если можно обходиться без них в express.js?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Просто один из уровней абстракции. Точно так же можно сказать о любой функции/методе и так дойти вниз до машинного кода и транзисторов. Кроме того, роутер может иметь более сложную логику, чем просто отработка запроса по ссылке - например использовать параметры из ссылки.
    Ответ написан
    Комментировать
  • А чем собственно занимается WordPress разработчик?

    @Kvason
    Веб-разработчик
    Пишет темы/плагины для клиента, дорабатывает последствия кривых рук предыдущего разраба или мамкиного программиста в элементоре и подобной фигне
    Ответ написан
    Комментировать
  • А чем собственно занимается WordPress разработчик?

    @As56
    Не бывает разработчиков Wordpress, бывают разработчики PHP, JS, C++ и так далее. WP - просто система управления контентом, которая написана на PHP. Так что знать нужно именно его. А так, собирать сайты из готовых шаблонов, ставить плагины - ума много не надо, разработкой это назвать нельзя
    Ответ написан
    3 комментария
  • Почему в классах нельзя писать let?

    @SigmaMale
    Middle Frontend developer (плюс минус middle)
    Потому что это не переменная, а свойство. Переменные можно делать внутри методов и конструктора.
    К переменной нельзя обратится через this. Например us = "User" + this.name
    Также к переменной нельзя получить доступ из вне, вот так:
    class User {
        name = "Tom"
    }
    let tom = new User();
    
    alert(tom.name);


    Коротко говоря потерялся бы весь смысл от ООП.
    Ответ написан
    Комментировать
  • Доступное обучение по работе с сетевым оборудованием?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Подбор серверов и коммутаторов без знания того, как эти сервера и коммутаторы работают и что они делают и зачем они это делают - это примерно как подбор автомобиля человеком, всю жизнь ездившим на лошади...
    Ответ написан
    1 комментарий
  • Доступное обучение по работе с сетевым оборудованием?

    @dmshar
    Вот честно, я не понял. Вы прикалываетесь? Или серьезно?
    Ну первые же строчки в Google-выдаче:
    https://edu-cisco.org/courses/
    https://eitca.org/eitca-is-information-security-ac...
    https://www.specialist.ru/vendor/cisco
    https://training-microtest.ru/course/ccnax-v-30

    https://training-microtest.ru/courses/hp?ThemeId=79
    https://www.hp.com/ru-ru/pdf/310113_learningcentre...
    https://education.hpe.com/ru/ru/training/index.html

    https://muk.training/courses/course_vendor/emc/page/2/
    https://www.dell.com/ru-ru
    https://academy.ru/catalog/emc/
    meliusgroup.ru/obuchenie-lenovo

    Извините, ну судя по вопросу, вам не серверы и сетевуху настраивать надо учиться, а осваивать элементарную компьютерную грамотность. Элементарный информационный поиск в Гуугл сегодня умеют делать шестиклассники. Без такого умения - причем очень уверенного - никакое обучение, а тем более дальнейшая работа в этом направлении будут НЕдоступными.
    Ответ написан
    6 комментариев
  • Какой ноутбук выбрать для начинающего программиста?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Лучше выбрать стационар. Во-первых, лучше характеристики в рамках того же бюджета. Во-вторых, лучше эргономика.
    Ответ написан
    Комментировать
  • Куда расти фрилансеру, чтобы устроиться в IT компанию?

    maxpred
    @maxpred
    Frontend dev
    Интересно, что и у меня такая же ситуация, примерно такой же опыт, и тот же вопрос стоял недавно.

    Получается так, что я в отдельных направлениях, которые являются полноценными профессиями, имею не полные знания этой профессии, в основном то, что практикую.
    Поэтому устроиться по отдельной профессии не получается. Например, я пишу на свои проекты плагины для wp на php, js, но при этом с моими знаниями меня не возьмут в разработчики, тк там куча других знаний нужны, проверено. Ну и тд.

    Ну в общем, я выбрал курсы по Frontend, и начал учиться полноценной профессии, думаю и тебе тоже нужно выбрать что тебе больше всего нравится в том, что ты делаешь, потому что я уверен, что у тебя есть вещи в твоей деятельности, которые ты делаешь не охотно, а от каких-то кайфуешь, вот это и выбирай.
    Ответ написан
    1 комментарий