Задать вопрос
  • Насколько важно писать лаконично?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Пишите понятно. Лаконичность она хороша, но при некоторых конструкциях просто взрывает мозг.
    Ответ написан
    Комментировать
  • Почему php не может подключиться к БД?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Чтобы узнать, почему не работает соединение или запрос, надо настроить РНР так чтобы он отображал ошибки, а mydsqli - чтобы оно бросало исключения.
    То есть код должен выглядеть вот так

    <?php
    // видеть все ошибки!
    ini_set('display_errors',1);
    error_reporting(E_ALL);
     // подключаем настройки
    require_once 'connect.php';
    
    // включаем режим информирования об ошибках
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    // подключаемся к серверу
    $link = mysqli_connect($host, $user, $password, $database);
    // не забываем установить кодировку, чтобы не было ошибок с кракозябрами
    $mysqli->set_charset('utf8mb4');
       
    // выполняем операции с базой данных
    $query ="SELECT * FROM foo";
    $result = mysqli_query($link, $query);
    // дальше делаем что нужно
    
    // и кстати, в большинстве случаев закрывать подключение не надо


    ЗЫ. На боевом сервере ошибки на экран выводить конечно не стоит, а их надо писать в лог (собственно, именно поэтому все эти die - это ужас). И на боевом сервере display_errors надо отключать, а log_errors наоборот - подключать.
    Если совсем не можешь найти, где у сервера висит лог ошибок, можешь задать свой собственный, с помощью функции ini_set('error_log','/путь/к/файлу');. Но только размещать его надо разумеется в папке недоступной пользователям сайта


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

    Если разобраться, то код or die("Ошибка1 " . mysqli_error($link)); очень смешной (это не к тебе претензия, никто не ожидает от тебя понимания таких тонкостей, которые не то что новички, а половина здешних "кураторов" не понимают).
    Что тут происходит?
    слово or die (которое на самом деле вообще нельзя никогда писать) пишут тогда, когда ожидают что в переменной $link будет значение false. Но если в $link будет false, то тогда её бессмысленно подставлять в mysqli_error. Именно поэтому для получения ошибки соединения в мускули есть отдельная специальная функция.

    Но как я говорил выше, применять её не следует, как и or die.
    Ответ написан
    2 комментария
  • Как строить карьеру senior разработчику?

    1) Написание эффективного кода и кругозор - не есть критически навык для сениора. Большое количество людей получает этот навык в той или иной степени.

    2) Знание отрасли и её специфики, и как под эту специфику писать код - куда более важный навык, который и оплачивается за хорошие деньги. Если эта отрасль обширная и денежная (большой спрос на программистов и большие возможности у компаний - то мы получаем бинго). Поэтому так много банковских программистов остается в финтехе, ибо они понимают, что им платят "выше рынка", не за написание кода, а за знание специфики финтеха. Тоже самое верно для телекома, логистики, недвижки, медицины, чат-серверов и так далее.

    3) Если хотите быть востребованным сениором, которого все хотят и зовут к себе, надо выбирать именно такие отрасли.
    Ответ написан
    Комментировать
  • Что значит однородные и неоднородные данные? Подчеркивающие структуры данных?

    @koperagen
    Ты набрел на сайт машинного перевода ответов со стаковерфлоу.
    В оригинале так:

    1. Arrays store homogeneous data. Collections store both homogeneous as well as heterogeneous data.
    По этим ключевым словам (java homogeneous heterogeneous data) гуглится такой ответ https://stackoverflow.com/questions/36700490/what-...

    2. In Arrays, there are no underlining data structures, whereas Collections have underlining data structures.
    Думаю тут опечатка, имеется ввиду underlying, т.е. "коллекции основываются на структурах данных". Для Map это, например, хэш массив, дерево, trie, для List связный список, массив и т.д.
    Ответ написан
    1 комментарий
  • Принтер печатает ДО перезагрузки? Как исправить?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    MS в названии модели у этого принтера означает, что прошивку в принтер грузит
    компьютер. Драйвер похоже не может понять через ваш переходник в какой момент времени
    нужно залить прошивку.

    Как побороть увы не знаю.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы в webpack 5 работал hot reload?

    @MichelPodkhvatiln
    Если еще актуально, я нашел решение данной проблемы тут : https://github.com/webpack/webpack-dev-server/issu....

    Кратко, проблема заключается в .browserslist .
    Нужно в webpack.config.js добавить данную проверку:
    target: process.env.NODE_ENV === "development" ? "web" : "browserslist",


    Как-то так)

    А также в Webpack 5 изменился вызов dev сервера.

    "start": "cross-env NODE_ENV=development webpack serve"
    Ответ написан
    5 комментариев
  • Как отправить больше 1000 HTTP запросов и быстро получить ответ?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Используй Guzzle без Laravel-обёртки в конкурентном режиме.
    Ответ написан
    Комментировать
  • Почему человек узнал все обо мне по фейковой закрытой странице в вк? Как такое возможно?

    Noizefan
    @Noizefan
    Всё гораздо проще, не пудри людям мозги.
    Создать абсолютно пустую страницу в вакууме, конечно же якобы ничего с неё не делать (этот момент ты, естественно, не упомянула) и внезапно непойми кто пишет такие вещи?))

    Никакими "узнать страницу по номеру" или "номер по странице" или "страницу по имени и фамилии" "за 5000 рублей лучший хакфорум lolzteam" тут и не пахнет.
    Вот для чего страницу создала - общаться с подружкой, вступить в группу, в которой всего 15 человек, добавиться ко всем друзьям своим, у которых итак друзей по 5 штук - вот к подружке, группам и друзьям и иди
    Какие в жопу сотовые операторы, друзья? Вы с ума посходили? вирусы флешки))) Может, своими фантазиями девок клеить в реал пойдете уже а?)) диванные племянники Холмса))
    нееет, это точно цру а наша тс это спецагент в бегах. Вот не знает уже что и делать на тостер пришла.

    Ты элементарнейшим образом сама себя слила, и злоумышленнику помогли 33% удачи, 33% социальной инженерии и 33% твоей собственной глупости. Подруга тебя подставила или издевается, схожесть интересов, GetContact, всё в тысячи раз проще, стоит лишь немного пораскинуть мозгой.

    Если всё настолько серьезно и страшно, как ты описываешь - тебя ничто не может в таком случае остановить в походе в отделение полиции и написании заявления.
    Ответ написан
    10 комментариев
  • Как лучше отдавать связанные данные через rest api laravel?

    @d-sem
    Посмотрите в сторону https://github.com/spatie/laravel-query-builder
    И фильтры по полям, и связи по требованию.
    Ответ написан
    1 комментарий
  • Как понять что ты знаешь javascript и готов приступить к изучению фреймворков?

    @dimoff66
    Кратко о себе: Я есть
    Один мальчик не зная javascriipt-а приступил к фреймворкам, нашел себе работу, дорос до тимлида, создал свои курсы, так и не поняв, что он не знал javascript и совершенно не был готов к изучению фреймворка. А время то не вернешь.

    PS Если говорить серьезно, то доказательство существования пудинга в его вкусе. Если пишете работающий код на js - значит знаете на уровне, достаточном для фреймворка. Процесс познания почти бесконечен. Поэтому какой-то точки, где можете сказать "Да, теперь я знаю" не существует. просто получайте удовольствие от изучения и программирования и не парьтесь знаете вы что-то или нет.
    Ответ написан
    Комментировать
  • Как лучше отправлять результат нескольких компонентов через форму (не axios)?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Сейчас у меня каждый компонент помещает результат в собственный скрытый input, но как-то эстетически мне это не нравится...

    Но именно так и работают формы! Это стандарт. Ведь форму можно отправить вообще без яваскрипта.

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

    Kozack
    @Kozack Куратор тега Vue.js
    Thinking about a11y
    Сейчас у меня каждый компонент помещает результат в собственный скрытый input, но как-то эстетически мне это не нравится...

    И почему же? Я тоже так делал. Но чаще даже отдельный скрытый инпут не нужен.
    Ответ написан
    3 комментария
  • Как определить что сервер именно локальный?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Наверное, самый простой способ - через переменную окружения.

    Например, если установлена ENV_DEV_LOCAL, то ты на локалке :).
    Ответ написан
    Комментировать
  • PHP PDO bindParam, второй параметр передается по ссылке. Зачем?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вопрос хороший, а ответ очень простой
    Подготовленные выражения - это ведь подукция двойного назначения.
    Они не только защищают от инъекций, но так же позволяют сэкономить несколько миллисекунд, если один и тот же запрос надо выполнить несколько раз с разными данными.

    То есть по сути никакой PDO::PARAM_CLOSURE для того чтобы изменить данные на лету не нужен - ты тупо меняешь значение приязанной переменной. Именно благодаря передаче по ссылке.
    $stmt = $pdo->prepare("SELECT ?");
    $stmt->bindParam(1, $var);
    $var = 1;
    $var = 2; // меняем на лету
    $stmt->execute();
    $var = 3;
    $stmt->execute();


    Плюс, как правильно отмечают товарищи в комментах, иногда переменная служит для возвращения значения из хранимой процедуры. То есть после выполнения запроса в привязанной по ссылке переменной будет не исходное значение, а то, которое возвратила процедура
    Ответ написан
    3 комментария
  • Какой подход программирования на PHP выбрать в 2020 году?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Простейшее веб приложение уже не отразит суть всех тенденций. Или его сложно будет назвать простейшим) Правильно советуют phptherightway, из этого обязательно стоит отметить:
    - стандарты psr
    - сборка проекта через composer, знание самых популярных пакетов и где их искать
    - знакомство с IoC (Di) контейнером
    - знание хотя бы одной популярной ORM
    - уверенная работа в IDE (погуглить основные лайфхаки пхпшторма)

    Обычно пара официальных вводных курсов по фреймворкам знакомит со всеми этими вещами. Yii2 давно отстает от тенденций
    Ответ написан
    Комментировать
  • На чем верстать в 2020: гриды или флекс?

    Ankhena
    @Ankhena Куратор тега Вёрстка
    Нежно люблю верстку
    И главное, есть ли серьезные причины выбрать флекс, а не гриды для верстки?

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

    Сравните https://caniuse.com/ и ТЗ.
    Ответ написан
    8 комментариев
  • Как перевести эксель файл с украинского языка на русский?

    @Qugurun
    Открыть файл в Google таблицах и настроить пустую ячейку для перевода вставив в него "=GOOGLETRANSLATE(A1;"uk";"ru")", далее потянуть за край ячейки в низ до нужного поля.

    5f476b91bab0e978895016.gif

    Пример документа
    Ответ написан
    1 комментарий
  • Как правильно работать с фрилансером?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Если у тебя в разработку сайта было вложено много миллионов денег, или слив исходников может поставить под угрозу работоспособность сайта, то тогда составляй договоры. В противном случае - это странная паранойя и ничего больше.
    Ответ написан
    Комментировать
  • Как в современном мире используют php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    В огороде бузина, а в киеве дядька.
    Сон разума рождает чудовищ и такие вот вопросы на тостере. В одну куче смешалось три понятия

    - использование РНР в мире
    - использование РНР в качестве шаблонизатора
    - проецирование своего микроскопического опыта разработки микроскопических страниц на всю разработку в целом.

    Поэтому отвечать надо на все три вопроса по отдельности

    1. РНР в современном мире используется очень по-разному. Можно очень грубо разделить на 4 группы
    - многочисленная армия клепальщиков готовых сайтов на конструкторах типа Битрикса, Вордпресса, Друпала, Маженто и весь прочий зоопарк
    - довольно многочисленная армия тех кто не смог освоить даже предыдущий пункт, и до сих пор старательно выводит по слогам "вайл муэскуэль фетч эррэй"...
    - относительно малочисленная группа освоившая современные методы разработки включая фреймворки, поставившая напиливание сайтов на поток
    - довольно малочисленная группа программистов, которые пилят штучные проекты типа ВК, Баду, ФБ и прочий хайлоад

    2. использование РНР в качестве шаблонизатора
    Опять же, зависит от группы, к которой ты относишься, но на практике встречается только в группе 3.
    Остальные уже научились использовать шаблонизаторы.

    3. Не все проекты являются примитивным перекладыванием данных из БД в ХТМЛ. ООП "и другие возможности" нужны для написания сложных программных систем.
    Ответ написан
    Комментировать
  • Компонент не вмонтирован?

    miraage
    @miraage
    Старый прогер
    class Rate extends React.Component {
        constructor(props) {
            super(props);
            this.state = {
                date: '',
                currencyRat: {},
            }
            this.currency = ['USD', 'RUB', 'CAD'];
        }
        componentDidMount() {
            this.getRate(); // не в конструкторе надо вызывать, а в componentDidMount
        }
        getRate() {
            fetch('https://api.exchangeratesapi.io/latest')
                .then(data => {
                    return data.json(); // забыли вызвать функцию
                })
                .then(data => {
                    console.log(data)
                    this.setState({ date: data.date })
                })
        }
    Ответ написан
    1 комментарий