• Работать в выходные или нет?

    @levsha9413
    Необходимо обязательно отдыхать в выходные, иначе выгорание неизбежно.
    Рабочие задачи - это непрерывный поток, неважно, черпаете вы из него пять дней в неделю или все семь, этот поток не закончится.
    А вы - да.
    Ответ написан
    Комментировать
  • Как правильно накатить nano на git что бы ничего не сломать?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    из man git:
    GIT_EDITOR
               This environment variable overrides $EDITOR and $VISUAL.
               It is used by several Git commands when, on interactive mode,
               an editor is to be launched.
               See also git-var(1) and the core.editor option in git-config(1).

    Т.е.
    - можно глобально установить переменную окружения GIT_EDITOR
    - или в глобальном .gitconfig установить опцию editor в секции core
    - или в .git/config нужного репозитория установить опцию editor в секции core
    Ответ написан
    Комментировать
  • Как вывести итальянский в php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Кодировка страницы + кодировка соединения + кодировка таблицы в бд + желательно дефолтная кодировка в пхп.ини = utf-8
    Ответ написан
    4 комментария
  • Использование фасада DB через Model Laravel 8?

    @kandrash
    Кратко о себе
    Ответ написан
    Комментировать
  • Ubuntu как изменить имя в пути?

    @romicohen
    Системный Архитектор
    это потому что ты вошел в систему как ivan :)

    менять это не надо без крайней необходимости.

    придется с этим жить теперь ))
    Ответ написан
    Комментировать
  • Есть ли оператор, который заменит тернарный оператор value? value: "Nothing"?

    vovaspace
    @vovaspace
    Frontend Engineer
    ||
    Ответ написан
    Комментировать
  • Есть ли оператор, который заменит тернарный оператор value? value: "Nothing"?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    value || other - аналог value ? value : other
    value && other - аналог value ? other : value
    Ответ написан
    Комментировать
  • Тестовое задание перед собеседованием (PHP). Можете помочь перевести с русского на русский?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Вы никогда сервисами сокращения ссылок не пользовались и не представляете, какой функционал они предоставляют? То, что в задании написано - это вот оно и есть:
    1. Вы даёте сервису свою ссылку.
    2. Он вам возвращает новую, где домен сервиса и какой-то уникальный токен в качестве пути.
    3. Человек переходит на этой ссылке и сервис его редиректит по вашей первоначальной.
    Ответ написан
    1 комментарий
  • Как вывести строку по id php ?id=1?

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

    1. Получение значения из адресной строки

    Чтобы получить значение переменной, которую передали в строке запроса (это то что после знака вопроса), надо обратиться к переменной $_GET

    То есть в данном случае можно написать $id = $_GET['id']. Имя получаемой переменной ($id) может быть любым и не обязательно совпадать с переданным значением. А вот в индекс массива $_GET разумеется надо писать именно то имя, которое в адресной строке. То есть если site.com/?id=1 то в $_GET['id'] будет значение 1.

    2. Валидация данных

    Далее очень желательно проверить, что мы в переменной получили то что хотели, а так же что мы вообще хоть что-то получили.

    Сначала надо проверить наличие в массиве $_GET нужного ключа. В данном случае это можно сделать с помощью оператора isset() (хотя вообще она для проверки наличия ключей в массивах не рекомендуется)
    Если для показа информации используем отдельную, специальную страницу, которая только занимается показом данных по айди, то после проверки на существование надо выдать ошибку.

    Затем, поскольку id может быть только целым числом больше нуля, то лучше проверить и это тоже и тоже выдать ошибку.

    3. Соединение с БД.

    в "config.php" должно быть написано не то что там сейчас а вот это (со своими параметрами подключения разумеется)
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $link = mysqli_connect($host, $user, $pass, $db_name);
    $link->set_charset("utf8mb4");


    4. SQL

    Запрос, который нам нужен, выглядит так:
    SELECT * FROM `product` WHERE id=1

    5. Выполнение запроса в РНР

    Но разумеется вместо 1 надо подставить значение переменной.
    Это самое сложное. Но надо один раз выучить и потом везде применять

    Важно, чтобы данные в БД всегда попадали отдельно от самого запроса. Это непреложное правило, которое надо соблюдать всегда.
    Для этого надо
    1. Заменить все переменные в запросе на специальные маркеры, которые называются плейсхолдеры или параметры, а по сути - просто знаки вопроса
    2. Подготовить запрос к исполнению с помощью функции prepare(). Эта функция принимает строку запроса и возвращает экземпляр специального класса stmt, с которым в дальнейшем и производятся все манипуляции
    3. Привязать переменные к запросу.
    4. Выполнить подготовленный ранее запрос с помощью с помощью execute()
    5. Получить результат запроса через get_result()
    6. и дальше конкретную строку из БД с помощью уже знакомой fetch_assoc


    В коде это будет так
    $sql = "SELECT * FROM `product` WHERE id=?";
    $stmt = $link->prepare($sql);
    $stmt->bind_param("s", $id);
    $stmt->execute();
    $result = $stmt->get_result();
    $row = $result->fetch_assoc();


    bind_param() принимает в качестве параметров все переменные, которые должны попасть в запрос, в том же самом порядке, в котором стоят плейсхолдеры в запросе. Но кроме того, сначала в этой функции должны быть указаны типы для всех переменных, в виде строки, где тип переменной обозначается одной буквой. То есть букв в этой строке должно быть ровно столько, сколько дальше будет переменных. К счастью, можно особо не париться с типами и для всех переменных указывать тип "s".

    6. Вывод данных.

    Важно понимать, что в момент вывода данных никакой работы с БД уже быть не должно!
    Должны быть только переменные РНР с уже полученными данными.
    Ответ написан
    1 комментарий
  • Как правильно хранить несколько значений внутри поля в MySQL?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    "несколько значений внутри поля" в терминах реляционных баз данных - это отдельная таблица, которая ссылается на строку в исходной таблице. по ид публикации можно будет получить из неё все фотографии
    Ответ написан
    6 комментариев
  • Как учиться дизайну самостоятельно?

    tolfy
    @tolfy
    Фирменный стиль
    offtop: UI/UX
    Совет. Воспитай в себе тестировочного персонажа. Желательно, чтобы это был:
    • пожилой человек, слабо знакомый с интернетом и его "стандартными" UI
    • спешащий и "затраханный" юзер, уставший от нашествия "интересных решений" в UI

    Свои решения проводи через проверку этим персонажем.

    Приглядись к сети, как много решений, понятных только самим разработчикам. Как часто удивляешься, что нужный тебе в данное время элемент хрен найдёшь сходу и он ради "красоты" загнан "куда-то там".. Считаю, UI рассчитанный на умного и не учитывающий "дурака", - ущербен. ) Следовать совету выше вначале будет тяжело, потом втягиваешься, и персонаж начинает работать в паре с мастером уже параллельно и постоянно, не сильно мешая.
    Ответ написан
    Комментировать
  • Как получают API?

    nastya97core
    @nastya97core
    Начинающий программист
    d9a5c7a5629a4580bdf07dbe4882ca2a
    Я приведу самый простой пример с получением данных. По сути, у API возможности неограниченны. Всё что хочешь - то и можно. Просто чаще всего API используют, чтобы получить какие-то данные.

    Принцип такой:
    Есть сайт с погодой. Чтобы получить температуру в условном Питере, которую они замерили - тебе нужно зайти к ним на сайт, вбить в параметрах поиска СПБ и глазами посмотреть.
    И вот, чтобы обеспечить потребность "знать погоду" - тебе достаточно просто заходить к ним на сайт. Но если ты хочешь, чтобы на твоём сайте/приложении/в игре - была погода, то тут возникнут проблемы

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

    Чтобы посмотреть температуру в Санкт-Петербурге тебе нужно открыть ссылку:
    http://api.openweathermap.org/data/2.5/weather?q=Санкт-Петербург&units=metric
    нихрена работать не будет, потому что тут не указан ключ API.

    А зачем нужен ключ API?
    Как я уже сказала: API бывают платные и бесплатные и их платность зависит обычно от кол-ва запросов, которые ты делаешь. Но как поставщик узнает, кто делает запрос: я, ты или тот парень? Чтобы регулировать это - они присваивают тебе твой личный номер (айди), по которому они будут отслеживать, сколько запросов ты уже сделал. Также в твоём айди закладываются твои права. Может быть посмотреть погоду в Питере - бесплатно, но вот если ты хочешь узнать точную температуру в условном Кудрово, то будь добр - доплати и тогда они предоставят по твоему айди доступ к этой температуре. Кратко: API-ключ - пароль от твоего аккаунта.

    И вот тебе верная ссылка:
    http://api.openweathermap.org/data/2.5/weather?q=Санкт-Петербург&units=metric&appid=0f47096f1eb155f8b277692876fb963e
    Ответ написан
    Комментировать
  • Как обратится к псевдониму имени класса используя переменную?

    Я тебя расстрою парень. Для динамического формирования нельзя использовать пространство имён Прийдется писать полный путь ручкми.
    https://www.php.net/manual/ru/language.namespaces....
    Ответ написан
    3 комментария
  • Пишут ли в компаниях коммиты в git на русском?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    принято ли в срезе разработки веб приложений СНГ писать коммиты на русском?

    У нас как только не пишут. Бывает, что мешают по несколько языков в одном проекте, в том числе и в компаниях, которые себя позиционируют как очень модные. Все зависит от конкретных людей в конкретном месте.

    Но чем более подкованные специалисты в команде, тем больше вероятность, что они между собой договорятся все унифицировать и писать коммиты по конкретной схеме (это больше не про язык в вакууме, а про последовательность в проекте, чтобы было проще ориентироваться). Очень вероятно, что при этом выберут английский, т.к. скорее всего "русские" сообщения коммитов будут состоять из:

    1. Англицизмов, которые еще и не имеют однозначной транслитерации в кириллицу, что ломает поиск по коммитам.
    2. Названий классов, файлов, или еще каких-то сущностей из мира кода, которые и так уже переведены и есть в исходниках проекта на английском.
    3. Набора базовых глаголов, которые ставят в начале предложений, вроде "добавил", "исправил", "удалил".


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

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    У вас какой-то реврацтер который переписывает адреса в итоге адрес фала admin перезаписывается в адрес папки и там нет индексного файла
    Ответ написан
    Комментировать
  • Можно ли с помощью api сменить имя и аватар telegram боту?

    BornToFreeFall
    @BornToFreeFall
    Sielu ilman ihmistä
    Насколько я помню, в API такой возможности нет (либо я работал с ним слишком давно, и не видел изменений).
    А так - процедура выполняется не менее просто. Открываете botfather, пишете команду "/mybots", затем - edit Name или EditBotPick. Можно сделать костыль, конечно, но смысла в нем нет, так как процедура до банальности проста.

    Да, я понимаю, что вопрос был про API, но упомянуть и обычной метод тоже необходимо.
    Ответ написан
    Комментировать
  • Что не так с кодом PHP?

    DevMan
    @DevMan
    a что не понятно из сообщения?
    в мохнатые годы конструктор (функция, которая автоматом вызывается при создании экземпляра класса) имел такое же название как и сам класс.
    затем его отделили и сделали магический метод __construct.
    Ответ написан
    Комментировать