• Почему PHP формирует кривой JSON?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Некоторые языки (в частности python и php, за другие не ручаюсь) экранируют кириллические символы.
    Если используете json_encode - нужно добавить JSON_UNESCAPED_UNICODE:
    json_encode($variable, JSON_UNESCAPED_UNICODE);
    Ответ написан
    Комментировать
  • Почему PHP формирует кривой JSON?

    @pantsarny
    json_encode($data,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
    Ответ написан
    1 комментарий
  • Переквалификация из админа в программисты?

    xez
    @xez
    TL Junior Roo
    1. Все шансы. Возраст значения не имеет, имеет значение только скилл.
    2. У кого как. Кто-то как губка впитывает, кому-то надо грызть гранит науки. Нет однозначного ответа. С должным усердием за 9-12 месяцев натаскаться можно (но это не точно)
    3. Выбирайте то, что нравится, к чему душа лежит. С опытом админа, с пониманием сетей, легко и весело, легче и веселей, чем без такого опыта, будет разбираться с интеграциями, а это бэкенд.
    4. Я бы брался за все подряд. Экспертиза лишней не бывает. Фулстак, к слову, ирл почти не встречается.
    5. Это миф. Желание из детского сада получить наньку в эксклюзивное пользование.

    Мои советы:
    1. Залезть в джуны без опыта довольно трудно. Все хотят сеньеров. Поэтому нарабатывайте опыт. Пишите пет-проекты, автоматизируйте текущую работу; результаты все должны быть в гите. Это должно помочь.
    2. Никому не нужен человек прочитавший одну книгу или прослушавший один курс. Читайте все, смотрите все лекции, проходите все курсы (в рамках выбранной темы, конечно).
    3. Многие it конторы проводят стажировки с обучением (банки особенно). Не знаю как сейчас - раньше это был самый простой способ попасть в стажеры->джуны.
    Ответ написан
    1 комментарий
  • Почему вылезает эта ошибка при запуске Gulp?

    sharnirio
    @sharnirio
    Front-end developer
    Попадал на этот баг. Как удалось выяснить (ReferenceError: primordials is not defined) это баг который возникает на версии node.js >= 12 версии, при работе с gulp версии 3.9.1 и ниже. Как пофиксить не нашел - пришлось откатить версию node.js до последней 11 версии
    ps. дополню ответ ) найдено решение без необходимости понижения версии node.js https://timonweb.com/javascript/how-to-fix-referen...
    Ответ написан
    Комментировать
  • Как расширить раздел на весь диск в Ubuntu 17.10?

    @Drno
    https://askubuntu.com/questions/116351/increase-pa...

    либо загрузиться с LiveCD gparted и увеличить раздел
    Ответ написан
    Комментировать
  • Что необходимо для работы контроллера в Bitrix?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Почему битрикс должен видеть мой класс и где он должен находиться?


    Есть несколько способов чтобы "Битрикс" (а на самом деле php) видел ваш класс:
    1. Ванильный php: класс должен быть подключен к выполнению явно через подключение файла в которым он описан
    2. Вандальный/Коробочный Б24: Класс должен располагаться где-угодно, но быть заргистрирован через автолоадер (здесь не важно что вы используете: composer, битриксовый или свое на базе spl_autoloader) в init.php
    3. Через модули.

    Если мы говорим о классическом bitrix framework то правильнее делать модуль.
    Причем в модуле есть 2 варианта его инициализации:
    1. Через "автолоадер" или прямое подключение в include.php ()
    2. Через `psr`-подобный загрузчик в папке lib (https://dev.1c-bitrix.ru/learning/course/index.php...)

    Иначе говоря:
    - Либо вы размещаете где хотите и подключаете его сами
    - Либо если вы работаете с модулем то положить его по psr4 в папочку `lib` вашего модуля.

    Как работает автозагрузчик?


    Если вы читали абзац выше, то поняли, что единого центразиованного загрузчика тут нет.
    Есть:
    1. Глобальный автозагрузчик из модулей (который загружает по psr4 из активных подключенных модулей)
    2. Локальный автозагрузчик модуля (для подключенного модуля)
    3. Кастомные загрузчики (тут кто во что горазд).

    Соответственно, если мы говорим про 1 и 2 типы загрузчиков, что сначала необходимо подключить модуль (`\CModule::IncludeModule` или `\Bitrix\Main\Loader`), а потом уже вызывать классы.
    Если вы попытаетесь вызывать классы, а до вас никто не подключил модуль, то вы получите фатал.

    Везде ли он работает?


    Последний абзац выше показывает что нет.

    Есть ли проблемы с версиями? Отличия ядер битрикса или ещё какой черной магии?


    Описания в зависимости от версии особо нет.
    Что касается проблем, то примерно до версии 18 psr-подобного загрузчика не было, потом он начал появляться и совершенствоваться.
    Если ориентироваться на последнюю версию Битрикс24, то проблемы если и есть, то только локального характера связанные с модульной структурой.
    Здесь могу посоветовать только проштудировать документацию и потыкаться самому. Универсальной формулы нет - документация тут скудная.

    Как настроить defaultNamespace и namespaces в .settings.php, чтобы всё заработало?


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

    Есть ли где-то полностью рабочий пример реализации своего класса, с описанием того где файлы и почему они там?


    Нет, такого нет.
    В Битриксе это можно получить только после изучения всех курсов/доков/экзаменов и с точки зрения практического опыта.
    Можно посмотреть уже готовые модули (что-то подобное можно найти на github, например https://github.com/alex-nzr/bitrix-example-boilerp... или https://github.com/zahalski/awz.ydelivery/tree/mas...)/
    Можно посмотреть как это делать без модулей https://bx24devbook.website.yandexcloud.net/index.html (тут скорее больше описания чем конкретные классы).

    Готового гайда как у симфони здесь увы нет.

    Какая именно должна быть ссылка для проверки роута?

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

    neuotq
    @neuotq
    Прокрастинация
    Поместите всё в один общий блок. Вот я схематично набросал
    Ответ написан
    2 комментария
  • Что необходимо для работы контроллера в Bitrix?

    @Drayde
    Писал уже Вам в другом вопросе, Вы зашли в новый фреймворк и вместо того, чтобы изучить последовательно доку, посмотреть курсы, ядро, идете сюда и задаёте вопросы, ответы на которые уже есть в вышеперечисленных источниках.

    Почему битрикс должен видеть мой класс и где он должен находиться?


    Потому, что автодолоадер классов.

    Как работает автозагрузчик? Везде ли он работает?


    Отает в доке и ядре.

    Есть ли проблемы с версиями? Отличия ядер битрикса или ещё какой черной магии?


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

    Как настроить defaultNamespace и namespaces в .settings.php, чтобы всё заработало?


    В первой ссылке ответ на 2й странице "Контроллер", или дальше 1й не читали?

    Есть ли где-то полностью рабочий пример реализации своего класса, с описанием того где файлы и почему они там?


    Есть. В примерах доки и практически любом битриксовом модуле.

    Какая именно должна быть ссылка для проверки роута?


    В первой ссылке ответ на 2й странице "Контроллер"(а да, вы же дальше 1й стараницы не дошли), там даже метод генерации ссылки описан.

    Может вместо "Кодим и декодим, а иногда кино смотрим" посмотреть доку с самого начала, и ролики с того же ютуба, есть и тех потоки битрикса, на которых они сами объясняют и куча других материалов, от той же интерволги.
    Ответ написан
    4 комментария
  • Как сделать перенаправление вывода bash скрипта в другой файл?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Во-первых, nc, а не telnet. Во-вторых, команду можно написать в одну строку.
    ( echo "${Username}" ; sleep 2 ; echo "${Pass}" ; sleep2 ; echo "show ..." ; sleep 2 ; echo "logout" ) | nc 172.20... >>/home/....
    Ответ написан
    4 комментария
  • Хочу изучить внутренности php, какую литературу посоветуете?

    dmtrbskkv
    @dmtrbskkv
    Кодим и декодим, а иногда кино смотрим
    • ООП в PHP: Мэтт Зандстра. PHP: объекты, шаблоны и методики программирования
    • Патерны проектирования: 3. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. — Приемы объектно-ориентированного проектирования. Паттерны проектирования


    Советую обе книги. Сначала первую, затем вторую
    Ответ написан
    4 комментария
  • Сохранится ли лицензия Windows, если установить Linux Ubuntu?

    @thatmaniscool
    Вы можете воспользоваться официальной программой от Microsoft по извлечению ключа активации windows.
    Программа называется ShowKey.
    https://apps.microsoft.com/store/detail/showkeyplu...
    Ответ написан
    4 комментария
  • Как исправить ошибку в init.php?

    dima9595
    @dima9595
    Junior PHP
    Как подключиться к серверу по ssh? (где узнать пароль)

    Это нужно узнавать у вашего хостинг-провайдера либо у вашего сис-админа (как я понимаю не вы это всё устанавливали и настраивали)

    Как мне исправить файл init.php? Можно ли это сделать через веб-интерфейс?

    Файл редактируется несколькими способами - подключаясь по ssh отредактировать файл, через FTP или через управление файлами на хостинге. Через веб-панель битрикса маловероятно получится отредактировать.

    Если не разбираетесь в этом, то лучше заплатите тому кто разбирается.
    Ответ написан
    Комментировать
  • В каком формате эти данные?

    @humoured
    Вы всё на свете найдёте в коробке с карандашами
    Экранированный JSON. Кто и зачем добавил слеши — нам неизвестно.
    json_decode(stripslashes($str));
    Ответ написан
    Комментировать
  • Как отменить слияние веток?

    DollyPapper
    @DollyPapper
    Слияние это собственно слияние контента из двух веток которые пошли независимыми путями. Если вы хотите отменить слияние, то логично что вы хотите отменить изменение одной из веток, тогда вам нужно сделать следующее:
    git revert <хеш коммита который хотите отменить> -m 1
    Ответ написан
    3 комментария
  • 128 символов когда их всего 95?

    vfreelancer
    @vfreelancer
    php
    В отличие от strlen(), iconv_strlen() учитывает кодировку строки. Длина string не обязательно будет соответствовать количеству байт в ней, так как в различных кодировках различные символы кодируются различным количеством байт, например, юникод может быть и двух-, и четырёхбайтным.

    попробуйте mb_substr с указанием кодировки
    Ответ написан
  • Почему код при клике выполняется 2 раза?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Скорее всего потому, что у Вас инпут лежит внутри label.
    Если в таком случае вешать обработчик на label то будет двойное срабатывание.
    Можно повесить на сам инпут, либо связать лэйбл с инпутом через for
    Ответ написан
    4 комментария
  • Как запросом проверить входит ли дата из списка в диапазон дат?

    @alexalexes
    Выносите даты в отдельную таблицу:
    Название таблицы: location_event_dates
    id - идентификатор даты;
    location_event_id - идентификатор из таблицы location_event (то, что у вас в вопросе)
    event_date - одна из дат события (в формате даты, а не строки!)
    Тогда будет нормальный поиск:
    select le.id, le.locationid, le.eventid,
              led.event_date
    from location_event le
    join location_event_dates led on led.location_event_id = le.id
    where led.event_date between :begin_date and :end_date
    Ответ написан
    Комментировать
  • Для чего композер требует указать ext-curl у себя?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Список расширений php - https://www.php.net/manual/en/extensions.membership.php
    Как видите curl входит в категорию "External Extensions" и значит может быть не установлен или недоступен на целевой системе.
    Поэтому вы явно указываете в зависимостях в composer.json что для запуска вашего кода требуется ext-curl и при его отстутствии composer install выдаст об этом соответствующее сообщение с ошибкой
    Ответ написан
    Комментировать
  • Как вычитать таблицу после JOIN?

    @Akina
    Сетевой и системный админ, SQL-программист.
    NOT IN в большинстве случаев - самая медленная реализация. Лучше использовать, в зависимости от объёма данных и наличия индексов, либо WHERE NOT EXISTS, либо LEFT JOIN WHERE IS NULL.

    SELECT * 
    FROM `table1` 
    JOIN `table2` ON `title`=`sometitle` 
    WHERE NOT EXISTS ( SELECT NULL
                       FROM table3
                       WHERE table1.id = table3.id )
    ORDER BY `date`


    SELECT * 
    FROM `table1` 
    JOIN `table2` ON `title`=`sometitle` 
    LEFT JOIN table3 ON table1.id = table3.id
    WHERE table3.id IS NULL
    ORDER BY `date`


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

    @FruTb
    Это нормально. Есть книги которые вообще не читаются с первого раза. Совершенно нормально прочитать и не понять с первого раза. В таких случаях лично я просто продолжаю читать дальше и вернусь к такому моменту на втором прочтении или когда понадобится на практике.
    И очень советую сразу что-то писать пробовать. Какой-нибудь To Do List или крестики нолики (как пример).
    Ответ написан
    1 комментарий